TU Berlin

Internet Network ArchitecturesPetr Kuznetsov's Publications

Page Content

to Navigation

Petr Kuznetsov's Publications

Synchronizing without Locks is Inherently Expensive
Citation key AGHK-SWLIE-06
Author Attiya, Hagit and Guerraoui, Rachid and Hendler, Danny and Kouznetsov, Petr
Title of Book Proceedings of the 25th ACM Symposium on Principles of Distributed Computing (PODC 06)
Pages 300–307
Year 2006
ISBN 1-59593-384-0
DOI http://dx.doi.org/10.1145/1146381.1146427
Location Denver, CO, USA
Month July
Abstract It has been considered bon ton to blame locks for their fragility, especially since researchers identified obstruction-freedom: a progress condition that precludes locking while being weak enough to raise the hope for good performance. This paper attenuates this hope by establishing lower bounds on the complexity of obstruction-free implementations in contention-free executions: those where obstruction-freedom was precisely claimed to be effective. Through our lower bounds, we argue for an inherent cost of concurrent computing without locks. We first prove that obstruction-free implementations of a large class of objects, using only overwriting or trivial primitives in con-tention-free executions, have Ω(n) space complexity and Ω(log2 n) (obstruction-free) step complexity. These bounds apply to implementations of many popular objects, including variants of fetch\&add, counter, compare\&swap, and LL/SC. When arbitrary primitives can be applied in contention-free executions, we show that, in any implementation of binary consensus, or any perturbable object, the number of distinct base objects accessed and memory stalls incurred by some process in a contention free execution is Ω(√n). All these results hold regardless of the behavior of processes after they become aware of contention. We also prove that, in any obstruction-free implementation of a perturbable object in which processes are not allowed to fail their operations, the number of memory stalls incurred by some process that is unaware of contention is Ω(n).
Link to publication Download Bibtex entry


Quick Access

Schnellnavigation zur Seite über Nummerneingabe