Adaptive and Fair Transformation for Recoverable Mutual Exclusion

by   Sahil Dhoked, et al.

Mutual exclusion is one of the most commonly used techniques to handle contention in concurrent systems. Traditionally, mutual exclusion algorithms have been designed under the assumption that a process does not fail while acquiring/releasing a lock or while executing its critical section. However, failures do occur in real life, potentially leaving the lock in an inconsistent state. This gives rise to the problem of recoverable mutual exclusion (RME) that involves designing a mutual exclusion (ME) algorithm that can tolerate failures, while maintaining safety and liveness properties. In this work, we present a framework that transforms any algorithm that solves the RME problem into an algorithm that can also simultaneously adapt to (1) the number of processes competing for the lock, as well as (2) the number of failures that have occurred in the recent past, while maintaining the correctness and performance properties of the underlying RME algorithm. Additionally, the algorithm constructed as a result of this transformation adds certain desirable properties like fairness (a variation of FCFS) and bounded recovery. Assume that the worst-case RMR complexity of a critical section request in the underlying RME algorithm is R(n). Then, our framework yields an RME algorithm for which the worst-case RMR complexity of a critical section request is given by 𝒪(min{c̈, √(F+1), R(n)}), where c̈ denotes the point contention of the request and F denotes the number of failures in the recent past of the request. We further extend our framework by presenting a novel memory reclamation algorithm to bound the worst-case space complexity of the RME algorithm. The memory reclamation techniques maintain the fairness, performance and correctness properties of our transformation and is general enough to be employed to bound the space of other RME algorithms.


page 1

page 2

page 3

page 4


An Adaptive Approach to Recoverable Mutual Exlcusion

Mutual exclusion (ME) is one of the most commonly used techniques to han...

Memory Reclamation for Recoverable Mutual Exclusion

Mutual exclusion (ME) is a commonly used technique to handle conflicts i...

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

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

Fast and Scalable Group Mutual Exclusion

The group mutual exclusion (GME) problem is a generalization of the clas...

Two Mutual Exclusion Algorithms for Shared Memory

In this paper, we introduce two algorithms that solve the mutual exclusi...

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...

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

The abortable mutual exclusion problem was introduced by Scott and Scher...

Please sign up or login with your details

Forgot password? Click here to reset