Distributed Snapshots: Determining Global States of a Distributed System
- Creators
- Chandy, K. Mani
- Lamport, Leslie
Abstract
This paper presents an algorithm by which a process in a distributed system determines a global state of the system during a computation. Many problems in distributed systems can be cast in terms of the problem of detecting global states. For instance, the global state detection algorithm helps to solve an important class of problems: stable property detection. A stable property is one that persists: once a stable property becomes true it remains true thereafter. Examples of stable properties are "computation has terminated," "the system is deadlocked" and "all tokens in a token ring have disappeared." The stable property detection problem is that of devising algorithms to detect a given stable property. Global state detection can also be used for checkpointing.
Additional Information
Copyright © 1985 ACM, Inc. Received January 1984; revised September 1984; accepted 7 December 1984. This work was supported in part by the Air Force Office of Scientific Research under Grant AFOSR 81-0205 and in part by the National Science Foundation under Grant MCS 81-04459. J. Misra's contributions in defining the problem of global state detection are gratefully acknowledged. We are grateful to E. W. Dijkstra and C. S. Scholten for their comments-particularly regarding the proof of Theorem 1. The outline of the current version of the proof was suggested by them. Dijkstra's note [3] on the subject provides colorful insight into the problem of stability detection. Thanks are due to C. A. R. Hoare, F. Schneider, and G. Andrews who helped us with detailed comments. We are grateful to Anita Jones and anonymous referees for suggestions.Additional details
- Eprint ID
- 41468
- DOI
- 10.1145/214451.214456
- Resolver ID
- CaltechAUTHORS:20130923-092736838
- Air Force Office of Scientific Research (AFOSR)
- 81-0205
- NSF
- MCS 81-04459
- Created
-
2013-09-23Created from EPrint's datestamp field
- Updated
-
2021-11-10Created from EPrint's last_modified field