Thèse soutenue

Un environnement unifié pour le développement sur puce à cœurs asymétriques
FR  |  
EN
Accès à la thèse
Auteur / Autrice : Roy Jamil
Direction : Emmanuel Grolleau
Type : Thèse de doctorat
Discipline(s) : Informatique et applications
Date : Soutenance le 04/03/2022
Etablissement(s) : Chasseneuil-du-Poitou, Ecole nationale supérieure de mécanique et d'aérotechnique
Ecole(s) doctorale(s) : École doctorale Sciences et ingénierie pour l'information, mathématiques (Limoges ; 2009-2018)
Partenaire(s) de recherche : Entreprise : AC6 Assistance Conseil Système à Courbevoie
Laboratoire : Laboratoire d'Informatique et d'Automatique pour les Systèmes / LIAS
Jury : Président / Présidente : Nicolas Navet
Examinateurs / Examinatrices : Antoine Bertout
Rapporteurs / Rapporteuses : Liliana Cucu, Jean-Philippe Babau

Résumé

FR  |  
EN

Les systèmes multiprocesseurs hétérogènes sur une puce récents (HMPSoCs), ajoutent généralement un processeur à basse consommation et optimisé pour les applications temps réel à un ou plusieurs clusters de processeurs performants. Cette technologie entraîne de nombreux défis à plusieurs niveaux, en particulier pour les développeurs, car il n’existe pas d’outil de développement capable de gérer le déploiement sur des clusters hétérogènes de cœurs identiques. Un autre défi concerne les applications temps réel, car ces plateformes sont très complexes ce qui rend plus difficile la mesure de durée d’exécution du code. Cette thèse a été effectuée en contrat Cifre avec AC6, dont l’objectif est de soutenir la recherche et le développement nécessaires pour supporter les HMPSoCs, grâce à un environnement de développement intégré, System Workbench for Linux (SW4Linux) qui permet de générer une distribution Linux personnalisée, sécurisée et signée, en utilisant une interface graphique. En le fusionnant avec un environnement de développement pour microcontrôleurs, on obtient un outil unifié qui permet de développer et déboguer tous les éléments du HMPSoC. Nous avons étudié les différentes méthodes de mesure du temps d’exécution. De nombreux tests sur différentes cibles ont été effectués dans le but de comparer ces méthodes en fonction de plusieurs attributs : la précision, la difficulté, la granularité et la résolution. Il a été constaté expérimentalement que la plupart des méthodes de mesure basées sur des compteurs donnent des résultats similaires, ce qui implique que le choix des méthodes doit reposer sur la simplicité et l’accessibilité. Ces méthodes ont été utilisées dans une nouvelle fonctionnalité ajoutée à l’outil SW4Linux permettant de mesurer le temps d’exécution d’une fonction et d’extraire les mesures automatiquement grâce à une session de débogage. Nous avons présenté une méthode de migration hétérogène, qui permet à une tâche de migrer entre des cœurs ayant des jeux d’instructions et des fréquences différentes. Cette méthode est basée sur le protocole de communication asymétrique. Le temps de latence de communication a été mesuré à l’aide d’une méthode indépendante du cœur et accessible par les différentes parties du système. Il a été constaté qu’il n’est pas négligeable et varie beaucoup d’un cœur à l’autre et que la migration interclusters était d’un degré de magnitude de plusieurs dizaines comparé à la migration intra-clusters. Cela a permis de montrer expérimentalement que le modèle académique classique qui consiste à définir les plateformes hétérogènes comme des ensembles "plats" de cœurs hétérogène était moins adaptée qu’une représentation hiérarchique par clusters distinguant les types (et donc les coûts) de migration. De même, les études expérimentales menées dans la thèse ont permis de confirmer que les plateformes HMPSoCs avaient des propriétés intermédiaires entre cœurs hétérogènes et cœurs uniformes, qui plaçaient ces plateformes dans une nouvelle catégorie que nos co-auteurs ont dénommée à cœurs consistants.