PYTHIA: an oracle to guide runtime system decisions - Archive ouverte HAL
Communication Dans Un Congrès Année : 2022

PYTHIA: an oracle to guide runtime system decisions

Résumé

Runtime systems are commonly used by parallel applications in order to efficiently exploit the underlying hardware resources. A runtime system hides the complexity of the management of the hardware and exposes a high-level interface to application developers. To this end, it makes decisions by relying on heuristics that estimate the future behavior of the application. In this paper, we propose PYTHIA, a library that serves as an oracle capable of predicting the future behavior of an application, so that the runtime system can make more informed decisions. PYTHIA builds on the deterministic nature of many HPC applications: by recording an execution trace, PYTHIA captures the application main behavior. The trace can be provided for future executions of the application, and a runtime system can ask for predictions of future program behavior. We evaluate PYTHIA on 13 MPI applications and show that PYTHIA can accurately predict the future of most of these applications, even when varying the problem size. We demonstrate how PYTHIA predictions can guide a runtime system optimization by implementing an adaptive thread parallelism strategy in GNU OpenMP runtime system. The evaluation shows that, thanks to PYTHIA prediction, the adaptive strategy reduces the execution time of an application by up to 38 %.
Fichier principal
Vignette du fichier
conference_101719.pdf (452.44 Ko) Télécharger le fichier
Origine Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-03750441 , version 1 (12-08-2022)

Identifiants

Citer

Alexis Colin, François Trahay, Denis Conan. PYTHIA: an oracle to guide runtime system decisions. 2022 IEEE International Conference on Cluster Computing (CLUSTER), Sep 2022, Heidelberg, Germany. pp.106-116, ⟨10.1109/CLUSTER51413.2022.00025⟩. ⟨hal-03750441⟩
389 Consultations
216 Téléchargements

Altmetric

Partager

More