Title
Recoverable Mutual Exclusion in Sub-logarithmic Time.
Abstract
Recoverable mutual exclusion (RME) is a variation on the classic mutual exclusion (ME) problem that allows processes to crash and recover. The time complexity of RME algorithms is quantified in the same way as for ME, namely by counting remote memory references -- expensive memory operations that traverse the processor-to-memory interconnect. Prior work on the RME problem established an upper bound of O(log N) RMRs in an asynchronous shared memory model with N processes that communicate using atomic read and write operations, prompting the question whether sub-logarithmic RMR complexity is attainable using common read-modify-write primitives. We answer this question positively in the cache-coherent model by presenting an RME algorithm that incurs O(log N / log log N) RMRs and uses read, write, Fetch-And-Store, and Compare-And-Swap instructions. We also present an O(1) RMRs algorithm that relies on double-word Compare-And-Swap and a double-word variation of Fetch-And-Store. Both algorithms are inspired by Mellor-Crummey and Scott's queue lock.
Year
DOI
Venue
2017
10.1145/3087801.3087819
PODC
Keywords
Field
DocType
Mutual exclusion, recovery, fault tolerance, concurrency, shared memory, multi-core algorithms, non-volatile main memory, persistent data structures
Asynchronous communication,Binary logarithm,Shared memory,Upper and lower bounds,Concurrency,Computer science,Queue,Theoretical computer science,Time complexity,Mutual exclusion,Distributed computing
Conference
Citations 
PageRank 
References 
3
0.40
21
Authors
2
Name
Order
Citations
PageRank
Wojciech Golab121017.22
Danny Hendler272644.54