Author :
Alon, Noga ; Lubetzky, Eyal ; Gurel-Gurevich, Ori
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 ¿((log n)/(log log 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 = ¿(log n). Moreover, it is possible whp to avoid any collisions between n/2 balls if k > log2 n. 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 = ¿(log n) and m = ¿(log2 n), one can typically achieve a constant load 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 whp, whereas for km < ¿n there are typically ¿(n) collisions. Furthermore, we show that the load is whp at least (log(n/m))/(log k+log log(n/m)). In particular, whenever k ¿ polylog(n), if m=n1-¿ the optimal maximal load is ¿((log n)/(log log n)) (the same as in the case k = 1), while m = 2n suffices to ensure a constant load. Finally, we analyze non-adaptive allocation algorithms and give tight upper and lower bounds for their performance.
Keywords :
computational complexity; balls-and-bins paradigm; choice-memory tradeoff; computational complexity; nonadaptive allocation algorithms; optimal maximal load; Algorithm design and analysis; Application software; Computer science; Context modeling; Geometry; Load management; Memory management; Performance analysis; Research and development; USA Councils; Balanced allocations; Balls and bins paradigm; Lower bounds on memory; Online perfect matching; Space / performance tradeoffs;