A Unified Development Environment for Asymmetric System on a Chip - Archive ouverte HAL Access content directly
Theses Year : 2022

A Unified Development Environment for Asymmetric System on a Chip

Un environnement unifié pour le développement sur puce à cœurs asymétriques

(1)
1

Abstract

Recent heterogeneous multiprocessor systems on a chip (HMPSoCs), typically add a low-power processor optimized for real-time applications to one or more high-performance processors. This technology brings many challenges at several levels, especially for developers, as there is no development tool capable of handling deployment on heterogeneous clusters of identical cores. Another challenge concerns real-time applications, as these platforms are very complex, which makes it more difficult to measure the execution time of the code.This thesis was carried out under a Cifre contract with AC6, whose objective is to support the research and development needed to support HMPSoCs, using an integrated development environment,System Workbench for Linux (SW4Linux), which allows the generation of a customized, secure and signed Linux distribution using a graphical user interface. When merged with a microcontroller development environment, the result is a unified tool for developing and debugging all HMPSoC components.We have studied the different methods of measuring execution time. Numerous tests on different targets were performed with the aim of comparing these methods based on several attributes: accuracy, difficulty, granularity and resolution. It was found experimentally that most counter-based measurement methods give similar results, implying that the choice of methods should be based on simplicity and accessibility. These methods were used in a new feature added to the SW4Linuxtool that allows to measure the execution time of a function and to extract the measurements automatically through a debugging session.We presented a heterogeneous migration method, which allows a task to migrate between cores with different instruction sets and frequencies. This method is based on the asymmetric communication protocol. The communication latency was measured using a core-independent method accessibleby different parts of the system. It was found that it is not negligible and varies significantly from core to core and that the inter-cluster migration was in the order of magnitude of several tens compared to the intra-cluster migration. This allowed to show experimentally that the classical academic model of defining heterogeneous platforms as ”flat” sets of heterogeneous cores was less suitable than a hierarchical cluster representation distinguishing the types (and thus the costs) of migration. Similarly, the experimental studies conducted in the thesis confirmed that HMPSoCs platforms had intermediate properties between heterogeneous cores and uniform cores, which placed these platforms in a new category that our co-authors have named consistent cores.
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.
Fichier principal
Vignette du fichier
2022ESMA0003_jamil.pdf (3.81 Mo) Télécharger le fichier
Origin : Version validated by the jury (STAR)

Dates and versions

tel-03662259 , version 1 (09-05-2022)

Identifiers

  • HAL Id : tel-03662259 , version 1

Cite

Roy Jamil. Un environnement unifié pour le développement sur puce à cœurs asymétriques. Autre [cs.OH]. ISAE-ENSMA Ecole Nationale Supérieure de Mécanique et d'Aérotechique - Poitiers, 2022. Français. ⟨NNT : 2022ESMA0003⟩. ⟨tel-03662259⟩
51 View
35 Download

Share

Gmail Facebook Twitter LinkedIn More