Abstract
We consider the neighbourhood load balancing problem. Given a network of processors and an arbitrary distribution of tasks over the network, the goal is to balance load by exchanging tasks between neighbours. In the continuous model, tasks can be arbitrarily divided and perfectly balanced state can always be reached. This is not possible in the discrete model where tasks are non-divisible. In this paper we consider the problem in a very general setting, where the tasks can have arbitrary weights and the nodes can have different speeds. Given a continuous load balancing algorithm that balances the load perfectly in \(T\) rounds, we convert the algorithm into a discrete version. This new algorithm is deterministic and balances the load in \(T\) rounds so that the difference between the average and the maximum load is at most \(2d\cdot w_{\max }\), where d is the maximum degree of the network and \(w_{\max }\) is the maximum weight of any task. For general graphs, these bounds are asymptotically lower compared to the previous results. The proposed conversion scheme can be applied to a wide class of continuous processes, including first and second order diffusion, dimension exchange, and random matching processes. For the case of identical tasks, we present a randomized version of our algorithm that balances the load up to a discrepancy of \(\mathscr {O}(\sqrt{d \log n})\) provided that the initial load on every node is large enough.
Similar content being viewed by others
Notes
The discrete version of the algorithm has to know the continuous flow \(f^c_e(t)\) for every edge \(e=(u,v)\). This knowledge is easy to gather by simulating the continuous load balancing process in parallel on every node.
This approach of introducing dummy tokens to avoid negative load was also used in [25].
For the case where the matrix \(\mathscr {P}\) is not symmetric, we need to define \(\lambda \) as the second-largest eigenvalue in absolute value of the matrix \(\mathscr {P}\cdot \mathscr {P}^{T}\) (see the discussion in [38] for more details).
We say an event occurs with high probability (w.h.p) if its probability is at least \(1-\mathscr {O}(n^{-\alpha })\) for some constant \(\alpha > 0\).
For randomized processes such as the random matchings model, the statement should hold w.h.p. over the probability space.
For randomized processes, the three runs are coupled with the same sequence of outcomes.
An earlier version of this result appeared in [6, Theorem 1.1].
An earlier version of this result appeared in [6, Theorem1.2]
Recall that for a real number \(a, \{a\} := a - \lfloor a \rfloor \).
It is easy to see that Lemma 6 also holds for the randomized scheme.
References
Ackermann, H., Berenbrink, P., Fischer, S., Hoefer, M.: Concurrent imitation dynamics in congestion games. In: PODC, pp. 63–72. ACM (2009)
Adolphs, C.P.J., Berenbrink, P.: Distributed selfish load balancing with weights and speeds. In: PODC, pp. 135–144. ACM (2012)
Adolphs, C.P.J., Berenbrink, P.: Improved bounds for discrete diffusive load balancing. In: IPDPS, pp. 820–826. IEEE Computer Society (2012)
Aiello, W., Awerbuch, B., Maggs, B., Rao, S.: Approximate load balancing on dynamic and asynchronous networks. In: STOC, pp. 632–641. ACM (1993)
Akbari, H., Berenbrink, P.: Parallel rotor walks on finite graphs and applications in discrete load balancing. In: SPAA, page to appear. ACM (2013)
Akbari H., Berenbrink P., Sauerwald, T.: A simple approach for adapting continuous load balancing processes to discrete settings. In: PODC, pp. 271–280 (2012)
Aspnes, J., Herlihy, M., Shavit, N.: Counting networks. J. ACM 41(5), 1020–1048 (1994)
Berenbrink, P., Cooper, C., Friedetzky, T., Friedrich, T., Sauerwald, T.: Randomized diffusion for indivisible loads. In: SODA, pp. 429–439. SIAM (2011)
Berenbrink, P., Czumaj, A., Steger, A., Vöcking, B.: Balanced allocations: the heavily loaded case. SIAM J. Comput. 35(6), 1350–1385 (2006)
Berenbrink, P., Friedetzky, T., Hajirasouliha, I., Hu, Z.: Convergence to equilibria in distributed, selfish reallocation processes with weighted tasks. Algorithmica 62(3–4), 767–786 (2012)
Berenbrink, P., Friedetzky, T., Hu, Z.: A new analytical method for parallel, diffusion-type load balancing. J. Parallel Distrib. Comput. 69(1), 54–61 (2009)
Berenbrink, P., Hoefer, M., Sauerwald, T.: Distributed selfish load balancing on networks. In: SODA, pp. 1487–1497. SIAM (2011)
Boillat, J.E.: Load balancing and poisson equation in a graph. Concurr Comput: Pract Exp 2, 289–314 (1990)
Cooper, J.N., Doerr, B., Friedrich, T., Spencer, J.: Deterministic random walks on regular trees. Random Struct Algorithms 37(3), 353–366 (2010)
Cooper, J.N., Doerr, B., Spencer, J., Tardos, G.: Deterministic Random Walks on the Integers, vol. 28. pp. 2072–2090. Academic Press Ltd (2007)
Cybenko, G.: Dynamic load balancing for distributed memory multiprocessors. J. Parallel Distrib. Comput. 7, 279–301 (1989)
Doerr, B., Friedrich, T.: Deterministic random walks on the two-dimensional grid. Comb. Probab. Comput. 18(1–2), 123–144 (2009)
Dubhashi, D., Ranjan, D.: Balls and bins: a study in negative dependence. Random Struct. Algorithms 13, 99–124 (1996)
Elsässer, R., Monien, B.: Load balancing of unit size tokens and expansion properties of graphs. In: SPAA, pp. 266–273 (2003)
Elsässer, R., Monien, B., Preis, R.: Diffusion schemes for load balancing on heterogeneous networks. Theory Comput. Syst. 35(3), 305–320 (2002)
Elsässer, R., Monien, B., Schamberger, S.: Distributing unit size workload packages in heterogeneous networks. J. Graph Algorithms Appl. 10(1), 51–68 (2006)
Elsässer, R., Sauerwald, T.: Discrete load balancing is (almost) as easy as continuous load balancing. In: PODC, pp. 346–354 (2010)
Even-Dar, E., Kesselman, A., Mansour, Y.: Convergence time to nash equilibrium in load balancing. ACM Trans. Algorithms 3(3) (2007)
Even-Dar, E., Mansour, Y.: Fast convergence of selfish rerouting. In: SODA, pp. 772–781. SIAM (2005)
Friedrich, T., Gairing, M., Sauerwald, T.: Quasirandom load balancing. SIAM J. Comput. 41(4), 747–771 (2012)
Friedrich, T., Sauerwald, T.: Near-perfect load balancing by randomized rounding. In: STOC pp. 121–130 (2009)
Friedrich, T., Sauerwald, T.: The cover time of deterministic random walks. Electr. J. Comb. 17(1) (2010)
Ghosh, B., Leighton, F.T., Maggs, B.M., Muthukrishnan, S., Plaxton, C.G., Rajaraman, R., Richa, A.W., Tarjan, R.E., Zuckerman, D.: Tight analyses of two local load balancing algorithms. SIAM J. Comput. 29(1), 29–64 (1999)
Ghosh, B., Muthukrishnan, S.: Dynamic load balancing by random matchings. J. Comput. Syst. Sci. 53, 357–370 (1996)
Hoeffding, W.: Probability inequalities for sums of bounded random variables. J. Parallel Distrib. Comput. 58(301), 13–30 (1963)
Hosseini, S.H., Litow, B., Malkawi, M., McPherson, J., Vairavan, K.: Analysis of a graph coloring based distributed load balancing algorithm. J. Parallel Distrib. Comput. 10(2), 160–166 (1990)
Hosseini, S.H., Litow, B.E., Malkawi, M.I., Vairavan, K.: Distributed algorithms for load balancing in very large homogeneous systems. In: Proceedings of the 1987 Fall Joint Computer Conference on Exploring Technology: Today and Tomorrow, ACM ’87, pp. 397–404. IEEE Computer Society (1987)
Kijima S., Koga, K., Makino, K.: Deterministic random walks on finite graphs. In: ANALCO, pp. 16–25 (2012)
Meyer auf der Heide, F., Oesterdiekhoff, B., Wanka, R.: Strongly adaptive token distribution. Algorithmica 15(5), 413–427 (1996)
Muthukrishnan, S., Ghosh, B., Schultz, M.H.: First- and second-order diffusive methods for rapid, coarse, distributed load balancing. Theory Comput. Syst. 31(4), 331–354 (1998)
Panconesi, A., Srinivasan, A.: Improved distributed algorithms for coloring and network decomposition problems. In: STOC, pp. 581–592. ACM (1992)
Panconesi, A., Srinivasan, A.: Randomized distributed edge coloring via an extension of the chernoff-hoeffding bounds. SIAM J. Comput. 26(2), 350–368 (1997)
Rabani, Y., Sinclair, A., Wanka, R.: Local divergence of markov chains and the analysis of iterative load-balancing schemes. In: FOCS, pp. 694–703. IEEE Computer Society (1998)
Sauerwald, T., Sun, H.: Tight bounds for randomized load balancing on arbitrary network topologies. In: FOCS, pp. 341–350. IEEE Computer Society (2012)
Subramanian, R., Scherson, I.D.: An analysis of diffusive load-balancing. In: SPAA, pp. 220–225. ACM (1994)
Talwar, K., Wieder, U.: Balanced allocations: a simple proof for the heavily loaded case. In: ICALP, pp. 979–990 (2014)
Author information
Authors and Affiliations
Corresponding author
Additional information
Hoda Akbari, Petra Berenbrink and Thomas Sauerwald work was supported by an NSERC Discovery Grant “Analysis of Randomized Algorithms”.
This paper is an extended version of [6].
This paper was invited to the special issue of papers from PODC 2012. It is published separately due to reviewing and revision delays.
Appendices
Appendix 1: Derivation of round equation in SOS
Here we show that setting \(y_{i,j}^{{}}(t)\) based on Eq. (4) leads to round equation of Eq. (5). We use [n] to denote \(\{1,\dots ,n\}\):
where the last equation holds since we have \(\sum _{j \in [n]} P_{i,j} =1\). Translating to the matrix form, this yields the desired round equation.
Appendix 2: Hoeffding’s bound—adaptation for randomized rounding
Lemma 12
Let \(X_1,\dots , X_k\) be k independent random variables, and \(p_1,\dots ,p_k\) be constants where for all \(i, 0<| p_i | <1\). Suppose \(X_i\) is \(p_i-1\) with probability \(p_i\) and \(p_i\) otherwise. If we define the random variable \(X = \sum _{1\leqslant i\leqslant k} X_i\), then we have for any \(\delta > 0\) that
Proof
We first note that for each i, we have
Hence, by the linearity of expectation we get \({\mathbf {Ex}}\left[ X\right] = \sum _{1\leqslant i\leqslant k}{\mathbf {Ex}}\left[ X_i\right] \). Also, for each \(i, p_i-1\leqslant X_i \leqslant p_i\). Therefore, we can apply the Hoeffding’s bound [30] to get , as required. \(\square \)
Appendix 3: Comparison tables
Rights and permissions
About this article
Cite this article
Akbari, H., Berenbrink, P. & Sauerwald, T. A simple approach for adapting continuous load balancing processes to discrete settings. Distrib. Comput. 29, 143–161 (2016). https://doi.org/10.1007/s00446-016-0266-y
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s00446-016-0266-y