paper

Balanced Allocations in Batches: The Tower of Two Choices

arXiv:2302.04399 · doi:10.1145/3558481.3591088

Abstract

In balanced allocations, the goal is to place balls into 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 -process mixes these processes, meaning each ball is allocated using Two-Choice with probability , 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 , and balls within the same batch are allocated with the same strategy and based on the same load information. For small batch sizes , 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 . It was proved in [LS22c] that Two-Choice leads to a gap of . As our main result, we prove that the gap reduces to , if one runs the -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 for any allocation process, which demonstrates that the above -process is asymptotically optimal.

36 pages;6 figures; 2 tables. arXiv admin note: text overlap with arXiv:2203.13902

Cited by in corpus (2)