skip to main content
article
Free Access

The mutual exclusion problem: part I—a theory of interprocess communication

Published:01 April 1986Publication History
Skip Abstract Section

Abstract

A novel formal theory of concurrent systems that does not assume any atomic operations is introduced. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: “precedence” and “can causally affect”. A primitive interprocess communication mechanism is then defined. In Part II, the mutual exclusion is expressed precisely in terms of this model, and solutions using the communication mechanism are given.

References

  1. 1 BRINCH HANSEN, P. Concurrent programming concepts. Comput. Surv. 5 (1973), 223-245. Google ScholarGoogle Scholar
  2. 2 CHANEY, T. J., AND MOLNAR, C. E. Anomalous behavior of synchronizer and arbiter circuits. IEEE Trans. Comput. C-22 (Apr. 1973), 421-422.Google ScholarGoogle Scholar
  3. 3 DIJKSTRA, E.W. Solution of a problem in concurrent programming control. Commun. ACM 8, 9 (Sept. 1965), 569. Google ScholarGoogle Scholar
  4. 4 EINSTEIN, A. Zur electrodynamik bewegter korper. Ann. Physik, 17 (1905). Translated as: On the electrodynamics of moving bodies. In The Principle of Relativity, Dover, New York, pp. 35-65.Google ScholarGoogle Scholar
  5. 5 LAMPORT, L. A new solution of Dijkstra's concurrent programming problem. Commun. ACM 17, 8 (Aug. 1974), 453-455. Google ScholarGoogle Scholar
  6. 6 LAMPORT, L. A new approach to proving the correctness of multiprocess programs. ACM Trans. Prog. Lang. Syst. 1, l (July 1979), 84-97. Google ScholarGoogle Scholar
  7. 7 LAMPORT, L. On interprocess communication---Part I: Basic formalism. Dist. Comput. (to appear).Google ScholarGoogle Scholar
  8. 8 LAMPORT, L. On interprocess communication---Part II: Algorithms. Dist. Comput. (to appear).Google ScholarGoogle Scholar
  9. 9 LAMPORT, L. The mutual exclusion problem: Part II--Statement and solutions. J. ACM 33, 2 (Apr. 1986), 327-348. Google ScholarGoogle Scholar
  10. 10 METCALFE, R. M., AND BOGGS, D.R. Ethernet: Distributed packet switching for local computer networks. Commun. ACM 19, 7 (July 1976), 395-404. Google ScholarGoogle Scholar
  11. 11 MINKOWSKI, H. Space and Time. In The Principle of Relativity. Dover, New York, pp. 73-8 i.Google ScholarGoogle Scholar
  12. 12 PALAIS, R., AND LAMPORT, L. On the glitch phenomenon. Tech. Rep. CA-7611-081 l, Massachusetts Computer Associates, Wakefield, Mass., Nov. 1976.Google ScholarGoogle Scholar
  13. 13 PETERSON, G. L., AND FISCHER, M.J. Economical solutions for the critical section problem in a distributed system. In Proceedings of the 9th ACM Symposium on Theory of Computing (Boulder, Colo., May 2-4). ACM, New York, 1977, pp. 91-97. Google ScholarGoogle Scholar
  14. 14 RIVEST, R. L., AND PRATT, V. R. The mutual exclusion problem for unreliable processes: Preliminary report. In Proceedings of the IEEE Symposium on Foundations of Computer Science. IEEE, New York, 1976, pp. 1-80.Google ScholarGoogle Scholar
  15. 15 SCHWARTZ, J.T. Relativity in Illustrations. New York University Press, New York, 1962.Google ScholarGoogle Scholar
  16. 16 TAYLOR, E. F., AND WHEELER, J.A. Space-Time Physics. W. H. Freeman, San Francisco, 1966.Google ScholarGoogle Scholar

Index Terms

  1. The mutual exclusion problem: part I—a theory of interprocess communication

    Recommendations

    Reviews

    Neal Stanley Coulter

    .abstract A novel formal theory of concurrent systems that does not assume any atomic operations is introduced. The execution of a concurrent program is modeled as an abstract set of operation executions with two temporal ordering relations: “precedence” and “can causally affect.” A primitive interprocess communication mechanism is then defined. — From the Author's Abstract In this paper, Lamport presents an axiom system for concurrent program execution. His axioms do not assume any atomic operations, which is a radical departure from theories such as [1]. He considers programming models that do assume atomic operations to be unsatisfactory for a fundamental study of mutual exclusion (the main point of his paper), because such models inherently assume some form of underlying mutual exclusion. Lamport starts by using special relativity theory to motivate consideration of two binary relations on operation executions: temporal precedence (denoted by :2WZ) and ability to causally affect (denoted by :7Q). He then gives four axioms (A1–A4) that are satisfied by :2WZ and :7Q, followed by two additional axioms (A5, A6) that serve to provide the desired properties of “terminating” and “nonterminating” operation executions expressed in terms of :2WZ and :7Q. Next, Lamport introduces a notion of binary-valued communication variable that can be written by one process (its owner) and read by another, where such a read and a write can be concurrent and are not assumed to be atomic. The desired properties of these communication variables are also given entirely in terms of :2WZ and :7Q (in Axioms C0–C3). Finally, Lamport states in Theorem 1 that an array of such single-reader communication variables can be used to extend the communication variable concept, so as to support multiple readers. Lamport points out (on p. 321) that communication variables similar to his have been suggested [2], but with the stronger assumption of atomic reads and writes. However, in [2] the authors admit that this assumption of atomicity becomes “less practical” as the number of states of the variable (equivalently, in [2], the number of reader processes) becomes “larger.” On the other hand, Lamport suggests (on p. 324) that the cost of physically implementing his multiple reader communication variable may be essentially independent of the number of readers. Also, it seems that dependence on the atomicity assumption forces [2] to use exactly one (multivalued) communication variable per process in mutual exclusion algorithms. Similarly, the algorithms in [3] use a general test-and-set operation on a single shared variable that is global to the whole system. Both are in sharp contrast to the multiple reader situation associated with Lamport's communication variable, as shown by Theorem 1. Lamport's theory of concurrent programs seems simple and reasonable, and Part II of this paper (see the following review, Rev. 8704-0280) appears to demonstrate its adequacy. However, we feel that the remark in the second paragraph of Section 2.1 does not sufficiently explain why he chose the relativistic, instead of the classical, notion of temporal precedence between events to motivate his axioms (because either notion would have led to his axioms, but the classical notion of precedence would have done so more simply). Perhaps Lamport should have at least mentioned [4] in his motivation, if that paper provided the basis for his choice.

    Access critical reviews of Computing literature here

    Become a reviewer for Computing Reviews.

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image Journal of the ACM
      Journal of the ACM  Volume 33, Issue 2
      April 1986
      155 pages
      ISSN:0004-5411
      EISSN:1557-735X
      DOI:10.1145/5383
      Issue’s Table of Contents

      Copyright © 1986 ACM

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 1 April 1986
      Published in jacm Volume 33, Issue 2

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader