A stochastic process on the hypercube with applications to peer-to-peer networks

  • Authors:
  • Micah Adler;Eran Halperin;Richard M. Karp;Vijay V. Vazirani

  • Affiliations:
  • University of Massachusetts, Amherst, MA;University of California, Berkeley, CA;University of California, Berkeley, CA;Georgia Institute of Technology, Atlanta, GA

  • Venue:
  • Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Consider the following stochastic process executed on a graph G=(V,E) whose nodes are initially uncovered. In each step, pick a node at random and if it is uncovered, cover it. Otherwise, if it has an uncovered neighbor, cover a random uncovered neighbor. Else, do nothing. This can be viewed as a structured coupon collector process. We show that for a large family of graphs, O(n) steps suffice to cover all nodes of the graph with high probability, where n is the number of vertices. Among these graphs are d-regular graphs with d =Ω(log n log log n), random d-regular graphs with d =Ω(log n) and the k-dimensional hypercube where n=2k.This process arises naturally in answering a question on load balancing in peer-to-peer networks. We consider a distributed hash table in which keys are partitioned across a set of processors, and we assume that the number of processors grows dynamically, starting with a single processor. If at some stage there are n processors, the number of queries required to find a key is log2 n+O(1), the number of pointers maintained by each processor is log2 n+O(1), and moreover the worst ratio between the loads of processors is O(1), with high probability. To the best of our knowledge, this is the first analysis of a distributed hash table that achieves asymptotically optimal load balance, while still requiring only O(log n) pointers per processor and O(log n) queries for locating a key; previous methods required Ω(log2 n) pointers per processor and Ω(log n) queries for locating a key.