Skip to main content

The Building Blocks of Consensus

  • Conference paper
Distributed Computing and Networking (ICDCN 2008)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 4904))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Pease, M., Shostak, R., Lamport, L.: Reaching agreement in the presence of faults. J. ACM 27(2), 228–234 (1980)

    Article  MATH  MathSciNet  Google Scholar 

  2. Barborak, M., Malek, M.: The consensus problem in fault-tolerant computing. ACM Computing Surveys 25(2) (1993)

    Google Scholar 

  3. Fischer, M., Lynch, N., Patterson, M.: Impossibility of distributed consensus with one faulty process. J. ACM 32(2), 374–382 (1985)

    Article  MATH  Google Scholar 

  4. Guerraoui, R., Raynal, M.: The information structure of indulgent consensus. In: Proc. of 23rd IEEE International Conference on Distributed Computing Systems (2003)

    Google Scholar 

  5. Guerraoui, R., Raynel, M.: The alpha of indulgent consensus. The Computer Journal (2006)

    Google Scholar 

  6. Lamport, L.: The part-time parliament. Trans. on Computer Systems 16(2), 133–169 (1998)

    Article  Google Scholar 

  7. Chandra, T., Toueg, S.: Unreliable failure detectors for reliable distributed systems. J. ACM 43(2), 225–267 (1996)

    Article  MATH  MathSciNet  Google Scholar 

  8. 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)

    Google Scholar 

  9. Lamport, L., Shostak, R., Pease, M.: The Byzantine generals problem. Trans. on Programming Languages and Systems 4(3), 382–401 (1982)

    Article  MATH  Google Scholar 

  10. Malkhi, D., Reiter, M.: Byzantine Quorum Systems. Distributed Computing 11, 203–213 (1998)

    Article  Google Scholar 

  11. Naor, M., Wool, A.: The load, capacity, and availability of quorum systems. SIAM Journal on Computing 27(2), 423–447 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  12. 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)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. Urbán, P., Schiper, A.: Comparing distributed consensus algorithms. In: Proc. of International Conference on Applied Simulation and Modelling, pp. 474–480 (2004)

    Google Scholar 

  15. 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)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Shrisha Rao Mainak Chatterjee Prasad Jayanti C. Siva Ram Murthy Sanjoy Kumar Saha

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics