Consistent Replication of Multithreaded Distributed Objects

  • Authors:
  • Hans P. Reiser;Jorg Domaschka;Franz J. Hauck;Rudiger Kapitza;Wolfgang Schroder-Preikschat

  • Affiliations:
  • University of Ulm, Germany;University of Ulm, Germany;University of Ulm, Germany;University of Erlangen-Nurnberg, Germany;University of Erlangen-Nurnberg, Germany

  • Venue:
  • SRDS '06 Proceedings of the 25th IEEE Symposium on Reliable Distributed Systems
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Determinism is mandatory for replicating distributed objects with strict consistency guarantees. Multithreaded execution of method invocations is a source of nondeterminism, but helps to improve performance and avoids deadlocks that nested invocations can cause in a single-threaded execution model. This paper contributes a novel algorithm for deterministic thread scheduling based on the interception of synchronisation statements. It assumes that shared data are protected by mutexes and client requests are sent to all replicas in total order; requests are executed concurrently as long as they do not issue potentially conflicting synchronisation operations. No additional communication is required for granting locks in a consistent order in all replicas. In addition to reentrant mutex locks, the algorithm supports condition variables and time-bounded wait operations. An experimental evaluation shows that, in some typical usage patterns of distributed objects, the algorithm is superior to other existing approaches.