Distributed Computing

, Volume 18, Issue 5, pp 325–343 | Cite as

Synchronous condition-based consensus

  • Achour Mostefaoui
  • Sergio Rajsbaum
  • Michel Raynal
Regular Paper

Abstract

The condition-based approach studies restrictions on the inputs to a distributed problem, called conditions, that facilitate its solution. Previous work considered mostly the asynchronous model of computation. This paper studies conditions for consensus in a synchronous system where processes can fail by crashing. It describes a full classification of conditions for consensus, establishing a continuum between the asynchronous and synchronous models, with the following hierarchy \({\cal S}_t^{[-t]}\subset\cdots\subset {\cal S}_t^{[0]}\subset\cdots\subset {\cal S}_t^{[t]}\) where \({\cal S}_t^{[t]}\) includes all conditions (and in particular the trivial one made up of all possible input vectors). For a condition \(C \in{\cal S}_t^{[d]}$, $-t \leq d \leq t\), we have:
  • For values of \(d \leq 0\) consensus is solvable in an asynchronous system with t failures, and we obtain the known hierarchy of conditions that allows solving asynchronous consensus with more and more efficient protocols as we go from d = 0 to d = −t.

  • For values of \(d \leq 0\) consensus is solvable in an asynchronous system with t failures, and we obtain the known hierarchy of conditions that allows solving asynchronous consensus with more and more efficient protocols as we go from d = 0 to d = −t.

  • For values of d<0 consensus is known not solvable in an asynchronous system with t failures, but we obtain a hierarchy of conditions that allows solving synchronous consensus with protocols that can take more and more rounds, as we go from d = 0 to d = t.

  • d = 0 is the borderline case where consensus can be solved in an asynchronous system with t failures, and can be solved optimally in a synchronous system.

After having established the complete hierarchy, the paper concentrates on the two last items: \(0\leq d\leq t\). The main result is that the necessary and sufficient number of rounds needed to solve uniform consensus for a condition \(C \in {\cal S}_t^{[d]}\) (such that \(C\notin {\cal S}_t^{[d-1]}\)) is d +1.

In more detail, the paper presents a generic synchronous early-deciding uniform consensus protocol that enjoys the following properties. Let f be the number of actual crashes, I the input vector and \(C \in {\cal S}_t^{[d]}\) the condition the protocol is instantiated with. The protocol terminates in two rounds when \(I\in C\) and \(f\leq t-d\), and in at most d +1 rounds when \(I\in C\) and \(f>t-d\). (It also terminates in one round when \(I\in C\) and \(d=f=0\).) Moreover, whether I belongs or not to C, no process requires more than min\((t+1,f+2)\) rounds to decide. The paper then proves a corresponding lower bound stating that at least d +1 rounds are necessary to get a decision in the worst case when \(I\in C\) (for \(C \in {\cal S}_t^{[d]}\) and \(C \notin {\cal S}_t^{[d-1]}\)).

Keywords

Consensus Early deciding Input vector Process crash failure Synchronous distributed system 

References

  1. 1.
    Aguilera, M.K., Toueg, S.: A Simple bivalency proof that t-resilient consensus requires t+1 rounds. Information Processing of Letters 71, 155–178 (1999)CrossRefMathSciNetGoogle Scholar
  2. 2.
    Attiya, H., Avidor, Z.: Wait-free n-set consensus when inputs are restricted. In: Malkhi, D. (ed.). Proceeding of 16th International Symposium on Distributed Computing (DISC’02), Springer Verlag LNCS 2508, pp 326–338, Toulouse. (2002)Google Scholar
  3. 3.
    Attiya, H., Welch, J.: Distributed computing: fundamentals, simulations and advanced topics. McGraw-Hill (1998)Google Scholar
  4. 4.
    Ben Or, M.: Another advantage of free choice: Completely Asynchronous Agreement Protocols. In: Proceedings of 2nd ACM Symposium on Principles of Distributed Computing (PODC’83), pp. 27–30, Montréal (1983).Google Scholar
  5. 5.
    Chandra, T.K., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)CrossRefMathSciNetGoogle Scholar
  6. 6.
    Charron-Bost, B., Schiper, A.: Uniform consensus is harder than consensus. Journal of Algorithms 51(1), 15–37 (2004)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Chaudhuri, S.: More choices allow more faults: set Consensus Problems in Totally Asynchronous Systems. Information and Computation. 105, 132–158 (1993)CrossRefMATHMathSciNetGoogle Scholar
  8. 8.
    Dolev, D., Lynch, N.A., Pinter, S.S., Stark, E.W., Weihl, W.E.: Reaching approximate agreement in the presence of faults. Journal of the ACM 33(3), 499–516 (1986)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Dolev, D., Reischuk, R., Strong, R.: Early stopping in byzantine agreement. J. ACM 37(4), 720–741 (1990)CrossRefMathSciNetGoogle Scholar
  10. 10.
    Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)CrossRefMathSciNetGoogle Scholar
  11. 11.
    Dwork, C., Moses, Y.: Knowledge and common knowledge in a byzantine environment: Crash failures. Information Computation 88(2), 156–186 (1990)CrossRefMathSciNetGoogle Scholar
  12. 12.
    Fischer, M.J., Lynch, N.: A lower bound for the time to assure interactive consistency. Information Processing Letters 71, 183–186 (1982)CrossRefMathSciNetGoogle Scholar
  13. 13.
    Fischer, M.J., Lynch, N.A., Paterson, M.S.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)CrossRefMathSciNetGoogle Scholar
  14. 14.
    Friedman, R., Mostefaoui, A., Rajsbaum, S., Raynal, M.: Asynchronous distributed agreement and its relation with error correcting codes. In: Malkhi, D. (ed.). Proceedings of 16th International Symposium on Distributed Computing (DISC’02), Springer Verlag LNCS 2508, pp 63–87, Toulouse (2002)Google Scholar
  15. 15.
    Gafni, E.: Round-by-round fault detectors: Unifying synchrony and asynchrony. In: Proceedings of 17th ACM Symposium on Principles of Distributed Computing (PODC’98), pp 143–152, Puerto Vallarta (1998)Google Scholar
  16. 16.
    Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. IEEE Transactions on Computers 53(4), 453–466 (2004)CrossRefGoogle Scholar
  17. 17.
    Herlihy, M.P.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 11(1), 124–149 (1991)CrossRefGoogle Scholar
  18. 18.
    Herlihy, M.P., Rajsbaum, S., Tuttle, M.R.: Unifying synchronous and asynchronous message-passing models. In: Proceedings of 17th ACM Symposium on Principles of Distributed Computing (PODC’98), pp 133–142, Puerto Vallarta (1998)Google Scholar
  19. 19.
    Hurfin, M., Mostefaoui, A., Raynal, M.: A versatile family of consensus protocols based on chandra-toueg’s unreliable failure detectors. IEEE Transactions on Computers 51(4), 395–408 (2002)CrossRefGoogle Scholar
  20. 20.
    Izumi, T., Masuzawa, T.: Synchronous condition-based consensus adapting to input-vector legality. In: Guerraoui, R. (ed.). Proceedings of 18th International Symposium on Distributed Computing (DISC’04), Springer Verlag LNCS 3274, pp 16–29, Amsterdam (2004)Google Scholar
  21. 21.
    Izumi, T., Masuzawa, T.: An improved algorithm for adaptive condition-based consensus. In: Pelc, A., Raynal, M. (eds.). Proceedings of 12th Colloquium on Structural Information and Communication Complexity (SIROCCO’05), Springer Verlag LNCS 2499, 170–184, Le Mont-Saint-Michel (2005)Google Scholar
  22. 22.
    Keidar, I., Rajsbaum, S.: A simple proof of the uniform consensus synchronous lower bound. Information Processing Letters 85, 47–52 (2003)CrossRefMathSciNetGoogle Scholar
  23. 23.
    Lamport, L., Fischer, M.: Byzantine generals and transaction commit protocols. Unpublished manuscript. 16 (1982)Google Scholar
  24. 24.
    Lynch, N.A.: Distributed algorithms. Morgan Kaufmann Pub. San Fransisco (1996)Google Scholar
  25. 25.
    Moses, Y., Rajsbaum, S.: A layered analysis of consensus. SIAM Journal of Computing 31(4), 989–1021 (2002)CrossRefMathSciNetGoogle Scholar
  26. 26.
    Mostefaoui, A., Rajsbaum, S., Raynal, M.: Conditions on input vectors for consensus solvability in asynchronous distributed systems. Journal of the ACM 50(6), 922–954 (2003)CrossRefMathSciNetGoogle Scholar
  27. 27.
    Mostefaoui, A., Rajsbaum, S., Raynal, M.: Using conditions to expedite consensus in synchronous systems. In: Fich, F. (ed.). Proceedings of 17th International Symposium on Distributed Computing (DISC’03), Springer-Verlag LNCS 2848, 249–263, Sorrento (2003)Google Scholar
  28. 28.
    Mostefaoui, A., Rajsbaum, S., Raynal, M.: The synchronous condition-based consensus hierarchy. In: Guerraoui, R.(ed.). Proceedings of 18th International Symposium on Distributed Computing (DISC’04), Springer-Verlag LNCS 3274, pp 1–15 (Amsterdam 2004)Google Scholar
  29. 29.
    Mostefaoui, A., Rajsbaum, S., Raynal, M., Roy, M.: Condition-based consensus solvability: a Hierarchy of Conditions and Efficient Protocols. Distributed Computing 17, 1–20 (2004)CrossRefGoogle Scholar
  30. 30.
    Mostefaoui, A., Raynal, M.: Leader-based consensus. Parallel Processing Letters 11(1), 95–107 (2001)CrossRefMathSciNetGoogle Scholar
  31. 31.
    Raynal M.: Consensus in synchronous systems: A concise guided tour. In: Proceedings of 9th IEEE Pacific Rim International Symposium on Dependable Computing (PRDC’02), 221–228, IEEE Computer Press, Tsukuba (2002)Google Scholar
  32. 32.
    Zibin, Y.: Condition-based consensus in synchronous systems. In: F. Fich (ed.). Proceedings of 17th Int’l Symposium on Distributed Computing (DISC’03), Springer-Verlag LNCS 2848, 239–248, Sorrento (2003)Google Scholar

Copyright information

© Springer-Verlag 2005

Authors and Affiliations

  • Achour Mostefaoui
    • 1
  • Sergio Rajsbaum
    • 2
  • Michel Raynal
    • 1
  1. 1.IRISARennes CedexFrance
  2. 2.Instituto de Matem´ticas, UNAMD. F.Mexico

Personalised recommendations