TY - JOUR
T1 - Timing conditions for linearizability in uniform counting networks
AU - Lynch, Nancy
AU - Shavit, Nir
AU - Shvartsman, Alex
AU - Touitou, Dan
N1 - Funding Information:
Counting networks are concurrent data structures that serve as building blocks in the design of highly scalable concurrent data structures in a way that eliminates sequential bottlenecks and contention. Linearizable counting networks assure that the order of the values returned by the network reflects the real-time order in which they were requested. ~~~e~r~z~~~~~t~ is an important consistency condition for concurrent data structures, as it simplifies proofs and enhances compositional&y. Though most counting networks are not linearizable, this paper presents a precise characterization of the timing conditions under which uniform non-linearizable networks exhibit linearizable behavior. Uniformity is a common structuring property of almost all published counting networks: a uniform network is made of “balancers” and “wires” so that each balancer lies on some path from inputs to outputs, and all paths from inputs to outputs have equal lengths. Our results include the following simple condition: if the time it takes a slow token to traverse a “wire” or “balancer” is no more than twice that of a fast token, the network is linearizable. Surprisingly, the timing measure in this condition is local to the individual ‘wires” and “balancers” of the network, that is, it is independent of network depth. We use our timing measure to mathe~tically explain our empirical findings: that in a variety of highly concurrent execution scenarios tested on a simulated shared memory multiprocessor, the Bitonic counting networks of Aspnes, HerIihy, and Shavit exhibit completely linearizable behavior, and when linearizability is violated, the percentage of violations is relatively small. Herlihy, Shavit, and Waarts have shown that counting networks that achieve linearizability under all circumstances must pay the penalty of linear time latency. Our results suggest that for systems in which timing anomalies occur infrequently, such linear delays may be an unnecessary * Correspondence address: E-mail: aas@cse.uconn.edu. ’ This work was supported by the following contracts and grants: ARPA N00014-92-J-4033 and F19628-95-C-01 18, NSF 9225 1‘24~CCR95, 20298~CCR and 9804665~CCR, ONR-AFOSR F49620-94-I-01997, and AFOSR F49620-97-f-0337. A prclirni~~ version of this work appears as Co~nfj~~ networks are Pructicul~y ~~~ea~iza~~ien the Proceedings of the 15th Annual ACM S~~sium on Principles of Distributed Computing, Philadelphia, PA, May 1996, pp. 280-289.
PY - 1999
Y1 - 1999
N2 - Counting networks are concurrent data structures that serve as building blocks in the design of highly scalable concurrent data structures in a way that eliminates sequential bottlenecks and contention. Linearizable counting networks assure that the order of the values returned by the network reflects the real-time order in which they were requested. Linearizability is an important consistency condition for concurrent data structures, as it simplifies proofs and enhances compositionality. Though most counting networks are not linearizable, this paper presents a precise characterization of the timing conditions under which uniform non-linearizable networks exhibit linearizable behavior. Uniformity is a common structuring property of almost all published counting networks: a uniform network is made of "balancers" and "wires" so that each balancer lies on some path from inputs to outputs, and all paths from inputs to outputs have equal lengths. Our results include the following simple condition: if the time it takes a slow token to traverse a "wire" or "balancer" is no more than twice that of a fast token, the network is linearizable. Surprisingly, the timing measure in this condition is local to the individual "wires" and "balancers" of the network, that is, it is independent of network depth. We use our timing measure to mathematically explain our empirical findings: that in a variety of highly concurrent execution scenarios tested on a simulated shared memory multiprocessor, the Bitonic counting networks of Aspnes, Herlihy, and Shavit exhibit completely linearizable behavior, and when linearizability is violated, the percentage of violations is relatively small. Herlihy, Shavit, and Waarts have shown that counting networks that achieve linearizability under all circumstances must pay the penalty of linear time latency. Our results suggest that for systems in which timing anomalies occur infrequently, such linear delays may be an unnecessary burden on applications that are willing to incur occasional non-linearizability.
AB - Counting networks are concurrent data structures that serve as building blocks in the design of highly scalable concurrent data structures in a way that eliminates sequential bottlenecks and contention. Linearizable counting networks assure that the order of the values returned by the network reflects the real-time order in which they were requested. Linearizability is an important consistency condition for concurrent data structures, as it simplifies proofs and enhances compositionality. Though most counting networks are not linearizable, this paper presents a precise characterization of the timing conditions under which uniform non-linearizable networks exhibit linearizable behavior. Uniformity is a common structuring property of almost all published counting networks: a uniform network is made of "balancers" and "wires" so that each balancer lies on some path from inputs to outputs, and all paths from inputs to outputs have equal lengths. Our results include the following simple condition: if the time it takes a slow token to traverse a "wire" or "balancer" is no more than twice that of a fast token, the network is linearizable. Surprisingly, the timing measure in this condition is local to the individual "wires" and "balancers" of the network, that is, it is independent of network depth. We use our timing measure to mathematically explain our empirical findings: that in a variety of highly concurrent execution scenarios tested on a simulated shared memory multiprocessor, the Bitonic counting networks of Aspnes, Herlihy, and Shavit exhibit completely linearizable behavior, and when linearizability is violated, the percentage of violations is relatively small. Herlihy, Shavit, and Waarts have shown that counting networks that achieve linearizability under all circumstances must pay the penalty of linear time latency. Our results suggest that for systems in which timing anomalies occur infrequently, such linear delays may be an unnecessary burden on applications that are willing to incur occasional non-linearizability.
KW - Counting network
KW - Data structure
KW - Empirical evaluation
KW - Linearizability
KW - Timing analysis
UR - http://www.scopus.com/inward/record.url?scp=0042277539&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=0042277539&partnerID=8YFLogxK
U2 - 10.1016/S0304-3975(98)00237-0
DO - 10.1016/S0304-3975(98)00237-0
M3 - Article
AN - SCOPUS:0042277539
SN - 0304-3975
VL - 220
SP - 67
EP - 91
JO - Theoretical Computer Science
JF - Theoretical Computer Science
IS - 1
M1 - 1
ER -