Table of Contents
Fetching ...

Efficiently Scheduling Parallel DAG Tasks on Identical Multiprocessors

Shardul Lendve, Konstantinos Bletsas, Pedro F. Souto

TL;DR

This paper proposes a new algorithm that attempts to use dedicated processor clusters for high-utilisation tasks, as in federated scheduling, but is also capable of reclaiming the processing capacity lost to fragmentation, by splitting the execution of parallel tasks over different existing clusters, in a manner inspired by semi-partitioned C=D scheduling.

Abstract

Parallel real-time embedded applications can be modelled as directed acyclic graphs (DAGs) whose nodes model subtasks and whose edges model precedence constraints among subtasks. Efficiently scheduling such parallel tasks can be challenging in itself, particularly in hard real-time systems where it must be ensured offline that the deadlines of the parallel applications will be met at run time. In this paper, we tackle the problem of scheduling DAG tasks on identical multiprocessor systems efficiently, in terms of processor utilisation. We propose a new algorithm that attempts to use dedicated processor clusters for high-utilisation tasks, as in federated scheduling, but is also capable of reclaiming the processing capacity lost to fragmentation, by splitting the execution of parallel tasks over different existing clusters, in a manner inspired by semi-partitioned C=D scheduling (originally devised for non-parallel tasks). In the experiments with synthetic DAG task sets, our Segmented-Flattened-and-Split scheduling approach achieves a significantly higher scheduling success ratio than federated scheduling.

Efficiently Scheduling Parallel DAG Tasks on Identical Multiprocessors

TL;DR

This paper proposes a new algorithm that attempts to use dedicated processor clusters for high-utilisation tasks, as in federated scheduling, but is also capable of reclaiming the processing capacity lost to fragmentation, by splitting the execution of parallel tasks over different existing clusters, in a manner inspired by semi-partitioned C=D scheduling.

Abstract

Parallel real-time embedded applications can be modelled as directed acyclic graphs (DAGs) whose nodes model subtasks and whose edges model precedence constraints among subtasks. Efficiently scheduling such parallel tasks can be challenging in itself, particularly in hard real-time systems where it must be ensured offline that the deadlines of the parallel applications will be met at run time. In this paper, we tackle the problem of scheduling DAG tasks on identical multiprocessor systems efficiently, in terms of processor utilisation. We propose a new algorithm that attempts to use dedicated processor clusters for high-utilisation tasks, as in federated scheduling, but is also capable of reclaiming the processing capacity lost to fragmentation, by splitting the execution of parallel tasks over different existing clusters, in a manner inspired by semi-partitioned C=D scheduling (originally devised for non-parallel tasks). In the experiments with synthetic DAG task sets, our Segmented-Flattened-and-Split scheduling approach achieves a significantly higher scheduling success ratio than federated scheduling.

Paper Structure

This paper contains 15 sections, 1 theorem, 7 equations, 11 figures, 2 tables.

Key Result

lemma 1

Let a DAG task $G_i$ be decomposed into $s_i$ parallel segments according to Equation eq:segment:formation. If, $\forall k \in \lbrace 1, \ldots s_i-1 \rbrace$ no node in $S_{i,k+1}$ starts its execution before all nodes in $S_{i,k}$ have completed, then no precedence constraint is violated. Additio

Figures (11)

  • Figure 1: Pseudocode: flattening of an individual segment
  • Figure 2: A DAG task $G_1$, with a deadline of $130$, that consists of 10 subtasks (nodes). Each node's WCET is shown to its upper left. The DAG is broken into 5 parallel segments, separated by vertical gray dashed lines.
  • Figure 3: Flattening of the DAG of Fig. \ref{['fig:dagexample']} over 2 processors. The resulting makespan is 105.
  • Figure 4: Pseudocode for flattening a DAG task over the smallest feasible number of processors
  • Figure 5: Graham's bound for the makespan of the above DAG over 2 processors is 50+(100-50)/2=75. The length of the corresponding segmented-and-flattened schedule is 49+49=98.
  • ...and 6 more figures

Theorems & Definitions (2)

  • lemma 1
  • proof