Self-Adjusting Distributed Trees

M. Reiter,A. Samar,Chenxi Wang
2005-01-01
Abstract:An object retrieval protocol that enforces mutually exclusive access to a shared object is an important primitive employed by many distributed applications including distributed directories, d stributed resource sharing systems and ordered multicast protocols, to name a few. Most existing impleme ntations of this object retrieval primitive use a tree as the underlying communication structure due to th simple acyclic nature of trees. The worst case performance of this primitive and of the large body of applications built upon it, is O(n) for n nodes sharing the object. In this paper, we present a novel distributed s elf-adjusting tree for object retrieval protocols that guarantees the message complexity per retr i val, averaged over the worst case sequence of retrievals, to be O(log n). In addition, our algorithm adjusts only portions of the tree in which retrievals occur; this is advantageous when the tree structure reflects ne twork proximity. We implement best known techniques from the centralized setting and compare their performan ce with our algorithm. Results are presented from experiments carried out on PlanetLab to evaluate the p rformance of different schemes under different workloads. We also present extensions to our basic p rotocol allowing a wide range of distributed applications including atomic broadcast and content discovery to ac hieve better performance using our techniques. To our knowledge, this is the first attempt to reduce acces s osts in a distributed tree where the tree dynamically adjusts itself during use to achieve O(log n) performance for worst case workloads.
What problem does this paper attempt to address?