Years and Authors of Summarized Original Work
1991; Mellor-Crummey, Scott
Problem Definition
Mutual exclusion is a fundamental concurrent programming problem (see Concurrent Programming, Mutual Exclusion entry), in which a set of processes must coordinate their access to a critical section so that, at any point in time, at most a single process is in the critical section.
To a large extent, shared-memory mutual exclusion research focused on busy-waiting mutual exclusion, in which, while waiting for the critical section to be freed, processes repeatedly test the values of shared-memory variables. A significant portion of this research over the last two decades was devoted to local-spin algorithms [2], in which all busy-waiting is done by means of read-only loops that repeatedly test locally accessible variables.
Local-Spin Algorithms and the RMRs Metric
A natural way to measure the time complexity of algorithms in shared-memory multiprocessors is to count the number of memory accesses...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Alur R, Taubenfeld G (1992) Results about fast mutual exclusion. In: Proceedings of the 13th IEEE real-time systems symposium, Phoenix, pp 12–21
Anderson TE (1990) The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Trans Parallel Distrib Syst 1(1):6–16
Anderson JH (1993) A fine-grained solution to the mutual exclusion problem. Acta Inf 30(3):249–265
Anderson J, Kim YJ (2002) An improved lower bound for the time complexity of mutual exclusion. Distrib Comput 15(4):221–253
Kim Y-J, Anderson JH (2006) Nonatomic mutual exclusion with local spinning. Distrib Comput 19(1):19–61
Anderson J, Kim YJ, Herman T (2003) Shared-memory mutual exclusion: major research trends since 1986. Distrib Comput 16:75–110
Attiya H, Hendler D, Woelfel P (2008) Tight RMR lower bounds for mutual exclusion and other problems. In: STOC, Victoria, pp 217–226
Craig T (1993) Building FIFO and priority-queuing spin locks from atomic swap. Technical report
Danek R, Golab WM (2010) Closing the complexity gap between FCFS mutual exclusion and mutual exclusion. Distrib Comput 23(2):87–111
Dice D, Marathe VJ, Shavit N (2012) Lock cohorting: a general technique for designing NUMA locks. In: PPOPP, New Orleans, pp 247–256
Golab WM, Hendler D, Woelfel P (2010) An O(1) RMRS leader election algorithm. SIAM J Comput 39(7):2726–2760
Graunke G, Thakkar SS (1990) Synchronization algorithms for shared-memory multiprocessors. IEEE Comput 23(6):60–69
Kim YJ, Anderson JH (2007) Adaptive mutual exclusion with local spinning. Distrib Comput 19(3):197–236
Kim YJ, Anderson JH (2012) A time complexity lower bound for adaptive mutual exclusion. Distrib Comput 24(6):271–297
Lamport L (1974) A new solution of Dijkstra’s concurrent programming problem. Commun ACM 17(8):453–455
Luchangco V, Nussbaum D, Shavit N (2006) A hierarchical CLH queue lock. In: Euro-Par, Dresden, pp 801–810
Magnusson P, Landin A, Hagersten E (1994) Queue locks on cache coherent multiprocessors. In: IPPS, Cancún. IEEE Computer Society, pp 165–171
Mellor-Crummey JM, Scott ML (1991) Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans Comput Syst 9(1):21–65. doi:10.1145/103727.103729, http://doi.acm.org/10.1145/103727.103729
Radovic Z, Hagersten E (2003) Hierarchical backoff locks for nonuniform communication architectures. In: HPCA, Anaheim, pp 241–252
Yang JH, Anderson J (1995) A fast, scalable mutual exclusion algorithm. Distrib Comput 9(1):51–60
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2016 Springer Science+Business Media New York
About this entry
Cite this entry
Hendler, D. (2016). Mellor-Crummey and Scott Mutual Exclusion Algorithm. In: Kao, MY. (eds) Encyclopedia of Algorithms. Springer, New York, NY. https://doi.org/10.1007/978-1-4939-2864-4_605
Download citation
DOI: https://doi.org/10.1007/978-1-4939-2864-4_605
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4939-2863-7
Online ISBN: 978-1-4939-2864-4
eBook Packages: Computer ScienceReference Module Computer Science and Engineering