Institut d'Électronique et de Télécommunications de Rennes
UMR CNRS 6164

| ENT |






Accueil du site > Accueil > Recherche > Image > Adéquation algorithme architecture

Adéquation algorithme architecture

Objectifs :

Les activités en adéquation algorithme-architecture (AAM pour Algorithm-Architecture Matching, anciennement AAA) concernent la portabilité des algorithmes de traitement d’images sur des architectures spécialisées.

Les capacités de calculs augmentent continuellement grâce aux architectures complexes qu’il faut maitriser. D’autre part, la complexité des algorithmes de traitement des images est sans cesse en évolution. Si leur exécution sur des calculateurs classiques est maitrisée, cela n’est pas le cas pour tous les nouveaux appareils nomades limités en puissance de calcul. Le développement de ces systèmes embarqués communicants reste alors une tâche complexe qui nécessite plusieurs équipes de spécialistes (en algorithmes, en architecture et en optimisation de l’implantation).

L’objectif principal est de définir une méthodologie permettant à un utilisateur d’implanter, de manière automatique et optimisée, des algorithmes de traitement des images sur des systèmes électroniques complexes. Les avancées sur la méthodologie AAM sont intégrées dans le logiciel PREESM. Ce logiciel est réalisé sous l’environnement de développement Eclipse en collaboration avec Texas Instruments. Cet objectif entre pleinement dans le cadre AAM bien défini au niveau national et au niveau européen. L’équipe intervient d’ailleurs dans l’organisation de journées thématiques dans le cadre du GDR-ISIS.

Dans le cadre de cet objectif, l’IETR participe au groupe de travail RVC au sein de la normalisation MPEG. L’objectif de RVC est de décrire les algorithmes de codage/décodage MPEG à l’aide notamment du langage CAL (modèle flux de donnée hautement expressif) afin de faciliter le développement de produits basés sur les technologies MPEG et de permettre de faire évoluer la norme au fil du temps.

Perspectives :

L’utilisation de la méthodologie AAM et du logiciel PREESM aboutit à une diminution du cycle de développement grâce à une automatisation des tâches complexes telles que le placement/ordonnancement des opérations, la synchronisation ainsi que les transferts de données entre des exécutifs distribués. L’utilisation de la méthodologie sur des applications complexes de traitement des images apporte à l’équipe une expérience dans les domaines du traitement des images, dans les algorithmes de l’AAM ainsi que dans les optimisations pour systèmes embarqués.

De cette expérience viennent naturellement quelques pistes qu’il va falloir approfondir dans les années à venir : l’extension des modèles d’application, l’optimisation des algorithmes de placement/ordonnancement, ainsi que la prise en compte dans le processus des nouvelles architectures SoC.

1 - Extension des modèles d’application

Le processus de prototypage rapide débute par la modélisation de l’application sous la forme d’un modèle flux de données.

Il existe de nombreux modèles flux de données dans la littérature. Certains permettent une grande expressivité et sont alors bien appropriés pour la description d’applications. Cependant, ils ne permettent que difficilement des implémentations multiprocesseurs automatiques (création d’interblocages, non respect de la validité du résultat lors de l’exécution multiprocesseur). D’autres modèles ont une expressivité moindre mais peuvent être utilisés dans des algorithmes de placement/ordonnancement et être exécutés sur des plateformes multiprocesseurs.

L’équipe de l’IETR cherche à permettre aux utilisateurs du logiciel PREESM de modéliser leur application en utilisant les modèles les plus expressifs et à proposer des techniques de transformation automatique vers des modèles adéquats pour l’utilisation d’algorithmes de placement/ordonnancement et pour de la génération automatique de code distribué.

2 - Algorithmes de placement/ordonnancement

La phase de placement consiste à sélectionner et synchroniser les opérations d’un algorithme sur une architecture donnée. Le placement est un problème NP difficile qui ne peut être résolu que par des techniques explorant une partie de l’espace des solutions et espérant trouver le plus rapidement possible la solution optimale. Notre travail consiste à étudier et à améliorer les algorithmes de placement existant comme le « list scheduling » ou les algorithmes génétiques.

3 - Extension de la méthodologie aux systèmes SoC

Nous assistons actuellement à l’émergence de nouvelles solutions matérielles complexes pour les systèmes embarqués : on parle alors de SoC pour system on chip. Ces systèmes doivent généralement s’intégrer, dans des « ASIC » ou des FPGA, des processeurs, des IP matériels/logiciels et des média de communications tels que des NoC (network on chip). Il apparaît ainsi naturel de pouvoir utiliser ces nouvelles architectures comme cible matérielle dans la méthodologie AAM.

Aussi, des travaux ont débuté pour adapter la méthodologie pour des cibles multiprocesseurs embarqués dans un FPGA (µBlaze par exemple). Ces travaux nous amèneront ensuite à étendre la méthodologie pour permettre l’interaction entre des opérations programmées sur ces processeurs embarqués et des IP implantés directement sur les ressources en calcul du FPGA : il s’agit alors de la co-conception d’un système sur FPGA. En outre, l’interaction entre ces processeurs et ces IP pourra se réaliser par un média de communications embarqué de type NoC.

La méthodologie AAM est principalement associée dans nos travaux à des architectures multiprocesseurs. Et, dans la communauté française, d’autres travaux visent à utiliser la méthodologie pour des cibles FPGA (ESIEE, LESTER, IRCCYN ...). Ces travaux pourront donc être menés en collaboration avec ces autres laboratoires. En septembre 2006, une thèse financée par le "Chinese Scholarship Council" débutera sur ce thème dans notre laboratoire.

En savoir plus


Animateur : Olivier Déforges






Départements et équipes de recherche
>
Top