Randomized algorithms
STOC '97 Proceedings of the twenty-ninth annual ACM symposium on Theory of computing
Balls and bins: a study in negative dependence
Random Structures & Algorithms
SIAM Journal on Computing
Balanced allocations: the heavily loaded case
STOC '00 Proceedings of the thirty-second 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
A scalable content-addressable network
Proceedings of the 2001 conference on Applications, technologies, architectures, and protocols for computer communications
Wide-area cooperative storage with CFS
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Viceroy: a scalable and dynamic emulation of the butterfly
Proceedings of the twenty-first annual symposium on Principles of distributed computing
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
How Asymmetry Helps Load Balancing
FOCS '99 Proceedings of the 40th Annual Symposium on Foundations of Computer Science
The power of two choices in randomized load balancing
The power of two choices in randomized load balancing
Data-centric storage in sensornets with GHT, a geographic hash table
Mobile Networks and Applications
Simple efficient load balancing algorithms for peer-to-peer systems
IPTPS'04 Proceedings of the Third international conference on Peer-to-Peer Systems
Tapestry: a resilient global-scale overlay for service deployment
IEEE Journal on Selected Areas in Communications
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
Load balancing in dynamic structured peer-to-peer systems
Performance Evaluation - P2P computing systems
Exact distributed Voronoi cell computation in sensor networks
Proceedings of the 6th international conference on Information processing in sensor networks
Balanced allocations with heterogenous bins
Proceedings of the nineteenth annual ACM symposium on Parallel algorithms and architectures
Balanced allocations: the weighted case
Proceedings of the thirty-ninth annual ACM symposium on Theory of computing
Load-balancing performance of consistent hashing: asymptotic analysis of random node join
IEEE/ACM Transactions on Networking (TON)
Balls and bins with structure: balanced allocations on hypergraphs
Proceedings of the nineteenth annual ACM-SIAM symposium on Discrete algorithms
Hash-based proximity clustering for efficient load balancing in heterogeneous DHT networks
Journal of Parallel and Distributed Computing
Simple summaries for hashing with choices
IEEE/ACM Transactions on Networking (TON)
Limited choice and locality considerations for load balancing
Performance Evaluation
Informed detour selection helps reliability
INFOCOM'09 Proceedings of the 28th IEEE international conference on Computer Communications Workshops
Dynamic load balancing with multiple hash functions in structured P2P systems
WiCOM'09 Proceedings of the 5th International Conference on Wireless communications, networking and mobile computing
Balls into bins with related random choices
Proceedings of the twenty-second annual ACM symposium on Parallelism in algorithms and architectures
Randomized load balancing strategies with churn resilience in peer-to-peer networks
Journal of Network and Computer Applications
The power of one move: hashing schemes for hardware
IEEE/ACM Transactions on Networking (TON)
Balls into bins with related random choices
Journal of Parallel and Distributed Computing
Journal of Parallel and Distributed Computing
Hi-index | 0.01 |
A well-known paradigm for load balancing in parallel and distributed systems is the "power of two choices," whereby an item is stored at the less loaded of two (or more) random alternative servers. We investigate the power of two choices in natural settings where items and servers reside in a geometric space and each item is associated with the server that is its nearest neighbor. This is the setting for example in the Chord distributed hash table, where the geometric space is determined by clockwise distance on a one-dimensional ring. For example, our analysis shows that when $n$ items are placed at n servers with d choices per item, the maximum load at any server is log log n/ log d + O(1) with high probability, only an additive constant more than when servers are chosen uniformly at random. Our proofs are quite general, showing that the power of two choices works under a variety of distributions, with most geometric constructions having at most an additive O(1) penalty. We also show that these techniques still work under highly unbalanced distributions, and give sharp bounds on the necessary number of choices. Finally, we provide simulation results demonstrating the load balance that results as the system size scales into the millions.