Distributed Computing

, Volume 18, Issue 5, pp 325–343

# 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)
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)
6. 6.
Charron-Bost, B., Schiper, A.: Uniform consensus is harder than consensus. Journal of Algorithms 51(1), 15–37 (2004)
7. 7.
Chaudhuri, S.: More choices allow more faults: set Consensus Problems in Totally Asynchronous Systems. Information and Computation. 105, 132–158 (1993)
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)
9. 9.
Dolev, D., Reischuk, R., Strong, R.: Early stopping in byzantine agreement. J. ACM 37(4), 720–741 (1990)
10. 10.
Dwork, C., Lynch, N., Stockmeyer, L.: Consensus in the presence of partial synchrony. J. ACM 35(2), 288–323 (1988)
11. 11.
Dwork, C., Moses, Y.: Knowledge and common knowledge in a byzantine environment: Crash failures. Information Computation 88(2), 156–186 (1990)
12. 12.
Fischer, M.J., Lynch, N.: A lower bound for the time to assure interactive consistency. Information Processing Letters 71, 183–186 (1982)
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)
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)
17. 17.
Herlihy, M.P.: Wait-free synchronization. ACM Transactions on Programming Languages and Systems 11(1), 124–149 (1991)
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)
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)
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)
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)
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)
30. 30.
Mostefaoui, A., Raynal, M.: Leader-based consensus. Parallel Processing Letters 11(1), 95–107 (2001)
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