Balls into bins problem explained

The balls into bins (or balanced allocations) problem is a classic problem in probability theory that has many applications in computer science. The problem involves m balls and n boxes (or "bins"). Each time, a single ball is placed into one of the bins. After all balls are in the bins, we look at the number of balls in each bin; we call this number the load on the bin. The problem can be modelled using a Multinomial distribution, and may involve asking a question such as: What is the expected number of bins with a ball in them?[1]

Obviously, it is possible to make the load as small as m/n by putting each ball into the least loaded bin. The interesting case is when the bin is selected at random, or at least partially at random. A powerful balls-into-bins paradigm is the "power of two random choices[2] " where each ball chooses two (or more) random bins and is placed in the lesser-loaded bin. This paradigm has found wide practical applications in shared-memory emulations, efficient hashing schemes, randomized load balancing of tasks on servers, and routing of packets within parallel networks and data centers.

Random allocation

When the bin for each ball is selected at random, independent of other choices, the maximum load might be as large as However, it is possible to calculate a tighter bound that holds with high probability. A "high probability" is a probability

1-o(1)

, i.e. the probability tends to

1

when

n

grows to infinity.

For the case

m=n

, with probability

1-o(1)

the maximum load is:[3] [4]
logn
loglogn

(1+o(1))

.

Gonnet [5] gave a tight bound for the expected value of the maximum load, which for

m=n

is

\Gamma-1(n)-

3
2

+o(1)

, where

\Gamma-1

is the inverse of the gamma function, and it is known[6] that

\Gamma-1(n)=

logn
loglogn

(1+o(1))

.

The maximum load can also be calculated for

m\nen

, and for example, for

m>nlogn

it is
m+\Theta\left(\sqrt{
n
mlogn
n
}\right), and for

m<n/logn

it is
\Theta\left(logn
log(n/m)

\right)

, with high probability.[7]

Exact probabilities for small

m=n

can be computed as

a(n)/nn

for

a(n)

defined in OEIS A208250.

Partially random allocation

Instead of just selecting a random bin for each ball, it is possible to select two or more bins for each ball and then put the ball in the least loaded bin. This is a compromise between a deterministic allocation, in which all bins are checked and the least loaded bin is selected, and a totally random allocation, in which a single bin is selected without checking other bins. This paradigm often called the "power of two random choices" has been studied in a number of settings below.

In the simplest case, if one allocates

m

balls into

n

bins (with

m=n

) sequentially one by one, and for each ball one chooses

d\ge2

random bins at each step and then allocates the ball into the least loaded of the selected bins (ties broken arbitrarily), then with high probability the maximum load is:[8]
loglogn
logd

+\Theta(1)

which is almost exponentially less than with totally random allocation.

This result can be generalized to the case

m\gen

(with

d\ge2

), when with high probability the maximum load is:[9]
m+
n
loglogn
logd

+\Theta(1)

which is tight up to an additive constant. (All the bounds hold with probability at least

1-1/nc

for any constant

c>0

.) Note that for

m>nlogn

, the random allocation process gives only the maximum load of
m
n

+O\left(loglogn\right)

with high probability, so the improvement between these two processes is especially visible for large values of

m

.

Other key variants of the paradigm are "parallel balls-into-bins" where

n

balls choose

d

random bins in parallel,[10] "weighted balls-into-bins" where balls have non-unit weights,[11] [12] [13] and "balls-into-bins with deletions" where balls can be added as well as deleted.[14]

Infinite stream of balls

Instead of just putting m balls, it is possible to consider an infinite process in which, at each time step, a single ball is added and a single ball is taken, such that the number of balls remains constant. For m=n, after a sufficiently long time, with high probability the maximum load is similar to the finite version, both with random allocation and with partially random allocation.[8]

Repeated balls-into-bins

In a repeated variant of the process,

m

balls are initially distributed in

n

bins in an arbitrary way and then, in every subsequent step of a discrete-time process, one ball is chosen from each non-empty bin and re-assigned to one of the

n

bins uniformly at random. When

m=n

, it has been shown that with high probability the process converges to a configuration with maximum load

lO(log(n))

after

lO(n)

steps.[15]

Applications

Online Load Balancing

[16] consider a set of n identical computers. There are n users who need computing services. The users are not coordinated - each users comes on his own and selects which computer to use. Each user would of course like to select the least loaded computer, but this requires to check the load on each computer, which might take a long time. Another option is to select a computer at random; this leads, with high probability, to a maximum load of

logn
loglogn

(1+o(1))

. A possible compromise is that the user will check only two computers, and use the lesser loaded of the two. This leads, with high probability, to a much smaller maximum load of

log2logn+\Theta(1)

.

Hashing

consider a hash table in which all keys mapped to the same location are stored in a linked list. The efficiency of accessing a key depends on the length of its list. If we use a single hash function which selects locations with uniform probability, with high probability the longest chain has

O\left(logn
loglogn

\right)

keys. A possible improvement is to use two hash functions, and put each new key in the shorter of the two lists. In this case, with high probability the longest chain has only

O(loglogn)

elements.[17]

Fair cake-cutting

consider the problem of creating a partially proportional division of a heterogeneous resource among

n

people, such that each person receives a part of the resource which that person values as at least

1/an

of the total, where

a

is some sufficiently large constant. The Edmonds–Pruhs protocol is a randomized algorithm whose analysis make use of balls-into-bins arguments.[18]

References

  1. Web site: Oliveira . Rafael . May 20, 2021 . Lecture 4: Balls & Bins .
  2. Mitzenmacher. Michael. Michael Mitzenmacher. Andréa W. Richa . Richa. Andrea. Sitaraman. Ramesh. Ramesh Sitaraman. The power of two random choices: A survey of techniques and results. Handbook of Randomized Computing. Kluwer Press. July 2001. 1. 255–305. 10.1.1.62.6677 .
  3. Book: Kolchin. Valentin F.. Random allocations. 1978. Winston [usw.]. Washington. 978-0470993941.
  4. Book: Kotz. Samuel. Johnson. Norman Lloyd. Urn models and their applications. 1977. John Wiley & Sons. New York, NY. 978-0471446309.
  5. Gonnet . Gaston H. . Expected Length of the Longest Probe Sequence in Hash Code Searching . 1981 . Journal of the Association for Computing Machinery . 289–304 . 28 . 2 . 10.1145/322248.322254. 15483311 . free .
  6. Devroye . Luc . The expected length of the longest probe sequence for bucket searching when the distribution is not uniform . 1985 . Journal of Algorithms . 1–9 . 6 . 1 . 10.1016/0196-6774(85)90015-X .
  7. Book: Raab, Martin . 10.1007/3-540-49543-6_13 . 1998 . 159–170 . Randomization and Approximation Techniques in Computer Science . "Balls into Bins" — A Simple and Tight Analysis . Lecture Notes in Computer Science . 1518 . 978-3-540-65142-0 .
  8. 10.1137/s0097539795288490 . Balanced Allocations . SIAM Journal on Computing . 1999 . 29 . 1 . 180–200 . Yossi . Azar . Andrei Z. . Broder . Anna R. . Karlin . Eli . Upfal.
  9. 10.1137/S009753970444435X . Balanced Allocations: The Heavily Loaded Case . SIAM Journal on Computing . 2006 . 35 . 6 . 180–200 . Petra . Berenbrink . Artur . Czumaj . Angelika . Steger . Berthold . Vöcking.
  10. 10.1007/978-3-642-32512-0_35 . Multiple-choice balanced allocation in (almost) parallel . APPROX 2012, RANDOM 2012: Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques . 2012 . 411–422 . Petra . Berenbrink . Artur . Czumaj . Matthias . Englert . Tom . Friedetzky . Lars . Nagel. 10.1.1.297.6120 .
  11. Balanced Allocations: The Weighted Case . Kunal . Talwar . Wieder . Udi . 10.1145/1250790.1250829 . 256–265 . Proceedings on 39th Annual ACM Symposium on Theory of Computing (STOC) . 2007.
  12. On weighted balls-into-bins games . Petra . Berenbrink . Tom . Friedetzky . Hu . Zengjian . Martin . Russell . 10.1007/978-3-540-31856-9_19 . 231–243 . STACS . 2005.
  13. Graphical balanced allocations and the

    (1+\beta)

    -choice process . Yuval . Peres . Kunal . Talwar . Udi . Wieder . 10.1002/rsa.20558 . 760–775 . Random Structures Algorithms . 2015.
  14. On balls and bins with deletions . Richard . Cole . Alan . Frieze . Bruce M.. Maggs . Michael . Mitzenmacher . Andrea . Richa . Ramesh . Sitaraman . Eli . Upfal . 10.1007/3-540-49543-6_12 . 145–158 . Randomization and approximation techniques in computer science (Barcelona, 1998) . 1998.
  15. Book: Becchetti. LucaBecchetti. Clementi. Andrea. Natale. Emanuele. Pasquale. Francesco. Posta. Gustavo. Proceedings of the 27th ACM symposium on Parallelism in Algorithms and Architectures . Self-Stabilizing Repeated Balls-into-Bins . 2015-06-13. https://doi.org/10.1145/2755573.2755584. SPAA '15. Portland, Oregon, USA. Association for Computing Machinery. 332–339. 10.1145/2755573.2755584. 11573/780594 . 978-1-4503-3588-1. free.
  16. Book: Raab. Martin. Steger. Angelika. Randomization and Approximation Techniques in Computer Science . "Balls into Bins" — A Simple and Tight Analysis . 1998. Luby. Michael. Rolim. José D. P.. Serna. Maria. Maria Serna . https://link.springer.com/chapter/10.1007%2F3-540-49543-6_13. Lecture Notes in Computer Science. 1518 . en. Berlin, Heidelberg. Springer. 159–170. 10.1007/3-540-49543-6_13. 978-3-540-49543-7.
  17. 10.1007/bf01940878 . Efficient PRAM simulation on a distributed memory machine . Algorithmica . 1996 . 16 . 4–5 . 517–542 . R. M. . Karp. 2535727 .
  18. Book: Edmonds . Jeff . Pruhs . Kirk . 2006 47th Annual IEEE Symposium on Foundations of Computer Science (FOCS'06) . Balanced Allocations of Cake . 2006. 623–634. https://people.cs.pitt.edu/~kirk/papers/focs2006.pdf . 10.1109/FOCS.2006.17. 0-7695-2720-5 . 2091887 .