Projet ANR-11-INSE-0012 – COMPA : Conception Orientée Modèle de calcul pour multi-Processeurs Adaptables
Programme : Ingénierie Numérique et Sécurité (INS) 2011
Année de financement : 2011
Coordinateur du projet : Monsieur NEZAN Jean Francois (INSTITUT NATIONAL DES SCIENCES APPLIQUEES - INSA DE RENNES)
Partenaires : CAPS ENTREPRISE; Institut d'Électronique et de Télécommunication de Rennes; MODAE TECHNOLOGIES; TEXAS INSTRUMENTS FRANCE; Laboratoire LAB-STICC; Institut de Recherche en Informatique et Systèmes Aléatoires
Montant : 784193.0 euros
Date de début : 2011
Durée : 42 mois
Résumé : Durant les 20 dernières années, la complexité des standards et vidéo et de télécommunication ont connu une augmentation considérable. Dans le même temps, les concepteurs de systèmes embarqués doivent faire face à la généralisation des architectures multicoeurs hétérogènes. 
Le développement d'applications complexes et dont les performances doivent être optimisées pour atteindre le temps réel s'avère une tâche difficile. Dans ce contexte, les plateformes adaptables dynamiquement offrent des perspectives intéressantes. Par exemple, l'exécution d'un décodeur vidéo devrait pouvoir se reconfigurer en fonction de l'architecture multicoeur sur laquelle il doit être utilisé, en prenant en compte les algorithmes et les paramètres associés que le codeur a utilisé pour fournir le document compressé. 
Dans ce cas, la reconfiguration consiste à placer et à ordonnancer les calculs nécessaires au décodage pendant l'exécution du décodeur. La réutilisation des composants logiciels dans le temps et sur les différents coeurs de processeurs doit être assuré. Bien que des premiers travaux aient été proposés dans ce contexte, il n'existe pas d'environnement de développement complet efficace pour ce type d'architectures. 
Une réponse possible consiste à utiliser une approche basée sur les modèles où la plateforme matérielle et l'application sont représentées à de hauts niveaux d'abstraction. L'utilisation de modèle permet de représenter les caractéristiques liées au domaine applicatif de manière formelle. Un exemple concret et prometteur de cette approche consiste à utiliser des modèles de calculs (MoC, Models of computations : KPN, SDF ...) dans une phase de spécification de l'application. De la même manière, un modèle d'architecture peut être utilisé pour la représentation de la plateforme cible de façon à exprimer son parallélisme disponible et les caractéristiques des communications entre les coeurs qui composent cette architecture. Bien que des travaux aient été effectués dans ce domaine, le caractère reconfigurable n'a jamais été pris en compte. 
Il s'agit alors dans le cadre du projet COMPA de proposer des modèles génériques pour la description et l'exécution d'applications adaptatives sur systèmes embarqués. Pour atteindre cet objectif, de nombreux verrous restent à lever. L'application sera représentée à l'aide du langage CAL proposé dans le cadre du projet Ptolemy de l'Université de Berkeley. Ce langage spécifique (DSL) permet de représenter l'application indépendamment de l'architecture et suivant plusieurs MoC comme le SDF, PSDF ou encore DDF. L'objectif sera de proposer des méthodes d'analyse de ces descriptions CAL pour détecter automatiquement le MoC utilisé. Cette analyse permettra de réaliser des transformations automatiques visant à optimiser l'exécution de l'application sur la plateforme cible. Ces transformations seront utilisées lors des phases de génération de code et lors de l'exécution de l'application.  
Un système d'exploitation dédié appelé "runtime execution engine" sera spécifié et développé dans le cadre du projet afin de gérer de manière optimisée l'exécution de l'application décrite en CAL sur une architecture multicoeur. Les problèmes posés sont le placement de tâches, les allocations de ressources logicielles et matérielles, l'ordonnancement sous contraintes ... ces considérations nécessitent la définition de métriques et de fonctions de coûts qui seront utilisées par le système d'exploitation. Certaines informations seront issues de la plateforme matérielle alors que d'autres proviendront de la description de l'application CAL.  
Les méthodes et outils développés dans le cadre du projet COMPA seront disponibles dans une suite logicielle "open source". Une démonstration de décodage vidéo adaptative sur plateforme multicoeur sera réalisée sur FPGA afin de valider ces méthodes et ces outils.