Abstract
A long-standing open question has been whether lock-freedom and wait-freedom are fundamentally different progress conditions, namely, can the former be provided in situations where the latter cannot? This paper answers the question in the affirmative, by proving that there are objects with lock-free implementations, but without wait-free implementations—using the same set of objects of any finite coordination power. We precisely define an object called n-process long-lived approximate agreement (n-LLAA), in which two sets of processes associated with two sides, 0 or 1, need to decide on a sequence of increasingly closer outputs. We prove that 2-LLAA has a lock-free linearizable implementation using read/write objects only, and that n-LLAA has a lock-free linearizable implementation using read/write objects and (n−1)-process consensus objects. In contrast, we prove that there is no wait-free linearizable implementation of n-LLAA using read/write objects and specific (n−1)-process consensus objects, called (n−1)-window registers.
Original language | English |
---|---|
Pages (from-to) | 181-197 |
Number of pages | 17 |
Journal | Journal of Parallel and Distributed Computing |
Volume | 163 |
DOIs | |
State | Published - 1 May 2022 |
Keywords
- Consensus hierarchy
- Linearizability
- Lock-freedom
- Progress conditions
- Wait-freedom
ASJC Scopus subject areas
- Software
- Theoretical Computer Science
- Hardware and Architecture
- Computer Networks and Communications
- Artificial Intelligence