Uniform Dynamic Self-Stabilizing Leader Election
IEEE Transactions on Parallel and Distributed Systems
Self-stabilization
Information Processing Letters - Special issue in honor of Edsger W. Dijkstra
State-optimal snap-stabilizing PIF in tree networks
ICDCS '99 Workshop on Self-stabilizing Systems
ICDCS '03 Proceedings of the 23rd International Conference on Distributed Computing Systems
A Stabilizing Search Tree with Availability Properties
ISADS '01 Proceedings of the Fifth International Symposium on Autonomous Decentralized Systems
Snap-stabilizing prefix tree for peer-to-peer systems
SSS'07 Proceedings of the 9h international conference on Stabilization, safety, and security of distributed systems
Snap-stabilization in message-passing systems
Journal of Parallel and Distributed Computing
Self-stabilizing labeling and ranking in ordered trees
SSS'11 Proceedings of the 13th international conference on Stabilization, safety, and security of distributed systems
Self-stabilizing space optimal synchronization algorithms on trees
SIROCCO'06 Proceedings of the 13th international conference on Structural Information and Communication Complexity
On self-stabilizing search trees
DISC'06 Proceedings of the 20th international conference on Distributed Computing
Self-stabilizing labeling and ranking in ordered trees
Theoretical Computer Science
Hi-index | 0.00 |
We present the first snap-stabilizing distributed binary search tree (BST) algorithm. A snap-stabilizing algorithm guarantees that the system always behaves according to its specification provided some processor initiated the protocol. The maximum number of items that can be stored at any time at any processor is constant (independent of the size (n) of the network). Under this space constraint, we show a lower bound of Ω(n) on the time complexity for the BST problem. We then prove that starting from an arbitrary configuration where the nodes have distinct internal values drawn from an arbitrary set, our algorithm arranges them in a BST order in O(n) rounds. Therefore, our solution is asymptotically optimal in time and takes O(n) rounds. A processor i requires O(logsi) bits of space where si is the size of the subtree rooted at i. So, the root uses O(logn) bits. The proposed algorithm uses a heap algorithm as a preprocessing step. This is also the first snap-stabilizing distributed solution to the heap problem. The heap construction spends O(h) (where h is the height of the tree) rounds. Its space requirement is constant (independent of n). We then exploit the heap in the next phase of the protocol. The root collects values in decreasing order and delivers them to each node in the tree in O(n) rounds following a pipelined delivery order of sorted values in decreasing order.