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 -