Opensource/Logiciel libre

Un logiciel Inria dans le supercalculateur le plus rapide du monde

Date:
Mis à jour le 08/09/2022
Le supercalculateur américain Frontier, classé depuis mai 2022 en tête du TOP500 des machines les plus puissantes au monde, doit en partie ses performances au logiciel hwloc d’Inria. Il passe pour la première fois la barrière mythique de l’exaflop, soit 1 milliard de milliards d’opérations par seconde !
Reflet d'un homme dans un écran lié rempli de lignes de code
© Inria / Photo H. Raguet

Un supercalculateur qui occupe une salle de 700 m2

Installé dans le laboratoire d’Oak Ridge (Tennessee) du ministère américain de l’Énergie, Frontier occupe une salle de 700 m2, consomme 21 mégawatts d’électricité et doit être refroidi par 350 pompes qui injectent plus de 22 m3 d’eau par minute.

Mais c’est sa vitesse qui fait vibrer la communauté internationale du calcul haute performance, ou HPC (High Performance Computing) : en une seconde, il réalise 1,1 milliard de milliards d’opérations (addition, soustraction, multiplication ou division de nombres à 20 chiffres). Au-delà de la barrière mythique de l’exaflop (1 milliard de milliards de calculs/seconde), qu’il est le premier à franchir officiellement.

Une architecture matérielle dernier cri

« Tous les deux ou trois ans, un nouveau supercalculateur s’installe en haut du TOP500, explique Brice Goglin, directeur de recherche dans l’équipe-projet TADaaM du centre Inria de l'université de Bordeaux. C’est rarement dû à une révolution matérielle. Parfois c’est seulement un savant dosage de processeurs, cartes graphiques et réseaux pas encore disponibles dans le commerce. » Précision importante : certains États disposent peut-être de supercalculateurs plus puissants… mais gardent leur existence secrète.

Pourquoi Frontier est-il si rapide ? D’abord, parce qu’il utilise le nec plus ultra des processeurs de calcul et cartes graphiques les plus récents. Ensuite, parce que les 145 kilomètres de câbles d’interconnexions entre ses 9400 serveurs (!) constituent un réseau savamment conçu pour accélérer les transferts de données. Enfin, dans ces serveurs, les connexions entre processeurs ont été optimisées. « C’est la clé de la performance, explique Brice Goglin. Le goulot d’étranglement n’est pas le calcul lui-même, mais le temps d’acheminement des données. »

hwloc d’Inria, un standard du monde du HPC

De plus, Frontier bénéficie de la dernière version du logiciel hwloc d’Inria, créé en 2009 par les chercheurs du centre Inria de l'université de Bordeaux et devenu un standard du monde du HPC. « hwloc décrit l’architecture matérielle de la machine et localise physiquement chaque ressource : processeur, carte graphique, mémoire… Ainsi, on peut distribuer au mieux les tâches de calcul parallèle d’un programme. Exemple : si deux tâches doivent échanger beaucoup de données, on les exécute dans des processeurs placés à proximité l’un de l’autre. »

hwloc fonctionne un peu comme s’il suggérait à un général, avant une bataille, une répartition et un mode de communication optimaux entre troupes au sol, artillerie et aviation. À ceci près qu’il ne s’agit pas de diriger une armée, mais d’exécuter un programme informatique de haute complexité. Au passage, les concepteurs dudit programme n’ont pas à le réécrire chaque fois qu’ils changent de supercalculateur : hwloc fait le travail pour eux !

Hwloc
© Inria / Photo H. Raguet

Six mois de travail pour s’adapter à Frontier

Pour développer la version 2.8, qui propulse Frontier au sommet de la hiérarchie mondiale, Brice Goglin a échangé pendant six mois d’innombrables emails avec AMD et HPE Cray, les groupes industriels qui ont conçu ce supercalculateur. « hwloc est un logiciel open source et nous expliquons les raisons de chaque modification de son code. Or, les fournisseurs apportent des technologies dernier cri. Et parfois, ils ne pouvaient pas encore divulguer certains détails. »

Pourtant, il était essentiel de connaître ces secrets de fabrication. Notamment pour décrire la façon dont les processeurs (capables d’effectuer tout type de calculs), cartes graphiques (très rapides pour les opérations simples et répétitives) et cartes réseau (qui envoient les données à d’autres serveurs) sont connectés dans les 9 400 serveurs.

Au-delà du mur de l’exaflop, des applications à l’exascale

En effet, la vitesse de circulation des données est si décisive qu’elle repose sur des interconnexions très spécialisées. « Comme si au lieu d’alimenter une usine en eau via un point d’entrée unique, on connectait séparément au réseau public le circuit incendie, la climatisation, les sanitaires et les équipements de production. L’installation est plus complexe, mais l’eau arrive plus rapidement là où elle est nécessaire. »

Frontier, qui pousse cette idée à son paroxysme, devait être finement modélisé pour mieux distribuer les tâches et les données. Les concepteurs de hwloc ont relevé le défi, avec à la clé ce nouveau record de vitesse mondial.

Dans quelques mois, le supercalculateur sera ouvert à la communauté scientifique. Le franchissement du mur de l’exaflop rend possibles des calculs jusqu’ici inenvisageables. La prochaine étape sera l’exascale, c’est-à-dire l’atteinte de ces performances sur des applications complexes : valider les lois fondamentales de la nature, simuler le fonctionnement du cerveau, analyser la structure de molécules et de protéines, étudier la fusion et la fission nucléaires, analyser les mécanismes du dérèglement climatique… Une liste non limitative.