Advertisement

Distributed Computing

, Volume 4, Issue 2, pp 59–68 | Cite as

A theorem on atomicity in distributed algorithms

  • Leslie Lamport
Article

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.

Key words

Message passing Reduction 

List of notations

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

Np(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

S0

The set of initial states

Sc

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Alpern B, Schneider FB: Defining liveness. Inf Process Lett 21 (4):181–185 (1985)Google Scholar
  2. 2.
    Dijkstra EW: When messages may crawl. EWD708 (1979)Google Scholar
  3. 3.
    Dijkstra EW: When messages may crawl, ii. EWD710 (1979)Google Scholar
  4. 4.
    Doeppner TW: Parallel program correctness through refinement. In: Fourth Annual ACM Symposium on Principles of Programming Languages, pp 155–169, ACM, January 1977Google Scholar
  5. 5.
    Gallager RG, Humblet PA, Spira PM: A distributed algorithm for minimum-weight spanning trees. ACM Trans Program Lang Syst 5 (1):66–77 (1983)Google Scholar
  6. 6.
    Jonsson B: Compositional verification of distributed systems. PhD thesis, Uppsala University (1987)Google Scholar
  7. 7.
    Lamport L, Schneider FB: Pretending atomicity. Res Rep 44. Digital Equipment Corporation, Systems Research Center (1989)Google Scholar
  8. 8.
    Lipton RJ: Reduction: a method of proving properties of parallel programs. Commun ACM 18 (12): 717–721 (1975)Google Scholar
  9. 9.
    Owicki S, Gries D: An axiomatic proof technique for parallel programs. Acta Inf 6(4):319–340 (1976)Google Scholar

Copyright information

© Springer-Verlag 1990

Authors and Affiliations

  • Leslie Lamport
    • 1
  1. 1.Systems Research CenterDigital Equipment CorporationPalo AltoUSA

Personalised recommendations