Topology-Aware and Dependence-Aware Scheduling and Memory Allocation for Task-Parallel Languages

Andi Drebes 1 Karine Heydemann 1 Nathalie Drach 1 Antoniu Pop 2 Albert Cohen 3, 4
1 ALSOC - Architecture et Logiciels pour Systèmes Embarqués sur Puce
LIP6 - Laboratoire d'Informatique de Paris 6
4 Parkas - Parallélisme de Kahn Synchrone
DI-ENS - Département d'informatique de l'École normale supérieure, ENS Paris - École normale supérieure - Paris, Inria Paris-Rocquencourt, CNRS - Centre National de la Recherche Scientifique : UMR 8548
Abstract : We present a joint scheduling and memory allocation algorithm for efficient execution of task-parallel programs on non-uniform memory architecture (NUMA) systems. Task and data placement decisions are based on a static description of the memory hierarchy and on runtime information about intertask communication. Existing locality-aware scheduling strategies for fine-grained tasks have strong limitations: they are specific to some class of machines or applications, they do not handle task dependences, they require manual program annotations, or they rely on fragile profiling schemes. By contrast, our solution makes no assumption on the structure of programs or on the layout of data in memory. Experimental results, based on the OpenStream language, show that locality of accesses to main memory of scientific applications can be increased significantly on a 64-core machine, resulting in a speedup of up to 1.63× compared to a state-of-the-art work-stealing scheduler.
Type de document :
Article dans une revue
ACM Transactions on Architecture and Code Optimization, Association for Computing Machinery, 2014, 11 (3), pp.30. <10.1145/2641764>
Liste complète des métadonnées

https://hal.archives-ouvertes.fr/hal-01136491
Contributeur : Andi Drebes <>
Soumis le : vendredi 27 mars 2015 - 14:01:00
Dernière modification le : lundi 29 mai 2017 - 14:26:06

Identifiants

Collections

UPMC | LIP6 | INRIA | PSL

Citation

Andi Drebes, Karine Heydemann, Nathalie Drach, Antoniu Pop, Albert Cohen. Topology-Aware and Dependence-Aware Scheduling and Memory Allocation for Task-Parallel Languages. ACM Transactions on Architecture and Code Optimization, Association for Computing Machinery, 2014, 11 (3), pp.30. <10.1145/2641764>. <hal-01136491>

Partager

Métriques

Consultations de la notice

484