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.
The first author is grateful to the Frank family and Dartmouth College for their support through James Frank Family Professorship of Computer Science.
The second author is grateful for the support from Dartmouth College.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
p might have already set itself up to enter the CS, or could be executing the CS, in which case it executes Exit after completing the CS.
References
Raoux, S., et al.: Phase-change random access memory: a scalable technology. IBM J. Res. Dev. 52(4/5), 465 (2008)
Strukov, D.B., Snider, G.S., Stewart, D.R., Williams, R.S.: The missing memristor found. Nature 453(7191), 80 (2008)
Tehrani, S., et al.: Magnetoresistive random access memory using magnetic tunnel junctions. Proce. IEEE 91(5), 703–714 (2003)
Dijkstra, E.W.: Solution of a problem in concurrent programming control. Commun. ACM 8(9), 569 (1965)
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)
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)
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)
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)
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_13
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)
Ramaraju, A.: RGLock: recoverable mutual exclusion for non-volatile main memory systems. Master’s thesis, University of Waterloo (2015)
Lamport, L.: A new solution of Dijkstra’s concurrent programming problem. Commun. ACM 17(8), 453–455 (1974)
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)
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)
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)
Mellor-Crummey, J.M., Scott, M.L.: Algorithms for scalable synchronization on shared-memory multiprocessors. ACM Trans. Comput. Syst. 9(1), 21–65 (1991)
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 1993
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)
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)
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_27
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)
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)
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_19
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)
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)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Jayanti, P., Joshi, A. (2019). Recoverable Mutual Exclusion with Abortability. In: Atig, M., Schwarzmann, A. (eds) Networked Systems. NETYS 2019. Lecture Notes in Computer Science(), vol 11704. Springer, Cham. https://doi.org/10.1007/978-3-030-31277-0_14
Download citation
DOI: https://doi.org/10.1007/978-3-030-31277-0_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-31276-3
Online ISBN: 978-3-030-31277-0
eBook Packages: Computer ScienceComputer Science (R0)