Revisiting simultaneous consensus with crash failures

This paper addresses the ''consensus with simultaneous decision'' problem in a synchronous system prone to t process crashes. This problem requires that all the processes that do not crash decide on the same value (consensus), and that all decisions are made during the very same round (simultaneity). So, there is a double agreement, one on the decided value (data agreement) and one on the decision round (time agreement). This problem was first defined by Dwork and Moses who analyzed it and solved it using an analysis of the evolution of states of knowledge in a system with crash failures. The current paper presents a simple algorithm that optimally solves simultaneous consensus. Optimality means in this case that the simultaneous decision is taken in each and every run as soon as any protocol decides, given the same failure pattern and initial value. The design principle of this algorithm is simplicity, a first-class criterion. A new optimality proof is given that is stated in purely combinatorial terms.

[1]  Marcin Paprzycki,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 2001, Scalable Comput. Pract. Exp..

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

[3]  Seif Haridi,et al.  Distributed Algorithms , 1992, Lecture Notes in Computer Science.

[4]  Marcos K. Aguilera,et al.  On the Impact of Fast Failure Detectors on Real-Time Fault-Tolerant Systems , 2002, DISC.

[5]  Michel Raynal Consensus in synchronous systems: a concise guided tour , 2002, 2002 Pacific Rim International Symposium on Dependable Computing, 2002. Proceedings..

[6]  Hagit Attiya,et al.  Distributed Computing: Fundamentals, Simulations and Advanced Topics , 1998 .

[7]  Vijay K. Garg Elements of distributed computing , 2002 .

[8]  Tal Mizrahi,et al.  Continuous Consensus with Failures and Recoveries , 2008, DISC.

[9]  Joseph Y. Halpern,et al.  Knowledge and common knowledge in a distributed environment , 1984, JACM.

[10]  Yoram Moses,et al.  Knowledge and Common Knowledge in a Byzantine Environment I: Crash Failures , 1986, TARK.

[11]  Nancy A. Lynch,et al.  A Lower Bound for the Time to Assure Interactive Consistency , 1982, Inf. Process. Lett..

[12]  Danny Dolev,et al.  Early stopping in Byzantine agreement , 1990, JACM.

[13]  Achour Mostéfaoui,et al.  Conditions on input vectors for consensus solvability in asynchronous distributed systems , 2001, STOC '01.

[14]  Tal Mizrahi,et al.  Continuous consensus via common knowledge , 2005, Distributed Computing.

[15]  Michel Raynal,et al.  No Double Discount: Condition-Based Simultaneity Yields Limited Gain , 2008, DISC.

[16]  Yoram Moses,et al.  A Layered Analysis of Consensus , 2002, SIAM J. Comput..

[17]  Venkatesh Raman,et al.  Selecting Small Ranks in EREW PRAM , 1999, Inf. Process. Lett..

[18]  Jiannong Cao,et al.  A bivalency proof of the lower bound for uniform consensus , 2005, Inf. Process. Lett..

[19]  Ronald Fagin,et al.  Reasoning about knowledge , 1995 .

[20]  Leslie Lamport,et al.  Reaching Agreement in the Presence of Faults , 1980, JACM.

[21]  J. Stanley Warford Computing Fundamentals , 2002, Vieweg+Teubner Verlag.

[22]  Achour Mostéfaoui,et al.  Synchronous condition-based consensus , 2006, Distributed Computing.