Advertisement

Permission-Based Mutual Exclusion Algorithms

  • Michel Raynal

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

Keywords

Adaptive algorithm Arbiter permission Bounded algorithm Deadlock-freedom Directed acyclic graph Extended mutex Adaptive algorithm Grid quorum Individual permission Liveness property Mutual exclusion (mutex) Preemption Quorum Readers/writers problem Safety property Starvation-freedom Timestamp Vote 

References

  1. 7.
    D. Agrawal, A. El Abbadi, An efficient and fault-tolerant solution for distributed mutual exclusion. ACM Trans. Comput. Syst. 9(1), 1–20 (1991) CrossRefGoogle Scholar
  2. 9.
    M. Ahamad, M.H. Ammar, S.Y. Cheung, Multidimensional voting. ACM Trans. Comput. Syst. 9(4), 399–431 (1991) CrossRefGoogle Scholar
  3. 41.
    D. Barbara, H. Garcia Molina, Mutual exclusion in partitioned distributed systems. Distrib. Comput. 1(2), 119–132 (1986) CrossRefGoogle Scholar
  4. 42.
    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) CrossRefGoogle Scholar
  5. 68.
    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. 70.
    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. 71.
    O. Carvalho, G. Roucairol, On mutual exclusion in computer networks. Commun. ACM 26(2), 146–147 (1983) CrossRefGoogle Scholar
  8. 78.
    K.M. Chandy, J. Misra, The drinking philosophers problem. ACM Trans. Program. Lang. Syst. 6(4), 632–646 (1984) CrossRefGoogle Scholar
  9. 109.
    E.W. Dijkstra, Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965) CrossRefGoogle Scholar
  10. 147.
    H. Garcia Molina, D. Barbara, How to assign votes in a distributed system. J. ACM 32(4), 841–860 (1985) MathSciNetzbMATHCrossRefGoogle Scholar
  11. 159.
    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. 176.
    J.-M. Hélary, N. Plouzeau, M. Raynal, A distributed algorithm for mutual exclusion in arbitrary networks. Comput. J. 31(4), 289–295 (1988) MathSciNetzbMATHCrossRefGoogle Scholar
  13. 195.
    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. 226.
    L. Lamport, Time, clocks, and the ordering of events in a distributed system. Commun. ACM 21(7), 558–565 (1978) zbMATHCrossRefGoogle Scholar
  15. 239.
    S. Lodha, A.D. Ksemkalyani, A fair distributed mutual exclusion algorithm. IEEE Trans. Parallel Distrib. Syst. 11(6), 537–549 (2000) CrossRefGoogle Scholar
  16. 243.
    M. Maekawa, A \(\sqrt{n}\) algorithm for mutual exclusion in decentralized systems. ACM Trans. Comput. Syst. 3(2), 145–159 (1985) CrossRefGoogle Scholar
  17. 277.
    M. Naor, A. Wool, The load, capacity and availability of quorums systems. SIAM J. Comput. 27(2), 423–447 (2008) MathSciNetCrossRefGoogle Scholar
  18. 281.
    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 CrossRefGoogle Scholar
  19. 282.
    M. Nesterenko, M. Mizuno, A quorum-based self-stabilizing distributed mutual exclusion algorithm. J. Parallel Distrib. Comput. 62(2), 284–305 (2002) zbMATHCrossRefGoogle Scholar
  20. 294.
    D. Peleg, A. Wool, Crumbling walls: a class of practical and efficient quorum systems. Distrib. Comput. 10(2), 87–97 (1997) CrossRefGoogle Scholar
  21. 306.
    M. Raynal, Algorithms for Mutual Exclusion (The MIT Press, Cambridge, 1986), 107 pages. ISBN 0-262-18119-3 zbMATHGoogle Scholar
  22. 310.
    M. Raynal, A simple taxonomy of distributed mutual exclusion algorithms. Oper. Syst. Rev. 25(2), 47–50 (1991) CrossRefGoogle Scholar
  23. 317.
    M. Raynal, Concurrent Programming: Algorithms, Principles, and Foundations (Springer, Berlin, 2012), 500 pages. ISBN 978-3-642-32026-2 Google Scholar
  24. 327.
    G. Ricart, A.K. Agrawala, An optimal algorithm for mutual exclusion in computer networks. Commun. ACM 24(1), 9–17 (1981) MathSciNetCrossRefGoogle Scholar
  25. 333.
    B. Sanders, The information structure of distributed mutual exclusion algorithms. ACM Trans. Comput. Syst. 5(3), 284–299 (1987) CrossRefGoogle Scholar
  26. 347.
    M. Singhal, A class of deadlock-free Maekawa-type algorithms for mutual exclusion in distributed systems. Distrib. Comput. 4(3), 131–138 (1991) zbMATHCrossRefGoogle Scholar
  27. 348.
    M. Singhal, A dynamic information-structure mutual exclusion algorithm for distributed systems. IEEE Trans. Parallel Distrib. Syst. 3(1), 121–125 (1992) CrossRefGoogle Scholar
  28. 349.
    M. Singhal, A taxonomy of distributed mutual exclusion. J. Parallel Distrib. Comput. 18(1), 94–101 (1993) zbMATHCrossRefGoogle Scholar
  29. 362.
    G. Taubenfeld, Synchronization Algorithms and Concurrent Programming (Pearson Prentice-Hall, Upper Saddle River, 2006), 423 pages. ISBN 0-131-97259-6 Google Scholar
  30. 368.
    R.H. Thomas, A majority consensus approach to concurrency control for multiple copy databases. ACM Trans. Database Syst. 4(2), 180–209 (1979) CrossRefGoogle Scholar
  31. 380.
    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

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Michel Raynal
    • 1
  1. 1.Institut Universitaire de France IRISA-ISTICUniversité de Rennes 1Rennes CedexFrance

Personalised recommendations