Constant Amortized RMR Complexity Deterministic Abortable Mutual Exclusion Algorithm for CC and DSM Models

by   Prasad Jayanti, et al.
Dartmouth College

The abortable mutual exclusion problem was introduced by Scott and Scherer to meet a need that arises in database and real time systems, where processes sometimes have to abandon their attempt to acquire a mutual exclusion lock to initiate recovery from a potential deadlock or to avoid overshooting a deadline. Algorithms of O(1) RMR complexity have been known for the standard mutual exclusion problem for both the Cache-Coherent (CC) and Distributed Shared Memory (DSM) models of multiprocessors, but whether O(1) RMR complexity is also achievable for abortable mutual exclusion has remained open for the 18 years that this problem has been investigated. Jayanti gives a Theta(log n) worst case RMR complexity solution for both models, where n is the maximum number of processes that execute the algorithm concurrently. Giakouppis and Woelfel's algorithm, presented at PODC last year, is an O(1) amortized complexity algorithm, but it works only for the CC model, uses randomization, does not satisfy Starvation Freedom, and the O(1) amortized bound holds only in expectation and is proven for the a weak (oblivious) adversary model. We design an algorithm that is free of these limitations: our algorithm is deterministic, supports fast aborts (a process completes an abort in O(1) steps), has a small space complexity of O(n), requires hardware support for only the Fetch&Store instruction, satisfies a novely defined First Come First Served for abortable locks, and most importantly, has O(1) amortized RMR complexity for both the CC and DSM models. Our algorithm is short and practical with fewer than a dozen lines of code, and is accompanied by a rigorous proof of mutual exclusion through invariants and of starvation-freedom and complexity analysis through distance and potential functions. Thus, modulo amortization, our result answers affirmatively the long standing open question described above.


page 1

page 2

page 3

page 4


Recoverable Mutual Exclusion with Sub-logarithmic RMR Complexity on CC and DSM machines

In light of recent advances in non-volatile main memory technology, Gola...

Memory-Anonymous Starvation-Free Mutual Exclusion: Possibility and Impossibility Results

In an anonymous shared memory system, all inter-process communications a...

Recoverable Mutual Exclusion with Abortability

Recent advances in non-volatile main memory (NVRAM) technology have spur...

Recoverable, Abortable, and Adaptive Mutual Exclusion with Sublogarithmic RMR Complexity

We present the first recoverable mutual exclusion (RME) algorithm that i...

Fast and Fair Lock-Free Locks

We present a randomized approach for lock-free locks with strong bounds ...

Adaptive and Fair Transformation for Recoverable Mutual Exclusion

Mutual exclusion is one of the most commonly used techniques to handle c...

Avoiding Register Overflow in the Bakery Algorithm

Computer systems are designed to make resources available to users and u...

Please sign up or login with your details

Forgot password? Click here to reset