Separating lock-freedom from wait-freedom at every level of the consensus hierarchy

•Wait-freedom and lock-freedom are two standard progress conditions in concurrent implementations.•For the first time, these progress conditions are shown to be distinct, for any number of processes.•The separation holds for any level of the consensus hierarchy. A long-standing open question has bee...

Celý popis

Uloženo v:
Podrobná bibliografie
Vydáno v:Journal of parallel and distributed computing Ročník 163; s. 181 - 197
Hlavní autoři: Attiya, Hagit, Castañeda, Armando, Hendler, Danny, Perrin, Matthieu
Médium: Journal Article
Jazyk:angličtina
Vydáno: Elsevier Inc 01.05.2022
Elsevier
Témata:
ISSN:0743-7315, 1096-0848
On-line přístup:Získat plný text
Tagy: Přidat tag
Žádné tagy, Buďte první, kdo vytvoří štítek k tomuto záznamu!
Popis
Shrnutí:•Wait-freedom and lock-freedom are two standard progress conditions in concurrent implementations.•For the first time, these progress conditions are shown to be distinct, for any number of processes.•The separation holds for any level of the consensus hierarchy. 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.
ISSN:0743-7315
1096-0848
DOI:10.1016/j.jpdc.2022.01.025