Skip to main content
Log in

A simple approach for adapting continuous load balancing processes to discrete settings

  • Published:
Distributed Computing Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Similar content being viewed by others

Notes

  1. 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.

  2. This approach of introducing dummy tokens to avoid negative load was also used in [25].

  3. Derivation steps can be found in Appendix 1 (see also [35, Lemma 3]).

  4. 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).

  5. 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\).

  6. For randomized processes such as the random matchings model, the statement should hold w.h.p. over the probability space.

  7. For randomized processes, the three runs are coupled with the same sequence of outcomes.

  8. An earlier version of this result appeared in [6, Theorem 1.1].

  9. An earlier version of this result appeared in [6, Theorem1.2]

  10. Recall that for a real number \(a, \{a\} := a - \lfloor a \rfloor \).

  11. It is easy to see that Lemma 6 also holds for the randomized scheme.

References

  1. Ackermann, H., Berenbrink, P., Fischer, S., Hoefer, M.: Concurrent imitation dynamics in congestion games. In: PODC, pp. 63–72. ACM (2009)

  2. Adolphs, C.P.J., Berenbrink, P.: Distributed selfish load balancing with weights and speeds. In: PODC, pp. 135–144. ACM (2012)

  3. Adolphs, C.P.J., Berenbrink, P.: Improved bounds for discrete diffusive load balancing. In: IPDPS, pp. 820–826. IEEE Computer Society (2012)

  4. Aiello, W., Awerbuch, B., Maggs, B., Rao, S.: Approximate load balancing on dynamic and asynchronous networks. In: STOC, pp. 632–641. ACM (1993)

  5. Akbari, H., Berenbrink, P.: Parallel rotor walks on finite graphs and applications in discrete load balancing. In: SPAA, page to appear. ACM (2013)

  6. Akbari H., Berenbrink P., Sauerwald, T.: A simple approach for adapting continuous load balancing processes to discrete settings. In: PODC, pp. 271–280 (2012)

  7. Aspnes, J., Herlihy, M., Shavit, N.: Counting networks. J. ACM 41(5), 1020–1048 (1994)

    Article  MathSciNet  MATH  Google Scholar 

  8. Berenbrink, P., Cooper, C., Friedetzky, T., Friedrich, T., Sauerwald, T.: Randomized diffusion for indivisible loads. In: SODA, pp. 429–439. SIAM (2011)

  9. Berenbrink, P., Czumaj, A., Steger, A., Vöcking, B.: Balanced allocations: the heavily loaded case. SIAM J. Comput. 35(6), 1350–1385 (2006)

    Article  MathSciNet  MATH  Google Scholar 

  10. 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)

    Article  MathSciNet  MATH  Google Scholar 

  11. 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)

    Article  Google Scholar 

  12. Berenbrink, P., Hoefer, M., Sauerwald, T.: Distributed selfish load balancing on networks. In: SODA, pp. 1487–1497. SIAM (2011)

  13. Boillat, J.E.: Load balancing and poisson equation in a graph. Concurr Comput: Pract Exp 2, 289–314 (1990)

    Google Scholar 

  14. Cooper, J.N., Doerr, B., Friedrich, T., Spencer, J.: Deterministic random walks on regular trees. Random Struct Algorithms 37(3), 353–366 (2010)

    Article  MathSciNet  MATH  Google Scholar 

  15. Cooper, J.N., Doerr, B., Spencer, J., Tardos, G.: Deterministic Random Walks on the Integers, vol. 28. pp. 2072–2090. Academic Press Ltd (2007)

  16. Cybenko, G.: Dynamic load balancing for distributed memory multiprocessors. J. Parallel Distrib. Comput. 7, 279–301 (1989)

    Article  Google Scholar 

  17. Doerr, B., Friedrich, T.: Deterministic random walks on the two-dimensional grid. Comb. Probab. Comput. 18(1–2), 123–144 (2009)

    Article  MathSciNet  MATH  Google Scholar 

  18. Dubhashi, D., Ranjan, D.: Balls and bins: a study in negative dependence. Random Struct. Algorithms 13, 99–124 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  19. Elsässer, R., Monien, B.: Load balancing of unit size tokens and expansion properties of graphs. In: SPAA, pp. 266–273 (2003)

  20. Elsässer, R., Monien, B., Preis, R.: Diffusion schemes for load balancing on heterogeneous networks. Theory Comput. Syst. 35(3), 305–320 (2002)

    Article  MathSciNet  MATH  Google Scholar 

  21. Elsässer, R., Monien, B., Schamberger, S.: Distributing unit size workload packages in heterogeneous networks. J. Graph Algorithms Appl. 10(1), 51–68 (2006)

  22. Elsässer, R., Sauerwald, T.: Discrete load balancing is (almost) as easy as continuous load balancing. In: PODC, pp. 346–354 (2010)

  23. Even-Dar, E., Kesselman, A., Mansour, Y.: Convergence time to nash equilibrium in load balancing. ACM Trans. Algorithms 3(3) (2007)

  24. Even-Dar, E., Mansour, Y.: Fast convergence of selfish rerouting. In: SODA, pp. 772–781. SIAM (2005)

  25. Friedrich, T., Gairing, M., Sauerwald, T.: Quasirandom load balancing. SIAM J. Comput. 41(4), 747–771 (2012)

    Article  MathSciNet  MATH  Google Scholar 

  26. Friedrich, T., Sauerwald, T.: Near-perfect load balancing by randomized rounding. In: STOC pp. 121–130 (2009)

  27. Friedrich, T., Sauerwald, T.: The cover time of deterministic random walks. Electr. J. Comb. 17(1) (2010)

  28. 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)

    Article  MathSciNet  MATH  Google Scholar 

  29. Ghosh, B., Muthukrishnan, S.: Dynamic load balancing by random matchings. J. Comput. Syst. Sci. 53, 357–370 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  30. Hoeffding, W.: Probability inequalities for sums of bounded random variables. J. Parallel Distrib. Comput. 58(301), 13–30 (1963)

    MathSciNet  MATH  Google Scholar 

  31. 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)

    Article  Google Scholar 

  32. 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)

  33. Kijima S., Koga, K., Makino, K.: Deterministic random walks on finite graphs. In: ANALCO, pp. 16–25 (2012)

  34. Meyer auf der Heide, F., Oesterdiekhoff, B., Wanka, R.: Strongly adaptive token distribution. Algorithmica 15(5), 413–427 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  35. 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)

    Article  MathSciNet  MATH  Google Scholar 

  36. Panconesi, A., Srinivasan, A.: Improved distributed algorithms for coloring and network decomposition problems. In: STOC, pp. 581–592. ACM (1992)

  37. Panconesi, A., Srinivasan, A.: Randomized distributed edge coloring via an extension of the chernoff-hoeffding bounds. SIAM J. Comput. 26(2), 350–368 (1997)

    Article  MathSciNet  MATH  Google Scholar 

  38. 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)

  39. Sauerwald, T., Sun, H.: Tight bounds for randomized load balancing on arbitrary network topologies. In: FOCS, pp. 341–350. IEEE Computer Society (2012)

  40. Subramanian, R., Scherson, I.D.: An analysis of diffusive load-balancing. In: SPAA, pp. 220–225. ACM (1994)

  41. Talwar, K., Wieder, U.: Balanced allocations: a simple proof for the heavily loaded case. In: ICALP, pp. 979–990 (2014)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Petra Berenbrink.

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\}\):

$$\begin{aligned} x_{i}^{{}}(t+1)&= x_{i}^{{}}(t) + \sum _{j \in [n]} ( y_{j,i}^{{}}(t)-y_{i,j}^{{}}(t) )\\&= (1-\beta +\beta )\cdot x_{i}^{{}}(t) \\&\quad + \sum _{j \in [n]} \left( (\beta -1)\cdot y_{j,i}^{{}}(t-1) + \beta \cdot P_{j,i}\cdot x_{j}^{{}}(t) \right) \\&\quad - \sum _{j \in [n]} \left( (\beta -1)\cdot y_{i,j}^{{}}(t-1) + \beta \cdot P_{i,j}\cdot x_{i}^{{}}(t) \right) \\&= (1-\beta )\cdot \left( x_{i}^{{}}(t) -\sum _{j \in [n]} (y_{j,i}^{{}}(t-1)-y_{i,j}^{{}}(t-1))\right) \\&\quad +\beta \cdot x_{i}^{{}}(t) -\beta \cdot \sum _{j \in [n]} x_{i}^{{}}(t) \cdot P_{i,j} \\&\quad +\beta \cdot \sum _{j \in [n]} x_{j}^{{}}(t) \cdot P_{j,i}\\&= (1-\beta )\cdot x_{i}^{{}}(t-1) +\beta \cdot x_{i}^{{}}(t) \\&\quad -\beta \cdot x_{i}^{{}}(t) \cdot \sum _{j \in [n]} P_{i,j} +\beta \cdot \sum _{j \in [n]} x_{j}^{{}}(t) \cdot P_{j,i}\\&= (1-\beta )\cdot x_{i}^{{}}(t-1)+\beta \cdot \sum _{j \in [n]} x_{j}^{{}}(t) \cdot P_{i,j} \end{aligned}$$

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

$$\begin{aligned} {\mathbf {Ex}}\left[ X_i\right] = (p_i-1)\cdot p_i + p_i\cdot (1-p_i) = 0; \end{aligned}$$

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

See Tables 1 and 2.

Table 1 Final max-min discrepancy of our algorithms compared to other discrete diffusion processes for different graph classes
Table 2 Final max-min discrepancy of our algorithms compared to other discrete processes in the matching model

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s00446-016-0266-y

Keywords

Navigation