Computing Reviews
Today's Issue Hot Topics Search Browse Recommended My Account Log In
Review Help
Search
The mutual exclusion problem
Lamport L. Journal of the ACM33 (2):313-326,1986.Type:Article
Date Reviewed: Apr 1 1987

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 →) and ability to causally affect (denoted by --→). He then gives four axioms ( A1 - A4) that are satisfied by → and --→ , followed by two additional axioms (A5, A6) that serve to provide the desired properties of “terminating” and “nonterminating” operation executions expressed in terms of → and --→.

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 → and --→(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.

Reviewer:  N. S. Coulter Review #: CR110592
1) Lynch, N.; and Fischer, MOn describing the behavior and implementation of distributed systems, Theor. Comput. Sci. 13 (1981), 17–43. See <CR> 22, 5 (May 1981), Rev. 37,898.
2) Peterson, G. L.; and Fischer, M. J.Economical solutions to the critical section problem in a distributed system, in Proc. of the 9th annual ACM symposium on theory of computing (Boulder, CO, May 2–4, 1977), J. E. Hopcroft et al. (Eds.), ACM, New York, 1977, 91–97.
3) Burns, S. E.; Jackson, P.; Lynch, N. A.; Fischer, M. J.; and Peterson, G. L.Data requirements for implementation of N-process mutual exclusion using a single shared variable, J. ACM 29 (1982), 183–205. See <CR> 23, 2 (Feb. 1982), Rev. 38,971.
4) Lamport, L.Time, clocks, and the ordering of events in a distributed system, Commun. ACM 21, 7 (July 1978), 558–565.
Bookmark and Share
 
Mutual Exclusion (D.4.1 ... )
 
 
General (B.4.0 )
 
Would you recommend this review?
yes
no
Other reviews under "Mutual Exclusion": Date
Another solution of the mutual exclusion problem
Kowaltowski T., Palma A. Information Processing Letters 19(3): 145-146, 1984. Type: Article
May 1 1985
The mutual exclusion problem
Lamport L. Journal of the ACM 33(2): 327-348, 1986. Type: Article
Apr 1 1987
A tree-based algorithm for distributed mutual exclusion
Raymond K. ACM Transactions on Computer Systems 7(1): 61-77, 1989. Type: Article
Oct 1 1989
more...

E-Mail This Printer-Friendly
Send Your Comments
Contact Us
Reproduction in whole or in part without permission is prohibited.   Copyright 1999-2024 ThinkLoud®
Terms of Use
| Privacy Policy