Balanced Allocation: Patience is not a Virtue
Abstract
Load balancing is a well-studied problem, with balls-in-bins being the primary framework. The greedy algorithm of Azar et al. places each ball by probing random bins and placing the ball in the least loaded of them. With high probability, the maximum load under is exponentially lower than the result when balls are placed uniformly randomly. V\"ocking showed that a slightly asymmetric variant, , provides a further significant improvement. However, this improvement comes at an additional computational cost of imposing structure on the bins. Here, we present a fully decentralized and easy-to-implement algorithm called that combines the simplicity of and the improved balance of . The key idea in is to probe until a different bin size from the first observation is located, then place the ball. Although the number of probes could be quite large for some of the balls, we show that requires only at most probes on average per ball (in both the standard and the heavily-loaded settings). Thus the number of probes is no greater than either that of or . More importantly, we show that closely matches the improved maximum load ensured by in both the standard and heavily-loaded settings. We further provide a tight lower bound on the maximum load up to terms. We additionally give experimental data that is indeed as good as , if not better, in practice.
Cite
@article{arxiv.1602.08298,
title = {Balanced Allocation: Patience is not a Virtue},
author = {John Augustine and William K. Moses and Amanda Redlich and Eli Upfal},
journal= {arXiv preprint arXiv:1602.08298},
year = {2018}
}
Comments
26 pages, preliminary version accepted at SODA 2016