Vinicius Garcia Pinto - Analyse de performance de supports d'exécution dynamiques d'applications parallèles

09:30
Mardi
30
Oct
2018
Organisé par : 
Vinicius Garcia Pinto
Intervenant : 
Vinicius Garcia Pinto
Équipes : 
Mots clés : 

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 :

  • Arnaud  Legrand, chargé de recherche, CNRS délégation Alpes, directeur de thèse
  • Alfredo Goldman Vel Lejbman, professeur associe, universite de são paulo - Brésil, rapporteur
  • Gaël  Thomas, professeur, Telecom SudParis, rapporteur
  • Mathieu  Faverge, maitre de conferences, Institut Polytechnique De Bordeaux, examinateur
  • Nicolas Maillard, professeur associe, ufrgs - Brésil, directeur de thèse
  • Gerson Geraldo Homrich Cavalheiro, professeur associe, Univ. Fédérale de Pelotas - Brésil, examinateur
  • Philippe Olivier A.  Navaux, professeur associe, UFRGS - Brésil, examinateur
  • Bernd Mohr, professeur associe, centre recherche Jülich - Allemagne, examinateur

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.