Publications

Thèses


< retour aux thèses

« Représentation dynamique de la liste des copies pour le passage à l'échelle des protocoles de cohérence de cache ».

Auteur : J. Dumas
Directeur de thèse : F. Pétrot
Co-directeur de thèse : E. Guthmuller
Président du jury : F. De Dinechin
Rapporteur(s) de thèse : D. Etiemble, G. Sassatelli,
Examinateur(s) de thèse : Q. Meunier,
These de Doctorat Université de Grenoble
Spécialité : informatique
Soutenance : 2017-12-13
ISBN : 978-2-11-129235-2

Résumé

Le problème du passage à l’échelle des protocoles de cohérence de cache qui se pose pour les machines parallèles se pose maintenant aussi sur puce, suite à l’émergence des architectures manycores. Il existe deux classes de protocoles : ceux basés sur l’espionnage et ceux utilisant un répertoire. Les protocoles basés sur l’espionnage, qui doivent transmettre à tous les caches les informations de cohérence, engendrent un nombre important de messages dont peu sont effectivement utiles. En revanche, les protocoles avec répertoires visent à n’envoyer des messages qu’aux caches qui en ont besoin. L’implémentation la plus évidente utilise un champ de bits complet dont la taille dépend uniquement du nombre de cœurs. Ce champ de bits représente la liste des copies. Pour passer à l’échelle, un protocole doit émettre un nombre raisonnable de messages de cohérence et limiter le matériel utilisé pour la cohérence et en particulier pour la liste des copies. Afin d’évaluer et de comparer les protocoles et leurs représentations de la liste des copies, nous proposons tout d’abord une méthode de simulation basée sur l’injection de traces dans un modèle de cache à haut niveau. Cette méthode permet d’effectuer rapidement l’exploration architecturale des protocoles. Nous proposons également une nouvelle représentation dynamique de la liste des copies pour le passage à l’échelle des protocoles de cohérence de cache. Pour une architecture à 64 cœurs, 93% des lignes de cache sont partagées par au maximum 8 cœurs, sachant par ailleurs que le système d’exploitation cherche à placer les tâches communicantes proches les unes des autres. Notre représentation dynamique de la liste des copies tire parti de ces deux observations en utilisant un champ de bits pour un sous-ensemble des copies et une liste chaînée. Le champ de bits correspond à un rectangle à l’intérieur duquel la liste des copies est exacte. La position et la forme de ce rectangle évoluent au cours de la durée de vie des applications. Plusieurs algorithmes pour le placement du rectangle cohérent sont proposés et évalués. Pour finir, nous effectuons une comparaison avec les représentations de la liste des copies de l’état de l’art.

pdf pdf