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 RMR passage complexity and RMR super-passage complexity, where is the number of concurrent processes (point contention), is the size (in bits) of registers, and is the number of crashes in a super-passage. Under the standard assumption that , these bounds translate to worst-case passage complexity and super-passage complexity. Our key building blocks are: * A -process abortable RME algorithm, for , with passage complexity and 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 , into an abortable RME lock with passage complexity of .
View on arXiv