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

Ausführliche Beschreibung

Gespeichert in:
Bibliographische Detailangaben
Veröffentlicht in:Journal of parallel and distributed computing Jg. 163; S. 181 - 197
Hauptverfasser: Attiya, Hagit, Castañeda, Armando, Hendler, Danny, Perrin, Matthieu
Format: Journal Article
Sprache:Englisch
Veröffentlicht: Elsevier Inc 01.05.2022
Elsevier
Schlagworte:
ISSN:0743-7315, 1096-0848
Online-Zugang:Volltext
Tags: Tag hinzufügen
Keine Tags, Fügen Sie den ersten Tag hinzu!
Beschreibung
Zusammenfassung:•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