Présentation

Équipe STORM

L’équipe STORM est une équipe-projet conjointe entre Inria, l’Université de Bordeaux, le CNRS et Bordeaux-INP. Elle est hébergée au centre de recherche Inria Bordeaux — Sud-Ouest, à Talence, et est membre du laboratoire LaBRI.
Architecture de STORM
Les actions telles que l’European Exascale Software Initiative (EESI), l’European Technology Platform for High Performance Computing (ETP4HPC), ou l’International Exascale Software Initiative (IESP), ont mis en évidence que la communauté du calcul intensif nécessite de nouvelles interfaces de programmation et nouveaux langages pour exprimer un parallélisme massif, hétérogène, d’une façon proposant une vue abstraite de l’architecture système et offrant efficacité et performances. La même conclusion s’applique aux applications mobiles, embarquées, qui nécessitent des performances sur des systèmes hétérogènes.

L’équipe STORM associe des efforts de recherche sur les langages spécifiques de haut niveau, les supports exécutifs hétérogènes et les outils d’analyse pour permettre aux programmeurs d’obtenir les meilleures performances sur les ordinateurs modernes, de façon portable.

Axes de recherche

  • Langages spécialisés
  • Supports exécutifs pour les plateformes hétérogènes
  • Outils d’analyse de performances

Le parallélisme, dans les objets électroniques du quotidien comme dans les supercalculateurs

Les processeurs parallèles sont désormais utilisés dans tous types d’ordinateurs, depuis les smartphones jusqu’aux supercalculateurs, en passant par l’embarqué. Cette évolution impacte bien évidemment tous les champs d’application, car les gains de performances potentiels ouvrent la voie ả de nouveaux usages, de nouveaux progrès scientifiques et des innovations industrielles. La contrepartie est cependant la difficulté du développement d’algorithmes et de logiciels capable d’exploiter efficacement ce parallélisme.

L’évolution effrénée, le défi de la complexité

Un nombre croissant de cœurs, des processeurs de plus en plus denses, doivent être alimentés avec toujours plus de travail parallèle. Des cœurs de plus en plus spécialisés et diversifiés (accélérateurs, architectures de type big.LITTLE) introduisent de l’hétérogénéité. Les hiérarchies de couches mémoire (niveaux de cache) et de parallélisme matériel (instructions, vecteurs, threads) se creusent, nécessitant des algorithmes structurés en conséquence. La programmation sur des architectures modernes demande donc un niveau d’expertise de plus en plus prohibitif, alors que l’effort onéreux d’optimisation mis en jeux peut rapidement être réduit à néant par le rythme élevé d’évolution du matériel.

Combiner les efforts

Optimisations statiques et méthodes exécutives (Static Optimizations and Runtime Methods). Pour relever le défi de complexité de la programmation parallèle, un ensemble coordonné d’outils et de techniques est nécessaire en amont (compilation), pendant (support exécutif) et en aval (analyse) de l’exécution du programme. C’est précisément selon ces trois axes que l’équipe STORM vise à combiner les efforts: Langages spécialisés (DSL) de haut niveau; Supports exécutifs pour les plateformes hétérogènes; Outils d’analyse de performances.

Les commentaires sont clos.