Adresse de la soutenance :
Prog. de Pós-Graduação em Computação, Instituto de Informática, Universidade Federal do Rio Grande do Sul, Caixa postal 15064, Av. Bento Gonçalves, 9500, 91501-970, Porto Alegre, RS BRESIL - salle AUD 0
Jury :
Les techniques de programmations pour le calcul de haute performance ont adopté les modèles basés sur parallélisme de tâche qui sont capables de s’adapter plus facilement à des superordinateurs avec des architectures hybrides. La performance des applications basées sur tâches dépende fortement des heuristiques d'ordonnancement dynamiques et de sa capacité à exploiter les ressources de calcul et de communication.
Malheureusement, les stratégies d'analyse de performance traditionnelles ne sont pas convenables pour comprendre les supports d'exécution dynamiques et les applications basées sur tâches. Ces stratégies prévoient un comportement régulier avec des phases de calcul et de communication, par contre, des applications basées sur tâches ne manifestent pas de phases précises. Par ailleurs, la granularité plus fine des applications basées sur tâches typiquement provoque des comportements stochastiques qui donnent lieu aux structures irrégulières qui sont difficiles à analyser.
Dans cette thèse, nous proposons des stratégies d'analyse de performance qui exploitent la combinaison de la structure de l'application, d'ordonnancement et des informations de la plate-forme. Nous présentons comment nos stratégies peuvent aider à comprendre des problèmes de performance dans des applications basée sur tâches qui exécutent dans des plates-formes hybrides. Nos stratégies d'analyse de performance sont construites avec des outils modernes pour l'analyse de données, ce que permettre la création des panneaux de visualisation personnalisés. Ces panneaux permettent la compréhension et l'identification de problèmes de performances occasionnés par de mauvaises décisions d'ordonnancement et configuration incorrect du support d'exécution et de la plate-forme. Grâce à combinaison de simulation et débogage nous pouvons aussi construire une représentation visuelle de l'état interne et des estimations calculées par l'ordonnancer durant l'ordonnancement d'une nouvelle tâche.
Nous validons notre proposition parmi de l'analyse de traces d'exécutions d'une factorisation de Cholesky implémenté avec le support d'exécution StarPU et exécutée dans une plate-forme hybride (CPU/GPU). Nos études de cas montrent comment améliorer la partition des tâches entre le multi-(GPU, coeur) pour s'approcher des bornes inférieures théoriques, comment améliorer le pipeline des opérations MPI entre le multi-(noeud, coeur, GPU) pour réduire le démarrage lente dans les noeuds distribués et comment optimiser le support d'exécution pour augmenter la bande passante MPI. Avec l'emploi des stratégies de simulation et débogage, nous fournissons un workflow pour l'examiner, en détail, les décisions d'ordonnancement. Cela permet de proposer des changements pour améliorer les mécanismes d'ordonnancement et prefetch du support d'exécution.