Self-stabilizing Balls & Bins in Batches
- LRM

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 balls (tasks) are to be distributed to bins (servers). In a seminal work, Azar et al. proposed the sequential strategy \greedy{d} for . When thrown, a ball queries the load of random bins and is allocated to a least loaded of these. Azar et al. showed that yields an exponential improvement compared to . Berenbrink et al. extended this to , showing that the maximal load difference is independent of for (in contrast to ). We propose a new variant of an \emph{infinite} balls into bins process. Each round an expected number of 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 , the system load is time-invariant. Moreover, for \emph{any} (even super-exponential) round , the maximum system load is (w.h.p.) for and for . In particular, \greedy{2} has an exponentially smaller system load for high arrival rates.
View on arXiv