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

Distributed, Parallel, and Cluster Computing