Advertisement

Acta Informatica

, Volume 44, Issue 6, pp 377–425 | Cite as

Distributed Consensus, revisited

  • Rachele Fuzzati
  • Massimo Merro
  • Uwe Nestmann
Original article

Abstract

We provide a novel model to formalize a well-known algorithm, by Chandra and Toueg, that solves Consensus among asynchronous distributed processes in the presence of a particular class of failure detectors (◊\(\mathcal{S}\) or, equivalently, Ω), under the hypothesis that only a minority of processes may crash. The model is defined as a global transition system that is unambigously generated by local transition rules. The model is syntax-free in that it does not refer to any form of programming language or pseudo code. We use our model to formally prove that the algorithm is correct.

Keywords

Correct Process Transition Rule Failure Detector Pseudo Code Program Counter 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Abadi, M., Lamport, L.: The existence of refinement mappings. Theor. Comput. Sci. 82(2), 253–284 (1991). A preliminary version appeared in the proceedings of LICS’88Google Scholar
  2. 2.
    Aguilera M.K., Chen W. and Toueg S. (1997). Heartbeat: a timeout-free failure detector for quiescent reliable communication. In: Mavronicolas, M. and Tsigas, P. (eds) Proceedings of the 11th international workshop on distributed algorithms. Lecture Notes in Computer Science, vol. 1320, pp 126–140. Springer, Heidelberg Google Scholar
  3. 3.
    Chandra T.D., Hadzilacos V. and Toueg S. (1996). The weakest failure detector for solving consensus. J. ACM 43(4): 685–722 zbMATHCrossRefMathSciNetGoogle Scholar
  4. 4.
    Chandra T.D. and Toueg S. (1996). Unreliable failure detectors for reliable distributed systems. J. ACM 43(2): 225–267 zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    Chandy K.M. and Misra J. (1988). Parallel programming design. A foundation. Addison Wesley, Reading Google Scholar
  6. 6.
    Clint M. (1973). Program proving: coroutines. Acta Inform. 2: 50–63 CrossRefGoogle Scholar
  7. 7.
    De Prisco, R., Lampson, B., Lynch, N.: Revisiting the paxos algorithm. In: Mavronicolas, M., Tsigas, P. (eds.) Distributed algorithms. Proceedings of the 11th International Workshop, WDAG’97, Saarbrncken, Germany. Lecture Notes in Computer Science, vol. 1320, pp. 111–125. Springer, Heidelberg (1997). SeptemberGoogle Scholar
  8. 8.
    Devillers M., Griffioen W.O.D., Romijn J. and Vaandrager F.W. (2000). Verification of a leader election protocol: Formal methods applied to ieee 1394. Form. Methods Syst. Des. 16(3): 307–320 CrossRefGoogle Scholar
  9. 9.
    Felty, A., Stomp, F.: A correctness proof of a cache coherence protocol. In: Compass’96: eleventh annual conference on computer assurance, p. 128. National Institute of Standards and Technology, Gaithersburg, Maryland (1996)Google Scholar
  10. 10.
    Fischer M.J., Lynch N.A. and Paterson M.S. (1985). Impossibility of distributed consensus with one faulty process. J. ACM 32(2): 374–382 zbMATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Francalanza, A., Hennessy, M.: A fault tolerance bisimulation proof for consensus. In: Proceedings of the 16th European Symposium on Programming ESOP ’07. Springer, Heidelberg (2007)Google Scholar
  12. 12.
    Fredlund L., Groote J.F. and Korver H. (1997). Formal verification of a leader election protocol in process algebra. Theor. Comput. Sci. 177(2): 459–486 zbMATHCrossRefMathSciNetGoogle Scholar
  13. 13.
    Gafni E. and Lamport L. (2003). Disk paxos. Distrib. Comput. 16(1): 1–20 CrossRefGoogle Scholar
  14. 14.
    Groote, J.F., Ponse, A.: Proof theory for μCRL. Technical Report CS-R9138, Amsterdam (1991)Google Scholar
  15. 15.
    Groote J.F. and Springintveld J. (2001). Focus points and convergent process operators: a proof strategy for protocol verification. J. Log. Algebr. Program. 49(1–2): 31–60 zbMATHCrossRefMathSciNetGoogle Scholar
  16. 16.
    Jonsson, B.: Compositional verification of distributed systems. PhD thesis, Department of Computer Systems, Uppsala University (1987)Google Scholar
  17. 17.
    Lamport, L.: Specifying systems: the TLA+ language and tools for hardware and software engineers. Pearson Education (2002)Google Scholar
  18. 18.
    Lynch, N.A., Tuttle, M.R.: Hierarchical correctness proofs for distributed algorithms. In: PODC, pp. 137–151 (1987)Google Scholar
  19. 19.
    Lynch N.A. and Vaandrager F.W. (1995). Forward and backward simulations—part I: untimed systems. Inform. Comput. 121(2): 214–233 zbMATHCrossRefMathSciNetGoogle Scholar
  20. 20.
    Nestmann, U., Fuzzati, R.: Unreliable failure detectors via operational semantics. In: Saraswat V.A. (ed.) Proceedings of ASIAN 2003, Lecture Notes in Computer Science, vol. 2896, pp. 54–71. Springer, Heidelberg (2003)Google Scholar
  21. 21.
    Nestmann, U., Fuzzati, R., Merro, M.: Modeling consensus in a process calculus. In: Amadio, R., Lugiez, D. (eds.) Proceedings of Concur 2003, Lecture Notes in Computer Science, vol. 2761, pp. 399–414. Springer, Heidelberg (2003)Google Scholar
  22. 22.
    Pogosyants A., Segala R. and Lynch N. (2000). Verification of the randomized consensus algorithm of aspnes and herlihy: a case study. Distrib. Comput. 13(3): 155–186 CrossRefGoogle Scholar
  23. 23.
    Segala, R.: Modeling and verification of randomized distributed real-time systems. PhD thesis, Laboratory for Computer Science, Massachusetts Institute of Technology (1995)Google Scholar
  24. 24.
    Segala R. and Lynch N. (1995). Probabilistic simulations for probabilistic processes. Nord. J. Comput. 2(2): 250–273 zbMATHMathSciNetGoogle Scholar
  25. 25.
    Stoelinga M. and Vaandrager F. (1999). Root contention in IEEE 1394. Lect. Notes Comput. Sci. 1601: 53–74 CrossRefGoogle Scholar
  26. 26.
    Wu S., Smolka S.A. and Stark E.W. (1997). Composition and behaviors of probabilistic I/O automata. Theor. Comput. Sci. 176(1–2): 1–38 zbMATHCrossRefMathSciNetGoogle Scholar

Copyright information

© Springer-Verlag 2007

Authors and Affiliations

  1. 1.School of Computer and Communications SciencesEPFLLausanneSwitzerland
  2. 2.Department of Computer ScienceUniversity of VeronaVeronaItaly
  3. 3.Technical University of BerlinBerlinGermany

Personalised recommendations