Abstract
The mutual exclusion problem in a distributed system, in which each process has a memory of its own, into which it has exclusive write privileges but from which others may read, is reconsidered. Symmetric solutions are looked for. It is shown that, though no such solution may be deterministic, there are probabilistic solutions. Different solutions are provided for two processes, and then a solution is proposed for any number of processes. The solutions offered are amenable to a formal proof of their correctness with a small effort. The solutions are correct even against a very well informed scheduler, unlike Rabin's probabilistic solution to the mutual exclusion problem in a centralized system. Some of the solutions are correct even against an evil scheduler that knows in advance the results of the future random draws, in sharp contrast with the algorithms of [LR]. The solutions are economical: mutual exclusion between two processes may be achieved with variables capable of holding four different values (to be compared with Peterson and Fischer's three), mutual exclusion between n processes may be achieved with variables capable of holding ten different values (to be compared with Peterson and Fischer's fourteen). All solutions have been attained by careful reasoning and not by an exhaustive computer search, they exhibit general principles of design that may be useful in solving other similar problems.
Preview
Unable to display preview. Download preview PDF.
References
de Bruijn, G. Additional comments on a problem in concurrent programming control, Comm. ACM Vol.10, No.3 (1967) pp. 137–136.
Burns, J. E. Symmetry in systems of asynchronous processes, Proc. 22nd Annual ACM Symposium on Foundations of Computer Science, Nashville, Tennessee (1981), pp. 169–174.
Dijkstra, E. W. Solution of a problem in concurrent programming control, Comm. ACM Vol.6, No.9 (1965), p. 569.
Dijkstra, E. W. Co-operating sequential processes, in Programming Languages (Genuys, F. ed.) Academic Press, New York, pp. 43–112 (1968).
Eisenberg, A. and McGuire, M. R. Further comments on Dijkstra's concurrent programming control problem, Comm. ACM Vol.15, No.11 (1972), p, 999.
Knuth, D. E. Additional comments on a problem in concurrent programming control, Comm. ACM Vol.9, No.5 (1966), pp.331–322.
Hart, S., Sharir, M. and Pnueli, A. Termination of probabilistic concurrent programs, Conf. Record 9th Annual ACM Symposium on Principles of Programming Languages, Albuquerque, New Mexico (1982), pp.1–6.
Lamport, L. A new solution of Dijkstra's concurrent programming problem, Comm. ACM Vol.17, No.8 (1974), pp. 453–455.
Lehmann, D. and Rabin, M. O. On the advantages of free choice: a symmetric and fully distributed solution to the dining philosophers problem (extended abstract), Conf. Record of 8th Annual ACM Symposium on Principles of Programming Languages, Williamsburg, Va. (Jan. 1981), pp. 133–138.
Lynch, Nancy A. Fast allocation of nearby resources in a distributed system, Proc. of the 12th Annual ACM Symposium on the Theory of Computing, Los Angeles, April 1980, pp. 70–81.
Peterson, Gary L. and Fischer, Michael J. Economical solutions to the critical section problem in a distributed system, Proc. 9th Annual ACM Symposium on Theory of Computing, Boulder, Colorado (1977), pp.91–97.
Rabin, M.O. Theoretical impediments to artificial intelligence, Information Processing 74 (Jack L, Rosenfeld ed.) pp.615–619.
Rabin, M.O. N-process mutual exclusion with bounded waiting time by 4.logN-valued shared variable, Journal of Computer and System Sciences, Vol. 25 (1982), pp.66–75.
Rabin, M.O. The choice coordination problem, Memo. UCB/ERL M80/38, Electronics Research Lab. Univ. of California at Berkeley, Aug. 1981.
Rivest, R. L. and Pratt, V. R. The mutual exclusion problem for unreliable processes: preliminary report, Proc. 17th Annual Symposium on Foundations of Computer Science, Houston, Texas (1976), pp.1–8.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1983 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Cohen, S., Lehmann, D., Pnueli, A. (1983). Symmetric and economical solutions to the mutual exclusion problem in a distributed system. In: Diaz, J. (eds) Automata, Languages and Programming. ICALP 1983. Lecture Notes in Computer Science, vol 154. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0036903
Download citation
DOI: https://doi.org/10.1007/BFb0036903
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-12317-0
Online ISBN: 978-3-540-40038-7
eBook Packages: Springer Book Archive