17
9

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

View on arXiv
Comments on this paper