TY - GEN
T1 - Separating lock-freedom from wait-freedom
AU - Attiya, Hagit
AU - Hendler, Danny
AU - Castañeda, Armando
AU - Perrin, Matthieu
N1 - Funding Information:
∗Partially supported by the Israel Science Foundation (grant 1749/14). †Partially supported by project PAPIIT UNAM IA102417. ‡Partially supported by the Israel Science Foundation (grant 1749/14). §Part of this work was done while this author was at the Department of Computer Science, Technion, supported by the Israel Science Foundation (grant 1749/14).
Publisher Copyright:
© 2018 Association for Computing Machinery.
PY - 2018/7/23
Y1 - 2018/7/23
N2 - 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 objects of any finite 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 implementation using reads and writes only, while n-LLAA has a lock-free implementation using reads, writes and (n − 1)-process consensus objects. In contrast, we prove that there is no wait-free implementation of the n-LLAA object using reads, writes and specific (n − 1)-process consensus objects, called (n − 1)-window registers.
AB - 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 objects of any finite 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 implementation using reads and writes only, while n-LLAA has a lock-free implementation using reads, writes and (n − 1)-process consensus objects. In contrast, we prove that there is no wait-free implementation of the n-LLAA object using reads, writes and specific (n − 1)-process consensus objects, called (n − 1)-window registers.
KW - Concurrency
KW - Lock-freedom
KW - Multi-core algorithms
KW - Nonblocking
KW - Shared memory
KW - Wait-freedom
UR - http://www.scopus.com/inward/record.url?scp=85052442803&partnerID=8YFLogxK
U2 - 10.1145/3212734.3212739
DO - 10.1145/3212734.3212739
M3 - Conference contribution
AN - SCOPUS:85052442803
SN - 9781450357951
T3 - Proceedings of the Annual ACM Symposium on Principles of Distributed Computing
SP - 41
EP - 50
BT - PODC 2018 - Proceedings of the 2018 ACM Symposium on Principles of Distributed Computing
PB - Association for Computing Machinery
T2 - 37th ACM SIGACT-SIGOPS Symposium on Principles of Distributed Computing, PODC 2018
Y2 - 23 July 2018 through 27 July 2018
ER -