Self-Stabilizing Balls and Bins in Batches

AbstractA 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 among n bins (servers). In a seminal work, Azar et al. (SIAM J Comput 29(1):180–200, 1999. https://doi.org/10.1137/S0097539795288490) proposed the sequential strategy $$\textsc {Greedy}[{d}]$$GREEDY[d] for $$n=m$$n=m. Each ball queries the load of d random bins and is allocated to a least loaded of them. Azar et al. (1999) showed that $$d=2$$d=2 yields an exponential improvement compared to $$d=1$$d=1. Berenbrink et al. (SIAM J Comput 35(6):1350–1385, 2006. https://doi.org/10.1137/S009753970444435X) extended this to $$m\gg n$$m≫n, showing that for $$d=2$$d=2 the maximal load difference is independent of m (in contrast to the $$d=1$$d=1 case). We propose a new variant of an infinite balls-into-bins process. In each round an expected number of $$\lambda n$$λn new balls arrive and are distributed (in parallel) to the bins. Subsequently, 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 $$\textsc {Greedy}[{d}]$$GREEDY[d] distribution scheme in this setting and show a strong self-stabilizing property: for any arrival rate $$\lambda =\lambda (n)<1$$λ=λ(n)<1, the system load is time-invariant. Moreover, for any (even super-exponential) round t, the maximum system load is (w.h.p.) for $$d=1$$d=1 and for $$d=2$$d=2. In particular, $$\textsc {Greedy}[{2}]$$GREEDY[2] has an exponentially smaller system load for high arrival rates.

[1]  Martin Raab,et al.  "Balls into Bins" - A Simple and Tight Analysis , 1998, RANDOM.

[2]  Micah Adler,et al.  Analyzing an Infinite Parallel Job Allocation Process , 1998, ESA.

[3]  B. Hajek Hitting-time and occupation-time bounds implied by drift analysis with applications , 1982, Advances in Applied Probability.

[4]  Michael Mitzenmacher,et al.  The Power of Two Choices in Randomized Load Balancing , 2001, IEEE Trans. Parallel Distributed Syst..

[5]  Y. Peres,et al.  The (1 + β)-choice process and weighted balls-into-bins , 2010, SODA '10.

[6]  Attahiru Sule Alfa,et al.  Algorithmic analysis of the BMAP/D/k system in discrete time , 2003, Advances in Applied Probability.

[7]  Elizabeth L. Wilmer,et al.  Markov Chains and Mixing Times , 2008 .

[8]  Eli Upfal,et al.  Balanced Allocations , 1999, SIAM J. Comput..

[9]  Colin Cooper,et al.  Randomization and Approximation Techniques in Computer Science , 1999, Lecture Notes in Computer Science.

[10]  Gaston H. Gonnet,et al.  Expected Length of the Longest Probe Sequence in Hash Code Searching , 1981, JACM.

[11]  Ji Zhang,et al.  Spectral Decomposition Approach for Transient Analysis of Multi-Server Discrete-Time Queues , 1994, Perform. Evaluation.

[12]  Gerhard J. Woeginger,et al.  Automata, Languages and Programming , 2003, Lecture Notes in Computer Science.

[13]  Volker Stemann,et al.  Parallel balanced allocations , 1996, SPAA '96.

[14]  Kunal Talwar,et al.  Balanced Allocations: A Simple Proof for the Heavily Loaded Case , 2013, ICALP.

[15]  Mohan L. Chaudhry,et al.  A Complete and Simple Solution to a Discrete-Time Finite-Capacity BMAP/D/c Queue , 2012 .

[16]  G. Fayolle,et al.  Topics in the Constructive Theory of Countable Markov Chains: Explicit construction of Lyapounov functions , 1995 .

[17]  Artur Czumaj,et al.  Infinite parallel job allocation (extended abstract) , 2000, SPAA '00.

[18]  M. Mitzenmacher,et al.  Parallel randomized load balancing , 1998 .

[19]  Ahmed E. Kamal Efficient solution of multiple server queues with application to the modeling of ATM concentrators , 1996, Proceedings of IEEE INFOCOM '96. Conference on Computer Communications.

[20]  Artur Czumaj,et al.  Randomized allocation processes , 1997, Proceedings 38th Annual Symposium on Foundations of Computer Science.

[21]  Thomas Sauerwald,et al.  Balls-into-bins with nearly optimal load distribution , 2013, SPAA.

[22]  Berthold Vöcking,et al.  Balanced allocations: the heavily loaded case , 2000, STOC '00.

[23]  Andrea E. F. Clementi,et al.  Self-Stabilizing Repeated Balls-into-Bins , 2015, SPAA.

[24]  Artur Czumaj,et al.  Recovery Time of Dynamic Allocation Processes , 1998, SPAA '98.

[25]  Klaus Jansen,et al.  Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques , 2012, Lecture Notes in Computer Science.

[26]  Artur Czumaj,et al.  Multiple-Choice Balanced Allocation in (Almost) Parallel , 2012, APPROX-RANDOM.