Process Affinity, Metrics and Impact on Performance: an Empirical Study
Affinité entre les processus, métriques et impact sur les performances : étude expérimentale
Résumé
Process placement, also called topology mapping, is a well-known strategy to improve parallel program execution by reducing the communication cost between processes. It requires two inputs: the topology of the target machine and a measure of the affinity between processes. In the literature, the dominant affinity measure is the communication matrix that describes the amount of communication between processes. The goal of this paper is to study the accuracy of the communication matrix as a measure of affinity. We have done an extensive set of tests with two fat-tree machines and a 3d-torus machine to evaluate several hypotheses that are often made in the literature and to discuss their validity. First, we check the correlation between algorithmic metrics and the performance of the application. Then, we check whether a good generic process placement algorithm never degrades performance. And finally, we see whether the structure of the communication matrix can be used to predict gain.
Le placement de processus en prenant en compte la topologie de la machine est une
technique bien connue pour réduire le temps d’exécution d’un programme parallèle en diminuant
le coût des communications entre les processus. Il nécessite deux entrées : la topologie de la
machine cible, et une mesure de l’affinité entre les processus. Dans la littérature, la mesure
d’affinité qui prédomine est la matrice de communication qui comptabilise les communications
entre les processus. Le but de ce papier est d’étudier la pertinence de la matrice de communication
comme mesure de l’affinité. Dans ce but, nous avons réalisé un grand nombre de tests sur une
machine de type fat-tree ainsi que sur un tore 3d, afin d’évaluer plusieurs hypothèse qui se
retrouvent souvent dans la littérature et de discuter de leur validité. Pour cela, d’abord nous
vérifions la corrélation entre des métriques algorithmiques et la performance de l’application.
Ensuite, nous contrôlons qu’un bon algorithme de placement n’implique jamais une dégradation
des performances d’une application. Et finalement, nous étudions la structure de la matrice de
communication dans le but de voir si elle peut être utilisée dans la prédiction du gain.
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...