Summary
This paper considers the problem of programming a multiple process system so that it continues to operate despite the failure of individual processes. A powerful synchronizing primitive is defined, and it is used to solve some sample problems. An algorithm is then given which implements this primitive under very weak assumptions about the nature of interprocess communication, and a careful informal proof of its correctness is given.
Similar content being viewed by others
Explore related subjects
Discover the latest articles and news from researchers in related subjects, suggested using machine learning.References
Brinch Hansen, P.: Concurrent programming concepts. Computing Surveys 5, 223–245 (1973)
Courtois, P. J., Heymans, F., Parnas, D. L.: Concurrent control with “Readers” and “Writers”. Comm. ACM 14, 667–668 (1971)
Dijkstra, E. W.: The structure of the “THE” multiprogramming system. Comm. ACM 11, 341–346 (1968)
Dijkstra, E. W.: Cooperating sequential processes. In: Genuys, F. (ed.): Programming Languages. New York: Academic Press 1968, p. 43–112
Dijkstra, E. W.: Hierarchical ordering of sequential processes. Acta Informatica 1, 115–138 (1971)
Dijkstra, E. W.: Self-stabilizing systems in spite of distributed control. Comm. ACM 17, 643–644 (1974)
Hoare, C. A. R.: A structured paging system. Computer J. 16, 209–214 (1973)
Lamport, L.: A new solution of Dijkstra's concurrent programming problem. Comm. ACM 17, 453–455 (1974)
Lamport, L.: On concurrent reading and writing. To appear in Comm. ACM
Nilsen, R. N. (ed.): Distributed function computer architectures. Computer 7, 15–37 (1974)
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Lamport, L. The synchronization of independent processes. Acta Informatica 7, 15–34 (1976). https://doi.org/10.1007/BF00265219
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF00265219