Generic algorithms for scheduling applications on heterogeneous multi-core platforms

11/17/2017
by   Marcos Amaris, et al.
0

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 extend this algorithm to more types of computing units, achieving an approximation ratio which depends on the number of different types. In the on-line case, we assume that the tasks arrive in any, not known in advance, order which respects the precedence relations and the scheduler has to take irrevocable decisions about their allocation and execution. In this setting, we propose the first on-line scheduling algorithm which takes into account precedences. Our algorithm is based on adequate rules for selecting the type of processor where to allocate the tasks and it achieves a constant factor approximation guarantee if the ratio of the number of CPUs over the number of GPUs is bounded. Finally, all the previous algorithms for hybrid architectures have been experimented on a large number of simulations built on actual libraries. These simulations assess the good practical behavior of the algorithms with respect to the state-of-the-art solutions, whenever these exist, or baseline algorithms.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
09/25/2019

Scheduling on Two Types of Resources: a Survey

We study the problem of executing an application represented by a preced...
research
12/06/2019

Scheduling on Hybrid Platforms: Improved Approximability Window

Modern platforms are using accelerators in conjunction with standard pro...
research
01/08/2019

A C-DAG task model for scheduling complex real-time tasks on heterogeneous platforms: preemption matters

Recent commercial hardware platforms for embedded real-time systems feat...
research
04/14/2022

On Scheduling Mechanisms Beyond the Worst Case

The problem of scheduling unrelated machines has been studied since the ...
research
10/03/2019

Decentralized On-line Task Reallocation on Parallel Computing Architectures with Safety-Critical Applications

This work presents a decentralized allocation algorithm of safety-critic...
research
12/04/2018

Performance of the smallest-variance-first rule in appointment sequencing

A classical problem in appointment scheduling, with applications in heal...
research
08/07/2018

Response Time Bounds for Typed DAG Parallel Tasks on Heterogeneous Multi-cores

Heterogeneous multi-cores utilize the strength of different architecture...

Please sign up or login with your details

Forgot password? Click here to reset