Shared-memory mutual exclusion: major research trends since 1986

Abstract.In 1986, Michel Raynal published a comprehensive survey of algorithms for mutual exclusion [72]. In this paper, we survey major research trends since 1986 in work on shared-memory mutual exclusion.

[1]  Maurice Herlihy,et al.  Contention in shared memory algorithms , 1997, J. ACM.

[2]  James H. Anderson,et al.  A fast, scalable mutual exclusion algorithm , 1995, Distributed Computing.

[3]  Hagit Attiya,et al.  Adaptive and efficient mutual exclusion , 2002, PODC '00.

[4]  Rajeev Alur,et al.  Time-adaptive algorithms for synchronization , 1994, STOC '94.

[5]  Shlomi Dolev,et al.  Self-stabilizing l-exclusion , 2001, Theor. Comput. Sci..

[6]  Mark Moir,et al.  Fast, Long-Lived Renaming (Extended Abstract) , 1994, WDAG.

[7]  Rajeev Alur,et al.  Fast timing-based algorithms , 1996, Distributed Computing.

[8]  Robert Cypher The communication requirements of mutual exclusion , 1995, SPAA '95.

[9]  Mark Moir,et al.  Wait-Free Algorithms for Fast, Long-Lived Renaming , 1995, Sci. Comput. Program..

[10]  Adaptive solutions to the mutual exclusion problem , 2005, Distributed Computing.

[11]  Mark Moir,et al.  A Simple Local-Spin Group Mutual Exclusion Algorithm , 2001, IEEE Trans. Parallel Distributed Syst..

[12]  James H. Anderson,et al.  A space- and time-efficient local-spin spin lock , 2002, Inf. Process. Lett..

[13]  Nian-Feng Tzeng,et al.  A Circular List-Based Mutual Exclusion Scheme for Large Shared-Memory Multiprocessors , 1997, IEEE Trans. Parallel Distributed Syst..

[14]  Shlomi Dolev,et al.  Self Stabilization , 2004, J. Aerosp. Comput. Inf. Commun..

[15]  Nancy A. Lynch,et al.  Mutual exclusion using indivisible reads and writes , 1980 .

[16]  James H. Anderson,et al.  An improved lower bound for the time complexity of mutual exclusion , 2001, PODC.

[17]  Michael L. Scott,et al.  Non-blocking timeout in scalable queue-based spin locks , 2002, PODC '02.

[18]  N. Meyers,et al.  H = W. , 1964, Proceedings of the National Academy of Sciences of the United States of America.

[19]  Vassos Hadzilacos,et al.  A first-come-first-served mutual-exclusion algorithm with small communication variables , 1991, TOPL.

[20]  Eli Gafni,et al.  Analysis of timing-based mutual exclusion with random times , 1999, PODC '99.

[21]  Allan Borodin,et al.  Resource allocation with immunity to limited process failure , 1979, 20th Annual Symposium on Foundations of Computer Science (sfcs 1979).

[22]  Hagit Attiya,et al.  Long-lived renaming made adaptive , 1999, PODC '99.

[23]  Michael L. Scott,et al.  Algorithms for scalable synchronization on shared-memory multiprocessors , 1991, TOCS.

[24]  Eyal Kushilevitz,et al.  Randomized mutual exclusion algorithms revisited , 1992, PODC '92.

[25]  James H. Anderson,et al.  Nonatomic mutual exclusion with local spinning , 2002, PODC.

[26]  Ronald L. Rivest,et al.  The Mutual Exclusion Problem for Unreliable Processes: Preliminary Report , 1976, IEEE Annual Symposium on Foundations of Computer Science.

[27]  Yong Yan,et al.  Evaluating and designing software mutual exclusion algorithms on shared-memory multiprocessors , 1996, IEEE Parallel Distributed Technol. Syst. Appl..

[28]  James H. Anderson,et al.  Local-spin mutual exclusion using fetch-and-/spl phi/ primitives , 2003, 23rd International Conference on Distributed Computing Systems, 2003. Proceedings..

[29]  Eyal Kushilevitz,et al.  Lower bounds for randomized mutual exclusion , 1993, SIAM J. Comput..

[30]  Mark Moir,et al.  Long-lived renaming made fast , 1995, PODC '95.

[31]  James H. Anderson,et al.  A Time Complexity Bound for Adaptive Mutual Exclusion , 2001, DISC.

[32]  Leslie Lamport,et al.  The mutual exclusion problem: partII—statement and solutions , 1986, JACM.

[33]  Nancy A. Lynch,et al.  Data Requirements for Implementation of N-Process Mutual Exclusion Using a Single Shared Variable , 1982, JACM.

[34]  Hagit Attiya,et al.  Adaptive wait-free algorithms for lattice agreement and renaming (extended abstract) , 1998, PODC '98.

[35]  Evangelos P. Markatos Multiprocessor Synchronization Primitives with Priorities , 1991 .

[36]  Yuh-Jzer Joung,et al.  Asynchronous group mutual exclusion , 2000, Distributed Computing.

[37]  Thomas E. Anderson,et al.  The Performance of Spin Lock Alternatives for Shared-Memory Multiprocessors , 1990, IEEE Trans. Parallel Distributed Syst..

[38]  Leslie Lamport,et al.  A new solution of Dijkstra's concurrent programming problem , 1974, Commun. ACM.

[39]  Michael L. Scott,et al.  High performance synchronization algorithms for multiprogrammed multiprocessors , 1995, PPOPP '95.

[40]  Hagit Attiya,et al.  Adaptive long-lived renaming using bounded memory , 1999 .

[41]  James H. Anderson,et al.  A new fast-path mechanism for mutual exclusion , 2001, Distributed Computing.

[42]  Boleslaw K. Szymanski Mutual exclusion revisited , 1990, Proceedings of the 5th Jerusalem Conference on Information Technology, 1990. 'Next Decade in Information Technology'.

[43]  Gary L. Peterson,et al.  Myths About the Mutual Exclusion Problem , 1981, Inf. Process. Lett..

[44]  Yih-Kuen Tsay,et al.  Deriving a Scalable Algorithm for Mutual Exclusion , 1998, DISC.

[45]  Mark Moir,et al.  Using local-spin k-exclusion algorithms to improve wait-free object implementations , 1997, Distributed Computing.

[46]  Leslie Lamport A New Approach to Proving the Correctness of Multiprocess Programs , 1979, TOPL.

[47]  Travis S. Craig Queuing spin lock algorithms to support timing predictability , 1993, 1993 Proceedings Real-Time Systems Symposium.

[48]  Michel Raynal,et al.  Algorithms for mutual exclusion , 1986 .

[49]  Maged M. Michael,et al.  Fast Mutual Exclusion, Even with Contention , 1993 .

[50]  J. Burns Mutual exclusion with linear waiting using binary shared variables , 1978, SIGA.

[51]  G. Taubenfeld,et al.  Results about fast mutual exclusion , 1992, [1992] Proceedings Real-Time Systems Symposium.

[52]  James H. Anderson,et al.  Efficient object sharing in quantum-based real-time systems , 1998, Proceedings 19th IEEE Real-Time Systems Symposium (Cat. No.98CB36279).

[53]  Erik Hagersten,et al.  Queue locks on cache coherent multiprocessors , 1994, Proceedings of 8th International Parallel Processing Symposium.

[54]  Michael L. Scott,et al.  Scheduler-conscious synchronization , 1997, TOCS.

[55]  David Lorge Parnas,et al.  Concurrent control with “readers” and “writers” , 1971, CACM.

[56]  William N. Scherer,et al.  Scalable queue-based spin locks with timeout , 2001, PPoPP '01.

[57]  Theodore Johnson,et al.  A Prioritized Multiprocessor Spin Lock , 1997, IEEE Trans. Parallel Distributed Syst..

[58]  Michael O. Rabin,et al.  N-Process Mutual Exclusion with Bounded Waiting by 4 Log_2 N-Valued Shared Variable , 1982, J. Comput. Syst. Sci..

[59]  Peter Browne The Queue , 2002 .

[60]  Yehuda Afek,et al.  Long-lived adaptive collect with applications , 1999, 40th Annual Symposium on Foundations of Computer Science (Cat. No.99CB37039).

[61]  N. G. de Bruijn,et al.  Additional comments on a problem in concurrent programming control , 1967, Commun. ACM.

[62]  Rajeev Alur,et al.  Contention—free complexity of shared memory algorithms , 1994, PODC '94.

[63]  Eugene Styer Improving fast mutual exclusion , 1992, PODC '92.

[64]  James H. Anderson,et al.  Time/Contention Trade-Offs for Multiprocessor Synchronization , 1996, Inf. Comput..

[65]  Michael L. Scott,et al.  Scalable reader-writer synchronization for shared-memory multiprocessors , 1991, PPOPP '91.

[66]  Gregory F. Pfister,et al.  “Hot spot” contention and combining in multistage interconnection networks , 1985, IEEE Transactions on Computers.

[67]  Hagit Attiya,et al.  Adaptive Long-Lived Renaming with Read and Write Operations , 1999 .

[68]  Hagit Attiya,et al.  Adaptive and efficient mutual exclusion (extended abstract) , 2000, PODC.

[69]  Injong Rhee,et al.  An efficient recovery-based spin lock protocol for preemptive shared-memory multiprocessors , 1996, PODC '96.

[70]  James H. Anderson,et al.  A fine-grained solution to the mutual exclusion problem , 1993, Acta Informatica.

[71]  Edsger W. Dijkstra,et al.  Self-stabilizing systems in spite of distributed control , 1974, CACM.

[72]  Ting-Lu Huang Fast and fair mutual exclusion for shared memory systems , 1999, Proceedings. 19th IEEE International Conference on Distributed Computing Systems (Cat. No.99CB37003).

[73]  Joep L. W. Kessels,et al.  Arbitration without common modifiable variables , 1982, Acta Informatica.

[74]  Leslie Lamport,et al.  A fast mutual exclusion algorithm , 1987, TOCS.

[75]  Yehuda Afek,et al.  Long lived adaptive splitter and applications , 2002, Distributed Computing.

[76]  Shreekant S. Thakkar,et al.  Synchronization algorithms for shared-memory multiprocessors , 1990, Computer.

[77]  Yehuda Afek,et al.  Fast, wait-free (2k-1)-renaming , 1999, PODC '99.

[78]  Ting-Lu Huang,et al.  A Comment on "A Circular List-Based Mutual Exclusion Scheme for Large Shared-Memory Multiprocessors" , 1998, IEEE Trans. Parallel Distributed Syst..

[79]  Nancy A. Lynch,et al.  Bounds on Shared Memory for Mutual Exclusion , 1993, Inf. Comput..

[80]  Michael Merritt,et al.  Speeding Lamport's Fast Mutual Exclusion Algorithm , 1993, Inf. Process. Lett..

[81]  James H. Anderson,et al.  Local-spin Mutual Exclusion Using Fetch-and-φ Primitives ∗ ( Extended Abstract ) , 2002 .

[82]  N. Lynch,et al.  Timing-based mutual exclusion , 1992, [1992] Proceedings Real-Time Systems Symposium.

[83]  Amir Pnueli,et al.  Impartiality, Justice and Fairness: The Ethics of Concurrent Termination , 1981, ICALP.

[84]  Edsger W. Dijkstra,et al.  Solution of a problem in concurrent programming control , 1965, CACM.

[85]  Leslie Lamport,et al.  The mutual exclusion problem: part I—a theory of interprocess communication , 1986, JACM.

[86]  Michael L. Scott,et al.  Scalable spin locks for multiprogrammed systems , 1994, Proceedings of 8th International Parallel Processing Symposium.