Optimal Load Balancing and Assessment of Existing Load Balancing Criteria
Anthony Boulmier, Nabil Abdennadher, Bastien Chopard

TL;DR
This paper introduces a new automatic load balancing criterion and an efficient algorithm to find optimal load balancing points, significantly improving performance in parallel iterative applications.
Contribution
It presents a novel mathematical model for automatic load balancing and a branch-and-bound algorithm to identify optimal load balancing iterations efficiently.
Findings
The proposed criterion outperforms existing automatic criteria in synthetic benchmarks.
Numerical experiments show the new criterion is on average 4.9% faster, up to 17.6%.
State-of-the-art criteria are up to 47.4% slower than the optimal.
Abstract
Parallel iterative applications often suffer from load imbalance, one of the most critical performance degradation factors. Hence, load balancing techniques are used to distribute the workload evenly to maximize performance. A key challenge is to know \textit{when} to use load balancing techniques. In general, this is done through load balancing criteria, which trigger load balancing based on runtime application data and/or user-defined information. In the first part of this paper, we introduce a novel, automatic load balancing criterion derived from a simple mathematical model. In the second part, we propose a branch-and-bound algorithm to find the load balancing iterations that lead to the optimal application performance. This algorithm finds the optimal load balancing scenario in quadratic time while, to the best of our knowledge, this has never been addressed in less than an…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsParallel Computing and Optimization Techniques · Distributed and Parallel Computing Systems · Real-Time Systems Scheduling
