Vous êtes ici : UVSQ RechercheDoctorat

«Vers des supports exécutifs et des outils de profilage adaptés aux architectures many/multi-cœur dans le cadre du calcul hautes performances» par Marc Perache

Discipline : Informatique

Résumé :
Depuis un peu plus de dix ans, nous avons amorcé un changement marqué dans l’architecture des processeurs qui a eu un impact direct sur l’architecture des super-calculateurs. Avec la stagnation de la fréquence des processeurs, nous avons assisté à une explosion du nombre d’unités de calcul, que ce soit au travers des architectures de type many/multi-cœur ou encore des architectures de types GPUs. Cette évolution a mis une pression accrue sur les supports exécutifs.
Les travaux que j’ai réalisés au sein du support exécutif MPC ont pour but d’apporter une solution à ces problèmes. Pour mener à bien ces activités, j'ai tout d’abord fait évoluer le support exécutif MPC. Cette évolution avait pour objectif de faire de MPC un support exécutif de recherche qui permet aux doctorants du laboratoire de mettre en œuvre leurs contributions. Pour atteindre cet objectif, il était nécessaire de rendre MPC à la fois modulaire et robuste. Ces évolutions ont permis de mener à bien des travaux sur l’allocation mémoire et la localité des données en contexte calcul hautes performances multithread ainsi que l’optimisation des communications sur réseau rapide en contexte multithread.
En marge des travaux sur les supports exécutifs eux-mêmes, j'ai mené des études sur l'intégration de ces derniers dans un contexte machine virtuelle. En effet, la virtualisation est de plus en plus utilisée au sein des centres de calcul où MPC est exécuté. J'ai aussi mené des travaux sur le profilage d'applications à grande échelle pour permettre de caractériser l'application dans un contexte réel et ainsi optimiser les supports exécutifs.

Abstract :
For the past ten years, the evolution of processors’ architecture had a strong impact on supercomputers architecture. The CPU’s frequency does not grow anymore and thus, the increase of computing power is now performed by multiplying the number of computing units with many/multi-core architectures or GPUS. This hardware evolution highlights the need of an efficient and tuned runtime system for HPC.
The research activities I did to tackle these issues are performed in the MPC runtime system. In order to be able to target these issues, I modified MPC to make it a more modular and robust research framework. Thanks to this new MPC framework, PhD students were able to prototype new approaches like memory allocation and data locality for HPC in multithreaded context or optimizing multithreaded communications on high performances networks.
In parallel of these activities, I conducted studies on the integration of runtime systems and virtual machines. Virtualization technologies are more and more used in supercomputing centers but some optimizations are still required to be fully HPC compliant. I also conducted studies on large core count profiling in order to characterize application at scale (e.g. on real workload) and optimize runtimes.