Advertisement

Recoverable Mutual Exclusion with Abortability

  • Prasad Jayanti
  • Anup JoshiEmail author
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 11704)

Abstract

In light of recent advances in non-volatile main memory technology, there has been a flurry of research in designing algorithms that are resilient to process crashes. As a result of main memory non-volatility, a process is allowed to crash any time during the execution, without affecting the state of the data stored in the main memory. With the assumption that a process eventually restarts after a crash, prior works have focused on designing mutual exclusion algorithms that use the non-volatile main memory to recover from such crashes. Such mutual exclusion algorithms that provide multiple processes with a mutually exclusive access to a shared resource in the presence of process crashes are called Recoverable Mutual Exclusion (RME) algorithms. We present the first RME algorithm where a process has the ability to abort executing the algorithm, if it decides to give up its request for a shared resource before being granted access to that resource. With n being the maximum number of processes for which the algorithm is designed, in the absence of a crash our algorithm guarantees a worst-case remote memory references (RMR) complexity of \(O(\log n)\) per passage on the Distributed Shared Memory (DSM) machines, and a complexity of \(O(\log n)\) or O(n) on Cache Coherent (CC) machines, depending on how caches are managed.

Keywords

Concurrent algorithm Synchronization Mutual exclusion Recoverable algorithm Fault tolerance Non-volatile main memory Shared memory Multi-core algorithms 

References

  1. 1.
    Raoux, S., et al.: Phase-change random access memory: a scalable technology. IBM J. Res. Dev. 52(4/5), 465 (2008)CrossRefGoogle Scholar
  2. 2.
    Strukov, D.B., Snider, G.S., Stewart, D.R., Williams, R.S.: The missing memristor found. Nature 453(7191), 80 (2008)CrossRefGoogle Scholar
  3. 3.
    Tehrani, S., et al.: Magnetoresistive random access memory using magnetic tunnel junctions. Proce. IEEE 91(5), 703–714 (2003)CrossRefGoogle Scholar
  4. 4.
    Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)CrossRefGoogle Scholar
  5. 5.
    Golab, W., Ramaraju, A.: Recoverable mutual exclusion: [extended abstract]. In: Proceedings of the 2016 ACM Symposium on Principles of Distributed Computing, PODC 2016, pp. 65–74. ACM, New York (2016)Google Scholar
  6. 6.
    Golab, W., Hendler, D.: Recoverable mutual exclusion in sub-logarithmic time. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC 2017, pp. 211–220. ACM, New York (2017)Google Scholar
  7. 7.
    Jayanti, P., Joshi, A.: Recoverable FCFS mutual exclusion with wait-free recovery. In: 31st International Symposium on Distributed Computing, DISC 2017, pp. 30:1–30:15 (2017)Google Scholar
  8. 8.
    Golab, W., Hendler, D.: Recoverable mutual exclusion under system-wide failures. In: Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing, PODC 2018, pp. 17–26. ACM, New York (2018)Google Scholar
  9. 9.
    Jayanti, P., Jayanti, S., Joshi, A.: Optimal recoverable mutual exclusion using only FASAS. In: Podelski, A., Taïani, F. (eds.) NETYS 2018. LNCS, vol. 11028, pp. 191–206. Springer, Cham (2019).  https://doi.org/10.1007/978-3-030-05529-5_13CrossRefGoogle Scholar
  10. 10.
    Jayanti, P., Jayanti, S., Joshi, A.: Recoverable Mutual Exclusion with Sub-logarithmic RMR Complexity on CC and DSM machines. In: Accepted for publication in PODC 2019 (2019)Google Scholar
  11. 11.
    Ramaraju, A.: RGLock: recoverable mutual exclusion for non-volatile main memory systems. Master’s thesis, University of Waterloo (2015)Google Scholar
  12. 12.
    Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)MathSciNetCrossRefGoogle Scholar
  13. 13.
    Attiya, H., Ben-Baruch, O., Hendler, D.: Nesting-safe recoverable linearizability: modular constructions for non-volatile memory. In: Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing, pp. 7–16. ACM (2018)Google Scholar
  14. 14.
    Scott, M.L.: Non-blocking timeout in scalable queue-based spin locks. In: Proceedings of the Twenty-First Annual Symposium on Principles of Distributed Computing, PODC 2002, pp. 31–40. ACM, New York (2002)Google Scholar
  15. 15.
    Scott, M.L., Scherer, W.N.: Scalable queue-based spin locks with timeout. In: Proceedings of the Eighth ACM SIGPLAN Symposium on Principles and Practices of Parallel Programming, PPoPP 2001, pp. 44–52. ACM, New York (2001)Google Scholar
  16. 16.
    Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 21–65 (1991)CrossRefGoogle Scholar
  17. 17.
    Craig, T.S.: Building FIFO and priority-queuing spin locks from atomic swap. Technical report TR-93-02-02, Department of Computer Science, University of Washington, February 1993Google Scholar
  18. 18.
    Jayanti, P.: Adaptive and efficient abortable mutual exclusion. In: Proceedings of the Twenty-Second Annual Symposium on Principles of Distributed Computing, PODC 2003, pp. 295–304. ACM, New York (2003)Google Scholar
  19. 19.
    Attiya, H., Hendler, D., Woelfel, P.: Tight RMR lower bounds for mutual exclusion and other problems. In: Proceedings of the Fortieth ACM Symposium on Theory of Computing, STOC 2008, pp. 217–226. ACM, New York (2008)Google Scholar
  20. 20.
    Lee, H.: Fast local-spin abortable mutual exclusion with bounded space. In: Lu, C., Masuzawa, T., Mosbah, M. (eds.) OPODIS 2010. LNCS, vol. 6490, pp. 364–379. Springer, Heidelberg (2010).  https://doi.org/10.1007/978-3-642-17653-1_27CrossRefGoogle Scholar
  21. 21.
    Alon, A., Morrison, A.: Deterministic abortable mutual exclusion with sublogarithmic adaptive RMR complexity. In: Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing, PODC 2018, pp. 27–36. ACM, New York (2018)Google Scholar
  22. 22.
    Jayanti, P., Jayanti, S.V.: Constant amortized RMR complexity deterministic abortable mutual exclusion algorithm for CC and DSM models. In: Accepted for publication in PODC 2019 (2019)Google Scholar
  23. 23.
    Pareek, A., Woelfel, P.: RMR-efficient randomized abortable mutual exclusion. In: Aguilera, M.K. (ed.) DISC 2012. LNCS, vol. 7611, pp. 267–281. Springer, Heidelberg (2012).  https://doi.org/10.1007/978-3-642-33651-5_19CrossRefGoogle Scholar
  24. 24.
    Giakkoupis, G., Woelfel, P.: Randomized abortable mutual exclusion with constant amortized RMR complexity on the CC model. In: Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC 2017, pp. 221–229. ACM, New York (2017)Google Scholar
  25. 25.
    Jayanti, P.: \(f\)-arrays: implementation and applications. In: Proceedings of the Twenty-First Symposium on Principles of Distributed Computing, PODC 2002, pp. 270–279. ACM, New York (2002)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Dartmouth CollegeHanoverUSA

Personalised recommendations