Prof. Daniel Hendler

Know all about my research

Recoverable mutual exclusion in sub-logarithmic time

Wojciech Golab, Danny Hendler

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. Priorwork 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.

Publication language English
Pages 211-220
Publication status Published - 26.07.2017

Keywords

Concurrency
Fault tolerance
Multi-core algorithms
Mutual exclusion
Non-volatile main memory
Persistent data structures
Recovery
Shared memory

ASJC Scopus subject areas

Software
Hardware and Architecture
Computer Networks and Communications
Access to Document
10.1145/3087801.3087819
Other files and links
Link to publication in Scopus