Balanced Allocations in Batches: The Tower of Two Choices

02/09/2023
by   Dimitrios Los, et al.
0

In balanced allocations, the goal is to place m balls into n bins, so as to minimize the gap (difference of max to average load). The One-Choice process places each ball to a bin sampled independently and uniformly at random. The Two-Choice process places balls in the least loaded of two sampled bins. Finally, the (1+β)-process mixes these processes, meaning each ball is allocated using Two-Choice with probability β∈(0,1), and using One-Choice otherwise. Despite Two-Choice being optimal in the sequential setting, it has been observed in practice that it does not perform well in a parallel environment, where load information may be outdated. Following [BCEFN12], we study such a parallel setting where balls are allocated in batches of size b, and balls within the same batch are allocated with the same strategy and based on the same load information. For small batch sizes b∈[n,nlog n], it was shown in [LS22a] that Two-Choice achieves an asymptotically optimal gap among all processes with a constant number of samples. In this work, we focus on larger batch sizes b∈[nlog n,n^3]. It was proved in [LS22c] that Two-Choice leads to a gap of Θ(b/n). As our main result, we prove that the gap reduces to O(√((b/n)·log n)), if one runs the (1+β)-process with an appropriately chosen β (in fact this result holds for a larger class of processes). This not only proves the phenomenon that Two-Choice is not the best (leading to the formation of "towers" over previously light bins), but also that mixing two processes (One-Choice and Two-Choice) leads to a process which achieves a gap that is asymptotically smaller than both. We also derive a matching lower bound of Ω(√((b/n)·log n)) for any allocation process, which demonstrates that the above (1+β)-process is asymptotically optimal.

READ FULL TEXT

Please sign up or login with your details

Forgot password? Click here to reset