Deterministic scheduling for multithreaded replicas

Replication of objects, processes and components is essential for building reliable distributed systems. However, maintaining replica consistency in the presence of nondeterminism is a challenge. There are many sources of nondeterminism in the applications being replicated. In this paper, we focus on the nondeterminism resulting from multithreading in the applications, and present a deterministic scheduling algorithm for ensuring consistent execution of replicated multithreaded applications.

[1]  Priya Narasimhan,et al.  Enforcing determinism for the consistent replication of multithreaded CORBA applications , 1999, Proceedings of the 18th IEEE Symposium on Reliable Distributed Systems.

[2]  Gustavo Alonso,et al.  Scalable Replication in Database Clusters , 2000, DISC.

[3]  Ravishankar K. Iyer,et al.  A preemptive deterministic scheduling algorithm for multithreaded replicas , 2003, 2003 International Conference on Dependable Systems and Networks, 2003. Proceedings..

[4]  Louise E. Moser,et al.  Design and Implementation of a Pluggable Fault-Tolerant CORBA Infrastructure , 2004, Cluster Computing.

[5]  Ricardo Jiménez-Peris,et al.  Synchronizing group transaction with rendezvous in a distributed Ada environment , 1998, SAC '98.

[6]  Ravishankar K. Iyer,et al.  Loose synchronization of multithreaded replicas , 2002, 21st IEEE Symposium on Reliable Distributed Systems, 2002. Proceedings..

[7]  Ricardo Jiménez-Peris,et al.  Deterministic scheduling for transactional multithreaded replicas , 2000, Proceedings 19th IEEE Symposium on Reliable Distributed Systems SRDS-2000.

[8]  I. Bey,et al.  Delta-4: A Generic Architecture for Dependable Distributed Computing , 1991, Research Reports ESPRIT.

[9]  Louise E. Moser,et al.  Totem: a fault-tolerant multicast group communication system , 1996, CACM.