Load-balancing iterative computations in heterogeneous clusters with shared communication links
Résumé
This paper is devoted to mapping iterative algorithms onto heterogeneous clusters. The application data is partitioned over the processors, which are arranged along a virtual ring. At each iteration, independent calculations are carried out in parallel, and some communications take place between consecutive processors in the ring. The question is to determine how to slice the application data into chunks, and to assign these chunks to the processors, so that the total execution time is minimized. One major difficulty is to embed a processor ring into a network that typically is not fully connected, so that some communication links have to be shared by several processor pairs. We establish a complexity result that assesses the difficulty of this problem, and we design a practical heuristic that provides efficient mapping, routing, and data distribution schemes.
Ce rapport est consacré à l’application d’algorithmes sur plateformes hétérogènes. Les données sont réparties sur l’ensemble des ressources, qui sont organisées en anneau virtuel. A chaque itération, les calculs indépendants sont transmis en parallèle et les communications ont lieu entre les ressources consécutives de l’anneau. Le problème est de déterminer comment partitionner les données et comment les répartir pour que le temps total d’exécution soit minimal. Une difficulté majeure est d’inclure un anneau de ressources dans un réseau n’ étant pas forcément un graphe complet, de telle sorte que certains liens de communication soient partagés par plusieurs couples de ressources. Nous avons démontré un résultat de complexité qui établit la difficulté de ce problème, et nous proposons une heuristique pratique qui prouve l’efficacité de l’application, du routage et de la distribution de données.
Fichier principal
RR-4800.pdf (595.34 Ko)
Télécharger le fichier
RR2003-23.pdf (728.87 Ko)
Télécharger le fichier
Loading...