Abstract
Reasoning about a distributed algorithm is simplified if we can ignore the time needed to send and deliver messages and can instead pretend that a process sends a collection of messages as a single atomic action, with the messages delivered instantaneously as part of the action. A theorem is derived that proves the validity of such reasoning for a large class of algorithms. It generalizes and corrects a well-known folk theorem about when an operation in a multiprocess program can be considered atomic.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
Abbreviations
- A :
-
The set of program actions
- A :
-
The algorithm under consideration
- A :
-
The reduced version of algorithmA
- 〈A〉:
-
The action obtained by executing the operationA as an atomic action
- C :
-
The set of state components
- d[i]:
-
A variable of the Distance-Finding Algorithm
- L :
-
An operation ofA, as in C2
- Ľ :
-
The operation obtained by adding toL the actions that deliver messages sent byL
- N p(S):
-
The set of possible next actions of processp from states
- P :
-
The correctness property
- R :
-
An operation ofA, as in C2
- S :
-
The set of states
- S 0 :
-
The set of initial states
- S c :
-
The range of values of state componentc
- 〈X〉:
-
An action ofA, as in C2
- Φ:
-
Usually denotes an execution ofA
- ∑:
-
The execution ofA that corresponds to an execution Φ ofA
References
Alpern B, Schneider FB: Defining liveness. Inf Process Lett 21 (4):181–185 (1985)
Dijkstra EW: When messages may crawl. EWD708 (1979)
Dijkstra EW: When messages may crawl, ii. EWD710 (1979)
Doeppner TW: Parallel program correctness through refinement. In: Fourth Annual ACM Symposium on Principles of Programming Languages, pp 155–169, ACM, January 1977
Gallager RG, Humblet PA, Spira PM: A distributed algorithm for minimum-weight spanning trees. ACM Trans Program Lang Syst 5 (1):66–77 (1983)
Jonsson B: Compositional verification of distributed systems. PhD thesis, Uppsala University (1987)
Lamport L, Schneider FB: Pretending atomicity. Res Rep 44. Digital Equipment Corporation, Systems Research Center (1989)
Lipton RJ: Reduction: a method of proving properties of parallel programs. Commun ACM 18 (12): 717–721 (1975)
Owicki S, Gries D: An axiomatic proof technique for parallel programs. Acta Inf 6(4):319–340 (1976)
Author information
Authors and Affiliations
Additional information
When snow conditions are poor,Dr. L. Lamport works at Digital Equipment Corporation's Systems Research Center. As an undergraduate, he took a course in atomic physics.
Rights and permissions
About this article
Cite this article
Lamport, L. A theorem on atomicity in distributed algorithms. Distrib Comput 4, 59–68 (1990). https://doi.org/10.1007/BF01786631
Received:
Accepted:
Issue Date:
DOI: https://doi.org/10.1007/BF01786631