Equipe 4: Calcul Intensif, Haute Performance et Systèmes Embarqués

La progression de la technologie des semi-conducteurs rend techniquement possible l’intégration dans une même puce des systèmes complexes. Cette solution permet d’augmenter les puissances de calcul en intégrant des centaines de processeurs sur les Systèmes sur puces Multiprocesseur MPSoC. Ces derniers sont largement utilisés dans les systèmes embarqués (tels les MPDA, contrôle des engins mobiles etc) , où une fois utilisés dans un domaine ils exécutent les mêmes applications. L’allocation et ordonnancement optimales des tâches les constituant peut être obtenue statiquement (off-line).

Pour concevoir ces systèmes on doit maitriser certains concepts dont certains sont nouveau et très important tels : le co-design, l’approche MDE, flots de conceptions, optimisation multicritères. En plus ces systèmes on les trouves fréquement dans des engins mobiles ou moyens de transport tels les voitures, trains, avions..etc.

La majorité des applications qui tournent sur ces systèmes sont des applications temps réel ou à calcul intensif. Les applications de traitement systématique et intensif sont de plus en plus présentes dans plusieurs domaines. Elles se trouvent aussi bien dans le domaine de calcul scientifique que dans le domaine de traitement de signal intensif (télécommunications, traitement multimédia, traitement d’images et de la vidéo, etc.…). Le développement des systèmes logiciels se base énormément sur ces applications qui occupent une place importante dans le milieu de la recherche scientifique. Les caractéristiques principales de ces applications sont qu’elles effectuent une grande quantité de calculs réguliers, elles opèrent dans des conditions temps réel, et sont généralement complexes et critiques.

Ce projet consiste à participer dans un flot de conception et de développement de SoC. En particulier nous visons la participation dans le flot de conception connu sous le nom GASPARD2 et qui fait partie des méthodes classiques en « Y » pour les SoC. Ce flot a été conçu et implémenter par l’équipe DaRT de l’INRIA avec laquelle nous avons des liens de recherche depuis plusieurs années.

Les applications prises en considération dans ce type de flot sont dites hiérarchiques où des parties font appel au parallélisme de tâches tandis que d’autres partie font appel au parallélisme de données.

Au début des années 70, l’humanité a pris connaissance de la conception par Marcian Hoff du premier microprocesseur commercial Intel 4004. Même si depuis de nombreuses technologies ont été proposées, les microprocesseurs reposent presque tous sur le même principe d’exécution dit Von Newman. La complexité de ces dispositifs est passée de 2250 transistors, pour l’Intel 4004, à des centaines de milliers pour les microprocesseurs actuels. La puissance de traitement elle, a augmenté pendant la même période de 6000 instructions exécutées par seconde à plusieurs milliards pour les processeurs les plus performants. Cette évolution rapide de la technologie informatique représente l’un des plus importants phénomènes techniques depuis plusieurs décennies. C’est elle qui a déclenché cette course, que nous vivons maintenant, à la miniaturisation de tout appareil électronique.

L’exemple le plus illustrant de ce phénomène est la téléphonie mobile. Les premiers systèmes offrant le service de téléphonie mobile ont été introduits au début des années cinquante. A cette époque ils étaient souvent assez gros et avaient une antenne assez importante. Ils étaient limités par une mobilité assez restreinte, une capacité basse, un service réduit et une mauvaise qualité du son en plus de leur prix qui était souvent très élevé. Actuellement, le monde, avec la révolution numérique, est transformé par la création des téléphones mobiles numériques plus petits, plus légers et plus performants. Ces téléphones sont également, de plus en plus multimédia et fournissent une meilleure qualité et un grand nombre de service. Ce qui a permis leur utilisation dans des domaines très variés : pour passer des appels bien sûr, pour prendre des photos, pour écouter la musique, et même pour visualiser des vidéos. De plus, de nos jours, ils offrent des fonctions de traitement d’images impressionnantes qui demandent des puissances de calcul similaire à celle des ordinateurs.

Ce rythme d’évolution effréné provient des avances technologiques des circuits intégrés et de leurs architectures qui ont permis de développer des systèmes informatiques plus petits, plus compacts et plus rapides, grâce en grande partie à la capacité d’intégration de plus en plus élevée. Un type de ces systèmes qui a profité largement de cette évolution est le système embarqué. Les techniques de conception de ces systèmes permettent maintenant de regrouper des systèmes hétérogènes sur la même puce électronique, donnant ainsi naissance à un nouveau paradigme dans les systèmes embarqués : les systèmes sur puce (SoC : System on Chip).

De part leur forte capacité d’intégration, les SoCs offrent des grandes économies en consommation d’énergie et en espace ainsi qu’un gain important en performance. Du fait de ces avantages, les SoCs sont donc souvent intégrés dans des systèmes embarqués afin de remplacer certaines ressources informatiques. Mais on ne peut pas parler uniquement d’avantage sans citer des inconvénients, dont le plus important est la complexité de leur conception. Le risque que le produit final ne corresponde pas à la spécification et les délais de production qui les rend obsolètes avant même leur mise sur le marché, sans oublier la demande toujours croissante en puissance de calcul complique énormément leur conception.

Cet inconvénient, qui est de taille, ne devait pas freiner les industriels et les chercheurs. Ils doivent suivre cette révolution technologique au prix d’énormes efforts en recherche et développement. C’est dans cette optique que plusieurs équipes de chercheur se sont constituées afin de proposer une méthodologie de conception et de développement facile de ces systèmes. Le projet INRIA DaRT en fait partie. C’est dans ce projet que notre travail s’inscrit. L’un des principaux objectifs de cette équipe est la mise en œuvre d’une méthodologie et d’un environnement de développement pour les systèmes sur puce à hautes performances. C'est-à-dire, un cadre unifié pour le développement de ces systèmes en partant de leur modélisation au plus haut niveau d’abstraction jusqu’à la généralisation du code. Notre objcetif est de participer dans ce flot de conception en proposant des solutions aux problèmes d’affectation, d’allocation et d’ordonnancement d’applications temps réel et à calcul intensif sur des architectures embarquées.

    Email : lapeci@univ-oran.dz. Téléphone : 0770 31 42 55. Fax : 041 29 02 65.