Active Replication of Multithreaded Applications
IEEE Transactions on Parallel and Distributed Systems
Multithreading strategies for replicated objects
Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware
Kendo: efficient deterministic multithreading in software
Proceedings of the 14th international conference on Architectural support for programming languages and operating systems
Storyboard: optimistic deterministic multithreading
HotDep'10 Proceedings of the Sixth international conference on Hot topics in system dependability
Hi-index | 0.00 |
Although multithreading can improve performance, it is a source of nondeterminism in application behavior. Existing approaches to replicating multithreaded applications either synchronize replicas at interrupt level, at the expense of performance, or use a nonpreemptive deterministic scheduler, at the expense of concurrency. This paper presents a loose synchronization algorithm for ensuring deterministic replica behavior while preserving concurrency. The algorithm synchronizes replica threads only on state updates by enforcing an equivalent order of mutex acquisitions across replicas.