Skip to main content

How to build a highly available system using consensus

  • Invited Papers
  • Conference paper
  • First Online:
Distributed Algorithms (WDAG 1996)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 1151))

Included in the following conference series:

Abstract

Lamport showed that a replicated deterministic state machine is a general way to implement a highly available system, given a consensus algorithm that the replicas can use to agree on each input. His Paxos algorithm is the most fault-tolerant way to get consensus without real-time guarantees. Because general consensus is expensive, practical systems reserve it for emergencies and use leases (locks that time out) for most of the computing. This paper explains the general scheme for efficient highly available computing, gives a general method for understanding concurrent and fault-tolerant programs, and derives the Paxos algorithm as an example of the method.

This paper is at http://www.research.microsoftcom.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. M. Abadi and L. Lamport. The existence of refinement mappings. Theoretical Computer Science 82, 2, May 1991.

    Article  Google Scholar 

  2. B. Alpern and F. Schneider. Defining liveness. Information Processing Letters 21, 4, 1985.

    Article  Google Scholar 

  3. M. Fischer, N. Lynch, and M. Paterson. Impossibility of distributed consensus with one faulty process. J. ACM 32, 2, April 1985.

    Article  Google Scholar 

  4. J. Gray and A. Reuter. Transaction Processing: Concepts and Techniques. Morgan Kaufmann, 1993.

    Google Scholar 

  5. L. Lamport. The implementation of reliable distributed multiprocess systems. Computer Networks 2, 1978.

    Google Scholar 

  6. L. Lamport. A simple approach to specifying concurrent systems. Comm. ACM, 32, 1, Jan. 1989.

    Article  Google Scholar 

  7. L. Lamport. The part-time parliament. Technical Report 49, Systems Research Center, Digital Equipment Corp., Palo Alto, Sep. 1989.

    Google Scholar 

  8. B. Liskov and B. Oki. Viewstamped replication, Proc. 7th PODC, Aug. 1988.

    Google Scholar 

  9. N Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.

    Google Scholar 

  10. N. Lynch and F. Vaandrager. Forward and backward simulations for timing-based systems. Lecture Notes in Computer Science 600, Springer, 1992.

    Google Scholar 

  11. F. Schneider. Implementing fault-tolerant services using the state-machine approach: A tutorial. Computing Surveys 22 (Dec 1990).

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Özalp Babaoğlu Keith Marzullo

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Lampson, B.W. (1996). How to build a highly available system using consensus. In: Babaoğlu, Ö., Marzullo, K. (eds) Distributed Algorithms. WDAG 1996. Lecture Notes in Computer Science, vol 1151. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61769-8_1

Download citation

  • DOI: https://doi.org/10.1007/3-540-61769-8_1

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61769-3

  • Online ISBN: 978-3-540-70679-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics