skip to main content
research-article
Open access

Deconstructing the bakery to build a distributed state machine

Published: 19 August 2022 Publication History

Abstract

A rigorous journey from the bakery algorithm to a distributed state machine.

References

[1]
Alpern, B. and Schneider F. Defining liveness. Information Processing Letters 21, 4 (Oct. 1985), 181--185.
[2]
Ashcroft, E. Proving assertions about parallel programs. Journal of Computer and System Sciences 10, 1 (Feb. 1975), 110--135.
[3]
Dijkstra, E. Solution of a problem in concurrent programming control. Commun. ACM 8, 9 (Sept. 1965), 569.
[4]
Harel, D. On folk theorems. Commun. ACM 23, 7 (July 1980), 379--389.
[5]
Hesselink, W. Mechanical verification of Lamport's bakery algorithm. Science of Computer Programming 78, 9 (2013), 1622--1638.
[6]
Jayanti, P., Tan, K., Friedland, G., and Katz, A. Bounding Lamport's bakery algorithm. In L. Pacholski and P. Ruzicka, eds., SOFSEM 2001: 28th Conference on Current Trends in Theory and Practice of Informatics 2234, Lecture Notes in Computer Science, Springer (2001), 261--270.
[7]
Johnson, P. and Thomas, R. The maintenance of duplicate data bases. Request for Comment RFC #677, NIC #31507, ARPANET Network Working Group, (January 1975).
[8]
Lamport, L. Online supplemental material for Deconstructing the bakery to build a distributed state machine, http://lamport.azurewebsites.net/pubs/bakery/deconstruction.html.
[9]
Lamport, L. A new solution of Dijkstra's concurrent programming problem. Commun. ACM 17, 8 (Aug. 1974), 453--455.
[10]
Lamport, L. Concurrent reading and writing. Commun. ACM 20, 11 (Nov. 1977), 806--811.
[11]
Lamport, L. Proving the correctness of multiprocess programs. IEEE Transactions on Software Engineering SE-3, 2 (Mar. 1977), 125--143.
[12]
Lamport, L. Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21, 7 (July 1978), 558--565.
[13]
Lamport, L. On interprocess communication. Distributed Computing 1 (1986), 77--101.
[14]
Lamport, L. A theorem on atomicity in distributed algorithms. Distributed Computing 4, 2 (1990), 59--68.
[15]
Lipton, R. Reduction: A method of proving properties of parallel programs. Commun. ACM 18, 12 (Dec. 1975), 717--721.
[16]
Merz, S. Online TLA+ specifications and proofs for "deconstructing the bakery to build a distributed state machine." https://members.loria.fr/SMerz/papers/distributed-bakery.html.
[17]
Moses, Y. and Patkin, K. Mutual exclusion as a matter of priority. Theoretical Computer Science 751 (2018), 46--60.
[18]
Pnueli, A. The temporal logic of programs. In Proceedings of the 18th Annual Symposium on the Foundations of Computer Science, IEEE (Nov. 1977), 46--57.
[19]
Ricart, G. and Agrawala, A. An optimal algorithm for mutual exclusion in computer networks. Commun. ACM 24, 1 (1981), 9--17.
[20]
Schneider, F. Implementing fault-tolerant services using the state machine approach: A tutorial. ACM Computing Surveys 22, 4 (December 1990), 299--319.
[21]
Taubenfeld, G. The black-white bakery algorithm and related bounded-space, adaptive, local-spinning and FIFO algorithms. In R. Guerraoui, (Ed.), Proceedings of Distributed Computing, 18th Intern. Conf. 3274, Lecture Notes in Computer Science, Springer (Oct. 4, 2004), 56--70.
[22]
Taubenfeld, G. Concurrent programming, mutual exclusion. In M-Y Kao, (Ed.) Encyclopedia of Algorithms---2016 Edition, 421--425. Springer, 2016.

Cited By

View all

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Communications of the ACM
Communications of the ACM  Volume 65, Issue 9
September 2022
94 pages
ISSN:0001-0782
EISSN:1557-7317
DOI:10.1145/3558490
  • Editor:
  • James Larus
Issue’s Table of Contents
This work is licensed under a Creative Commons Attribution International 4.0 License.

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 August 2022
Published in CACM Volume 65, Issue 9

Check for updates

Qualifiers

  • Research-article
  • Popular
  • Refereed

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)1,092
  • Downloads (Last 6 weeks)119
Reflects downloads up to 08 Feb 2025

Other Metrics

Citations

Cited By

View all

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Digital Edition

View this article in digital edition.

Digital Edition

Magazine Site

View this article on the magazine site (external)

Magazine Site

Login options

Full Access

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media