15
11

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

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,logWN))O(\min(K,\log_W N)) RMR passage complexity and O(F+min(K,logWN))O(F + \min(K,\log_W N)) RMR super-passage complexity, where KK is the number of concurrent processes (point contention), WW is the size (in bits) of registers, and FF is the number of crashes in a super-passage. Under the standard assumption that W=Θ(logN)W=\Theta(\log N), these bounds translate to worst-case O(logNloglogN)O(\frac{\log N}{\log \log N}) passage complexity and O(F+logNloglogN)O(F + \frac{\log N}{\log \log N}) super-passage complexity. Our key building blocks are: * A DD-process abortable RME algorithm, for DWD \leq W, with O(1)O(1) passage complexity and O(1+F)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<WB < W, into an abortable RME lock with passage complexity of O(min(K,B))O(\min(K,B)).

View on arXiv
Comments on this paper