Draft: sOMP: NUMA and cache-aware simulations for task-based applications
Brouillon: sOMP: simulations prenant en charge le cache et les effets NUMA pour les applications à base de tâches
Résumé
Anticipating the behavior of applications, studying, and designing algorithms are some of the most important purposes for the performance and correction studies about simulations and applications relating to intensive computing. Many frameworks were designed to simulate large
distributed computing infrastructures and the applications running on them. At the node level, some frameworks have also been proposed to simulate task-based parallel applications. However, one missing critical capability from these works is the ability to take Non-Uniform Memory Access (NUMA) effects into account, even though virtually every HPC platform nowadays exhibits such effects. We thus propose a simulator for dependency-based task-parallel applications, that enables experimenting with multiple data locality models. We also introduce two locality-aware performance models: a lightweight communication-oriented model that uses topology information to weight data transfers, and a more complex communications and cache model that takes into account data storage in the LLC. We validate both models on linear algebra test cases and show that, on average, our simulator reproducibly predicts execution time with a small relative error.
Anticiper le comportement des applications, étudier et concevoir des algorithmes sont parmi les objectifs les plus importants des études de performance et de correction sur les simulations et les applications liées au calcul intensif. De nombreux outils ont été conçus pour simuler de grandes infrastructures informatiques distribuées et les applications qui y sont exécutées. Au niveau du nœud, certains outils ont également été proposés pour simuler des applications parallèles à base de tâches. Cependant, une capacité critique manquante à ces travaux est la capacité à prendre en compte les effets NUMA (Non-Uniform Memory Access), même si pratiquement toutes les plates-formes HPC présentent aujourd’hui de tels effets. Nous proposons ainsi un simulateur pour les applications parallèles à base de tâches avec dépendances, qui permet d’expérimenter plusieurs modèles de localité de données. Nous introduisons également deux modèles de performances prenant en compte la localité: un modèle léger orienté communications qui utilise les informations de topologie pour pondérer les transferts de données, et un modèle de communication et de cache plus complexe qui prend en compte le stockage des données dans le LLC. Nous validons les deux modèles sur des cas test d’algèbre linéaire et montrons qu’en moyenne, notre simulateur prédit de manière reproductible le temps d’exécution avec une petite erreur relative.
Domaines
Informatique [cs]Origine | Fichiers produits par l'(les) auteur(s) |
---|