Minimizing DAG Utilization by Exploiting SMT

Parallel workloads are commonly modeled as directed acyclic graphs (DAGs). While DAG scheduling is an important tool, it is plagued by capacity loss; it is not uncommon to see half of a platform go unused. Here this loss is attacked from a new direction: reducing per-DAG utilization prior to assigni...

Full description

Saved in:
Bibliographic Details
Published inProceedings / IEEE Real-Time and Embedded Technology and Applications Symposium pp. 267 - 280
Main Authors Osborne, Sims Hill, Bakita, Joshua, Chen, Jingyuan, Yandrofski, Tyler, Anderson, James H.
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.05.2022
Subjects
Online AccessGet full text
ISSN2642-7346
DOI10.1109/RTAS54340.2022.00029

Cover

More Information
Summary:Parallel workloads are commonly modeled as directed acyclic graphs (DAGs). While DAG scheduling is an important tool, it is plagued by capacity loss; it is not uncommon to see half of a platform go unused. Here this loss is attacked from a new direction: reducing per-DAG utilization prior to assigning computing cores to a DAG. Specifically, simultaneous multithreading (SMT) is used to schedule individual nodes of a DAG task in parallel on the same physical computing core. An optimization program is given that applies SMT to a DAG in a way that minimizes total utilization without compromising correctness. Results for both individual DAGs and systems of DAGs are evaluated using both a large-scale study of synthetic DAGs and a case study. Optimal use of the program can reduce DAG utilization and required core counts by over 40% in the best cases and by 25% in nearly half of cases. Runtime requirements for the optimization program are considered, and a tunable parameter is provided to make tradeoffs between runtime and optimality, allowing even DAGs with 500 nodes to benefit.
ISSN:2642-7346
DOI:10.1109/RTAS54340.2022.00029