Calcul haute performance

L'essentiel sur : le calcul haute performance

Date:
Mis à jour le 02/12/2021
En permettant de résoudre des problèmes vastes et complexes en beaucoup moins de temps et à moindre coût que le calcul traditionnel, le HPC (calcul haute performance) est depuis plus de trente ans un élément essentiel de la recherche universitaire et de l'innovation industrielle. Définition, applications et enjeux, Inria fait le point sur ce domaine indispensable face aux nombreux défis de la société actuelle.
Visualisation de traces d'éxécution d'un programme
© Inria / Photo H. Raguet

Qu’est-ce que le calcul haute performance ?

Le calcul haute performance, aussi appelé HPC pour High Performance Computing représente la capacité d’effectuer des calculs complexes et des traitements de données massives, et ce à très grande vitesse, en combinant la puissance de plusieurs milliers de processeurs.

Plus concrètement et par comparaison : un ordinateur équipé d'un processeur de 3 GHz peut effectuer environ 3 milliards de calculs par seconde, tandis qu’une solution HPC peut, elle, effectuer plusieurs quadrillions de calculs par seconde (un quadrillion est égal à un million de trillions).

Apparu dans les années soixante pour soutenir la recherche gouvernementale et universitaire, le calcul haute performance permet d'explorer et de trouver des réponses à certains des plus grands défis mondiaux dans les domaines de la science, de l'ingénierie et des affaires, mais aussi de traiter efficacement des ensembles de données toujours plus nombreux et vastes. Les grandes industries se sont par ailleurs penchées dès les années soixante-dix sur le sujet, pour accélérer le développement de produits complexes dans des secteurs tels que l'automobile, l'aérospatiale, l’exploration pétrolière et gazière, les services financiers et l’industrie pharmaceutique.

Comment fonctionne le HPC ?

Le calcul haute performance repose sur trois principaux composants : la machine, le logiciel et les applications.  

Pour construire une architecture de calcul haute performance, les serveurs de calcul (appelés nœuds) sont mis en réseau sous forme de grappes, pour former ce que l’on appelle un cluster. Les programmes logiciels et les algorithmes sont exécutés simultanément sur les serveurs d’une même grappe, pour leur permettre d’opérer en parallèle. Le cluster est mis en réseau avec le stockage de données afin de sauvegarder les résultats. Ensemble, ces composants fonctionnent de manière transparente pour accomplir un ensemble de tâches diverses.

En d’autres mots, les superordinateurs qui permettent d’effectuer le calcul haute performance contiennent les mêmes éléments que des ordinateurs de bureau classiques (processeurs, mémoire, disque, système d'exploitation), mais chaque élément est plus puissant, et ils sont en beaucoup plus grand nombre.

Pour fonctionner au maximum de ses performances, chaque composant doit opérer en rythme avec les autres. Par exemple, le composant stockage doit être en mesure de transférer les données vers les serveurs de calcul et de les récupérer dès qu’elles sont traitées. De même, le composant réseau doit pouvoir supporter le transfert rapide des données entre les serveurs de calcul et le stockage des données. Dans le cas contraire, les performances de l’infrastructure HPC sont amoindries.

Exascale, le futur du HPC ?

Aujourd'hui, les superordinateurs sont capables d'effectuer plus de 1015 (au moins un million de milliards) opérations par seconde. Une performance appelée pétascale. Quelques systèmes haut de gamme dépassent 1017 - c’est-à-dire au moins cent millions de milliards - opérations par seconde (performance dite "pré-exascale").

La prochaine génération, baptisée Exascale, devrait pouvoir effectuer plus d'un milliard de milliards (1018) de calculs par seconde. Une performance qui devrait être atteinte d’ici quelques années.   

« Actuellement la machine la plus puissante du monde, qui est au Japon, fait un-demi Exascale », indique Emmanuel Jeannot, délégué scientifique d'Inria Bordeaux – Sud-Ouest, avant d’ajouter « mais pour l’atteindre, cela nécessite de concevoir de très grosses machines… Il faut l’imaginer, cela représente des dizaines de milliers de processeurs assemblés (le supercalculateur japonais Fugaku comporte exactement 158 976 processeurs), dans une même salle. »

À quoi sert le calcul haute performance ?

Des intérêts divers

Les principaux avantages du HPC résident dans sa capacité à traiter de manière extrêmement rapide des données dont la taille et la quantité générées augmentent de manière exponentielle, mais aussi dans le fait qu’il offre la possibilité de créer des simulations extrêmement détaillées (comme dans le cas d’essais autour d’accidents automobiles), éliminant ainsi le besoin de tests physiques et réduisant les coûts liés à ces tests.

« Le calcul HPC est une technologie majeure, utile aux scientifiques (astrophysiciens, climatologues, épidémiologistes, biologistes, géologues, etc.) comme aux ingénieurs de l’industrie », explique dans un récent article Bérenger Bramas, chercheur au centre Inria Nancy – Grand Est et pilote du programme de recherche Texas, avant d’ajouter : « certaines simulations, par exemple en météorologie, nécessitent des puissances de calcul importantes, voire hors du commun. Elles ne peuvent être réalisées que sur des supercalculateurs, des ordinateurs capables de réaliser plusieurs millions de milliards d’opérations de calcul par seconde ».

Inria impliqué dans huit projets européens autour du HPC

Les enjeux autour du HPC sont tels que l’Union européenne a mis sur pied avec des États-membres et des partenaires privés une initiative conjointe baptisée EuroHPC. Elle cofinance des projets de recherche de pointe sur le développement, le déploiement et la maintenance de supercalculateurs européens de classe mondiale.

Inria a participé à ses deux derniers appels à projets, en janvier et juillet 2020. L’institut est désormais partenaire de huit des projets retenus.

De nombreux domaines d’application 

Du suivi d’une tempête en développement à l’évaluation d’un risque sismique en passant par l’analyse des tests de nouveaux traitements médicaux, c’est en effet grâce à la manière dont sont traitées les données que les découvertes scientifiques révolutionnaires sont faites, que les innovations qui changent la donne sont alimentées et que la qualité de vie est améliorée pour des milliards de personnes dans le monde.

De nombreux secteurs peuvent ainsi, aujourd’hui, s’appuyer sur le calcul haute performance pour innover : l’aérospatial (simulation autour des flux d’air sur les ailes des avions, par exemple), l’automobile (apprentissage automatique des voitures à conduite autonome, fabrication et tests de nouveaux produits, ou encore tests de sécurité), la finance (analyse de risques complexes, modélisation financière ou bien détection de fraude), ou encore l’énergie (localisation des ressources).

Mais les deux domaines dans lesquels le calcul haute performance montre des résultats plus que probants sont la médecine et la météorologie. Dans le premier, le HPC permet aujourd’hui de tester plus rapidement de nouveaux médicaments, créer des vaccins, développer des traitements innovants ou encore comprendre les origines et l'évolution des épidémies et des maladies. Dans le second, le calcul haute performance est utilisé, au-delà de prévisions à quinze jours que nous connaissons tous, pour prévoir et simuler, avec d’autres modèles mathématiques plus gourmands en capacités de calcul, l’évolution à court, moyen et long terme du climat.

Quels sont les défis du HPC ?

L’intérêt des entreprises et des institutions pour le calcul haute performance est tel que son marché mondial devrait dépasser les 60 milliards de dollars en 2025, selon le cabinet Intersect360.

Cependant, le calcul haute performance est aujourd’hui confronté à plusieurs défis, à commencer par celui de la consommation énergétique. « Un supercalculateur consomme énormément, de l’ordre de dizaines de mégawatts pour les plus gros. À titre de comparaison, une tranche nucléaire, en moyenne, représente une puissance de 1000 mégawatts électriques, ou 1 gigawatt électrique », explique Emmanuel Jeannot.

Pour répondre à cette problématique, plusieurs solutions ont déjà été avancées, comme étudier en amont la scalabilité des calculs. « Dans bon nombre de situations, le besoin d’un résultat "immédiat" n’est pas justifié ; le calcul peut ainsi être exécuté sur un nombre limité de cœurs de calcul. Ainsi, quelques heures ou jours de patience peuvent permettre une économie substantielle », indiquent des chercheurs dans une publication.

« La communauté s’est fixé comme objectif de ne pas utiliser plus de vingt mégawatts pour faire fonctionner une machine. C’est ça qui a notamment retardé l’arrivée de l’Exascale », ajoute Emmanuel Jeannot. 

Autre point : l’important coût de fonctionnement des machines, à la fois pour leur alimentation, mais aussi pour leur refroidissement. Une problématique de financement qui amène les États, particulièrement en Europe, à s’associer les uns aux autres. L'ampleur des ressources et des investissements financiers nécessaires à la réalisation d'un écosystème HPC durable de niveau Exascale est désormais si importante que les pays de l’Union européenne doivent s’allier pour le financer.

Enfin, l’écosystème HPC se retrouve aujourd’hui confronté à un problème de passage à l’échelle. Aujourd’hui, seulement quelques dizaines d’applications le font. « On construit des grosses infrastructures, très couteuses et très énergivores, pour des applications peu nombreuses mais extrêmement stratégiques », pointe Emmanuel Jeannot, qui précise cependant que « les infrastructures HPC sont aussi conçues pour exécuter plusieurs applications, ce qui permet des gains très importants en efficacité ».

Deux questions à… Emmanuel Jeannot, délégué scientifique à Inria Bordeaux – Sud-Ouest

  • Où en est la recherche française dans le domaine du HPC ?

Pour faire du calcul haute performance, il faut être bon à la fois dans les mathématiques appliquées et dans l’informatique, deux domaines dans lesquels la France est très bien positionnée au niveau mondial.

Nous avons, par exemple, une grosse expertise en mathématiques appliquées sur la modélisation physique comme la mécanique des fluides, les ondes (électromagnétiques ou dans les matériaux complexes) , etc. et la manière dont on peut simuler ces phénomènes sur de grosses machines.

En ce qui concerne la partie informatique (les logiciels), la France est bien présente dans deux champs stratégiques qui sont d’une part la manière dont peuvent être programmées les applications et d’autre part la façon dont sont utilisées au mieux les ressources qui composent un supercalculateur. Chez Inria, notamment, nous avons plusieurs équipes très bien placées sur la résolution de systèmes linéaires, comme Hiepacs à Bordeaux, ROMA à Lyon, ou encore Alpines à Paris. Nous sommes également bien placés, en France, dans le domaine de la programmation à base de tâches, mais aussi sur la gestion des ressources matérielles (faire fonctionner le réseau, utiliser la mémoire…) et sur la question de la vie de la donnée.

Enfin, la France est très impliquée dans la recherche autour des aspects liés à l’énergie, et plus particulièrement l’optimisation de l’utilisation des supercalculateurs d’un point de vue énergétique. 

Globalement, en France, recherche et industrie travaillent de manière rapprochée autour des questions liées au HPC. Inria a par exemple récemment signé un accord-cadre avec Atos, dans lequel figure un volet HPC. Les équipes Inria travaillent actuellement sur une feuille de route qui comprend des sujets de recherche stratégiques autour du HPC, autant pour Inria que pour Atos.

  • Quelles sont les perspectives du HPC, à l’échelle européenne ?

Aujourd’hui, l’Europe ne fait pas partie du trio de tête de la course aux plus gros supercalculateurs. Mais j’aime dire que ça n’est pas parce qu’une Formule 1 va très vite en ligne droite qu’elle sera efficace sur des circuits compliqués. L’Europe a plutôt fait le choix de construire des machines qui ne sont pas forcément les plus puissantes, mais adaptées à des applications plus réalistes, dont nous avons vraiment besoin.

Ce qu’il faut comprendre, c’est qu’il y a bien évidemment une compétition mondiale, mais que l’objectif final de la recherche est surtout de faire avancer les choses. En tant que chercheur, on collabore aussi bien au niveau européen que mondial. C’est un monde dans lequel on développe beaucoup en open source. Les chercheurs Inria y contribuent et travaillent avec leurs homologues, étrangers ou industriels. Le JLESC, porté entre autres par Inria, est un bon exemple de collaboration mondiale autour du HPC, puisqu’il regroupe les acteurs majeurs du domaine pour permettre d’échanger sur le sujet.

Un enjeu important pour l’Europe est aujourd’hui de maitriser la pile logicielle. L’initiative EuroHPC a pour objectif de renforcer la recherche européenne dans ce domaine-là : on maitrise de très nombreuses briques logicielles que l’on souhaite consolider.