Advertisement

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

Extended abstract
  • Shimon Cohen
  • Daniel Lehmann
  • Amir Pnueli
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 154)

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.

Keywords

Symmetric Solution Critical Section Mutual Exclusion Wait Statement Private Variable 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [BR]
    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. [BU]
    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. [D1]
    Dijkstra, E. W. Solution of a problem in concurrent programming control, Comm. ACM Vol.6, No.9 (1965), p. 569.Google Scholar
  4. [D2]
    Dijkstra, E. W. Co-operating sequential processes, in Programming Languages (Genuys, F. ed.) Academic Press, New York, pp. 43–112 (1968).Google Scholar
  5. [EG]
    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. [K]
    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. [HSP]
    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. [LA]
    Lamport, L. A new solution of Dijkstra's concurrent programming problem, Comm. ACM Vol.17, No.8 (1974), pp. 453–455.Google Scholar
  9. [LR]
    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. [LY]
    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. [PF]
    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. [R1]
    Rabin, M.O. Theoretical impediments to artificial intelligence, Information Processing 74 (Jack L, Rosenfeld ed.) pp.615–619.Google Scholar
  13. [R2]
    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. [R3]
    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. [RP]
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 1983

Authors and Affiliations

  • Shimon Cohen
    • 1
  • Daniel Lehmann
    • 1
  • Amir Pnueli
    • 2
  1. 1.Institute of Mathematics and Computer ScienceHebrew UniversityJerusalemIsrael
  2. 2.Department of Applied MathematicsWeizmann InstituteRehovothIsrael

Personalised recommendations