Generic algorithms for scheduling applications on heterogeneous multi-core platforms
Marcos Amaris, Giorgio Lucarelli, Cl\'ement Mommessin, Denis, Trystram

TL;DR
This paper introduces generic algorithms for scheduling applications on heterogeneous multi-core platforms, focusing on task allocation and scheduling in both off-line and on-line scenarios, with proven bounds and practical efficiency.
Contribution
It presents new algorithms for task allocation and scheduling on heterogeneous platforms, including the first online algorithm considering precedences and extensive experimental validation.
Findings
Improved scheduling performance over existing solutions
Approximation ratios depending on the number of processor types
Effective online algorithm with bounded ratio of CPU to GPU
Abstract
We study the problem of executing an application represented by a precedence task graph on a parallel machine composed of standard computing cores and accelerators. Contrary to most existing approaches, we distinguish the allocation and the scheduling phases and we mainly focus on the allocation part of the problem: choose the most appropriate type of computing unit for each task. We address both off-line and on-line settings and design generic scheduling approaches. In the first case, we establish strong lower bounds on the worst-case performance of a known approach based on Linear Programming for solving the allocation problem. Then, we refine the scheduling phase and we replace the greedy List Scheduling policy used in this approach by a better ordering of the tasks. Although this modification leads to the same approximability guarantees, it performs much better in practice. We also…
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
TopicsDistributed and Parallel Computing Systems · Parallel Computing and Optimization Techniques · Optimization and Search Problems
