Publications

Thèses


< retour aux thèses

« Simulation Native des MPSoC: Instrumentation et Modélisation des Aspects Non Fonctionnels ».

Auteur : O. Matoussi
Directeur de thèse : F. Pétrot
Président du jury : F. Maraninchi
Rapporteur(s) de thèse : Fr. Pecheux, C. Rochange,
Examinateur(s) de thèse : B. Dupont De Dinechin , Abdoulaye Gamatié,
These de Doctorat Université Grenoble Alpes
Spécialité : informatique
Soutenance : 30/11/2017
ISBN : 978-2-11-129233-8

Résumé

Les systèmes embarqués modernes intègrent des dizaines, voire des centaines, de coeurs sur une même puce communiquant à travers des réseaux sur puce, afin de répondre aux exigences de performances édictées par le marché. On parle de systèmes massivement multicoeurs ou systèmes manycoeurs. La complexité de ces systèmes fait de l’exploration de l’espace de conception architecturale, de la covérification du matériel et du logiciel, ainsi que de l’estimation de performance, un vrai défi. Cette complexité est généralement compensée par la flexibilité du logiciel embarqué. La dominance du logiciel dans ces architectures nécessite de commencer le développement et la vérification du matériel et du logiciel dès les premières étapes du flot de conception, bien avant d’avoir accès à un prototype matériel. Ainsi, il faut disposer d’un modèle abstrait qui reproduit le comportement de la puce cible en un temps raisonnable. Un tel modèle est connu sous le nom de plateforme virtuelle ou de simulation. L’exécution du logiciel sur une telle plateforme est couramment effectuée au moyen d’un simulateur de jeu d’instruction (ISS). Ce type de simulateur, basé sur l’interprétation des instructions une à une, est malheureusement caractérisé par une vitesse de simulation très lente, qui ne fait qu’empirer par l’augmentation du nombre de coeurs. La simulation native est considérée comme une candidate adéquate pour réduire le temps de simulation des systèmes manycoeurs. Le principe de la simulation native est de compiler puis exécuter la quasi totalité de la pile logicielle directement sur la machine hôte tout en communiquant avec des modèles réalistes des composants matériels de l’architecture cible, permettant ainsi de raccourcir les temps de simulation. La simulation native est beaucoup plus rapide qu’un ISS mais elle ne prend pas en compte les aspects nonfonctionnels, tel que le temps d’exécution, dépendant de l’architecture matérielle réelle, ce qui empêche de faire des estimations de performance du logiciel. Ceci dresse le contexte des travaux menés dans cette thèse qui se focalisent sur la simulation native et s’articulent autour de deux contributions majeures. La première s’attaque à l’introduction d’informations nonfonctionnelles dans la représentation intermédiaire (IR) du compilateur. L’insertion précise de telles informations dans le modèle fonctionnel est réalisée grâce à un algorithme dont l’objectif est de trouver des correspondances entre le code binaire cible et le code IR tout en tenant compte des optimisations faites par le compilateur. La deuxième contribution s’intéresse à la modélisation d’un cache d’instruction et d’un tampon d’instruction d’une architecture VLIW pour générer des estimations de performance précises. Ainsi, la plateforme de simulation native associée à des modèles de performance précis et à une technique d’annotation efficace permet, malgré son haut niveau d’abstraction, non seulement de vérifier le bon fonctionnement du logiciel mais aussi de fournir des estimations de performances précises en des temps de simulation raisonnables.

pdf pdf