Sites Inria

English version

Equipe de recherche CAPS

Compilation, architectures parallèles et système

  • Responsable : Andre Seznec
  • Centre(s) de recherche : CRI Rennes - Bretagne Atlantique
  • Domaine : Algorithmique, programmation, logiciels et architectures
  • Thème : Architecture et compilation
  • Partenaire(s) : Université Rennes 1,Ecole normale supérieure de Cachan,CNRS,Institut national des sciences appliquées de Rennes
  • Collaborateur(s) : Institut de recherche en informatique et systèmes aléatoires (IRISA) (UMR6074)

Présentation de l'équipe

L'équipe-projet CAPS a pour objectif d'étudier les concepts à la fois matériels et logiciels entrant dans la conception des systèmes hautes performances.

Les performances théoriques des calculateurs croissent régulièrement. Cependant cet accroissement des performances de crête se poursuit au prix d'une complexité matérielle de plus en plus élevée. Ainsi, de nombreux niveaux de parallélisme sont présents sur le matériel, et l'obtention de performances élevées nécessite l'exploitation simultanée de tous ces niveaux par les applications. La mise au point des applications pour la performance devient de plus en plus une activité de haute technologie.

Les recherches menées au sein de l'équipe-projet CAPS visent à exploiter de manière efficace les différents niveaux de parallélisme présents dans les applications et sur les architectures tout en masquant la complexité des matériels et systèmes à l'utilisateur.

Axes de recherche

  • Architecture: Nos recherches en architecture de processeurs visent à améliorer le comportement de la hiérarchie mémoire et augmenter le parallélisme d'instructions présenté au matériel. Ainsi, de nouvelles structures matérielles d'antémémoires sont étudiées afin de réduire les pénalités engendrées par les accès à la mémoire principale. D'autre part, nous étudions de nouveaux mécanismes de prédiction de branchements afin d'augmenter le parallélisme d'instructions soumis au matériel par un processus. Cependant, nous explorons aussi l'approche orthogonale, dite multiflot simultané où les instructions présentées aux unités d'exécution sont issues de plusieurs processus différents.

  • Compilation: L'obtention de performances sur un processeur passe aussi par une maîtrise logicielle du parallélisme d'instructions et de la hiérarchie mémoire. C'est pourquoi, nous étudions des techniques logicielles d'optimisation de code visant à détecter et à exploiter la localité des accès à la mémoire. Des techniques de réordonnancement de code (pipeline logiciel, déroulage de boucles,...) sont aussi développées afin de soumettre un parallélisme d'instructions important au matériel. Ces techniques sont appliquées aussi bien aux processeurs généraux qu'aux processeurs enfouis (multimédia par exemple).

  • Environnements de développement: Afin de masquer à l'utilisateur la complexité logicielle de l'optimisation pour la performance, il convient de lui fournir des outils adaptés pour cette optimisation dans des environnements de développement. Une partie importante de notre activité est consacrée au développement de tels environnements.

Relations industrielles et internationales

Les recherches en architecture et compilation de l'équipe-projet CAPS sont soutenues par STmicroelectronics, Thomson Multimedia et Intel à travers le financement de thèses. L'équipe-projet CAPS participe au projet MEDEA+ MESA en collaboration avec STmicroelectronics ainsi qu'à l'ARC INRIA HIPSOR en collaboration avec l'équipe-projet CODES de l'INRIA Paris - Rocquencourt.

Mots-clés : Multiprocesseur Microprocesseur Antémémoire Optimisation de code Localité Évaluation de performance Exécutif Réseau de stations de travail

Suivez Inria tout au long de son 50e anniversaire et au-delà !