Abstract-Software-baserad aktiv replikering är dyrt när det gäller prestanda overhead. Multitrådning kan bidra till att förbättra prestanda; dock, tråd schemaläggning är en källa till icke-determinism i replika beteende. För att uppnå en stark replikakonsistens i flertrådiga miljöer, föreslår detta papper att fånga upp mutex lås / avlåsning operationer som utförs av trådar för att komma åt de delade data och bidrar med två algoritmiska lösningar: 1) en Loose Synkronization Algorithm (LSA), som fångar den naturliga samstämmigheten i en ledare replika och projicerar den på följare repliker genom interreplica kommunikation, och 2) en förebyggande Deterministic Scheduler (PDS) algoritm, som tar bort behovet av interreplica kommunikation genom begreppet runda och genom att stänga trådar när det inte (yet) att schemalägga dem deterministiskt. Misslyckande beteende och prestanda av LSA och PDS implementationer utvärderas i ett treplicerat system och jämförs med befintliga lösningar. En prestandautvärdering visar att LSA och PDS överträffar befintliga lösningar, med PDS som erbjuder lägre genomströmning än LSA. En felinjektionskampanj visar att PDS är mer robust till fel på grund av frånvaron av interreplica kommunikation. Därför utgör LSA och PDS en avvägning mellan prestanda och pålitlighet. Slutligen, LSA och PDS demonstreras i replikering av Apache Web-servern, en betydande real-world-program.
De LLFT-mekanismer som används för att beställa mutex-anspråk/utgåvor är nära relaterade till de av Loose Synkronization Algorithm (LSA) och Prepromptive Deterministic Scheduling Algorithm (PDS) av REF.
Active replication of multithreaded applications
{'venue': 'IEEE Transactions on Parallel and Distributed Systems', 'journal': 'IEEE Transactions on Parallel and Distributed Systems', 'mag_field_of_study': ['Computer Science']}