Skip to main content
  • 2992 Accesses

Abstract

This chapter is on one of the most important synchronization problems, namely mutual exclusion. This problem (whose name is usually shortened to “mutex”) consists of ensuring that at most one process at a time is allowed to access some resource (which can be a physical or a virtual resource).

After having defined the problem, the chapter presents two approaches which allow us to solve it. Both are based on permissions given by processes to other processes. The algorithms of the first approach are based on individual permissions, while the algorithms of the second approach are based on arbiter permissions (arbiter-based algorithms are also called quorum-based algorithms).

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 54.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 69.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 99.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. D. Agrawal, A. El Abbadi, An efficient and fault-tolerant solution for distributed mutual exclusion. ACM Trans. Comput. Syst. 9(1), 1–20 (1991)

    Article  Google Scholar 

  2. M. Ahamad, M.H. Ammar, S.Y. Cheung, Multidimensional voting. ACM Trans. Comput. Syst. 9(4), 399–431 (1991)

    Article  Google Scholar 

  3. D. Barbara, H. Garcia Molina, Mutual exclusion in partitioned distributed systems. Distrib. Comput. 1(2), 119–132 (1986)

    Article  Google Scholar 

  4. D. Barbara, H. Garcia Molina, A. Spauster, Increasing availability under mutual exclusion constraints with dynamic vote assignments. ACM Trans. Comput. Syst. 7(7), 394–426 (1989)

    Article  Google Scholar 

  5. G. Cao, M. Singhal, A delay-optimal quorum-based mutual exclusion algorithm for distributed systems. IEEE Trans. Parallel Distrib. Syst. 12(12), 1256–1268 (1991)

    Google Scholar 

  6. O. Carvalho, G. Roucairol, On the distribution of an assertion, in Proc. First ACM Symposium on Principles of Distributed Computing (PODC’1982) (ACM Press, New York, 1982), pp. 18–20

    Google Scholar 

  7. O. Carvalho, G. Roucairol, On mutual exclusion in computer networks. Commun. ACM 26(2), 146–147 (1983)

    Article  Google Scholar 

  8. K.M. Chandy, J. Misra, The drinking philosophers problem. ACM Trans. Program. Lang. Syst. 6(4), 632–646 (1984)

    Article  Google Scholar 

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

    Article  Google Scholar 

  10. H. Garcia Molina, D. Barbara, How to assign votes in a distributed system. J. ACM 32(4), 841–860 (1985)

    Article  MathSciNet  MATH  Google Scholar 

  11. D.K. Gifford, Weighted voting for replicated data, in Proc. 7th ACM Symposium on Operating System Principles (SOSP’79) (ACM Press, New York, 1979), pp. 150–172

    Google Scholar 

  12. J.-M. Hélary, N. Plouzeau, M. Raynal, A distributed algorithm for mutual exclusion in arbitrary networks. Comput. J. 31(4), 289–295 (1988)

    Article  MathSciNet  MATH  Google Scholar 

  13. T. Ibaraki, T. Kameda, A theory of coteries: mutual exclusion in distributed systems. J. Parallel Distrib. Comput. 4(7), 779–794 (1993)

    Google Scholar 

  14. L. Lamport, Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978)

    Article  MATH  Google Scholar 

  15. S. Lodha, A.D. Ksemkalyani, A fair distributed mutual exclusion algorithm. IEEE Trans. Parallel Distrib. Syst. 11(6), 537–549 (2000)

    Article  Google Scholar 

  16. M. Maekawa, A \(\sqrt{n}\) algorithm for mutual exclusion in decentralized systems. ACM Trans. Comput. Syst. 3(2), 145–159 (1985)

    Article  Google Scholar 

  17. M. Naor, A. Wool, The load, capacity and availability of quorums systems. SIAM J. Comput. 27(2), 423–447 (2008)

    Article  MathSciNet  Google Scholar 

  18. M.L. Neilsen, M. Masaaki, M. Raynal, A general method to define quorums, in Proc. 12th Int’l IEEE Conference on Distributed Computing Systems (ICDCS’92) (IEEE Press, New York, 1992), pp. 657–664

    Chapter  Google Scholar 

  19. M. Nesterenko, M. Mizuno, A quorum-based self-stabilizing distributed mutual exclusion algorithm. J. Parallel Distrib. Comput. 62(2), 284–305 (2002)

    Article  MATH  Google Scholar 

  20. D. Peleg, A. Wool, Crumbling walls: a class of practical and efficient quorum systems. Distrib. Comput. 10(2), 87–97 (1997)

    Article  Google Scholar 

  21. M. Raynal, Algorithms for Mutual Exclusion (The MIT Press, Cambridge, 1986), 107 pages. ISBN 0-262-18119-3

    MATH  Google Scholar 

  22. M. Raynal, A simple taxonomy of distributed mutual exclusion algorithms. Oper. Syst. Rev. 25(2), 47–50 (1991)

    Article  Google Scholar 

  23. M. Raynal, Concurrent Programming: Algorithms, Principles, and Foundations (Springer, Berlin, 2012), 500 pages. ISBN 978-3-642-32026-2

    Google Scholar 

  24. G. Ricart, A.K. Agrawala, An optimal algorithm for mutual exclusion in computer networks. Commun. ACM 24(1), 9–17 (1981)

    Article  MathSciNet  Google Scholar 

  25. B. Sanders, The information structure of distributed mutual exclusion algorithms. ACM Trans. Comput. Syst. 5(3), 284–299 (1987)

    Article  Google Scholar 

  26. M. Singhal, A class of deadlock-free Maekawa-type algorithms for mutual exclusion in distributed systems. Distrib. Comput. 4(3), 131–138 (1991)

    Article  MATH  Google Scholar 

  27. M. Singhal, A dynamic information-structure mutual exclusion algorithm for distributed systems. IEEE Trans. Parallel Distrib. Syst. 3(1), 121–125 (1992)

    Article  Google Scholar 

  28. M. Singhal, A taxonomy of distributed mutual exclusion. J. Parallel Distrib. Comput. 18(1), 94–101 (1993)

    Article  MATH  Google Scholar 

  29. G. Taubenfeld, Synchronization Algorithms and Concurrent Programming (Pearson Prentice-Hall, Upper Saddle River, 2006), 423 pages. ISBN 0-131-97259-6

    Google Scholar 

  30. R.H. Thomas, A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst. 4(2), 180–209 (1979)

    Article  Google Scholar 

  31. M. Vukolić, Quorum Systems with Applications to Storage and Consensus (Morgan & Claypool, San Francisco, 2012), 130 pages. ISBN 798-1-60845-683-3

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Raynal, M. (2013). Permission-Based Mutual Exclusion Algorithms. In: Distributed Algorithms for Message-Passing Systems. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-38123-2_10

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-38123-2_10

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-38122-5

  • Online ISBN: 978-3-642-38123-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics