Automatic Tracing in Task-Based Runtime Systems

Fuente: arXiv
Salvato in:
Dettagli Bibliografici
Autori principali: Yadav, Rohan, Bauer, Michael, Broman, David, Garland, Michael, Aiken, Alex, Kjolstad, Fredrik
Natura: Preprint
Pubblicazione: 2024
Soggetti:
Accesso online:
Tags: Aggiungi Tag
Nessun Tag, puoi essere il primo ad aggiungerne!!
_version_ 1866912157502799872
author Yadav, Rohan
Bauer, Michael
Broman, David
Garland, Michael
Aiken, Alex
Kjolstad, Fredrik
author_facet Yadav, Rohan
Bauer, Michael
Broman, David
Garland, Michael
Aiken, Alex
Kjolstad, Fredrik
contents Implicitly parallel task-based runtime systems often perform dynamic analysis to discover dependencies in and extract parallelism from sequential programs. Dependence analysis becomes expensive as task granularity drops below a threshold. Tracing techniques have been developed where programmers annotate repeated program fragments (traces) issued by the application, and the runtime system memoizes the dependence analysis for those fragments, greatly reducing overhead when the fragments are executed again. However, manual trace annotation can be brittle and not easily applicable to complex programs built through the composition of independent components. We introduce Apophenia, a system that automatically traces the dependence analysis of task-based runtime systems, removing the burden of manual annotations from programmers and enabling new and complex programs to be traced. Apophenia identifies traces dynamically through a series of dynamic string analyses, which find repeated program fragments in the stream of tasks issued to the runtime system. We show that Apophenia is able to come between 0.92x--1.03x the performance of manually traced programs, and is able to effectively trace previously untraced programs to yield speedups of between 0.91x--2.82x on the Perlmutter and Eos supercomputers.
format Preprint
id arxiv_https___arxiv_org_abs_2406_18111
institution arXiv
publishDate 2024
record_format arxiv
spellingShingle Automatic Tracing in Task-Based Runtime Systems
Yadav, Rohan
Bauer, Michael
Broman, David
Garland, Michael
Aiken, Alex
Kjolstad, Fredrik
Distributed, Parallel, and Cluster Computing
Implicitly parallel task-based runtime systems often perform dynamic analysis to discover dependencies in and extract parallelism from sequential programs. Dependence analysis becomes expensive as task granularity drops below a threshold. Tracing techniques have been developed where programmers annotate repeated program fragments (traces) issued by the application, and the runtime system memoizes the dependence analysis for those fragments, greatly reducing overhead when the fragments are executed again. However, manual trace annotation can be brittle and not easily applicable to complex programs built through the composition of independent components. We introduce Apophenia, a system that automatically traces the dependence analysis of task-based runtime systems, removing the burden of manual annotations from programmers and enabling new and complex programs to be traced. Apophenia identifies traces dynamically through a series of dynamic string analyses, which find repeated program fragments in the stream of tasks issued to the runtime system. We show that Apophenia is able to come between 0.92x--1.03x the performance of manually traced programs, and is able to effectively trace previously untraced programs to yield speedups of between 0.91x--2.82x on the Perlmutter and Eos supercomputers.
title Automatic Tracing in Task-Based Runtime Systems
topic Distributed, Parallel, and Cluster Computing
url https://arxiv.org/abs/2406.18111