Les concepteurs d'applications de calcul à haute performance (HPC) font face à deux défis majeurs: l'exploitation efficace des architectures matérielles afin de maximiser les performances et la mise en place d'architectures logicielles permettant de réduire les coûts de développement et de maintenance.
L'ordonnancement de graphes de tâches est une approche prometteuse pour concevoir des codes parallèles efficaces et portables sur des architectures complexes. Parallèlement, la programmation à base de composants logiciels est une méthode visant à structurer l'architecture des applications de manière à favoriser la réutilisation de code et la séparation des préoccupations. L'usage conjoint de ces deux approches peut apporter de nombreux bénéfices. Cependant, les modèles de composants existants à base de services requis/fournis n'offrent pas de méthodes de composition parallèle efficace compatible avec les approches à base d'ordonnancement de tâches.
L'objectif de cette thèse est de fournir un tel modèle de composants supportant l'ordonnancement de tâches pour les systèmes à mémoire partagée, ainsi qu'une mise en œuvre, afin de l'évaluer sur l'application de production HPC Gysela.
Les contributions de cette thèse sont:
- le modèle de composants COMET combinant des approches à base de flots de données et de services requis/fournis permettant d'écrire indépendamment des codes parallèles couplés efficacement à l'exécution;
- la mise en œuvre extensible Halley, basée sur L²C et OpenMP, conforme à COMET;
- l'évaluation de l'approche sur une sous-partie de l'application HPC de production Gysela.
Gratuit