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/6/6

Y1 - 1999/6/6

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

VL - 220

SP - 67

EP - 91

JO - Theoretical Computer Science

JF - Theoretical Computer Science

SN - 0304-3975

IS - 1

ER -