Skip to main content
Log in

Adaptive mutual exclusion with local spinning

  • Original Article
  • Published:
Distributed Computing Aims and scope Submit manuscript

Abstract

We present an adaptive algorithm for N-process mutual exclusion under read/write atomicity in which all busy waiting is by local spinning. In our algorithm, each process p performs O(k) remote memory references to enter and exit its critical section, where k is the maximum “point contention” experienced by p. The space complexity of our algorithm is Θ(N), which is clearly optimal. Our algorithm is the first mutual exclusion algorithm under read/write atomicity that is adaptive when time complexity is measured by counting remote memory references.

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. Afek, Y., Attiya, H., Fouren, A., Stupp, G., Touitou, D.: Long-lived renaming made adaptive. In: Proceedings of the 18th Annual ACM Symposium on Principles of Distributed Computing, pp. 91–103. ACM (1999)

  2. Afek, Y., Stupp, G., Touitou, D.: Long-lived adaptive collect with applications. In: Proceedings of the 40th Annual Symposium on Foundations of Computer Science. pp. 262–272. IEEE (1999)

  3. Afek Y., Stupp G., Touitou D. (2002). Long-lived adaptive splitter and applications. Distrib. Comput. 15(2):67–86

    Article  Google Scholar 

  4. Alur, R., Taubenfeld, G.: Results about fast mutual exclusion. In: Proceedings of the 13th IEEE Real-time Systems Symposium. pp. 12–21. IEEE (1992)

  5. Anderson J. (1993). A fine-grained solution to the mutual exclusion problem. Acta Inform. 30(3):249–265

    Article  MATH  MathSciNet  Google Scholar 

  6. Anderson, J., Kim, Y.-J.: Adaptive mutual exclusion with local spinning. In: Proceedings of the 14th International Symposium on Distributed Computing, pp. 29–43. Lecture Notes in Computer Science vol. 1914. Springer, Berlin Heidelberg New York (2000)

  7. Anderson J., Kim Y.-J. (2001). A new fast-path mechanism for mutual exclusion. Distrib. Comput. 14(1):17–29

    Article  MATH  Google Scholar 

  8. Anderson J., Kim Y.-J. (2003). An improved lower bound for the time complexity of mutual exclusion. Distrib. Comput. 15(4):221–253

    Article  Google Scholar 

  9. Anderson, J., Moir, M.: Universal constructions for multi-object operations. In: Proceedings of the 14th Annual ACM Symposium on Principles of Distributed Computing, pp. 184–193. ACM (1995)

  10. Anderson T. (1990). The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Trans. Parallel Distrib. Syst. 1(1):6–16

    Article  Google Scholar 

  11. Attiya, H., Bortnikov, V.: Adaptive and efficient mutual exclusion. In: Proceedings of the 19th Annual ACM Symposium on Principles of Distributed Computing, pp. 91–100. ACM (2000)

  12. Attiya, H., Fouren, A.: Adaptive wait-free algorithms for lattice agreement and renaming. In: Proceedings of the 17th Annual ACM Symposium on Principles of Distributed Computing, pp. 277–286. ACM (1998)

  13. Choy M., Singh A. (1994). Adaptive solutions to the mutual exclusion problem. Distrib. Comput. 8(1):1–17

    Article  Google Scholar 

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

    Article  Google Scholar 

  15. Graunke G., Thakkar S. (1990). Synchronization algorithms for shared-memory multiprocessors. IEEE Comput. 23:60–69

    Google Scholar 

  16. Kim, Y.-J., Anderson, J.: A time complexity bound for adaptive mutual exclusion. In: Proceedings of the 15th International Symposium on Distributed Computing, pp. 1–15. Lecture Notes in Computer Science, vol. 2180, Springer, Berlin Heidelberg New York (2001)

  17. Kim Y.-J., Anderson J. (2002). A space- and time-efficient local-spin spin lock. Inf. Process. Lett. 84(1):47–55

    Article  MATH  MathSciNet  Google Scholar 

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

    Article  MATH  MathSciNet  Google Scholar 

  19. Lamport L. (1987). A fast mutual exclusion algorithm. ACM Trans. Comput. Syst. 5(1):1–11

    Article  Google Scholar 

  20. Mellor-Crummey J., Scott M. (1991). Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1):21–65

    Article  Google Scholar 

  21. Merritt M., Taubenfeld G. (1993). Speeding Lamport’s fast mutual exclusion algorithm. Inf. Process. Lett. 45:137–142

    Article  MATH  Google Scholar 

  22. Merritt, M., Taubenfeld, G.: Computing with infinitely many processes. In: Proceedings of the 14th International Symposium on Distributed Computing, pp. 164–178. Lecture Notes in Computer Science vol. 1914. Springer, Berlin Heidelberg New York (2000)

  23. Moir M., Anderson J. (1995). Wait-free algorithms for fast, long-lived renaming. Sci. Comput. Program. 25(1):1–39

    Article  MATH  MathSciNet  Google Scholar 

  24. Styer,, E.: Improving fast mutual exclusion. In: Proceedings of the 11th Annual ACM Symposium on Principles of Distributed Computing, pp. 159–168. ACM (1992)

  25. Yang J.-H., Anderson J. (1995). A fast, scalable mutual exclusion algorithm. Distrib. Comput. 9(1):51–60

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to James H. Anderson.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Kim, YJ., Anderson, J.H. Adaptive mutual exclusion with local spinning. Distrib. Comput. 19, 197–236 (2007). https://doi.org/10.1007/s00446-006-0009-6

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-006-0009-6

Keywords

Navigation