Improved Bounds for Distributed Load Balancing
Abstract
In the load balancing problem, the input is an $n$vertex bipartite graph $G = (C \cup S, E)$ and a positive weight for each client $c \in C$. The algorithm must assign each client $c \in C$ to an adjacent server $s \in S$. The load of a server is then the weighted sum of all the clients assigned to it. The goal is to compute an assignment that minimizes some function of the server loads, typically either the maximum server load (i.e., the $\ell_{\infty}$norm) or the $\ell_p$norm of the server loads. We study load balancing in the distributed setting. There are two existing results in the CONGEST model. Czygrinow et al. [DISC 2012] showed a 2approximation for unweighted clients with roundcomplexity $O(\Delta^5)$, where $\Delta$ is the maximum degree of the input graph. Halldórsson et al. [SPAA 2015] showed an $O(\log{n}/\log\log{n})$approximation for unweighted clients and $O(\log^2\!{n}/\log\log{n})$approximation for weighted clients with roundcomplexity polylog$(n)$. In this paper, we show the first distributed algorithms to compute an $O(1)$approximation to the load balancing problem in polylog$(n)$ rounds. In the CONGEST model, we give an $O(1)$approximation algorithm in polylog$(n)$ rounds for unweighted clients. For weighted clients, the approximation ratio is $O(\log{n})$. In the less constrained LOCAL model, we give an $O(1)$approximation algorithm for weighted clients in polylog$(n)$ rounds. Our approach also has implications for the standard sequential setting in which we obtain the first $O(1)$approximation for this problem that runs in nearlinear time. A 2approximation is already known, but it requires solving a linear program and is hence much slower. Finally, we note that all of our results simultaneously approximate all $\ell_p$norms, including the $\ell_{\infty}$norm.
 Publication:

arXiv eprints
 Pub Date:
 August 2020
 arXiv:
 arXiv:2008.04148
 Bibcode:
 2020arXiv200804148A
 Keywords:

 Computer Science  Distributed;
 Parallel;
 and Cluster Computing;
 Computer Science  Data Structures and Algorithms