TY - JOUR
T1 - Lower Bounds on the Amortized Time Complexity of Shared Objects
AU - Attiya, Hagit
AU - Fouren, Arie
AU - Ko, Jeremy
N1 - Publisher Copyright: © The Author(s), under exclusive licence to Springer Science+Business Media, LLC, part of Springer Nature 2024.
PY - 2024
Y1 - 2024
N2 - The amortized step complexity of an implementation measures its performance as a whole, rather than the performance of individual operations. Specifically, the amortized step complexity of an implementation is the average number of steps performed by invoked operations, in the worst case, taken over all possible executions. The point contention of an execution, denoted by c˙, measures the maximal number of precesses simultaneously active in the execution. Ruppert (2016) showed that the amortized step complexity of known lock-free implementations for many shared data structures includes an additive factor linear in the point contention c˙. This paper shows that there is no lock-free implementation with o(min{c˙,loglogn}) amortized RMR complexity of queues, stacks or heaps from reads, writes, comparison primitives (such as compare &swap) and LL/SC, where n is the total number of the processes in the system. In addition, the paper shows a Ω(min{c˙,loglogn}) lower bound on the amortized step complexity for shared linked lists, skip lists, search trees and other pointer-based data structures. These lower bounds mean that the additive factor linear in c˙ is inherent for these implementations, provided that the point contention is small compared to the number of processes in the system (i.e. c˙∈O(loglogn) or c˙∈O(loglogn)).
AB - The amortized step complexity of an implementation measures its performance as a whole, rather than the performance of individual operations. Specifically, the amortized step complexity of an implementation is the average number of steps performed by invoked operations, in the worst case, taken over all possible executions. The point contention of an execution, denoted by c˙, measures the maximal number of precesses simultaneously active in the execution. Ruppert (2016) showed that the amortized step complexity of known lock-free implementations for many shared data structures includes an additive factor linear in the point contention c˙. This paper shows that there is no lock-free implementation with o(min{c˙,loglogn}) amortized RMR complexity of queues, stacks or heaps from reads, writes, comparison primitives (such as compare &swap) and LL/SC, where n is the total number of the processes in the system. In addition, the paper shows a Ω(min{c˙,loglogn}) lower bound on the amortized step complexity for shared linked lists, skip lists, search trees and other pointer-based data structures. These lower bounds mean that the additive factor linear in c˙ is inherent for these implementations, provided that the point contention is small compared to the number of processes in the system (i.e. c˙∈O(loglogn) or c˙∈O(loglogn)).
KW - Lists
KW - Monotone objects
KW - Remote memory references
KW - Stacks and queues
KW - Step complexity
KW - Trees
UR - http://www.scopus.com/inward/record.url?scp=85198513534&partnerID=8YFLogxK
U2 - https://doi.org/10.1007/s00224-024-10184-w
DO - https://doi.org/10.1007/s00224-024-10184-w
M3 - مقالة
SN - 1432-4350
JO - Theory of Computing Systems
JF - Theory of Computing Systems
ER -