Closing the Complexity Gap between FCFS Mutual Exclusion and Mutual Exclusion

  • Robert Danek
  • Wojciech Golab
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5218)


First-Come-First-Served (FCFS) mutual exclusion (ME) is the problem of ensuring that processes attempting to concurrently access a shared resource do so one by one, in a fair order. In this paper, we close the complexity gap between FCFS ME and ME in the asynchronous shared memory model where processes communicate using atomic reads and writes only, and do not fail. Our main result is the first known FCFS ME algorithm that makes O(logN) remote memory references (RMRs) per passage and uses only atomic reads and writes. Our algorithm is also adaptive to point contention. More precisely, the number of RMRs a process makes per passage in our algorithm is Θ( min (k,logN)), where k is the point contention. Our algorithm matches known RMR complexity lower bounds for the class of ME algorithms that use reads and writes only, and beats the RMR complexity of prior algorithms in this class that have the FCFS property.


Critical Section Mutual Exclusion Distribute Shared Memory Mutual Exclusion Algorithm Execution History 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Dijkstra, E.: Solution of a problem in concurrent programming control. Communications of the ACM 8(9), 569 (1965)CrossRefGoogle Scholar
  2. 2.
    Lamport, L.: A new solution to Dijkstra’s concurrent programming problem. Communications of the ACM 17(8), 453–455 (1974)zbMATHCrossRefMathSciNetGoogle Scholar
  3. 3.
    Mellor-Crummey, J., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Transactions on Computer Systems 9(1), 21–65 (1991)CrossRefGoogle Scholar
  4. 4.
    Anderson, T.: The performance of spin lock alternatives for shared-memory multiprocessors. IEEE Transactions on Parallel and Distributed Systems 1(1), 6–16 (1990)CrossRefGoogle Scholar
  5. 5.
    Kim, Y.-J., Anderson, J.: A time complexity bound for adaptive mutual exclusion. In: Welch, J.L. (ed.) DISC 2001. LNCS, vol. 2180, pp. 1–15. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  6. 6.
    Attiya, H., Hendler, D., Woelfel, P.: Tight RMR lower bounds for mutual exclusion and other problems. In: Proc. STOC 2008, pp. 217–226 (2008)Google Scholar
  7. 7.
    Golab, W., Hadzilacos, V., Hendler, D., Woelfel, P.: Constant-RMR implementations of cas and other synchronization primitives using read and write operations. In: Proc. PODC 2007, pp. 3–12. ACM, New York (2007)Google Scholar
  8. 8.
    Lamport, L.: A fast mutual exclusion algorithm. ACM Trans. Comput. Syst 5(1), 1–11 (1987)CrossRefGoogle Scholar
  9. 9.
    Styer, E.: Improving fast mutual exclusion. In: PODC 1992: Proceedings of the eleventh annual ACM symposium on Principles of distributed computing, pp. 159–168. ACM, New York (1992)CrossRefGoogle Scholar
  10. 10.
    Choy, M., Singh, A.K.: Adaptive solutions to the mutual exclusion problem. Distrib. Comput. 8(1), 1–17 (1994)CrossRefGoogle Scholar
  11. 11.
    Attiya, H., Bortnikov, V.: Adaptive and efficient mutual exclusion. Distrib. Comput. 15(3), 177–189 (2002)CrossRefGoogle Scholar
  12. 12.
    Yang, J.H., Anderson, J.H.: A fast, scalable mutual exclusion algorithm. Distributed Computing 9(1), 51–60 (1995)CrossRefGoogle Scholar
  13. 13.
    Kim, Y.J., Anderson, J.: Adaptive mutual exclusion with local spinning. Dist. Computing 19(3), 197–236 (2007)CrossRefGoogle Scholar
  14. 14.
    Afek, Y., Stupp, G., Touitou, D.: Long lived adaptive splitter and applications. Distrib. Comput. 15(2), 67–86 (2002)CrossRefGoogle Scholar
  15. 15.
    Cypher, R.: The communication requirements of mutual exclusion. In: SPAA 1995: Proc. of the 7th annual ACM symposium on Parallel algorithms and architectures, pp. 147–156. ACM Press, New York (1995)CrossRefGoogle Scholar
  16. 16.
    Anderson, J., Kim, Y.J.: An improved lower bound for the time complexity of mutual exclusion. Distributed Computing 15(4), 221–253 (2002)CrossRefGoogle Scholar
  17. 17.
    Fan, R., Lynch, N.: An Ω(n logn) lower bound on the cost of mutual exclusion. In: PODC 2006: Proc. of the 25th annual ACM symposium on Principles of distributed computing, pp. 275–284. ACM Press, New York (2006)CrossRefGoogle Scholar
  18. 18.
    Jayanti, P.: f-arrays: Implementation and applications. In: PODC 2002: Proceedings of the twenty-first annual symposium on Principles of distributed computing, pp. 270–279. ACM, New York (2002)CrossRefGoogle Scholar
  19. 19.
    Taubenfeld, G.: The black-white bakery algorithm and related bounded-space, adaptive, local-spinning and fifo algorithms. In: Guerraoui, R. (ed.) DISC 2004. LNCS, vol. 3274, pp. 56–70. Springer, Heidelberg (2004)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Robert Danek
    • 1
  • Wojciech Golab
    • 1
  1. 1.Department of Computer ScienceUniversity of Toronto 

Personalised recommendations