Choice-memory tradeoff in allocations
Abstract
In the classical balls-and-bins paradigm, where n balls are placed independently and uniformly in n bins, typically the number of bins with at least two balls in them is (n) and the maximum number of balls in a bin is ( n n). It is well known that when each round offers k independent uniform options for bins, it is possible to typically achieve a constant maximal load if and only if k=( n). Moreover, it is possible w.h.p. to avoid any collisions between n/2 balls if k>2n. In this work, we extend this into the setting where only m bits of memory are available. We establish a tradeoff between the number of choices k and the memory m, dictated by the quantity km/n. Roughly put, we show that for km n one can achieve a constant maximal load, while for km n no substantial improvement can be gained over the case k=1 (i.e., a random allocation). For any k=( n) and m=(2n), one can achieve a constant load w.h.p. if km=(n), yet the load is unbounded if km=o(n). Similarly, if km>Cn then n/2 balls can be allocated without any collisions w.h.p., whereas for km<ε n there are typically (n) collisions. Furthermore, we show that the load is w.h.p. at least (n/m) k+(n/m). In particular, for k≤ polylog(n), if m=n1-δ the optimal maximal load is ( n n) (the same as in the case k=1), while m=2n suffices to ensure a constant load. Finally, we analyze nonadaptive allocation algorithms and give tight upper and lower bounds for their performance.