Skip to main content

Symmetric and economical solutions to the mutual exclusion problem in a distributed system

Extended abstract

  • Conference paper
  • First Online:
Automata, Languages and Programming (ICALP 1983)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 154))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. de Bruijn, G. Additional comments on a problem in concurrent programming control, Comm. ACM Vol.10, No.3 (1967) pp. 137–136.

    Google Scholar 

  2. 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.

    Google Scholar 

  3. Dijkstra, E. W. Solution of a problem in concurrent programming control, Comm. ACM Vol.6, No.9 (1965), p. 569.

    Google Scholar 

  4. Dijkstra, E. W. Co-operating sequential processes, in Programming Languages (Genuys, F. ed.) Academic Press, New York, pp. 43–112 (1968).

    Google Scholar 

  5. Eisenberg, A. and McGuire, M. R. Further comments on Dijkstra's concurrent programming control problem, Comm. ACM Vol.15, No.11 (1972), p, 999.

    Google Scholar 

  6. Knuth, D. E. Additional comments on a problem in concurrent programming control, Comm. ACM Vol.9, No.5 (1966), pp.331–322.

    Google Scholar 

  7. 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.

    Google Scholar 

  8. Lamport, L. A new solution of Dijkstra's concurrent programming problem, Comm. ACM Vol.17, No.8 (1974), pp. 453–455.

    Google Scholar 

  9. 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.

    Google Scholar 

  10. 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.

    Google Scholar 

  11. 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.

    Google Scholar 

  12. Rabin, M.O. Theoretical impediments to artificial intelligence, Information Processing 74 (Jack L, Rosenfeld ed.) pp.615–619.

    Google Scholar 

  13. 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.

    Google Scholar 

  14. Rabin, M.O. The choice coordination problem, Memo. UCB/ERL M80/38, Electronics Research Lab. Univ. of California at Berkeley, Aug. 1981.

    Google Scholar 

  15. 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.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Josep Diaz

Rights and permissions

Reprints 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

Publish with us

Policies and ethics