Une modélisation des ressources pour mieux distribuer les tâches de HPC
Imaginez une carte du monde dont les noms des villes et les frontières auraient été effacés et sur laquelle on vous demanderait de localiser toutes les ressources naturelles disponibles pour une activité donnée. La tâche serait ardue, n'est-ce pas ? C'est un peu la même chose avec les infrastructures de calcul haute performance (HPC) et les serveurs et PC ordinaires, eux aussi de plus en plus compliqués, si l'on en croit Brice Goglin et Samuel Thibault, les concepteurs du logiciel hwloc (Portable Hardware Locality).
« Le logiciel hwloc, dont les prémices remontent à ma thèse, a été créé pour faciliter l'identification et la localisation de chacune des ressources d'un supercalculateur (cœurs de processeurs, mémoire cache, périphériques…), explique Samuel Thibault, chercheur au sein de l'équipe-projet Inria Storm (optimisation statique et méthodes d’exécution). Grâce à cette description préalable de l’architecture matérielle, on peut ensuite distribuer au mieux les tâches de calcul parallèle d’un programme. »
Un logiciel open source devenu un standard
Avec ce logiciel libre et portable (qui fonctionne sur n'importe quel matériel), mis à disposition par le Centre Inria de l'université de Bordeaux depuis 2009, Samuel Thibault développe des fonctionnalités qui permettent d'analyser la structuration de ce qui doit être calculé et la meilleure allocation possible des tâches. Ses recherches actuelles portent principalement sur les "supports d'exécution", autrement dit des logiciels d'optimisation destinés aux applications parallèles (celles qui exécutent des tâches simultanément, en s'appuyant sur plusieurs processeurs).
Un travail complété par celui de Brice Goglin, directeur de recherche au sein de l'équipe TADaaM et spécialiste des réseaux, des mémoires et des architectures parallèles. « Les machines sont complexes, avec souvent plusieurs processeurs et des dizaines de cœurs, souligne ce chercheur. Le logiciel hwloc apporte une abstraction qui permet de s'assurer que la solution s'exécute au mieux, sans avoir à analyser ou à comprendre les caractéristiques du matériel. Le logiciel est indépendant des équipements, ce qui facilite son utilisation avec un grand nombre de solutions. » Et son caractère libre s’avère essentiel aux yeux des chercheurs et chercheuses. « C'est un bien commun, qui peut être téléchargé et enrichi aussi bien par des particuliers que par des industriels comme Intel, AMD ou Dell, afin qu'ils puissent assurer la compatibilité de leurs équipements avec hwloc et les logiciels qui l'utilisent », résume ainsi Samuel Thibault.
Embarqué dans le supercalculateur Frontier, le plus puissant au monde
Très rapidement, ce logiciel a trouvé son public et ce, sur toute la planète. « hwloc a dès le départ été adoubé par Jeff Squyres, qui travaille sur les communications haute performance chez Cisco, relate Brice Goglin. Il l'a intégré à la bibliothèque Open MPI dont il était chargé, et qui est composée d'outils visant à accélérer les échanges de données liées aux processus dans les supercalculateurs. Il s‘est produit ensuite un effet boule de neige. Toutes les distributions MPI utilisent aujourd'hui hwloc, de même que toutes les piles logicielles HPC des mondes académique et industriel, et plusieurs logiciels dérivés du système Unix, tel Apache Traffic Server » (une solution améliorant les performances des serveurs web).
Autre marque de reconnaissance et non des moindres : le logiciel est embarqué depuis 2022 dans le supercalculateur américain Frontier, considéré comme le plus puissant au monde. La capacité de cette gigantesque machine de calcul parallèle est supérieure à l’exaflop, soit 1 milliard de milliards d’opérations par seconde. « Pour obtenir des résultats de ce type, chaque microseconde est capitale, relève Brice Goglin. Le logiciel hwloc, que nous avons ici adapté à un processeur conçu sur mesure par AMD, a aidé les industriels à trouver des optimisations. » Et ce succès ne demande qu'à être répété… Actuellement, des développements sont aussi en cours pour améliorer la prise en charge des processeurs hybrides, mélangeant des cœurs classiques et des cœurs économes en énergie, et celle des nouvelles mémoires hétérogènes, mixant la mémoire classique et celle qui est par exemple associée aux processeurs graphiques. L’aventure scientifique hwloc est donc loin d’être close.
Pourquoi faut-il faire de la recherche ?
Verbatim
Je suis fier de mon métier et je dis souvent aux jeunes ingénieures et ingénieurs ou aux doctorantes et doctorants que la recherche s’avère une activité passionnante, qui offre de nombreux avantages. Il est ainsi gratifiant de faire des découvertes qui ont un impact sur la société. Souvent, nous travaillons sur des sujets complexes, sans but précis au départ, mais qui nous conduisent par la suite à concevoir des innovations qui présentent une vraie utilité.
Directeur de recherche Inria
Verbatim
Je pense qu'il faut s'engager dans la recherche et particulièrement dans la recherche publique, qui nous offre une forte liberté dans le choix des sujets sur lesquels nous travaillons. Il me semble aussi très gratifiant de participer à des travaux dont les résultats bénéficient au grand public et ne restent pas enfermés au sein d'une entreprise spécifique.
Professeur des universités et chercheur au Centre Inria de l'université de Bordeaux
En savoir plus
- Le site dédié au logiciel hwloc.
- Une application permettant de tester hwloc sur un portable Android.
- Un logiciel Inria dans le supercalculateur le plus rapide du monde, Inria, 5/7/2022.
- Le premier supercalculateur exaflopique au monde est américain, L’Usine digitale, 30/5/2022.
- Vers une meilleure maîtrise des architectures de processeurs avec hwloc 2.0, Inria, 21/2/2018.
- Le programme de recherche NumPEx : l'exascale pour répondre aux défis sociétaux ? Inria, 28/2/2023.