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):327-348,1986.Type:Article
Date Reviewed: Apr 1 1987

The theory developed in Part I is used to state the mutual exclusion problem and several additional fairness and failure-tolerance requirements. Four “distributed” N-process solutions are given, ranging from a solution requiring only one communication bit per process that permits individual starvation, to one requiring about N] communications bit per process that satisfies every reasonable fairness and failure-tolerance requirement that we can conceive of.

--From the Author’s Abstract

This paper not only demonstrates the adequacy of the theory presented in its companion paper (see the previous review, Rev. 8704-0279) for expressing and proving many correctness (including robustness and fairness) properties of parallel programs with nonatomic reads and writes, but does so by proving the correctness of new and interesting mutual exclusion algorithms. These algorithms are interesting not only because of their nonatomic operations, but also because of their robustness. In particular, all of the algorithms are “fail-safe”; i.e., they will satisfy their respective “correctness properties” even if one of the processes temporarily sets one of its communication variables to arbitrary values, but then resumes normal execution in its noncritical section. Mutual exclusion algorithms such as the ones given in [1] are not fail-safe in this sense (although, unlike Lamport’s algorithms, they are proven resilient under an infinite number of “shut-downs”).

The algorithms are also interesting because they supply the number of bits sufficient to satisfy a set of correctness conditions with nonatomic reads and writes. For example, the algorithm (on p. 34) that is deadlock-free and lockout-free takes three bits per process (i.e., 8n values) while the algorithm in [2] (see p. 192), which uses a powerful test-and-set operation, takes [n/2] + 9 values. (Peterson [3] presents a deadlock-free and lockout-free algorithm with nonatomic operations that uses only 4n values, but is not proven to be as robust as Lamport’s algorithm.)

Through his two papers, Lamport presents a unique and interesting approach to modeling the execution of parallel programs, and he provides insights into the notion of mutual exclusion. The papers are highly recommended to anyone interested in parallel computation.

Reviewer:  N. S. Coulter Review #: CR110593
1) 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.
2) 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.
3) Peterson, G. L.A new solution to Lamport’s concurrent programming problem using small shared variables, ACM Trans. Program. Lang. Syst. 5 (1983), 56–65. See <CR> 24, 5 (May 1983), Rev. 40,303.
Bookmark and Share
 
Mutual Exclusion (D.4.1 ... )
 
 
Concurrency (D.4.1 ... )
 
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): 313-326, 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