Abstract
We study the classic load balancing problem on dynamic general graphs, where the graph changes arbitrarily between the computational rounds, remaining connected with no permanent cut. A lower bound of Ω(n2) for the running time bound in the dynamic setting, where n is the number of nodes in the graph, is known even for randomized algorithms. We solve the problem by deterministic distributed algorithms, based on a short local deal-agreement communication of proposal/deal in the neighborhood of each node. Our synchronous load balancing algorithms achieve a discrepancy of 𝜖 within the time of O(nDlog(nK/ 𝜖)) for the continuous setting and the discrepancy of at most 2D within the time of O(nDlog(nK/ D)) and a 1-balanced state within the additional time of O(nD2) for the discrete setting, where K is the initial discrepancy, and D is a bound for the graph diameter. Also, the stability of the achieved 1-balanced state is studied. The above results are extended to the case of unbounded diameter, essentially keeping the time bounds, via special averaging of the graph diameter over time. Our algorithms can be considered anytime ones, in the sense that they can be stopped at any time during the execution, since they never make loads negative and never worsen the state as the execution progresses. In addition, we describe a version of our algorithms, where each node may transfer load to and from several neighbors at each round, as a heuristic for better performance. The algorithms are generalized to the asynchronous distributed model. We also introduce a self-stabilizing version of our asynchronous algorithms.
Original language | American English |
---|---|
Pages (from-to) | 348-382 |
Number of pages | 35 |
Journal | Theory of Computing Systems |
Volume | 67 |
Issue number | 2 |
DOIs | |
State | Published - 1 Apr 2023 |
Keywords
- Asynchronous system
- Deterministic algorithm
- Distributed algorithm
- Dynamic graph
- General graph
- Load balancing
- Self-stabilization
All Science Journal Classification (ASJC) codes
- Theoretical Computer Science
- Computational Theory and Mathematics