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 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.
Keywords
Cite
@article{arxiv.1603.02188,
title = {Self-stabilizing Balls & Bins in Batches},
author = {Petra Berenbrink and Tom Friedetzky and Peter Kling and Frederik Mallmann-Trenn and Lars Nagel and Chris Wastell},
journal= {arXiv preprint arXiv:1603.02188},
year = {2016}
}