Mouvement de données et placement des tâches pour les communications haute performance sur machines hiérarchiques / Stéphanie Moreaud ; sous la direction de Brice Goglin et de Raymond Namyst

Date :

Type : Livre / Book

Type : Thèse / Thesis

Langue / Language : français / French

Calcul intensif (informatique)

Communication -- Analyse de réseau

Mémoire partagée répartie

Multiprocesseurs

MPI (protocole de réseaux d'ordinateurs)

Goglin, Brice (1978-....) (Directeur de thèse / thesis advisor)

Namyst, Raymond (1969-....) (Directeur de thèse / thesis advisor)

Coulaud, Olivier (1961-....) (Président du jury de soutenance / praeses)

Cappello, Franck (Rapporteur de la thèse / thesis reporter)

Tourancheau, Bernard (Rapporteur de la thèse / thesis reporter)

Glück, Olivier (1976-....) (Membre du jury / opponent)

Université Bordeaux-I (1971-2013) (Organisme de soutenance / degree-grantor)

École doctorale de mathématiques et informatique (Talence, Gironde) (Ecole doctorale associée à la thèse / doctoral school)

Laboratoire bordelais de recherche en informatique (Laboratoire associé à la thèse / thesis associated laboratory)

Résumé / Abstract : Les architectures des machines de calcul sont de plus en plus complexes et hiérarchiques, avec des processeurs multicœurs, des bancs mémoire distribués, et de multiples bus d'entrées-sorties. Dans le cadre du calcul haute performance, l'efficacité de l'exécution des applications parallèles dépend du coût de communication entre les tâches participantes qui est impacté par l'organisation des ressources, en particulier par les effets NUMA ou de cache.Les travaux de cette thèse visent à l'étude et à l'optimisation des communications haute performance sur les architectures hiérarchiques modernes. Ils consistent tout d'abord en l'évaluation de l'impact de la topologie matérielle sur les performances des mouvements de données, internes aux calculateurs ou au travers de réseaux rapides, et pour différentes stratégies de transfert, types de matériel et plateformes. Dans une optique d'amélioration et de portabilité des performances, nous proposons ensuite de prendre en compte les affinités entre les communications et le matériel au sein des bibliothèques de communication. Ces recherches s'articulent autour de l'adaptation du placement des tâches en fonction des schémas de transfert et de la topologie des calculateurs, ou au contraire autour de l'adaptation des stratégies de mouvement de données à une répartition définie des tâches. Ce travail, intégré aux principales bibliothèques MPI, permet de réduire de façon significative le coût des communications et d'améliorer ainsi les performances applicatives. Les résultats obtenus témoignent de la nécessité de prendre en compte les caractéristiques matérielles des machines modernes pour en exploiter la quintessence.

Résumé / Abstract : The emergence of multicore processors led to an increasing complexity inside the modern servers, with many cores, distributed memory banks and multiple Input/Output buses. The execution time of parallel applications depends on the efficiency of the communications between computing tasks. On recent architectures, the communication cost is largely impacted by hardware characteristics such as NUMA or cache effects. In this thesis, we propose to study and optimize high performance communication on hierarchical architectures. We first evaluate the impact of the hardware affinities on data movement, inside servers or across high-speed networks, and for multiple transfer strategies, technologies and platforms. We then propose to consider affinities between hardware and communicating tasks inside the communication libraries to improve performance and ensure their portability. To do so,we suggest to adapt the tasks binding according to the transfer method and thetopology, or to adjust the data transfer strategies to a defined task distribution. Our approaches have been integrated in some main MPI implementations. They significantly reduce the communication costs and improve the overall application performance. These results highlight the importance of considering hardware topology for nowadays servers.