vignette|redresse=1.5|Supercalculateur Summit (ou OLCF-4) développé par IBM pour une utilisation au Oak Ridge National Laboratory. Puissance : , nombre de nœuds : .
Les supercalculateurs exaflopiques (Exascale computing en anglais) sont des ordinateurs de type supercalculateur fonctionnant selon une architecture massivement parallèle et dont la puissance de calcul dépasse . La machine décompose les tâches à effectuer en millions de sous-tâches, dont chacune d'entre elles est ensuite réalisée de manière simultanée par un processeur.
Une course à la puissance est en cours avec des programmes aux États-Unis, en Europe, en Chine et au Japon. Depuis le classement du TOP500 de , 3 machines Exascale sont référencées. Il s'agit des machines Frontier, El Capitan et .
Les missions du supercalculateur exaflopique seront orientées vers la recherche et le militaire.
Supercalculateurs exaflopiques
Définition Les supercalculateurs exaflopiques (Exascale computing) sont des superordinateurs (High-Performance Computing ou HPC) qui ont une puissance de calcul de l'ordre de (un exaflop = un milliard de milliards d’opérations en virgule flottante par seconde). Ces machines sont une collection de microprocesseurs fortement connectés entre eux, dont chacun d'eux se caractérise par une fréquence d’horloge élevée et se compose de plusieurs cœurs de calcul. Pour concevoir des superordinateurs très performants, les constructeurs jouent simultanément sur le nombre de microprocesseurs, le nombre de cœurs, la fréquence d’horloge et l'association des processeurs graphiques. L'idée fondamentale derrière le HPC est le calcul en parallèle qui consiste à distribuer plusieurs segments d’une équation complexe sur plusieurs processeurs afin de les calculer simultanément. Un supercalculateur se compose de milliers de nœuds, un nœud étant la brique de base constituée d'un assemblage de plusieurs microprocesseurs. Une capacité élevée de calcul nécessite un espace de stockage en conséquence qui atteint plusieurs pétaoctets (dix pétaoctets sur Summit d'IBM par exemple). En plus de la vitesse de pointe, ils doivent disposer aussi d'un environnement logiciel qui facilite son utilisation efficace et productive.
Les coûts de recherche et développement pour créer un système informatique exaflopique ont été estimés par de nombreux experts à plus d'un milliard de dollars américains, avec un coût d'exploitation annuel de plusieurs dizaines de millions de dollars.
Les deux applications principales des supercalculateurs sont le calcul haute performance (CHP, High Performance Computing en anglais), et l’analyse des données complexes. Initialement, l'utilisation des supercalculateurs était limitée à certaines applications particulières telles que les simulations simples, l'ingénierie, le pétrole et le gaz en raison du coût énorme des systèmes HPC. Puis elle s'est élargie dans divers domaines tels que l'exploration de données, les recherches sur le climat, la santé, l'automobile, la physique, l'astrophysique, la mécanique des fluides numérique ou encore la nanotechnologie moléculaire. Ces futurs moyens permettront de réaliser des découvertes à travers un large spectre de domaines scientifiques afin d'aider à améliorer notre compréhension du monde où nous vivons.
Enjeux Les progrès dans la compréhension de certains problèmes scientifiques sont souvent associés à l'évolution des informatiques. Des capacités supérieures aux systèmes petascale aideront les scientifiques à concevoir des modèles et exécuter des simulations de problèmes complexes. La simulation numérique est une démarche essentielle de la recherche scientifique en complément de la théorie et de l’expérimentation. Elle est aussi une partie prenante des cycles de conception et de production dans de nombreuses filières industrielles. Ces machines permettent une conception et une optimisation multidisciplinaires, réduisant le temps et les coûts de prototypage.
Les leaders comme les États-Unis, la Chine, l'Europe et le Japon rivalisent entre elles pour se doter des machines les plus puissantes. Les enjeux relèvent de la politique de souveraineté et de sécurité individuelle et collective. Les politiques énergétique, prévention des risques naturels et de défense s’appuient sur les apports de la simulation et du calcul haute performance.
Écosystème 300px|vignette|Computational science ecosystem. Le CMOS (Complementary Metal Oxide Semiconductor) a permis aux performances des circuits microélectroniques de croître de façon exponentielle à coût constant. La fin d'une croissance exponentielle spectaculaire des performances d'un seul processeur marque la fin de la domination du microprocesseur unique en informatique. L'informatique séquentielle cède la première place au parallélisme.
Bien que l'informatique haute performance ait bénéficié des mêmes avancées en matière de semi-conducteurs que l'informatique de base, les performances durables des systèmes HPC se sont améliorées plus rapidement en raison de l'augmentation de la taille du système et du parallélisme. Le nombre de cœurs du système devrait atteindre plusieurs millions de cœurs de calcul.
Dans les années 1980, la superinformatique vectorielle dominait l'informatique haute performance, comme en témoignent les systèmes nommés du même nom conçus par Seymour Cray. Les années 1990 ont vu la montée du traitement massivement parallèle (MPP : Massively Parallel Processing) et des multiprocesseurs à mémoire partagée (SMP : Shared Memory Multiprocessors) construits par Thinking Machines Corporation, Silicon Graphics et d'autres. À leur tour, des grappes de produits (Intel / AMD x86) et de processeurs spécialement conçus (comme BlueGene d'IBM) ont dominé les . La décennie suivante, ces clusters sont complétés par des accélérateurs de calcul sous la forme de coprocesseurs d'Intel et d'unités de traitement graphique (GPU) de Nvidia ; ils comprennent également des interconnexions à haut débit et à faible latence (comme Infiniband). Les réseaux de stockage (SAN) sont utilisés pour le stockage de données persistantes, avec des disques locaux sur chaque nœud utilisé uniquement pour les fichiers temporaires. Cet écosystème matériel est optimisé en priorité pour les performances, plutôt que pour un coût minimal. Au sommet du matériel du cluster, Linux fournit des services systèmes, complétés par des systèmes de fichiers parallèles (tels que Luster) et des planificateurs de lots (tels que PBS et SLURM) pour la gestion des travaux parallèles. MPI et OpenMP sont utilisés pour le parallélisme entre nœuds et internœuds, optimisé de bibliothèques et d'outils (tels que CUDA et OpenCL) pour une utilisation en coprocesseur. Des bibliothèques numériques (telles que LAPACK et PETSc) et des bibliothèques spécifiques au domaine complètent la pile logicielle. Les applications sont généralement développées en FORTRAN, C ou C++.
Il y a deux types de conceptions architecturales : conception basée sur des systèmes avec des nœuds hétérogènes : elle se caractérise par des nœuds combinant des processeurs puissants avec des accélérateurs (GPU) ; conception du système basée sur des nœuds homogènes : les caractéristiques de base de cette conception sont un grand nombre de nœuds plus petits, chacun avec un pool de cœurs homogènes et un seul niveau de mémoire.
Performance La course mondiale à la construction de superordinateurs toujours plus grands et plus puissants a conduit au fil des années à la création d'une pléthore d'architectures différentes et a entraîné diverses « révolutions ». Cette course a été enregistrée au fil des années dans la liste des supercalculateurs TOP500, où les supercalculateurs les plus puissants construits jusqu'à présent sont classés en fonction des performances maximales en virgule flottante (Site internet TOP500). En général, la vitesse des superordinateurs est mesurée et comparée en FLOPS, et non en MIPS (en millions d'instructions par seconde), comme les ordinateurs à usage général. Pour exprimer les performances globales d'un système informatique, on utilise le Linpack benchmark qui permet d'estimer la vitesse à laquelle l'ordinateur résout les problèmes numériques. Cette référence est largement utilisée dans l'industrie. La mesure FLOPS est soit citée sur la base des performances théoriques en virgule flottante d'un processeur (« Rpeak » dans les listes TOP500), soit par la dérivée des Linpack benchmark (« Rmax » dans la liste TOP500).
Les performances de Linpack donnent une indication pour certains problèmes du monde réel, mais ne correspondent pas nécessairement aux exigences de traitement de nombreuses autres charges de travail d'un supercalculateur, qui peuvent par exemple nécessiter la prise en compte de la bande passante, ou encore des systèmes I/O.
Défis majeurs et contraintes Pour atteindre le niveau Exascale, les systèmes informatiques auront besoin d'une refonte complète sur la façon de relever les défis dans les domaines du coût, de la puissance, de l'efficacité du calcul, de la résilience et de la tolérance aux pannes, du mouvement des données à travers le réseau et, enfin, des modèles de programmation.
Puissance des processeurs
Depuis les années 1990, la croissance rapide des performances des microprocesseurs a été rendue possible grâce à trois moteurs technologiques clés : la mise à l'échelle de la vitesse des transistors, les techniques de microarchitecture et les mémoires caches. Vers 2004, les puces ont cessé de s'accélérer lorsque les limitations thermiques ont mis fin à la mise à l'échelle des fréquences (également appelée mise à l'échelle de Dennard). Le progrès en miniaturisation a été mis au service du parallélisme massif. Pour augmenter la puissance des supercalculateurs, la tendance est à la multiplication des cœurs de calcul au sein des processeurs.
Pour l'architecture d'un nœud de calcul, certains privilégient l’utilisation des processeurs graphiques (GPU), qui servent normalement au rendu réaliste des jeux vidéo. La puissance de ces processeurs repose sur l’utilisation de plusieurs centaines de cœurs de calculs organisés selon une architecture simplifiée, SIMD (pour Single Instruction Multiple Data), où toutes les unités exécutent en parallèle une même tâche, mais sur des données différentes. D’autres misent plutôt sur le parallélisme d’un grand nombre de cœurs généralistes dont les performances seront boostées par l’ajout d’unités dites « vectorielles » qui opèrent sur des registres de au lieu de 64 habituellement. On réalise ainsi huit fois plus de calculs par cycle. Cette nouvelle architecture proposée par Intel a été baptisée « MIC » (Many Integrated Cores). Les GPU ou les MIC jouent ainsi le rôle d’accélérateur de calcul et permettent d’améliorer l’efficacité énergétique.
The National Strategic Computing Initiative (NSCI) propose des axes de recherche stratégiques, le premier étant d'accélérer la livraison d'un système informatique exascale. Cet objectif peut être atteint sur la base de l'évolution continue de la technologie des transistors CMOS et des technologies plus récentes comme la photonique au silicium et l'intégration de mémoire 3D. L'émergence d'un dispositif basse tension à haute performance pourrait considérablement assouplir les contraintes de production d'énergie et de chaleur qui limitent le calcul.
Mémoire, interconnexion et refroidissement
Dans le régime de calcul Exascale, le coût énergétique des mouvements de données entre la mémoire et le pipeline FPU devrait dépasser le coût d'une opération en virgule flottante. Cela nécessite des interconnexions écoénergétiques, à faible latence et à large bande passante afin de permettre les échanges de données entre les processeurs. Il faudra intégrer dans un seul et même composant électronique plusieurs fonctions telle que les mémoires et les interconnexions.