Modèles et protocoles de cohérence de données, décision et optimisation à la compilation pour des architectures massivement parallèles
Auteur / Autrice : | Safae Dahmani |
Direction : | Guy Gogniat |
Type : | Thèse de doctorat |
Discipline(s) : | Stic |
Date : | Soutenance le 14/12/2015 |
Etablissement(s) : | Lorient |
Ecole(s) doctorale(s) : | École doctorale Santé, information-communication et mathématiques, matière (Brest, Finistère) |
Partenaire(s) de recherche : | PRES : Université européenne de Bretagne (2007-2016) |
Laboratoire : Laboratoire des sciences et techniques de l'information- de la communication et de la connaissance / Lab-STICC | |
Jury : | Président / Présidente : Henri-Pierre Charles |
Examinateurs / Examinatrices : Raymond Namyst, Gabriel Antoniu, Loïc Cudennec | |
Rapporteur / Rapporteuse : Raymond Namyst, Gilles Sassatelli |
Mots clés
Résumé
Le développement des systèmes massivement parallèles de type manycores permet d'obtenir une très grande puissance de calcul à bas coût énergétique. Cependant, l'exploitation des performances de ces architectures dépend de l'efficacité de programmation des applications. Parmi les différents paradigmes de programmation existants, celui à mémoire partagée est caractérisé par une approche intuitive dans laquelle tous les acteurs disposent d'un accès à un espace d'adressage global. Ce modèle repose sur l'efficacité du système à gérer les accès aux données partagées. Le système définit les règles de gestion des synchronisations et de stockage de données qui sont prises en charge par les protocoles de cohérence. Dans le cadre de cette thèse nous avons montré qu'il n'y a pas un unique protocole adapté aux différents contextes d'application et d'exécution. Nous considérons que le choix d'un protocole adapté doit prendre en compte les caractéristiques de l'application ainsi que des objectifs donnés pour une exécution. Nous nous intéressons dans ces travaux de thèse au choix des protocoles de cohérence en vue d'améliorer les performances du système. Nous proposons une plate-forme de compilation pour le choix et le paramétrage d'une combinaison de protocoles de cohérence pour une même application. Cette plate- forme est constituée de plusieurs briques. La principale brique développée dans cette thèse offre un moteur d'optimisation pour la configuration des protocoles de cohérence. Le moteur d'optimisation, inspiré d'une approche évolutionniste multi-objectifs (i.e. Fast Pareto Genetic Algorithm), permet d'instancier les protocoles de cohérence affectés à une application. L'avantage de cette technique est un coût de configuration faible permettant d'adopter une granularité très fine de gestion de la cohérence, qui peut aller jusqu'à associer un protocole par accès. La prise de décision sur les protocoles adaptés à une application est orientée par le mode de performance choisi par l'utilisateur (par exemple, l'économie d'énergie). Le modèle de décision proposé est basé sur la caractérisation des accès aux données partagées selon différentes métriques (par exemple: la fréquence d'accès, les motifs d'accès à la mémoire, etc). Les travaux de thèse traitent également des techniques de gestion de données dans la mémoire sur puce. Nous proposons deux protocoles basés sur le principe de coopération entre les caches répartis du système: Un protocole de glissement des données ainsi qu'un protocole inspiré du modèle physique du masse-ressort.