Simulation précise du mouvement des données au sein des systèmes mobiles multicœurs moderne
Auteur / Autrice : | Quentin Huppert |
Direction : | Lionel Torres |
Type : | Thèse de doctorat |
Discipline(s) : | SYAM - Systèmes Automatiques et Micro-Électroniques |
Date : | Soutenance le 06/12/2022 |
Etablissement(s) : | Université de Montpellier (2022-....) |
Ecole(s) doctorale(s) : | École doctorale Information, Structures, Systèmes (Montpellier ; 2015-....) |
Partenaire(s) de recherche : | Laboratoire : Laboratoire d'informatique, de robotique et de micro-électronique (Montpellier ; 1992-....) |
Jury : | Président / Présidente : Alix Munier-Kordon |
Examinateurs / Examinatrices : Lionel Torres, Alix Munier-Kordon, Frédéric Pétrot, Olivier Sentieys, Francky Catthoor, David Novo | |
Rapporteur / Rapporteuse : Frédéric Pétrot, Olivier Sentieys |
Mots clés
Mots clés contrôlés
Mots clés libres
Résumé
Les architectures de systèmes informatiques sont devenues de plus en plus complexes. Dans le but d'améliorer les performances et de réduire la consommation d'énergie, elles comprennent plusieurs CPU, des GPU, des accélérateurs ainsi que des hiérarchies de mémoire sophistiquées. De ce fait, les simulateurs de systèmes informatiques jouent un rôle important dans la communauté des chercheurs. Ils permettent d'évaluer de nouvelles idées d’architecture, de façons plus rapides, tout en évitant les coûts des processus de fabrication.Les architectures simulées sont souvent comparées à des architectures réelles de l'état de l'art. Ainsi, la pertinence des résultats obtenus depuis un simulateur est directement liée à la fidélité du modèle de référence. Nous observons qu'il n'est pas simple d'avoir des modèles de référence solides, ceci en raison du manque d'informations techniques détaillées des architectures commerciales. Dans le cadre de cette thèse, nous proposons une méthodologie systématique pour extraire des informations depuis des architectures commerciales réelles. Ces informations sont ensuite utilisées afin de calibrer les modèles de référence correspondants. Cette méthodologie est basée sur le design de microbenchmarks et l’utilisation de compteurs de performance qui permettent une mesure non-intrusive du système. Nous appliquons cette méthodologie sur deux composants clés de l'architecture.Dans un premier temps, nous ciblons les différents niveaux de la hiérarchie de la mémoire. Nous développons des microbenchmarks qui permettent d’extraire une signature caractéristique du système de mémoire. Cette signature contient des valeurs de paramètres importantes que nous utilisons pour la calibration du modèle de référence. Nous implémentons la méthodologie sur le simulateur gem5 et un processeur ARM, le Cortex-A53. Puis, nous évaluons la méthodologie avec des benchmarks de la suite SPEC CPU2006. Ces derniers sont exécutés sur l’architecture ARM et simulés sur gem5 en utilisant notre configuration calibrée. Les résultats montrent que notre calibration réduit l'erreur de simulation moyenne et maximale de 43% et 62%, respectivement.Dans un second temps, nous appliquons la méthodologie sur le data prefetcher, qui est un composant clé du système de mémoire. Celui-ci pouvant générer des demandes de mémoire en parallèle du cœur du processeur. Cette nouvelle instance de notre méthodologie donne lieu à Pref-X, un framework permettant l'analyse fonctionnelle des data prefetchers présents dans les coeurs in-order. Pour cela, nous utilisons des séquences de requêtes mémoire pour stresser le data prefetcher et exposer les changements dans le contenu de la cache L1. A partir de ces changements, Pref-X en déduit les spécifications fonctionnelles du data prefetcher qui permettent la construction un modèle fonctionnel. Nous implementons Pref-X à deux processeurs ARM in-order, le Cortex-A7 et le Cortex-A53. Nous évaluons les modèles fonctionnels résultants avec des traces mémoire extraites de la suite SPEC CPU2006. Nous exécutons les traces à la fois sur les CPU commerciaux et sur les modèles fonctionnels produits par notre framework. Les résultats montrent en moyenne une précision des modèles de 99,8% pour le Cortex-A7 et de 96,8% pour le Cortex-A53.Cette thèse permet de comprendre en détail comment l’utilisation de microbenchmarks permet une amélioration de la précision des modèles de référence au sein des simulateurs. Aussi, nous pensons cette méthodologie est applicable à d'autres éléments de l’architecture, ceci pouvant faire l’objet de travaux futurs. Finalement, ces travaux contribuent à la communauté scientifique en permettant l’utilisation de modèles de référence d’architecture commerciale mieux calibrés.