A fundamental problem in distributed computing is the distribution of requests to a set of uniform servers without a centralized controller. Classically, such problems are modeled as static balls into bins processes, where $m$ balls (tasks) are to be distributed to $n$ bins (servers). In a seminal work, Azar et al. proposed the sequential strategy \greedy{d} for $n=m$. When thrown, a ball queries the load of $d$ random bins and is allocated to a least loaded of these. Azar et al. showed that $d=2$ yields an exponential improvement compared to $d=1$. Berenbrink et al. extended this to $m\gg n$, showing that the maximal load difference is independent of $m$ for $d=2$ (in contrast to $d=1$).
We propose a new variant of an \emph{infinite} balls into bins process. Each round an expected number of $\lambda n$ new balls arrive and are distributed (in parallel) to the bins. Each non-empty bin deletes one of its balls. This setting models a set of servers processing incoming requests, where clients can query a server's current load but receive no information about parallel requests. We study the \greedy{d} distribution scheme in this setting and show a strong self-stabilizing property: For \emph{any} arrival rate $\lambda=\lambda(n)<1$, the system load is time-invariant. Moreover, for \emph{any} (even super-exponential) round $t$, the maximum system load is (w.h.p.) $O(\frac{1}{1-\lambda}\cdot\log\frac{n}{1-\lambda})$ for $d=1$ and $O(\log\frac{n}{1-\lambda})$ for $d=2$. In particular, \greedy{2} has an exponentially smaller system load for high arrival rates.
[1]
Berthold Vöcking,et al.
Balanced allocations: the heavily loaded case
,
2000,
STOC '00.
[2]
Ji Zhang,et al.
Spectral Decomposition Approach for Transient Analysis of Multi-Server Discrete-Time Queues
,
1994,
Perform. Evaluation.
[3]
Artur Czumaj,et al.
Recovery Time of Dynamic Allocation Processes
,
1998,
SPAA '98.
[4]
Artur Czumaj,et al.
Multiple-Choice Balanced Allocation in (Almost) Parallel
,
2012,
APPROX-RANDOM.
[5]
Kunal Talwar,et al.
Balanced Allocations: A Simple Proof for the Heavily Loaded Case
,
2013,
ICALP.
[6]
Eli Upfal,et al.
Balanced Allocations
,
1999,
SIAM J. Comput..