A generic framework for indulgent consensus

Consensus is a fundamental distributed agreement problem that has to be solved when one has to design or implement reliable applications. As consensus cannot be solved in pure asynchronous distributed systems, those systems have to be equipped with appropriate oracles to circumvent the impossibility. Several oracles (unreliable failure detector leader capability, random number generator) have been proposed, and consensus protocols based on such ad hoc oracles have been designed This paper presents a generic consensus framework that can be instantiated with any oracle, or combination of oracles, that satisfies a set of properties. This generic framework provides indulgent consensus protocols that are particularly simple and efficient both in well-behaved runs (i.e., when there are no failures), and in stable runs (i.e., when there is no failure during the execution although some processes can be initially crashed). In those runs, the protocols terminate in two communication steps (which is optimal). Indulgence means that the resulting protocol never violates its safety property even when the underlying oracle behaves arbitrarily. Interestingly, the protocol can also allow processes to decide in one communication step in some specific configurations.

[1]  Sam Toueg,et al.  The weakest failure detector for solving consensus , 1992, PODC '92.

[2]  Rachid Guerraoui,et al.  Deconstructing paxos , 2003, SIGA.

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

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

[5]  Achour Mostéfaoui,et al.  A Versatile Family of Consensus Protocols Based on Chandra-Toueg's Unreliable Failure Detectors , 2002, IEEE Trans. Computers.

[6]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.

[7]  Rachid Guerraoui,et al.  Fast Indulgent Consensus with Zero Degradation , 2002, EDCC.

[8]  Achour Mostéfaoui,et al.  Leader-Based Consensus , 2001, Parallel Process. Lett..

[9]  Idit Keidar,et al.  On the Cost of Fault-Tolerant Consensus When There Are No Faults - A Tutorial , 2003, LADC.

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

[11]  Achour Mostéfaoui,et al.  A versatile and modular consensus protocol , 2002, Proceedings International Conference on Dependable Systems and Networks.

[12]  Rachid Guerraoui,et al.  The information structure of indulgent consensus , 2004, IEEE Transactions on Computers.

[13]  Achour Mostéfaoui,et al.  Consensus in One Communication Step , 2001, PaCT.

[14]  Rachid Guerraoui,et al.  Indulgent algorithms (preliminary version) , 2000, PODC '00.

[15]  Idit Keidar,et al.  On the cost of fault-tolerant consensus when there are no faults: preliminary version , 2001, SIGA.

[16]  Achour Mostéfaoui,et al.  Solving Consensus Using Chandra-Toueg's Unreliable Failure Detectors: A General Quorum-Based Approach , 1999, DISC.

[17]  Achour Mostéfaoui,et al.  Conditions on input vectors for consensus solvability in asynchronous distributed systems , 2003, J. ACM.

[18]  Nancy A. Lynch,et al.  Consensus in the presence of partial synchrony , 1988, JACM.

[19]  Michael Ben-Or,et al.  Another advantage of free choice (Extended Abstract): Completely asynchronous agreement protocols , 1983, PODC '83.