TY - JOUR

T1 - Time and space lower bounds for implementations using k-cAS

AU - Attiya, Hagit

AU - Hendler, Danny

N1 - Funding Information:
Maged Michael triggered this research by asking whether the results of [14] hold with k-CAS primitives. The authors would like to thank Faith Ellen for referring them to Beame’s paper, and Nir Shavit for helpful discussions on the topics of this paper. A preliminary version of this paper appeared in the proceedings of the 19th International Conference on Distributed Computing (DISC 2005), pp. 169-183. H. Attiya is supported by the Israel Science Foundation (grant number 953/06). This work was written while the second author was a postdoctorate fellow in the Department of Computer Science of the University of Toronto, and in the Faculty of Industrial Engineering and Management of the Technion.

PY - 2010/2/1

Y1 - 2010/2/1

N2 - This paper presents lower bounds on the time and space complexity of implementations that use k-compare&swap (k-CAS) synchronization primitives. We prove that using k-CAS primitives can improve neither the time nor the space complexity of implementations of widely used concurrent objects, such as counter, stack, queue, and collect. Surprisingly, overly restrictive use of k-CAS may even increase the space complexity required by such implementations. We prove a lower bound of Ω (log2n) on the round complexity of implementations of a collect object using read, write, and k-CAS, for any k, where n is the number of processes in the system. There is an implementation of collect with O(log2n) round complexity that uses only reads and writes. Thus, our lower bound establishes that k-CAS is no stronger than read and write for collect implementation round complexity. For k-CAS operations that return the values of all the objects they access, we prove that the total step complexity of implementing key objects such as counters, stacks, and queues is Ω (n logkn). We also prove that k-CAS cannot improve the space complexity of implementing many objects (including counter, stack, queue, and single-writer snapshot). An implementation has to use at least n base objects even if k-CAS is allowed, and if all operations (other than read) swap exactly k base objects, then it must use at least k ̇ n base objects.

AB - This paper presents lower bounds on the time and space complexity of implementations that use k-compare&swap (k-CAS) synchronization primitives. We prove that using k-CAS primitives can improve neither the time nor the space complexity of implementations of widely used concurrent objects, such as counter, stack, queue, and collect. Surprisingly, overly restrictive use of k-CAS may even increase the space complexity required by such implementations. We prove a lower bound of Ω (log2n) on the round complexity of implementations of a collect object using read, write, and k-CAS, for any k, where n is the number of processes in the system. There is an implementation of collect with O(log2n) round complexity that uses only reads and writes. Thus, our lower bound establishes that k-CAS is no stronger than read and write for collect implementation round complexity. For k-CAS operations that return the values of all the objects they access, we prove that the total step complexity of implementing key objects such as counters, stacks, and queues is Ω (n logkn). We also prove that k-CAS cannot improve the space complexity of implementing many objects (including counter, stack, queue, and single-writer snapshot). An implementation has to use at least n base objects even if k-CAS is allowed, and if all operations (other than read) swap exactly k base objects, then it must use at least k ̇ n base objects.

KW - Collect

KW - Compare&swap (CAS)

KW - Conditional synchronization primitives

KW - Counter

KW - K-compare&swap (k-CAS)

KW - Queue

KW - Round complexity

KW - Stack

UR - http://www.scopus.com/inward/record.url?scp=75449089282&partnerID=8YFLogxK

U2 - 10.1109/TPDS.2009.60

DO - 10.1109/TPDS.2009.60

M3 - Article

AN - SCOPUS:75449089282

SN - 1045-9219

VL - 21

SP - 162

EP - 173

JO - IEEE Transactions on Parallel and Distributed Systems

JF - IEEE Transactions on Parallel and Distributed Systems

IS - 2

M1 - 4815228

ER -