Selfstabilizing Balls & Bins in Batches
Abstract
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 nonempty 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 selfstabilizing property: For \emph{any} arrival rate $\lambda=\lambda(n)<1$, the system load is timeinvariant. Moreover, for \emph{any} (even superexponential) 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.
 Publication:

arXiv eprints
 Pub Date:
 March 2016
 DOI:
 10.48550/arXiv.1603.02188
 arXiv:
 arXiv:1603.02188
 Bibcode:
 2016arXiv160302188B
 Keywords:

 Computer Science  Distributed;
 Parallel;
 and Cluster Computing