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.
Original language | English |
---|---|
Pages (from-to) | 575-584 |
Number of pages | 10 |
Journal | Conference Proceedings of the Annual ACM Symposium on Theory of Computing |
DOIs | |
State | Published - 2003 |
Externally published | Yes |
Event | 35th Annual ACM Symposium on Theory of Computing - San Diego, CA, United States Duration: 9 Jun 2003 → 11 Jun 2003 |
Keywords
- Coupon collector
- Hash table
- Hypercube
- Load balancing
- Peer to peer