Process Mapping onto Complex Architectures and Partitions Thereof - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2017

Process Mapping onto Complex Architectures and Partitions Thereof

Placement de processus sur des architectures complexes et des partitions d'icelles

Résumé

Data locality is a critical issue in order to achieve performance on today's high-end parallel machines. As these machines are highly non-uniform, distributing computations across their processing elements does not only require to minimize inter-process communication, but also to favor local communication over distant communication. For that purpose, static and/or dynamic (re)mapping tools have been devised, that allow one to map process graphs onto architecture graphs describing the topology and architectural features of such machines. However, in practice, the real problem to solve is to map a process graph onto possibly disconnected parts of a non-uniform parallel machine, such as a set of nodes provided by some batch scheduler. This paper presents a set of algorithms to perform this task in an efficient way. Efficiency is achieved thanks to a multilevel description of target architectures. All the presented algorithms have been implemented in the \scotch\ static mapping software. Experiments evidence the quality of the produced mappings.
La localité des données est une question critique afin d'obtenir des performances sur les machines massivement parallèles actuelles. Comme ces machines sont hautement non-uniformes, distribuer efficacement les calculs sur leurs éléments de traitement ne nécessite pas seulement de minimiser la communication inter-processus, mais aussi de favoriser la communication locale par rapport à la communication distante. Dans ce but, des outils de (re)placement statique et/ou dynamique ont été conçus, qui permettent de placer des graphes de processus sur des graphes d'architecture représentant la topologie et les caractéristiques architecturales de ces machines. Cependant, en pratique, le vrai problème à résoudre est de placer un graphe de processus sur des parties potentiellement déconnectées d'une machine parallèle non uniforme, telles que des ensembles de nœuds attribués par un ordonnanceur batch. Cet article présente un ensemble d'algorithmes effectuant cette tâche d'une façon efficace. L'efficacité est obtenue grâce à une description multi-niveaux des architectures cibles. Tous les algorithmes présentés ici ont été implémentés dans le logiciel de placement statique Scotch. Des expérimentations illustrent la qualité des placements produits.
Fichier principal
Vignette du fichier
RR-9135.pdf (2.38 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

hal-01671156 , version 1 (22-12-2017)
hal-01671156 , version 2 (07-03-2018)

Licence

Paternité - Pas de modifications

Identifiants

  • HAL Id : hal-01671156 , version 1

Citer

François Pellegrini, Cédric Lachat. Process Mapping onto Complex Architectures and Partitions Thereof. [Research Report] RR-9135, Inria Bordeaux Sud-Ouest. 2017, pp.16. ⟨hal-01671156v1⟩
240 Consultations
113 Téléchargements

Partager

Gmail Facebook X LinkedIn More