Dynamic load balancing for distributed memory multiprocessors
Journal of Parallel and Distributed Computing
Load balancing and Poisson equation in a graph
Concurrency: Practice and Experience
An analysis of diffusive load-balancing
SPAA '94 Proceedings of the sixth annual ACM symposium on Parallel algorithms and architectures
Dynamic load balancing by random matchings
Journal of Computer and System Sciences
Local Divergence of Markov Chains and the Analysis of Iterative Load-Balancing Schemes
FOCS '98 Proceedings of the 39th Annual Symposium on Foundations of Computer Science
Near-perfect load balancing by randomized rounding
Proceedings of the forty-first annual ACM symposium on Theory of computing
Discrete load balancing is (almost) as easy as continuous load balancing
Proceedings of the 29th ACM SIGACT-SIGOPS symposium on Principles of distributed computing
SODA '10 Proceedings of the twenty-first annual ACM-SIAM symposium on Discrete Algorithms
Randomized diffusion for indivisible loads
Proceedings of the twenty-second annual ACM-SIAM symposium on Discrete Algorithms
Parallel rotor walks on finite graphs and applications in discrete load balancing
Proceedings of the twenty-fifth annual ACM symposium on Parallelism in algorithms and architectures
Hi-index | 0.00 |
We introduce a general method that converts a wide class of continuous neighborhood load balancing algorithms into a discrete version. Assume that initially the tasks are arbitrarily distributed among the nodes of a graph. In every round every node is allowed to communicate and exchange load with an arbitrary subset of its neighbors. The goal is to balance the load as evenly as possible. Continuous load balancing algorithms that are allowed to split tasks arbitrarily can balance the load perfectly, so that every node has exactly the same load. Discrete load balancing algorithms are not allowed to split tasks and therefore cannot balance the load perfectly. 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 neighborhood 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•wmax, where d is the maximum degree of the network and wmax is the maximum weight of any task. Compared to the previous methods that work for general graphs [12], our method achieves asymptotically lower discrepancies (e.g. O(1) vs. O(log n) for constant-degree expanders and O(r) vs. O(n1/r) for r-dimensional tori) in the same number of rounds. For the case of uniform weights we present a randomized version of our algorithm balancing the load so that the difference between the minimum and the maximum load is at most O√dlog n) if the initial load on every node is large enough.