Raphaël Bleuse - Appréhender l'hétérogénéité à (très) grande échelle

12:00
Mercredi
11
Oct
2017
Organisé par : 
Raphaël Bleuse
Intervenant : 
Raphaël Bleuse
Équipes : 

 

Jury :

  • Nectarios Koziris ; National Technical University of Athens, Grèce ; Rapporteur
  • Vitus J. Leung ; Sandia National Laboratories, États-Unis : Rapporteur
  • Lionel Eyraud-Dubois ; Inria, France ; Examinateur
  • Alix Munier ; UPMC, France ; Examinateur
  • Yves Robert ; ENS Lyon, France ; Examinateur
  • Grégory Mounié ; Univ. Grenoble Alpes, France ; Directeur de Thèse
  • Denis Trystram ; Univ. Grenoble Alpes, France ; Directeur de Thèse

 

Réalisation technique : Antoine Orlandi | Tous droits réservés

Le besoin de simuler des phénomènes toujours plus complexes accroît les besoins en puissance de calcul, tout en consommant et produisant de plus en plus de données.  Pour répondre à cette demande, la taille et l'hétérogénéité des plateformes de calcul haute performance augmentent. L'hétérogénéité permet en effet de découper les problèmes en sous-problèmes, pour lesquels du matériel ou des algorithmes /adhoc/ sont plus efficients.  Cette hétérogénéité se manifeste dans l'architecture des plateformes et dans la variété des applications exécutées.  Aussi, les performances sont de plus en plus sensibles au contexte d'exécution.

L'objet de cette thèse est de considérer, qualitativement et à faible coût, l'impact du contexte d'exécution dans les politiques d'allocation et d'ordonnancement.  Cette étude est menée à deux niveaux: au sein d'applications uniques, et à l'échelle des plateformes au niveau inter-applications.

Nous étudions en premier lieu la minimisation du temps de complétion pour des tâches séquentielles sur des plateformes hybrides intégrant des CPU et des GPU.  Nous proposons de tenir compte du contexte d'exécution grâce à un mécanisme d'affinité améliorant le comportement local des politiques d'ordonnancement.  Ce mécanisme a été implémenté dans un /run-time/ parallèle.  Une campagne d'expérience montre qu'il permet de diminuer les transferts de données tout en conservant un faible temps de complétion.  Puis, afin de prendre implicitement en compte le parallélisme sur les CPU, nous enrichissons le modèle en considérant les tâches comme /moldables/ sur CPU.  Nous proposons un algorithme basé sur la programmation linéaire en nombres entiers.  Cet algorithme efficace a un rapport de compétitivité de 3/2 + ε.

Dans un second temps, nous proposons un nouveau cadre de modélisation dans lequel les contraintes sont des outils de premier ordre.  Plutôt que d'étendre les modèles existants en considérant toutes les interactions possibles, nous réduisons l'espace des ordonnancements réalisables via l'ajout de contraintes.  Nous proposons des contraintes raisonnables pour modéliser l'étalement des applications ainsi que les flux d'E/S.  Nous proposons ensuite une étude de cas exhaustive dans le cadre de la minimisation du temps de complétion pour des topologies unidimensionnelles, sous les contraintes de convexité et de localité.