ScienceDirect® Home Skip Main Navigation Links
You have guest access to ScienceDirect. Find out more.
 
Home
Browse
My Settings
Alerts
Help
 Quick Search
 Search tips (Opens new window)
    Clear all fields    
Theoretical Computer Science
Volume 220, Issue 1, 6 June 1999, Pages 67-91
Distributed Algorithms
 
Font Size: Decrease Font Size  Increase Font Size
 Abstract - selected
Purchase PDF (1855 K)

Article Toolbox
 
 
 
Related Articles in ScienceDirect
View More Related Articles
 
View Record in Scopus
 
doi:10.1016/S0304-3975(98)00237-0    
How to Cite or Link Using DOI (Opens New Window)

Copyright © 1999 Published by Elsevier Science B.V.

Contribution

Timing conditions for linearizability in uniform counting networks*1

Purchase the full-text article



References and further reading may be available for this article. To view references and further reading you must purchase this article.

Nancy Lyncha, Nir Shavitb, a, Alex Shvartsmana, c, Corresponding Author Contact Information, E-mail The Corresponding Author and Dan Touitoud, b

a MIT, Laboratory for Comp. Science, 545 Technology Square, Cambridge, MA 02139, USA

b Tel-Aviv University, School of Mathematical Sciences, Department of Computer Science, Ramat Aviv, Tel Aviv, 69978, Israel

c University of Connecticut, Computer Science and Engineering, 191 Auditorium Road, U-155, Storrs, CT 06269, USA

d nSOF, Israel


Available online 13 July 1999.

Abstract

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.

Author Keywords: Counting network; Timing analysis; Linearizability; Data structure; Empirical evaluation

Article Outline

• References

Corresponding Author Contact InformationCorresponding author. Correspondence address.

*1 This work was supported by the following contracts and grants: ARPA N00014-92-J-4033 and F19628-95-C-0118, NSF 9225124-CCR, 9520298-CCR and 9804665-CCR, ONR-AFOSR F49620-94-1-01997, and AFOSR F49620-97-1-0337. A preliminary version of this work appears as Counting networks are Practically Linearizable in the Proceedings of the 15th Annual ACM Symposium on Principles of Distributed Computing, Philadelphia, PA, May 1996, pp. 280–289.


Theoretical Computer Science
Volume 220, Issue 1, 6 June 1999, Pages 67-91
Distributed Algorithms
 
Home
Browse
My Settings
Alerts
Help
Elsevier.com (Opens new window)
About ScienceDirect  |  Contact Us  |  Information for Advertisers  |  Terms & Conditions  |  Privacy Policy
Copyright © 2008 Elsevier B.V. All rights reserved. ScienceDirect® is a registered trademark of Elsevier B.V.