Take a walk, grow a tree

  • Authors:
  • S. Bhatt; Jin-Yi Cai

  • Affiliations:
  • Dept. of Comput. Sci., Yale Univ., New Haven, CT, USA;Dept. of Comput. Sci., Yale Univ., New Haven, CT, USA

  • Venue:
  • SFCS '88 Proceedings of the 29th Annual Symposium on Foundations of Computer Science
  • Year:
  • 1988

Quantified Score

Hi-index 0.00

Visualization

Abstract

A simple randomized algorithm is presented for maintaining dynamically evolving binary trees on hypercube networks. The algorithm guarantees that: (1) nodes adjacent in the tree are within distance O(log log N) in an N-processor hypercube, and (2) with overwhelming probability, no hypercube processor is assigned more than O(1+M/N) tree nodes, where M is the number of nodes in the tree. The algorithm is distributed and does not require any global information. This is the first load-balancing algorithm with provably good performance. The algorithm can be used to parallelize efficiently any tree-based computation. It can also be used to maintain efficiently dynamic data structures such as quadtrees. A technique called tree surgery is introduced to deal with dependencies inherent in trees. Together with tree surgery, the study of random walks is used to analyze the algorithm.