Abstract
Consensus is an important building block for building replicated systems, and many consensus protocols have been proposed. In this paper, we investigate the building blocks of consensus protocols and use these building blocks to assemble a skeleton that can be configured to produce, among others, three well-known consensus protocols: Paxos, Chandra-Toueg, and Ben-Or. Although each of these protocols specifies only one quorum system explicitly, all also employ a second quorum system. We use the skeleton to implement a replicated service, allowing us to compare the performance of these consensus protocols under various workloads and failure scenarios.
This work is supported by AFOSR grants FA8750-06-2-0060, FA9550-06-1-0019, FA9550-06-1-0244, the National Science Foundation under grants 0424422, 0430161 and CCF-0424422 (TRUST), a gift from Microsoft Corporation, and ISF, ISOC, and CCR. Any opinions expressed in this publication are those of the authors and do not necessarily reflect the views of the funding agencies.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (1980)
Barborak, M., Malek, M.: The consensus problem in fault-tolerant computing. ACM Computing Surveys 25(2) (1993)
Fischer, M., Lynch, N., Patterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)
Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. In: Proc. of 23rd IEEE International Conference on Distributed Computing Systems (2003)
Guerraoui, R., Raynel, M.: The alpha of indulgent consensus. The Computer Journal (2006)
Lamport, L.: The part-time parliament. Trans. on Computer Systems 16(2), 133–169 (1998)
Chandra, T., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)
Ben-Or, M.: Another advantage of free choice: Completely asynchronous agreement protocols. In: ACM SIGOPS-SIGACT. Proc. of the 2nd ACM Symp. on Principles of Distributed Computing, Montreal, Quebec, pp. 27–30 (August 1983)
Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. Trans. on Programming Languages and Systems 4(3), 382–401 (1982)
Malkhi, D., Reiter, M.: Byzantine Quorum Systems. Distributed Computing 11, 203–213 (1998)
Naor, M., Wool, A.: The load, capacity, and availability of quorum systems. SIAM Journal on Computing 27(2), 423–447 (1998)
Song, Y.J., van Renesse, R., Schneider, F.B., Dolev, D.: Evolution vs. intelligent design in consensus protocols. Technical Report CUL.CIS/TR2007-2082, Cornell University (May 2007)
Mostéfaoui, A., Raynal, M.: Solving consensus using Chandra-Toueg’s unreliable failure detectors: A general quorum-based approach. In: Proc. of the International Symposium on Distributed Computing, pp. 49–63 (1999)
Urbán, P., Schiper, A.: Comparing distributed consensus algorithms. In: Proc. of International Conference on Applied Simulation and Modelling, pp. 474–480 (2004)
Hayashibara, N., Urbán, P., Schiper, A., Katayama, T.: Performance comparison between the Paxos and Chandra-Toueg consensus algorithms. In: Proc. of International Arab Conference on Information Technology, Doha, Qatar, pp. 526–533 (December 2002)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Song, Y.J., van Renesse, R., Schneider, F.B., Dolev, D. (2007). The Building Blocks of Consensus. In: Rao, S., Chatterjee, M., Jayanti, P., Murthy, C.S.R., Saha, S.K. (eds) Distributed Computing and Networking. ICDCN 2008. Lecture Notes in Computer Science, vol 4904. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77444-0_5
Download citation
DOI: https://doi.org/10.1007/978-3-540-77444-0_5
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77443-3
Online ISBN: 978-3-540-77444-0
eBook Packages: Computer ScienceComputer Science (R0)