Atomic broadcast in asynchronous crash-recovery distributed systems

Atomic broadcast is a fundamental problem of distributed systems: it states that messages must be delivered in the same order to their destination processes. This paper describes a solution to this problem in asynchronous distributed systems in which processes can crash and recover. A consensus-based solution to atomic broadcast problem has been designed by Chandra and Toueg (1996) for asynchronous distributed systems where crashed processes do nor recover. Although our solution is based on different algorithmic principles, it follows the same approach: it transforms any consensus protocol suited to the crash-recovery model into an atomic broadcast protocol suited to the same model. We show that atomic broadcast can be implemented without requiring any additional log operations in excess of those required by the consensus. The paper also discusses how additional log operations can improve the protocol in terms of faster recovery and better throughput.

[1]  Uyless Black Data link protocols , 1993 .

[2]  Hagit Attiya,et al.  Sequential consistency versus linearizability , 1994, TOCS.

[3]  Rachid Guerraoui,et al.  Software-Based Replication for Fault Tolerance , 1997, Computer.

[4]  Alberto Bartoli,et al.  Online reconfiguration in replicated databases based on group communication , 2001, 2001 International Conference on Dependable Systems and Networks.

[5]  David Powell,et al.  Group communication , 1996, CACM.

[6]  Michel Raynal,et al.  Atomic Broadcast and Quorum-based Replication in Asynchronous Crash-Recovery Distributed Systems , 1999 .

[7]  Rachid Guerraoui,et al.  Consensus in Asynchronous Distributed Systems: A Concise Guided Tour , 1999, Advances in Distributed Systems.

[8]  Rachid Guerraoui,et al.  The Generic Consensus Service , 2001, IEEE Trans. Software Eng..

[9]  Leslie Lamport,et al.  The part-time parliament , 1998, TOCS.

[10]  Michel Raynal,et al.  Sequential Consistency in Distributed Systems , 1994, Dagstuhl Seminar on Distributed Systems.

[11]  Gustavo Alonso,et al.  Exploiting atomic broadcast in replicated databases , 1997 .

[12]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1985, JACM.

[13]  Sam Toueg,et al.  Unreliable failure detectors for reliable distributed systems , 1996, JACM.

[14]  李幼升,et al.  Ph , 1989 .

[15]  Yair Amir,et al.  Replication using group communication over a partitioned network (שכפול באמצעות תקשרת קבוצות מעל רשת דינמית.) , 1995 .

[16]  David K. Gifford,et al.  Weighted voting for replicated data , 1979, SOSP '79.

[17]  André Schiper,et al.  Scalable atomic multicast , 1998, Proceedings 7th International Conference on Computer Communications and Networks (Cat. No.98EX226).

[18]  Achour Mostéfaoui,et al.  Fault-tolerant Total Order Multicast to asynchronous groups , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[19]  Liuba Shrira,et al.  Providing high availability using lazy replication , 1992, TOCS.

[20]  Achour Mostéfaoui,et al.  Consensus in asynchronous systems where processes can crash and recover , 1998, Proceedings Seventeenth IEEE Symposium on Reliable Distributed Systems (Cat. No.98CB36281).

[21]  Roy Friedman,et al.  Failure detectors in omission failure environments , 1997, PODC '97.

[22]  Achour Mostéfaoui,et al.  Consensus-Based Fault-Tolerant Total Order Multicast , 2001, IEEE Trans. Parallel Distributed Syst..

[23]  Andreas Reuter,et al.  Transaction Processing: Concepts and Techniques , 1992 .

[24]  Arthur J. Bernstein,et al.  Efficient solutions to the replicated log and dictionary problems , 1984, PODC '84.

[25]  Nancy A. Lynch,et al.  Impossibility of distributed consensus with one faulty process , 1983, PODS '83.

[26]  Ozalp Babaoglu,et al.  Understanding Non-Blocking Atomic Commitment , 1993 .

[27]  Hector Garcia-Molina,et al.  Increasing availability under mutual exclusion constraints with dynamic vote reassignment , 1989, TOCS.

[28]  Marcos K. Aguilera,et al.  Failure detection and consensus in the crash-recovery model , 1998, Distributed Computing.