Randomized algorithms
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
Chord: A scalable peer-to-peer lookup service for internet applications
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Finding nearest neighbors in growth-restricted metrics
STOC '02 Proceedings of the thiry-fourth annual ACM symposium on Theory of computing
Distributed object location in a dynamic network
Proceedings of the fourteenth annual ACM symposium on Parallel algorithms and architectures
Random Structures & Algorithms - Probabilistic methods in combinatorial optimization
SODA '03 Proceedings of the fourteenth annual ACM-SIAM symposium on Discrete algorithms
Pastry: Scalable, Decentralized Object Location, and Routing for Large-Scale Peer-to-Peer Systems
Middleware '01 Proceedings of the IFIP/ACM International Conference on Distributed Systems Platforms Heidelberg
Novel architectures for P2P applications: the continuous-discrete approach
Proceedings of the fifteenth annual ACM symposium on Parallel algorithms and architectures
A stochastic process on the hypercube with applications to peer-to-peer networks
Proceedings of the thirty-fifth annual ACM symposium on Theory of computing
Bounded Geometries, Fractals, and Low-Distortion Embeddings
FOCS '03 Proceedings of the 44th Annual IEEE Symposium on Foundations of Computer Science
Navigating nets: simple algorithms for proximity search
SODA '04 Proceedings of the fifteenth annual ACM-SIAM symposium on Discrete algorithms
Simple efficient load balancing algorithms for peer-to-peer systems
Proceedings of the sixteenth annual ACM symposium on Parallelism in algorithms and architectures
Balanced binary trees for ID management and load balance in distributed hash tables
Proceedings of the twenty-third annual ACM symposium on Principles of distributed computing
A scheme for load balancing in heterogenous distributed hash tables
Proceedings of the twenty-fourth annual ACM symposium on Principles of distributed computing
Decentralized algorithms using both local and random probes for P2P load balancing
Proceedings of the seventeenth annual ACM symposium on Parallelism in algorithms and architectures
Minimizing churn in distributed systems
Proceedings of the 2006 conference on Applications, technologies, architectures, and protocols for computer communications
Path-independent load balancing with unreliable machines
SODA '07 Proceedings of the eighteenth annual ACM-SIAM symposium on Discrete algorithms
Hi-index | 0.00 |
Ranged hash functions generalize hash tables to the setting where hash buckets may come and go over time, a typical case in distributed settings where hash buckets may correspond to unreliable servers or network connections. Monotone ranged hash functions are a particular class of ranged hash functions that minimize item reassignments in response to churn: changes in the set of available buckets. The canonical example of a monotone ranged hash function is the ring-based consistent hashing mechanism of Karger et al. [13]. These hash functions give a maximum load of Θ (n/mlogm) when n is the number of items and m is the number of buckets. The question of whether some better bound could be obtained using a more sophisticated hash function has remained open. We resolve this question by showing two lower bounds. First, the maximum load of any randomized monotone ranged hash function is Ω(√n/mlnm) when n = o(mlogm). This bound covers almost all of the nontrivial case, because when n = Ω(mlogm) simple random assignment matches the trivial lower bound of Ω(n/m). We give a matching (though impractical) upper bound that shows that our lower bound is tight over almost all of its range. Second, for randomized monotone ranged hash functions derived from metric spaces, there is a further trade-off between the expansion factor of the metric and the load balance, which for the special case of growth-restricted metrics gives a bound of Ω(n/mlogm), asymptotically equal to that of consistent hashing. These are the first known non-trivial lower bounds for ranged hash functions. They also explain why in ten years no better ranged hash functions have arisen to replace consistent hashing.