Recoverable, Abortable, and Adaptive Mutual Exclusion with Sublogarithmic RMR Complexity (2011.07622v3)
Abstract: We present the first recoverable mutual exclusion (RME) algorithm that is simultaneously abortable, adaptive to point contention, and with sublogarithmic RMR complexity. Our algorithm has $O(\min(K,\log_W N))$ RMR passage complexity and $O(F + \min(K,\log_W N))$ RMR super-passage complexity, where $K$ is the number of concurrent processes (point contention), $W$ is the size (in bits) of registers, and $F$ is the number of crashes in a super-passage. Under the standard assumption that $W=\Theta(\log N)$, these bounds translate to worst-case $O(\frac{\log N}{\log \log N})$ passage complexity and $O(F + \frac{\log N}{\log \log N})$ super-passage complexity. Our key building blocks are: * A $D$-process abortable RME algorithm, for $D \leq W$, with $O(1)$ passage complexity and $O(1+F)$ super-passage complexity. We obtain this algorithm by using the Fetch-And-Add (FAA) primitive, unlike prior work on RME that uses Fetch-And-Store (FAS/SWAP). * A generic transformation that transforms any abortable RME algorithm with passage complexity of $B < W$, into an abortable RME lock with passage complexity of $O(\min(K,B))$.
- Long-Lived Renaming Made Adaptive. In PODC, 1999.
- Making Objects Writable. In PODC, 2014.
- A. Alon and A. Morrison. Deterministic Abortable Mutual Exclusion with Sublogarithmic Adaptive RMR Complexity. In PODC, 2018.
- An Improved Lower Bound for the Time Complexity of Mutual Exclusion. Distributed Computing, 15(4), 2002.
- H. Attiya. Adapting to Point Contention with Long-Lived Safe Agreement. In SIROCCO, 2006.
- H. Attiya and A. Fouren. Algorithms Adapting to Point Contention. JACM, 50(4), 2003.
- Tight RMR Lower Bounds for Mutual Exclusion and Other Problems. In STOC, 2008.
- D.Y.C. Chan and P. Woelfel. Recoverable Mutual Exclusion with Constant Amortized RMR Complexity from Standard Primitives. In PODC, 2020.
- T.S. Craig. Building FIFO and Priority-Queuing Spin Locks from Atomic Swap. 1993.
- S. Dhoked and N. Mittal. An Adaptive Approach to Recoverable Mutual Exclusion. In PODC, 2020.
- E.W. Dijkstra. Solution of a Problem in Concurrent Programming Control. CACM, 8(9), 1965.
- W. Golab and D. Hendler. Recoverable Mutual Exclusion in Sub-Logarithmic Time. In PODC, 2017.
- W. Golab and D. Hendler. Recoverable Mutual Exclusion Under System-Wide Failures. In PODC, 2018.
- W. Golab and A. Ramaraju. Recoverable Mutual Exclusion: [Extended Abstract]. In PODC, 2016.
- W. Golab and A. Ramaraju. Recoverable Mutual Exclusion. Distributed Computing, 32(6), 2019.
- P. Jayanti. F-Arrays: Implementation and Applications. In PODC, 2002.
- P. Jayanti. Adaptive and Efficient Abortable Mutual Exclusion. In PODC, 2003.
- P. Jayanti and S. Jayanti. Constant Amortized RMR Abortable Mutex for CC and DSM. In PODC, 2019.
- A Recoverable Mutex Algorithm with Sub-Logarithmic RMR on Both CC and DSM. In PODC, 2019.
- Optimal Recoverable Mutual Exclusion Using only FASAS. In NETYS, 2018.
- P. Jayanti and A. Joshi. Recoverable FCFS Mutual Exclusion with Wait-Free Recovery. In DISC, 2017.
- P. Jayanti and A. Joshi. Recoverable Mutual Exclusion with Abortability. In NETYS, 2019.
- Algorithms for Scalable Synchronization on Shared-Memory Multiprocessors. TOCS, 9(1), 1991.
- M. M. Michael. Hazard pointers: safe memory reclamation for lock-free objects. TPDS, 15(6), 2004.
- M.L. Scott. Non-blocking Timeout in Scalable Queue-based Spin Locks. In PODC, 2002.
- Scalable Queue-based Spin Locks with Timeout. In PPoPP, 2001.
- Gadi Taubenfeld. Synchronization algorithms and concurrent programming. 2006.
- A fast, scalable mutual exclusion algorithm. Distributed Computing, 9(1), 1995.