A tree-based algorithm for distributed mutual exclusion
ACM Transactions on Computer Systems (TOCS)
Stabilizing Communication Protocols
IEEE Transactions on Computers - Special issue on protocol engineering
ACM Computing Surveys (CSUR)
Self-stabilization
Self-stabilizing systems in spite of distributed control
Communications of the ACM
Competitive concurrent distributed queuing
Proceedings of the twentieth annual ACM symposium on Principles of distributed computing
The Arrow Distributed Directory Protocol
DISC '98 Proceedings of the 12th International Symposium on Distributed Computing
Self Stabilizing Distributed Queuing
DISC '01 Proceedings of the 15th International Conference on Distributed Computing
The Aleph Toolkit: Support for Scalable Distributed Shared Objects
CANPC '99 Proceedings of the Third International Workshop on Network-Based Parallel Computing: Communication, Architecture, and Applications
A Variant of the Arrow Distributed Directory with Low Average Complexity
ICAL '99 Proceedings of the 26th International Colloquium on Automata, Languages and Programming
Distributed Self-Stabilizing Algorithm for Minimum Spanning Tree Construction
Euro-Par '97 Proceedings of the Third International Euro-Par Conference on Parallel Processing
Self-Stabilization by Tree Correction
Self-Stabilization by Tree Correction
Distributed queuing and applications
Distributed queuing and applications
Ordered Multicast and Distributed Swap
ACM SIGOPS Operating Systems Review
Dynamic analysis of the arrow distributed protocol
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Full reversal routing as a linear dynamical system
SIROCCO'11 Proceedings of the 18th international conference on Structural information and communication complexity
SIROCCO'11 Proceedings of the 18th international conference on Structural information and communication complexity
Transience bounds for distributed algorithms
FORMATS'13 Proceedings of the 11th international conference on Formal Modeling and Analysis of Timed Systems
Hi-index | 0.00 |
Distributed queuing is a fundamental coordination problem arising in a variety of applications, including distributed shared memory, distributed directories, and totally ordered multicast. A distributed queue can be used to order events, user operations, or messages in a distributed system. 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 spanning tree of the network. We present a proof that the protocol stabilizes to a stable state irrespective of the (perhaps faulty) initial state, and also present an analysis of the time until convergence. The self-stabilizing queuing protocol is structured as a layer that runs on top of any self-stabilizing spanning tree protocol. This additional queuing layer is guaranteed to stabilize in time bounded by a constant number of message delays across an edge, thus establishing that the stabilization time for distributed queuing is not much more than the stabilization time for spanning tree maintenance. The key idea in our protocol is that the global predicate defining the legality of a protocol state can be written as the conjunction of many purely local predicates, one for each edge of the spanning tree.