# Supercalculateur exaflopique

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 10$^{18}$ flops. 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 top 500 de juin 2022, une machine Exascale est référencée. Il s'agit de la machine Frontier équipée de plus de 8 millions de cœurs de calcul.
Les missions du supercalculateur exaflopique seront orientées vers la recherche.

## 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 10$^{18}$ flops (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

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 années 2000. 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 — une centaine par processeur — dont les performances seront boostées par l’ajout d’unités dites « vectorielles » qui opèrent sur des registres de 512 bits 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. Le but étant de réduire la distance physique entre les composants et de s'assurer que les éléments de calcul exploitent pleinement la localité physique avec le stockage$^,$.

#### Mémoire

La minimisation du mouvement des données et la réduction de la consommation d'énergie dépendent également des nouvelles technologies de mémoire, y compris la mémoire du processeur, la mémoire empilée et les approches de mémoire non volatile$^,$$^,$.
La SRAM peut être intégrée à une logique CMOS hautes performances, permettant une intégration plus rentable de grandes quantités de mémoire logique par rapport à la DRAM et flash sur la même puce.

#### Interconnexion

Le réseau de communication d'un supercalculateur interconnecte des milliers de nœuds. Pour les machines exaflopiques, il faudra cette fois relier entre eux dix fois plus de nœuds que les machines pétaflopiques. La façon dont ces éléments informatiques sont connectés les uns aux autres (topologie du réseau) a un fort impact sur de nombreuses caractéristiques de performance. Il existe de nombreuses topologies possibles pour construire des systèmes parallèles, tels que le tore, l'arbre classique ou encore le Dragonfly. Pour être efficace en Exascale, les communications devront s'effectuer de façon complètement autonome sans faire intervenir les cœurs des processeurs dédiés aux calculs. L'enjeu est de développer de nouvelles architectures de réseaux d’interconnexions intimement intégrés aux nœuds de calcul.

#### Refroidissement

L’énergie électrique consommée par un calculateur est transformée en grande partie en chaleur (effet Joule), ce qui nécessite l’installation de systèmes de refroidissement qui sont également gourmands en énergie. L'infrastructure de refroidissement est généralement conçue pour un fonctionnement aux puissances maximales des systèmes HPC déployés. Les concepteurs doivent innover pour concevoir des systèmes plus efficaces.

### Fiabilité et résilience

Idéalement, les systèmes seraient homéostatiques, s'adaptant aux pannes matérielles et logicielles sans intervention humaine et continuant de fonctionner jusqu'à ce que le nombre de pannes devienne trop important pour atteindre les objectifs de performance.Étant donné que les composants défaillants sont périodiquement remplacés, le système HPC ne se dégrade jamais au point que les utilisateurs remarquent.
Avec l'augmentation de la complexité et du nombre de nœuds dans les systèmes HPC au fil du temps, la probabilité que les applications connaissent des échecs d'exécution a considérablement augmentée$^,$. Les machines exaflopiques, qui contiendront plusieurs millions de cœurs de calcul, seront sujettes à plusieurs pannes par heure$^,$$^,$. La résilience systémique face aux défaillances régulières des composants sera essentielle$^,$.
Les erreurs matérielles, également appelées erreurs permanentes, dépendent d'une stratégie d'atténuation différente des erreurs Logicielles. Ces erreurs peuvent être partiellement corrigées en incorporant des composants redondants ou de rechange. Par exemple, la construction de cœurs supplémentaires qui reste inactif, mais peut être mise en service pour remplacer tout processeur défaillant.
Le taux d'erreur fait référence aux erreurs transitoires qui affectent le temps moyen entre les interruptions d'application. Le Mean Time to Identify (MTTI) est tout échec qui nécessite une action corrective de l'application par opposition aux erreurs qui sont cachées à l'application par un mécanisme de résilience dans le matériel ou le logiciel.
Tous les protocoles basés sur des points de contrôle reposent sur l'enregistrement périodique de l'état d'exécution du système et le redémarrage à partir d'un état sans erreur antérieur après l'occurrence d'une défaillance.
Daniel Dauwe, Sudeep Pasricha, Anthony A. Maciejewski et Howard Jay Siegel proposent une comparaison de quatre protocoles de résilience HPC qui utilisent les points de contrôle :

#### Checkpointing and Restarting

Le point de contrôle est la technique de résilience la plus utilisée par les HPC. Elle consiste à noter l’état de tous les programmes en cours d’exécution sur un périphérique de stockage(comme le système de fichiers parallèles). Cela se fait en arrêtant le système à intervalles réguliers.

#### Multilevel Checkpointing

Étant donné que différents types de défaillances peuvent affecter un système informatique de différentes manières, toutes les défaillances ne nécessitent pas le redémarrage du système à partir d'un point de contrôle. Multilevel Checkpointing exploite cela en fournissant plusieurs niveaux de point de contrôle. Chaque niveau offre un compromis entre le temps nécessaire au point de contrôle, au redémarrage et le niveau de gravité de l'échec à partir duquel le système peut reprendre le calcul.

#### Message Logging

Cette technique consiste à enregistrer les messages envoyés entre processus pour générer des captures de l’exécution des programmes qui seront réparties sur l’ensemble des mémoires du système. En cas de panne cela va permettre au nœud défaillant d’utiliser les messages stockés dans la mémoire d’un autre nœud pour la récupération. Cette méthode a pour avantage de réduire le temps du recalcule et d'économiser de l'énergie car seul le nœud défaillant est actif, le reste du système peut rester inactif jusqu’à la récupération.

#### Redundancy

La technique de la redondance est utilisée pour améliorer la fiabilité d’un système. Cette méthode peut être mise en œuvre au niveau du matériel ou logiciel et elle permet de réaliser plusieurs copies du même morceau du code. L’inconvénient reste l’utilisation de ressources supplémentaires.

### Parallélisation à très large échelle

Le parallélisme a provoqué une révolution dans les performances de l'ordinateur. Celui-ci a été introduit dans les années 1990 et est toujours à l'étude pour traiter les systèmes informatiques Exascale ciblés.
Avec plusieurs millions de cœurs de calcul$^,$, le défi sera de paralléliser à l’extrême les calculs, c’est-à-dire de les diviser en un très grand nombre de sous-calculs exécutés par les cœurs des processeurs. Il faudra répartir les tâches équitablement entre les cœurs pour permettre aux machines d’être performantes. Cela pose des questions en termes de programmation qui nécessite une nouvelle approche de programmation parallèle à faible consommation d'énergie pour atteindre des performances massives. Il faut des modèles de programmation plus expressifs capables de gérer ce procédé et de simplifier les efforts du développeur tout en prenant en charge un parallélisme dynamique et à grain fin. La programmation de tels futurs systèmes massivement parallèles et hétérogènes ne sera pas anodine, et les modèles de programmation et les systèmes d'exécution devront être adaptés et repensés en conséquence$^,$.
Les chercheurs Usman Ashraf, Fathy Alburaei Eassa, Aiiad Ahmad Albeshri et Abdullah Algarni présentent un hybride MPI + OMP + CUDA (MOC), un nouveau modèle de programmation parallèle massif pour les systèmes de cluster hétérogènes à grande échelle. Ils annoncent « une accélération asymptotique allant jusqu'à 30 %-40 % par rapport aux meilleures implémentations sur multiprocesseurs hétérogènes et des GPU Nvidia accélérés ».
Le projet ECOSCALE vise à fournir une approche holistique pour une nouvelle architecture hiérarchique hétérogène à haut rendement énergétique, un environnement de programmation hybride MPI + OpenCL et un système d'exécution pour les machines exascale.

### Softwares, middlewares et algorithmes

Depuis novembre 2017, les 500 superordinateurs les plus rapides au monde s'exécutent sur des systèmes d'exploitation basés sur Linux.
Les machines exaflopiques, qui contiendront plusieurs millions de cœurs de calcul, seront sujettes à plusieurs pannes par heure$^,$. Les logiciels devront donc être capables de distribuer au mieux les tâches à effectuer entre tous les cœurs de calcul en réduisant au maximum le mouvement des données. Ils devront également sauvegarder les données au cours de l’exécution des calculs pour que celles-ci ne soient pas perdues si un composant de la machine tombe en panne$^,$.
Les applications ayant beaucoup d'échanges ou de synchronisations entre leurs sous-tâches sont dites fine-grained, c'est-à-dire à grain fin, celles qui ont au contraire peu d'échanges et de synchronisations sont dites coarse-grained, c'est-à-dire à gros grain. L'informatique exascale exigera une grande demande en algorithmes dans au moins deux domaines : la nécessité d'augmenter les quantités de données locales pour effectuer efficacement les calculs et la nécessité d'obtenir des niveaux beaucoup plus élevés de parallélisme à grain fin, car ces systèmes prennent en charge un nombre croissant de fil d'instruction. En conséquence, les algorithmes parallèles doivent s'adapter à cet environnement, et de nouveaux algorithmes et implémentations doivent être développés pour exploiter les capacités de calcul du nouveau matériel.
Les nouvelles conceptions logiciels et systèmes d'exploitation devront prendre en charge la gestion des ressources hétérogènes et des hiérarchies de mémoire non cohérentes avec le cache, fournir aux applications et à l'exécution plus de contrôle sur les politiques de planification des tâches et gérer les espaces de noms globaux. Ils doivent également exposer des mécanismes de mesure, de prévision et de contrôle plus précis de la gestion de l'énergie, permettant aux ordonnanceurs de mapper les calculs aux accélérateurs spécifiques à la fonction et de gérer les enveloppes thermiques et les profils énergétiques des applications.
Une collaboration devrait naître des spécialistes des mathématiques appliquées qui développent des outils de calcul numérique et des informaticiens spécialistes du calcul haute performance qui conçoivent des logiciels pour permettre d'exploiter au mieux les caractéristiques matérielles de ces nouvelles architectures massivement parallèles.
De nouveaux langages et modèles de programmation au-delà de C et FORTRAN seront utiles. Les fonctionnalités de programmation trouvées dans Chapel et X10 ont déjà eu un effet indirect sur les modèles de programmes existant(tels que OpenMP). Ces derniers ont profité des extensions pour les exemples suivants: le parallélisme des tâches, les accélérateurs et l'affinité des threads. Les langues spécifiques au domaine (DSL) (Domain Specific Language) se spécialisent dans un domaine d'application particulier, représentant un moyen d'étendre la langue de base existante. Les DSL intégrés sont un moyen pragmatique d'exploiter les capacités sophistiquées d'analyse et de transformation des compilateurs pour les langages standards.
La répartition de charge est un défi à prendre en compte. L'unité d'équilibrage de charge répartit la charge de traitement entre les systèmes informatiques disponibles afin que le travail de traitement soit effectué dans un minimum de temps. La répartition de charge peut être implémenté avec un logiciel, du matériel ou une combinaison des deux.
Un développement significatif du modèle, une refonte de l'algorithme et une réimplémentation des applications scientifiques, soutenus par un ou des modèles de programmation adaptés à l'exascale, seront nécessaires pour exploiter la puissance des architectures exascales. Il s'agira de systèmes basés sur une architecture homogène ou hétérogène. Par conséquent, nous avons besoin d'un modèle de programmation hybride adaptatif qui peut traiter à la fois des systèmes d'architecture homogènes et hétérogènes$^,$.

### Consommation énergétique

Le supercalculateur pétaflopique Titan introduit en 2012 dans les laboratoires nationaux d'Oak Ridge avec une consommation de neuf mégawatts (MW) et une puissance de pointe théorique de vingt-sept pétaFLOPS a généré une facture d'électricité annuelle d'environ neuf millions de dollars. Les coûts très élevés incluant l’installation des infrastructures et d’entretien deviennent des facteurs prédominants dans le coût total de possession (TCO) d’un superordinateur$^,$$^,$$^,$. Le coût énergétique de ces plates-formes au cours de leur durée de vie utile, généralement de trois à cinq ans, pourrait rivaliser avec leur coût d'acquisition.
Power Usage Effectiveness (PUE) est une mesure bien établie pour évaluer l'efficacité énergétique des centres de données. Intuitivement, le PUE mesure la fraction d'énergie fournie à une installation qui alimente l'équipement informatique réel. Par conséquent, afin de rendre un centre de données plus économe en énergie, et donc de réduire sa valeur PUE, il faudrait s'attaquer à tous les facteurs influençant la consommation d'énergie : l'infrastructure de refroidissement (P$_{cooling}$) ; les systèmes HPC déployés jusqu'à la gestion des ressources et la planification et l'optimisation des applications (P$_{IT}$) ; les pertes de puissance dues à la distribution et à la conversion électrique (P$_{electricalLosses}$) ; et à la consommation d'énergie diverse P$_{misc}$.
    $PUE={\frac {P_{\text{Total}}}{P_{\text{IT}}}}={\frac {P_{\text{cooling}}+P_{\text{IT}}+P_{\text{electricalLosses}}+P_{\text{misc}}}{P_{\text{IT}}}}$
Ces conclusions ont également commencé à influencer la conception et le déploiement des HPC, pour réduire leur PUE.
Un supercalculateur Exascale avec la même technologie que sur les machines pétaflopiques entraîneraient des consommations de pointe de plus de 100 MW, avec une conséquence immédiate sur le coût de gestion et d'alimentation$^,$$^,$. La puissance requise par Exascale computing de dizaines de mégawatts rend la gestion de la consommation d'énergie beaucoup plus difficile par rapport aux systèmes qui prennent en charge de nombreux petits travaux.
Pour concevoir des machines exaflopiques, il faut relever le principal défi qui est d’être capable de réduire les importants coûts de consommations énergétiques de ces plates-formes$^,$. Des pionniers du HPC tels que le département de l'Énergie des États-Unis (US DoE), Intel, IBM et AMD ont défini une limite maximale de consommation électrique d'une machine Exascale de l'ordre de 25–30 MW$^,$$^,$. Avec par exemple une consommation d'énergie cible de 20 MW, il faudrait une efficacité énergétique de ∼20 pJ / Op.
Pour atteindre l'objectif de puissance attendue il est nécessaire d'avoir une amélioration significative de l'efficacité énergétique du système informatique, entraînée par un changement à la fois dans la conception matérielle et le processus d'intégration$^,$.

## Projets et recherches
### Internationale

Bien que la concurrence mondiale pour le leadership en informatique avancée et en analyse de données se poursuit avec des programmes aux Ėtats-Unis, en Europe, en Chine et au Japon ; il existe une collaboration internationale active. Le projet international de logiciel Exascale (IESP) en est un exemple en informatique avancée. Grâce au financement des gouvernements du Japon, de l'UE et des États-Unis, ainsi qu'à des contributions des parties prenantes de l'industrie, l'IESP a été créé pour permettre la recherche en science et ingénierie à ultra-haute résolution et gourmande en données jusqu'en 2020. L'équipe internationale de l'IESP a développé un plan pour un environnement de calcul commun pour les systèmes pétascale / exascale.

### États-Unis

Les États-Unis sont un leader international de longue date dans la recherche, le développement et l'utilisation de l'informatique haute performance (HPC). Une série d'activités est née en 2016 de l’ordre du National Strategic Computing Initiative(NSCI), dont la plus importante est l'initiative de calcul exascale (ECI). Il est dirigée par le département de l'Énergie des États-Unis (DoE) qui est un partenariat entre l'Office of Science et la National Nuclear Security Administration (NNSA). L'objectif est d'accélérer les projets de recherche, de développement, d'acquisition et de déploiement afin de fournir une capacité informatique exascale à ses laboratoires du début au milieu des années 2020.
ECI s'occupe de la préparation des installations informatiques et de l'acquisition de trois systèmes exascale distincts :
* Aurora : le département américain de l'Énergie a annoncé le 18 mars 2019 qu'Intel et Cray construiraient le premier supercalculateur exascale aux États-Unis. Il sera livré au laboratoire national d'Argonne en 2021. Le système comprendra plus de 200 armoires Shasta, la pile logicielle unique de Cray optimisée pour les architectures Intel, l'interconnexion Cray Slingshot, ainsi que des innovations technologiques Intel de prochaine génération dans les technologies de processeur de calcul, de mémoire et de stockage$^,$ ;
* Frontier : il sera construit par AMD et Cray pour le laboratoire national d'Oak Ridge, le contrat est évaluée à plus de 600 millions de dollars et la livraison est prévue en 2021. Le système sera basé sur l'architecture Shasta, l'interconnexion Slingshot de Cray, un processeur AMD Epyc hautes performances et la technologie GPU AMD Radeon Instinct. Frontier fournira de nouvelles capacités d'apprentissage en profondeur, d'apprentissage automatique et d'analyse de données pour des applications allant de la fabrication à la santé humaine ;
* El Capitan : US DoE, NNSA et le laboratoire national Lawrence Livermore ont annoncé le 13 aout 2019 la signature d'un contrats avec Cray pour la construction de ce supercalculateur. Ses performances maximales atteindront plus de 1,5 exaFLOPS et sa livraison est prévue pour fin 2022. Il sera utilisé pour effectuer les évaluations critiques nécessaires pour faire face à l'évolution des menaces à la sécurité nationale et à d'autres fins telles que la non-prolifération ou la lutte contre le terrorisme nucléaire$^,$.

### Chine

En 2015, selon le classement de TOP500, le supercalculateur chinois Tianhe-2 était le plus rapide au monde. Il contient 16 000 nœuds. Chaque nœud possède deux processeurs Intel Xeon et trois coprocesseurs Intel Xeon Phi, une interconnexion haute vitesse propriétaire, appelée « TH Express-2 ». Il est conçu par l'université nationale de technologie de défense (NUDT).
En 2010, Tianhe-1 est entré en service. Il effectue diverses tâches comme l'exploration pétrolière, la fabrication d'équipements haut de gamme, la médecine biologique et la conception d'animations, et sert près de 1 000 clients.
Selon le plan national pour la prochaine génération d'ordinateurs haute performance, la Chine développera un ordinateur exascale au cours de la 13e période du plan quinquennal (2016-2020). « Le gouvernement de la nouvelle zone de Tianjin Binhai, l'université nationale de technologie de défense (NUDT) et le Centre national de superordinateurs de Tianjin travaillent sur le projet, et le nom du supercalculateur sera Tianhe-3 », a déclaré Liao Xiangke, le directeur de l'école d'informatique de l'NUDT. Les nouvelles machines auront une vitesse de calcul deux cents fois plus rapide et une capacité de stockage cent fois supérieure à celle du Tianhe-1.

### Europe

La Commission européenne et 22 pays d'Europe ont déclaré leur intention d'unir leurs efforts dans le développement des technologies et des infrastructures HPC grâce à un projet de recherche européen. Celui-ci soutiendra trois projets traitant des technologies exascale et postexascale :
* ExaNoDe qui a pour principe d'appliquer de nouvelles technologies d'intégration 3D et de conception matérielle, associées à la virtualisation des ressources et au système de mémoire UNIMEM ;
* ExaNeSt qui étudiera comment les systèmes de stockage, d'interconnexions et de refroidissement devront évoluer vers Exascale ;
* ECOSCALE qui vise à fournir une approche holistique pour une nouvelle architecture hiérarchique hétérogène à haut rendement énergétique, un environnement de programmation hybride MPI + OpenCL et un système d'exécution pour les machines exascale.
La combinaison de ces trois projets vise à couvrir l'ensemble de l'image d'une machine HPC Exascale d’ici 2020.

### Japon

En mai 2019, Fujitsu et l'institut de recherche japonais Riken ont annoncé que la conception du supercalculateur post-K était terminée, pour une livraison en 2021. Le nouveau système sera doté d'un processeur A64FX basé sur ARMv8-ASVE à 512 bits. Il s'agit d'un processeur haute performance conçu et développé par Fujitsu pour les systèmes exascale. La puce est basée sur un design ARM8. Ce processeur équipe une grande majorité des smartphones et abrite 48 cœurs de traitement complétés par quatre cœurs dédiés aux entrées-sorties et aux interfaces. Il peut gérer jusqu'à 32 Go de mémoire par puce. Le système sera équipé d'un processeur par nœud et de 384 nœuds par rack, soit un pétaflop par rack. Le système au complet sera constitué de plus de 150 000 nœuds. Le Post-K doit succéder, vers 2021, au K-Computer, qui équipe depuis septembre 2012 l’institut de recherche Riken à Kobe.

### Exemple d'étude complète

AMD Research, Advanced Micro Devices, Department of Electrical and Computer Engineering et l'université de Wisconsin-Madison proposent une étude complète d'une architecture qui peut être utilisée pour construire des systèmes exascale : «Une architecture conceptuelle de nœud exascale (ENA), qui est le bloc de calcul pour un supercalculateur exascale. L'ENA se compose d'un processeur hétérogène Exascale (EHP) couplé à un système de mémoire avancé. L'EHP fournit une unité de traitement accélérée hautes performances (CPU + GPU), une mémoire 3D à large bande passante intégrée et une utilisation massive des technologies d'empilement de matrices et de puces pour répondre aux exigences de l'informatique exascale de manière équilibrée.
Une architecture de nœud Exascale (ENA) en tant que bloc de construction principal pour les machines exascale. L'ENA répond aux exigences de calcul exascale à travers :
* une unité de traitement accéléré (APU) haute performance qui intègre des GPU à haut débit avec une excellente efficacité énergétique requise pour les niveaux de calcul exascale, étroitement couplée à des processeurs multicœurs haute performance pour les sections de code série ou irrégulières et les applications héritées ;
* utilisation massive des capacités d'empilement de matrices qui permettent une intégration dense des composants afin de réduire les frais généraux de déplacement des données et d'améliorer l'efficacité énergétique ;
* une approche basée sur des puces qui dissocie les composants de traitement essentiels aux performances (par exemple, les CPU et les GPU) aux composants qui ne s'adaptent pas bien à la technologie (par exemple, les composants analogiques). Cette méthode de fabrication permet de réduire les coûts et réutiliser la conception dans d'autres segments de marché ;
* mémoires multi-niveaux qui améliorent la bande passante en intégrant la mémoire 3D, qui est empilée directement au-dessus des GPU ;
* techniques avancées de circuits et techniques de gestion active de la puissance qui permettent de réduire l'énergie avec peu d'impact sur les performances ;
* mécanismes matériels et logiciels pour atteindre une résilience et une fiabilité élevées avec un impact minimal sur les performances et l'efficacité énergétique ;
* cadres de concurrence qui exploitent l'écosystème logiciel Heterogeneous System Architecture (HSA) et Radeon Open Compute Platform (ROCm) pour prendre en charge les applications nouvelles et existantes avec des performances élevées et une productivité élevée des programmeurs.

## Exemples d'utilisation
### Big data et intelligence artificielle

Les acteurs des télécoms et de l’internet comme les GAFA (Google, Apple, Facebook et Amazon) sont amenés quotidiennement à gérer une quantité gigantesque de données. Fortement en lien avec le Cloud et le Big Data dans leurs grands datacenters, le calcul intensif trouve sa place dans le traitement de ces données massives.

### Sécurité nationale

La simulation numérique du fonctionnement d’une arme nucléaire peut être réalisée à l’aide d’un supercalculateur ou encore obtenir des certificats et des évaluations pour garantir que les stocks nucléaires du pays sont sûrs, sécurisés et fiables.

### Biologie et biomédecine

L'informatique exascale accélérera la recherche sur le cancer en aidant les scientifiques à comprendre la base moléculaire des interactions protéiques clés et en automatisant l'analyse des informations provenant de millions de dossiers de patients cancéreux pour déterminer les stratégies de traitement optimales. Il permettra également aux médecins de prédire les bons traitements pour le patient en modélisant les réponses médicamenteuses.
Dans la biologie, il sera possible de simuler dans le détail le fonctionnement des membranes des cellules vivantes pour mieux comprendre comment les médicaments pénètrent dans la cellule et agissent. Le séquençage du génome requiert aujourd’hui une exploitation et un stockage de quantités massives de données génétiques. L'exascale computing sera un développement nécessaire pour soutenir les efforts de recherche en cours des biologistes computationnels. De suivre le rythme de la génération de données expérimentales à permettre de nouveaux modèles multiphysiques multi-échelles de processus biologiques complexes. La science informatique continuera d'évoluer et, à terme, de transformer la biologie d'une science observationnelle à une science quantitative.
Plus généralement, les défis biologiques et biomédicaux couvrent l'annotation et la comparaison des séquences, la prédiction de la structure des protéines ; simulations moléculaires et machines à protéines ; voies métaboliques et réseaux de régulation ; modèles et organes de cellules entières ; et les organismes, les environnements et les écologies.

### Découverte scientifique

Les modèles informatiques des phénomènes astrophysiques, à des échelles temporelles et spatiales aussi diverses que la formation du système planétaire, la dynamique stellaire, le comportement des trous noirs, la formation galactique et l'interaction de la matière noire baryonique et putative, ont fourni de nouvelles perspectives sur les théories et complété les données expérimentales.
La cosmologie, la physique des hautes énergies et l'astrophysique font partie des sciences qui cherchent à comprendre l'évolution de l'univers, les lois qui régissent la création et le comportement de la matière. Ils dépendent des modèles informatiques avancés, ainsi le supercalculateur exaflopique sera un accélérateur dans ces différentes recherches.

### Simulation avancée et modélisation industrielle

Les HPCs permettent de reproduire, par la modélisation et la simulation, des expériences qui ne peuvent pas être réalisées en laboratoire quand elles sont dangereuses, coûteuses, de longue durée ou très complexes. La simulation numérique a permis à Cummins de construire de meilleurs moteurs diesel plus rapidement et à moindre coût, Goodyear pour concevoir des pneus plus sûrs beaucoup plus rapidement, Boeing pour construire des avions plus économes en carburant et Procter & Gamble pour créer de meilleurs matériaux pour les produits domestiques.
Le but est de faciliter et encourager l’accès aux PME au HPC pour leur permettre de simuler des phénomènes plus globaux, de limiter ou remplacer des expériences, de raccourcir la phase de test ou de traiter des données pléthoriques et hétérogènes. Le recours au calcul intensif sert à la compétitivité des PME.

### Énergie

La fusion nucléaire pourrait constituer une source d’énergie majeure. Pour enclencher la réaction au sein d’un réacteur nucléaire, l’un des enjeux majeurs sera de confiner la chaleur dégagée par le phénomène bien au centre de la machine. Les phénomènes sont complexes et font appel à un jeu d’équations mathématiques qui génèrent un volume important de données à traiter. Les simulations numériques avec les supercalculateurs exaflopique permettront de faire un pas important dans cette direction.
L'énergie solaire sera rendue plus rentable grâce à la découverte de matériaux qui convertissent plus efficacement les rayons solaires en électricité.
L'énergie éolienne, grâce à la capacité de simulation prédictive validée pour le cycle de conception, permettant à l'industrie de réduire le temps de développement de moteurs et turbines efficaces.

### Prédiction météorologique

La compréhension du climat et de ses variations passées, actuelles et à venir est l’un des enjeux scientifiques majeurs du XXIe siècle. Dans cette quête, la simulation est devenue un outil indispensable. Cette démarche permet, en effet, de mieux comprendre les mécanismes qui régulent le climat et ainsi de faire des prévisions sur des échelles de temps allant de la saison à quelques siècles, dans le cas des scénarios de changement climatique$^,$.
En 2018, les prévisions à cinq jours étaitent aussi précises que les prévisions à quatre jours dix ans avant. Cette amélioration remarquable est possible avec une puissance de calcul d'environ cinq pétaFLOPS. Ces prévisions permettent aux gouvernements, aux secteurs public et privé de planifier et de protéger la population ou les biens. Ceci permet de réaliser des milliards de dollars d'économies chaque année.
L'Europe occupe la tête des prévisions météorologiques mondiales à moyenne portée depuis les années 1980. United Kingdom Meteorological Office et Météo-France possèdent des supercalculateurs qui sont classés dans le TOP500. Météo-France prévoit fin 2020 un supercalculateur sur la plateforme Sequana XH2000, développée par Bull (filiale du groupe Atos) d'une puissance de calcul théorique de 20,78 pétaFLOPS.
Les modèles de prévision météorologique exaflopique seront en mesure de prédire avec plus de précision et de rapidité le moment et la trajectoire des événements météorologiques graves tels que les ouragans. Cela sera possible grâce une résolution spatiale beaucoup plus élevée, en incorporant plus d'éléments physiques et en assimilant plus de données d'observation. Ces avancées sont essentielles pour prévoir suffisamment de temps pour les évacuations et les mesures de protection par exemple$^,$.
L'un des objectifs est de développer une architecture de référence dans les années à venir qui permettront aux modèles météorologiques et climatiques mondiaux de fonctionner à une résolution horizontale de 1 km avec un débit de 1 SYPD (les meilleurs centres de prédiction en 2018 exécutent des simulations à une résolution spatiale de 10 à 15 km). Mal reproduits, voire absents dans les modèles climatiques existants, les phénomènes à petite échelle, qui jouent pourtant un rôle important, peuvent ainsi être pris en compte$^,$.