Supercalculateur exaflopique


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 1018 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.
Il n'existe pas de machine Exascale en 2020. Pour atteindre ce niveau, les systèmes informatiques auront besoin d'une refonte complète sur la façon de relever les défis dans différents domaines.
Une course à la puissance est en cours avec des programmes aux États-Unis, en Europe, en Chine et au Japon. Les premières livraisons avec cette capacité de calcul sont annoncées pour 2021 par Cray.
Les missions du supercalculateur exaflopique seront orientées vers la recherche et le développement de plusieurs enjeux de notre société.

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 1018 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 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 de nous aider à améliorer notre compréhension du monde où nous vivons.

Défis majeurs et contraintes

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.

Puissance des processeurs

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.

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 car pour un supercalculateur exaflopique, la chaleur dissipée sera à une grande échelle.

Fiabilité et resilience

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 :

1. 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.

2. 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.

3. 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.

4. 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.

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 américain de l'énergie (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 en cours

Internationale

Bien que la concurrence mondiale pour le leadership en informatique avancée et en analyse de données se poursuit avec des programmes au Ė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 américain de l'énergie (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 :

1. 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;

2. 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 ;

3. 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 nommé « H2020 ». Celui-ci soutiendra trois projets traitant des technologies exascale et postexascale :

1. 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 ;

2. ExaNeSt qui étudiera comment les systèmes de stockage, d'interconnexions et de refroidissement devront évoluer vers Exascale ;

3. 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.

Sources :