Sciences et supercalculateurs
Brice Goglin, directeur de recherche en informatique, travaille sur des logiciels utilisés par les supercalculateurs, des ordinateurs ultra-puissants et performants. Ces derniers sont de plus en plus sollicités de nos jours afin de faire avancer les sciences à l’aide de leur grande puissance de calcul. Mais comment utiliser correctement ces gigantesques machines, remplissant une salle entière, qui semblent tout droit sorties d’un roman d’Isaac Asimov ? C’est ce sur quoi travaillent Brice Goglin et ses collègues.
Brice Goglin est directeur de recherche à Inria (Institut national de recherche en science et technologie du numérique), au sein de l’équipe-projet Tadaam du centre Inria Bordeaux – Sud-Ouest. Son travail porte sur l’exploitation des logiciels par les supercalculateurs. Un supercalculateur est un type d’ordinateur conçu pour être le plus performant possible, avec les connaissances et les techniques connues et maîtrisées lors de sa conception. Le principal but que l’on cherche à atteindre lors de la conception est une machine possédant la plus grande vitesse de calcul possible.
Les supercalculateurs sont utiles dans bien des domaines des sciences. On les utilise généralement pour effectuer des calculs très gourmands en ressources et en temps. Brice Goglin nous explique : « C’est avec eux que l’on fait les prédictions météo par exemple. Le but de notre équipe c’est d’aider les scientifiques à utiliser le plus simplement possible les logiciels qui sont sur ces supercalculateurs. Ils nous donnent leurs données et nous faisons les calculs. Ce qui est frustrant c’est qu’on rencontre rarement les équipes avec qui on collabore », confie Brice Goglin.
C’est aussi avec ces supercalculateurs que l’astrophysique fait des progrès, un des exemples les plus récents étant la première photo d’un trou noir, réalisée grâce aux efforts de nombreuses équipes à travers le monde. Cette photo a nécessité le traitement de nombreuses données par un supercalculateur.
Les différences entre un supercalculateur et un ordinateur
Pour mieux comprendre son travail, il va falloir expliquer un peu plus comment fonctionne un ordinateur. Les ordinateurs fonctionnent avec des données en binaire, c’est à dire sous forme de zéros et de uns. Chaque chiffre est ce que l’on appelle un « bit » et peut donc valoir zéro ou un. On regroupe généralement ces bits par groupe de huit, ce qui forme un octet, aussi appelé bytes en anglais. C’est avec cette unité que l’on définit généralement l’espace de stockage de nos disques durs ou de nos clés USB, un disque dur de 500 Go (gigaoctet) peut ainsi stocker 500 milliards d’octets de données.
C’est donc sur ces octets que les ordinateurs effectuent les calculs qui leur servent à faire ce qu’on leur demande de faire. Le nombre d’opérations qu’un ordinateur effectue par seconde nous donne sa vitesse de calcul. Celle-ci dépend de la fréquence de votre processeur et de son nombre de cœurs, nous y reviendrons plus tard. Un ordinateur personnel peut effectuer environ 10 milliards d’opérations par seconde. Un supercalculateur, quant à lui, peut effectuer de 1 à 10 millions de fois plus d’opérations par seconde.
Un supercalculateur ne ressemble pas à un ordinateur comme on pourrait l’imaginer. Il se présente plutôt sous la forme de grandes armoires remplies de serveurs, le tout étant interconnecté. Chaque serveur possède plusieurs processeurs, chacun possédant plusieurs cœurs. Plus un processeur possède de cœurs, plus il peut effectuer d’opérations en simultané. Ainsi, si un processeur a deux cœurs il peut faire deux opérations en simultané, mais s’il en possède huit il pourra alors exécuter huit opérations simultanément.
Optimiser les logiciels
Maintenant que nous avons vu comment est fait un supercalculateur, nous pouvons entrer plus en détail dans le travail de Brice Goglin. Les scientifiques du monde entier utilisent les supercalculateurs avec leur propre logiciel, le but de Brice est que le supercalculateur puisse optimiser l’utilisation de n’importe lequel des logiciels, aussi différents soient-ils. Cela permet d’accélérer les calculs et donc d’économiser de l’énergie, problème important et actuel. « Les scientifiques gagnent du temps sur leurs calculs et l’utilisent afin de faire encore plus de calculs en un même temps donné », rit Brice Goglin.
Mais en quoi consiste cette optimisation, au juste ? Quand un·e scientifique utilise le supercalculateur avec son logiciel, de nombreux calculs se lancent en même temps. Ces derniers ne sont pas indépendants les uns des autres, il s’agit donc d’effectuer les calculs les plus en lien dans les zones les plus proches possibles au sein du supercalculateur. « C’est comme pour un plan de table pour un mariage. », explique Brice Goglin, « On place les invités qui s’entendent le mieux à la même table, à côté les uns des autres. Et pour les personnes qui ne s’entendent pas on les éloigne le plus possible. Pour les calculs c’est pareil. Plus deux processus ont besoin de communiquer plus ils sont proches. S’ils communiquent beaucoup, ils se trouvent dans deux cœurs d’un même processeur, s’ils communiquent moins ils se trouvent dans un même serveur, encore moins et ils sont sur deux serveurs différents d’une même armoire. S’ils ne communiquent pas du tout, ils se situent dans deux armoires différentes ».
Brice Goglin illustre avec un exemple fictif : « Imaginons que l’on veuille calculer les prévisions météo. Les calculs concernant Talence et Pessac seront placés dans deux cœurs d’un même processeur. Comme les deux villes se touchent, il y aura besoin de communication lors du processus pour savoir par exemple le temps qu’il fait là où ces villes se touchent. Par contre les calculs qui concernent Paris se situeront dans une autre armoire car il n’y a pas besoin de communication entre ces calculs et ceux qui concernent Pessac et Talence ». Le chercheur participe donc au développement d’outils permettant au supercalculateur « d’organiser » les calculs, de les répartir afin de faire gagner du temps et de l’énergie.
Interdisciplinarité en sciences
Le travail de Brice Goglin et de l’équipe Tadaam est donc important, sans lui les calculs seraient plus longs et donc le progrès scientifique un peu plus lent. Cela souligne aussi le fait qu’aujourd’hui, la science ne se cantonne pas, et ne doit pas se cantonner, au sein de disciplines fermées. Les différentes branches des sciences doivent communiquer entre elles et s’entraider pour qu’il soit possible de faire avancer les sciences quelles qu’elles soient. La grande majorité des sciences, aujourd’hui, a besoin de l’informatique et de la puissance des supercalculateurs.
La sociologie et la psychologie, par exemple, pour simuler et comprendre les mouvements et le comportement des foules. La biologie et la médecine afin de simuler des modèles d’êtres vivants ce qui permet de réduire l’utilisation de réels êtres vivants, problématique de plus en plus d’actualité. La chimie afin de simuler des réactions chimiques sans avoir à utiliser certains produits potentiellement polluants ou toxiques, qui pourraient être coûteux à traiter. Il existe de nombreux autres exemples et il serait vain d’essayer d’en faire une liste exhaustive tant il y en a.
C’est ce que fait en partie, et à son échelle, Brice Goglin. Il fait avancer son domaine d’étude, ce qui permet en retour de faire avancer d’autres disciplines scientifiques, qui elles-mêmes pourront en faire progresser d’autres. Et qui sait, peut-être que la boucle finira par se refermer en permettant de faciliter les avancées en informatique, d’améliorer les supercalculateurs et leurs logiciels et de permettre à ce cycle vertueux de continuer.
Gwendal SURZUR
« Je n’aurais pas été là si…
… je n’avais pas rencontré les professeurs que j’ai eus, si mes professeurs n’avaient pas su rendre leurs disciplines et leurs domaines intéressants, je n’en serais sûrement pas là aujourd’hui. C’est ce qu’il y a de plus important je crois, de rendre ce que l’on enseigne intéressant pour ses élèves. »