Recent advances in non-volatile main memory (NVRAM) technology have spurred research on designing algorithms that are resilient to process crashes. This paper is a fuller version of our conference paper \cite{jayanti:rmeabort}, which presents the first Recoverable Mutual Exclusion (RME) algorithm that supports abortability. Our algorithm uses only the read, write, and CAS operations, which are commonly supported by multiprocessors. It satisfies FCFS and other standard properties. Our algorithm is also adaptive. On DSM and Relaxed-CC multiprocessors, a process incurs RMRs in a passage and $O(f+ \min(k, \log n))n$ is the number of processes that the algorithm is designed for, is the point contention of the passage or the attempt, and is the number of times that crashes during the attempt. On a Strict CC multiprocessor, the passage and attempt complexities are and . Attiya et al. proved that, with any mutual exclusion algorithm, a process incurs at least RMRs in a passage, if the algorithm uses only the read, write, and CAS operations \cite{Attiya:lbound}. This lower bound implies that the worst-case RMR complexity of our algorithm is optimal for the DSM and Relaxed CC multiprocessors.

生成讲解博客的中文版本

生成AI智能校验的中文版本