Skip to main content
Log in

A fine-grained solution to the mutual exclusion problem

  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

We present a “fine-grained” solution to the mutual exclusion problem. A program isfine-grained if it uses only single-reader, single-writer boolean variables and if each of its atomic operations has at most one occurrence of at most one shared variable. In contrast to other fine-grained solutions that have appeared in the literature, processes in our solution do not bysy-wait, but wait on one another only by executingawait statements. Such statements can be implemented in practice either by means of context switching or by means of “local” spinning. We show that our algorithm is correct even if shared variables are accessed nonatomically.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

References

  1. Anderson, J., Gouda, M.: Atomic semantics of nonatomic programs. Inf. Process. Lett.28, 99–103 (1988)

    Google Scholar 

  2. Burns, J., Lynch, N.: Bounds on shared memory for mutual exclusion. Inf. Comput. to appear. Originally appeared as: Mutual exclusion using indivisible reads and writes. Proceedings of the 18th Allerton Conference on Communication, Control, and Computing, October 1980, pp. 833–842

  3. Dijkstra, E.: Solution of a problem in concurrent programming control. Commun. ACM8(9), 569 (1965)

    Google Scholar 

  4. Dijkstra, E.: A discipline of programming. Englewood Cliffs, NJ: Prentice-Hall 1976

    Google Scholar 

  5. Kessels, J.: Arbitration without common modifiable variables. Acta Inf.17, 135–141 (1982)

    Google Scholar 

  6. Lamport, L.: On interprocess communication, Parts I and II. Distrib. Comput.1, 77–101 (1986)

    Google Scholar 

  7. Lamport, L.: The mutual exclusion problem II. Statement and solutions. J. ACM33 (2), 327–348 (1986)

    Google Scholar 

  8. Lamport, L.: Personal communication

  9. Mellor-Crummey, J., Scott, M.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst.9 (1), 21–65 (1991)

    Google Scholar 

  10. Peterson, G.: Myths about the mutual exclusion problem. Inf. Process. Lett.12 (3), 115–116 (1981)

    Google Scholar 

  11. Peterson, G.: A new solution to Lamport's concurrent programming problem using small shared variables. ACM Trans. Program. Lang. Syst.5 (1), 56–65 (1983)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Additional information

Work supported, in part, by NSF Contract CCR 9109497 and by the Center of Excellence in Space Data and Information Sciences

Rights and permissions

Reprints and permissions

About this article

Cite this article

Anderson, J.H. A fine-grained solution to the mutual exclusion problem. Acta Informatica 30, 249–265 (1993). https://doi.org/10.1007/BF01179373

Download citation

  • Received:

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF01179373

Keywords

Navigation