Abstract
Distributed queuing is a fundamental problem in distributed computing, arising in a variety ofapplications. In a distributed queuing protocol, each participating process informs its predecessor of its identity, and (when appropriate) learns the identity ofits successor. This paper presents a new, self-stabilizing distributed queuing protocol. This protocol adds self-stabilizing actions to the Arrow distributed queuing protocol, a simple path-reversal protocol that runs on a network spanning tree.
The protocol is structured as a layer that runs on top ofan y selfstabilizing spanning tree protocol. This additional layer stabilizes in constant time, establishing that self-stabilizing distributed queuing is no more difficult than self-stabilizing spanning tree maintenance. The key idea is that the global predicate defining the legality ofa protocol state can be written as the conjunction ofman y purely local predicates, one for each edge of the spanning tree.
Acknowledgments
The second author is grateful to Steve Reiss for helpful discussions and ideas.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
S. Aggarwal and S. Kutten. Time optimal self-stabilizing spanning tree algorithm. In FSTTCS93 Proceedings of the 13th Conference on Foundations of Software Technology and Theoretical Computer Science, Springer-Verlag LNCS:761, pages 400–410, 1993.
G. Antonoiu and P. Srimani. Distributed self-stabilizing algorithm for minimum spanning tree construction. In Euro-par’97 Parallel Processing, Proceedings LNCS:1300, pages 480–487. Springer-Verlag, 1997.
B. Awerbuch, B. Patt-Shamir, and G. Varghese. Self-stabilization by local checking and correction. In FOCS91 Proceedings of the 31st Annual IEEE Symposium on Foundations of Computer Science, pages 268–277, 1991.
M. Demmer and M. Herlihy. The arrow directory protocol. In Proceedings of 12th International Symposium on Distributed Computing, Sept. 1998.
E. Dijkstra. Selfstabilizing systems in spite ofdistributed control. Communications of the ACM, 17:643–644, 1974.
S. Dolev, A. Israeli, and S. Moran. Self-stabilization of dynamic systems assuming only read/write atomicity. Distributed Computing, 7:3–16, 1993.
M. Gouda and N. Multari. Stabilizing communication protocols. IEEE Transactions on Computers, 40:448–458, 1991.
M. Herlihy. The aleph toolkit: Support for scalable distributed shared objects. In Workshop on Communication, Architecture, and Applications for Network-based Parallel Computing (CANPC), January 1999.
M. Herlihy, S. Tirthapura, and R. Wattenhofer. Competitive concurrent distributed queuing. In Proceedings of the ACM Symposium on Principles of Distributed Computing (to appear), August 2001.
M. Herlihy, S. Tirthapura, and R. Wattenhofer. Ordered multicast and distributed swap. Operating Systems Review, 35(1):85–96, January 2001.
M. Herlihy and M. Warres. A tale oft wo directories: implementing distributed shared objects in java. Concurrency-Practice and Experience, 12(7):555–572, 2000.
K. Raymond. A tree-based algorithm for distributed mutual exclusion. ACM Transactions on Computer Systems, 7(1):61–77, 1989.
M. Schneider. Self-stabilization. ACM Computing Surveys, 25:45–67, 1993.
G. Varghese. Self-stabilization by counter flushing. In Proceedings of the Thirteenth Annual ACM Symposium on Principles of Distributed Computing, pages 244–253, 1994.
G. Varghese, A. Arora, and M. Gouda. Self-stabilization by tree correction. Chicago Journal of Theoretical Computer Science, (3):1–32, 1997.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2001 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Herlihy, M., Tirthapura, S. (2001). Self Stabilizing Distributed Queuing. In: Welch, J. (eds) Distributed Computing. DISC 2001. Lecture Notes in Computer Science, vol 2180. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45414-4_15
Download citation
DOI: https://doi.org/10.1007/3-540-45414-4_15
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-42605-9
Online ISBN: 978-3-540-45414-4
eBook Packages: Springer Book Archive