Perfectly Balanced Allocation With Estimated Average Using Expected Constant Retries
Abstract
Balanced allocation of online balls-into-bins has long been an active area of research for efficient load balancing and hashing applications.There exists a large number of results in this domain for different settings, such as parallel allocations~\cite{parallel}, multi-dimensional allocations~\cite{multi}, weighted balls~\cite{weight} etc. For sequential multi-choice allocation, where balls are thrown into bins with each ball choosing (constant) bins independently uniformly at random, the maximum load of a bin is with high probability~\cite{heavily_load}. This offers the current best known allocation scheme. However, for , the gap reduces to ~\cite{soda08}.A similar constant gap bound has been established for parallel allocations with communication rounds~\cite{lenzen}. In this paper we propose a novel multi-choice allocation algorithm, \emph{Improved D-choice with Estimated Average} () achieving a constant gap with a high probability for the sequential single-dimensional online allocation problem with constant . We achieve a maximum load of with high probability for constant choice scheme with \emph{expected} constant number of retries or rounds per ball. We also show that the bound holds even for an arbitrary large number of balls, . Further, we generalize this result to (i)~the weighted case, where balls have weights drawn from an arbitrary weight distribution with finite variance, (ii)~multi-dimensional setting, where balls have dimensions with randomly and uniformly chosen filled dimension for , and (iii)~the parallel case, where balls arrive and are placed parallely in the bins. We show that the gap in these case is also a constant w.h.p. (independent of ) for constant value of with expected constant number of retries per ball.
Cite
@article{arxiv.1111.0801,
title = {Perfectly Balanced Allocation With Estimated Average Using Expected Constant Retries},
author = {Sourav Dutta and Souvik Bhattacherjee and Ankur Narang},
journal= {arXiv preprint arXiv:1111.0801},
year = {2011}
}