Skip to main content
Log in

A queue based mutual exclusion algorithm

  • Original Article
  • Published:
Acta Informatica Aims and scope Submit manuscript

Abstract

A new elegant and simple algorithm for mutual exclusion of N processes is proposed. It only requires shared variables in a memory model where shared variables need not be accessed atomically. We prove mutual exclusion by reformulating the algorithm as a transition system (automaton), and applying simulation of automata. The proof has been verified with the higher-order interactive theorem prover PVS. Under an additional atomicity assumption, the algorithm is starvation free, and we conjecture that no competing process is passed by any other process more than once. This conjecture was verified by model checking for systems with at most five processes.

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.

Similar content being viewed by others

References

  1. Alagarsamy K.: A mutual exclusion algorithm with optimally bounded bypasses. Inf. Process. Lett. 96, 36–40 (2005)

    Article  MathSciNet  Google Scholar 

  2. Anderson J.H., Kim Y.J., Herman T.: Shared-memory mutual exclusion: major research trends since 1986. Distr. Comput. 16, 75–110 (2003)

    Article  Google Scholar 

  3. Block K., Woo T.-K.: A more efficient generalization of Peterson’s mutual exclusion algorithm. Inf. Process. Lett. 35, 219–222 (1990)

    Article  MATH  MathSciNet  Google Scholar 

  4. Chandy K.M., Misra J.: Parallel Program Design, A Foundation. Addison-Wesley, Reading (1988)

    MATH  Google Scholar 

  5. Dijkstra E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8, 569 (1965)

    Article  Google Scholar 

  6. Frenzel, L.E.: Dual-port SRAM accelerates smart-phone development. Electron. Des. (2004)

  7. He J., Hoare C.A.R., Sanders J.W.: Data refinement refined. In: Robinet, B., Wilhelm, R. (eds) ESOP 86. Lecture notes in computer science, vol 213, pp. 187–196. Springer, New York (1986)

    Google Scholar 

  8. Hesselink W.H.: An assertional proof for a construction of an atomic variable. Formal Asp. Comput. 16, 387–393 (2004)

    Article  MATH  Google Scholar 

  9. Hesselink W.H.: A criterion for atomicity revisited. Acta Inf. 44, 123–151 (2007)

    Article  MATH  MathSciNet  Google Scholar 

  10. Holzmann G.J.: The SPIN Model Checker, Primer and Reference Manual. Addison-Wesley, Reading (2004)

    Google Scholar 

  11. Igarashi Y., Nishitani Y.: Speedup of the n-process mutual exclusion algorithm. Parallel Process. Lett. 9, 475–485 (1999)

    Article  Google Scholar 

  12. Lamport L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17, 453–455 (1974)

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  Google Scholar 

  14. Lamport L.: The temporal logic of actions. ACM Trans. Program. Lang. Syst. 16, 872–923 (1994)

    Article  Google Scholar 

  15. Milner, R.: An algebraic definition of simulation between programs. In: Proc. 2nd Int. Joint Conf. on Artificial Intelligence, pp. 481–489. British Computer Society, UK (1971)

  16. Owre, S., Shankar, N., Rushby, J.M., Stringer-Calvert, D.W.J.: PVS Version 2.4, System Guide, Prover Guide, PVS Language Reference (2001). http://pvs.csl.sri.com

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

    Article  MATH  Google Scholar 

  18. Raynal M.: Algorithms for Mutual Exclusion. MIT Press, Cambridge (1986)

    MATH  Google Scholar 

  19. Shiue W.-T., Chakrabarti C.: Multi-module multi-port memory design for low power embedded systems. Des. Autom. Embed. Syst. 9, 235–261 (2004)

    Article  Google Scholar 

  20. Springer, C.: Enabling multimode handsets. EE Times, Oct. 2004

  21. Taubenfeld G.: Synchronization Algorithms and Concurrent Programming. Pearson Education/Prentice Hall, Englewood Cliffs (2006)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Wim H. Hesselink.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Aravind, A.A., Hesselink, W.H. A queue based mutual exclusion algorithm. Acta Informatica 46, 73–86 (2009). https://doi.org/10.1007/s00236-008-0086-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00236-008-0086-z

Keywords

Navigation