HPC : Intel, vers l’exascale et au-delà

La prochaine étape pour les supercalculateurs est l’exascale. Soit la capacité à effectuer un milliard de milliards de calculs chaque seconde. Intel prépare le terrain avec les acteurs du secteur du HPC. En France, Intel, le CEA et l’Université de Versailles Saint-Quentin-en-Yvelines travaillent sur le trio technologies, code et outils logiciels.

La puissance des supercalculateurs ne cesse de croître. Sur la liste de novembre 2016 du Top500 des ordinateurs les plus rapides de la planète, les deux premiers clusters du classement sont chinois. Le premier propose une puissance de calcul de 93 pétaflops, atteinte avec plus de 10 millions de cœurs de processeurs, exigeant une puissance de près de 15,4 mégawatts pour son fonctionnement. Des chiffres qui donnent le tournis.

Second au classement, un autre cluster installé en Chine, d’une puissance de près de 34 pétaflops. Au menu, des puces Intel Xeon E5, assistées de coprocesseurs de type Xeon Phi et d’un total de 1 Po de RAM. Une combinaison 100 % x86, qui montre ici les muscles.

« Le monde du HPC évolue en continu. Tous les dix ans environ il réussit à augmenter sa capacité de trois ordres de grandeur », explique Marie-Christine Sawley, Intel Exascale Lab Director. Une spécialiste du HPC (High-performance computing), qui travaille sur diverses collaborations, dont celle liant Intel au CEA.

Petit historique : le milliard d’instructions par seconde (gigaflops) a été dépassé en 1985 ; les 1000 milliards (téraflops) en 1997 ; le million de milliards en 2008. C’est le fameux cap du pétaflops, aujourd’hui franchi par plus d’une centaine de machines de par le monde. Direction dorénavant vers l’exaflops, soit un milliard de milliards de calculs par seconde. Même si la puissance de crête des applications reste toujours en deçà de la puissance brute, elle croît également de manière importante. De plus, les cas d’usages et les applications du HPC se sont considérablement diversifiés pendant ce laps de temps.

« Nous parlons d’Exascale Machine, nous confie Marie-Christine Sawley. La terminologie a évolué, car nous travaillons désormais à des problématiques d’exaflops et d’exadata. »

Des labs exascale européens proposés par Intel et ses partenaires

Les Intel European Exascale Labs adressent spécifiquement cette problématique. Ces derniers se situent au plus près des grands centres de calcul européens. En Allemagne, l’ExaCluster Lab (ECL) allie Intel, le Jülich Supercomputing Center (JSC) et ParTec GmbH. Le JSC opère deux machines pétaflopiques. Dont une à base de processeurs Intel Xeon E5. Cette alliance allemande couvre de nombreux aspects relatifs aux clusters HPC.

Autre collaboration de recherche, celle menée à Genève en Suisse, avec comme allié le CERN, lequel exploite de très grandes installations telles que le LHC, demandant d’importantes capacités de saisie de données, de stockage et de calcul. Intel et le CERN collaborent sur le sujet spécifique du HTC, « High-throughput computing », où une quantité massive de calculs distincts sont lancés sur un même cluster. Le but est d’explorer l’usage des plateformes telles que KNL, Xeon/FPGA pour les systèmes de saisie et analyse de données directement sur les détecteurs. Le HTC, une approche intéressante pour certains secteurs, par exemple le milieu financier.

Le laboratoire de recherche français Exascale Computing Research (ECR), qui va nous intéresser ici, a été créé en 2010. Cette structure associe Intel, le CEA (Commissariat à l’Énergie Atomique) et l’Université de Versailles Saint-Quentin-en-Yvelines (UVSQ). L’ECR est hébergé au sein de la technopole Teratec située à Bruyères-le-Châtel. L’endroit où se trouve le TGCC (Très Grand Centre de Calcul) du CEA. Lequel accueille le supercalculateur Curie : 1,4 pétaflops de puissance de calcul.

Faire travailler hardware, software et data science ensemble

Marie-Christine Sawley, IntelLe passage à l’échelle de l’exascale ne va pas sans poser des défis. En plus de la puissance elle-même, de nouvelles problématiques liées aux données émergent. Il n’est plus question maintenant de se borner à aligner de la puissance brute en multipliant les serveurs. Il faut collaborer plus que jamais avec l’utilisateur du cluster et les programmeurs. « La synchronisation hardware/software est au cœur du problème », constate Marie-Christine Sawley. Chacun évolue à son propre rythme. Les divergences se payent souvent par une perte d’efficacité ou une performance moindre. D’où l’importance de ces efforts collaboratifs.

C’est dans cet esprit qu’Intel a lancé en 2010 l’Exascale Computing Research (ECR). Objectif : travailler sur le calcul intensif, avec comme cible le passage à l’exascale. Un trio Intel, CEA, UVSQ qui ne doit rien au hasard. Le premier apporte son savoir-faire sur le hardware et le software, le second sa grande expérience sur les systèmes et les applications scientifiques et le troisième une expertise en informatique parallèle. « Une trilogie fournisseur de technologie, de code et d’outils », résume Marie-Christine Sawley. Objectif, créer des outils et méthodes, mais aussi travailler sur le code (modernisation, voire refactorisation), afin de mieux l’adapter aux problématiques HPC. Améliorer la scalabilité et tirer la performance maximale des architectures de calcul. Voilà l’un des buts de l’ECR.

« Le laboratoire travaille en permanence sur 1 ou 2 projets applicatifs, avec des questions pointues à résoudre. Nous avons par exemple travaillé avec les équipes du CEA sur les problématiques logicielles liées à la parallélisation du code pour le Xeon Phi. Le tout en contact direct avec les experts système, » explique notre intervenante Intel.

Aller vers plus de parallélisme

Intel apporte bien entendu son savoir-faire dans le secteur du hardware. Mais aussi ses outils de la suite Parallel Studio. Le code applicatif – souvent Open Source – est directement issu des travaux du CEA ou du CNRS, sur des solutions qui contribuent à irriguer la recherche et le transfert technologique vers l’industrie. Objectif premier ? « Travailler sur les codes et leur passage à l’échelle sur des architectures massives. »

C’est ici qu’entre en jeu l’Université de Versailles Saint-Quentin-en-Yvelines, qui apporte des outils et méthodes de caractérisation des données. L’idée est ici de déterminer avec précision non seulement les besoins en matière de puissance de calcul, mais également en mémoire et bande passante. Ou encore l’optimisation de l’efficacité énergétique du code. « Nous construisons un cercle vertueux entre le hardware, le software et les outils, explique Marie-Christine Sawley. Les outils sont importants pour aider à répondre à la complexité des infrastructures. La compréhension du comportement du code sur des architectures massives par étude paramétrique devient essentielle. »

Chose d’autant plus vraie que la multiplication des cœurs de calcul ne se fait pas seulement au niveau du cluster, mais aussi de plus en plus au sein des serveurs eux-mêmes. Avec les puces Xeon. Mais aussi les Xeon Phi, qui intègrent de nombreuses unités de traitement.

La compatibilité du Xeon Phi avec les outils x86 classiques constitue un avantage décisif. Toutefois, la phase de modernisation du code peut parfois atteindre ses limites lorsqu’il est question de parallélisme massif et de mémoire partagée entre un grand nombre de cœurs. « Le code doit parfois être réécrit, les algorithmes demandant une nouvelle implémentation pour tirer parti de ces architectures, résume notre interlocutrice. Un travail dont on tire profit immédiatement pour le Xeon Phi, mais qui permettra aussi de disposer d’un meilleur code pour les prochaines architectures. La vectorisation du code et l’augmentation du parallélisme inter et intranœud seront en effet bénéfiques sur de multiples éléments des machines du futur. »

Exploiter au maximum les clusters HPC

Mais revenons aux travaux de l’ECR. « Il existe des codes très réguliers qui appliquent le même algorithme de calcul sur un flux de données. Mais souvent le code a des phases très différentes et les demandes varient », constate notre intervenante. Certaines phases demandent du calcul, d’autres de la bande passante et d’autres encore une forte capacité de synchronisation entre unités de calcul.

La tendance est plutôt aux architectures hétérogènes pour répondre à cette problématique. Et si possible avec un maximum possible de points communs. D’où l’adoption du même jeu d’instructions pour les Xeon et Xeon Phi. Un trait d’union entre deux solutions différentes, qui facilitera le passage de l’une vers l’autre.

L’un des enjeux réside également dans une exploitation optimale des capacités du cluster. « Les machines comme le Curie génèrent beaucoup de données d’exploitation (logs, données environnementales, consommation électrique, pannes, etc.). Ces données sont exploitées en mode Big Data pour gérer au mieux l’ensemble. Elles permettent d’exploiter au maximum le cluster. »

Les outils de l’Université de Versailles Saint-Quentin-en-Yvelines offrent également à l’utilisateur final la possibilité d’analyser et d’affiner ses besoins en matière de puissance de calcul. Le but de l’ECR est donc de contribuer à l’écosystème qui travaille au développement de solutions massivement parallèles, performantes et avec une bonne efficacité énergétique. Avec un portefeuille d’outils et de méthodologies éprouvées, quelle que soit la taille du cluster. C’est à ce prix que l’exaflops deviendra une réalité.

Toujours plus de vitesse sur le compute…

Afin de proposer des supercalculateurs plus rapides, il faut tout d’abord s’appuyer sur des processeurs modernes et puissants. Les puces Intel Xeon E5 sont les stars du secteur, avec leur prix étudié, leur capacité à s’intégrer à des cartes-mères biprocesseurs et leurs excellentes performances. De quoi créer des nœuds de calcul abordables et efficaces. Dans les configurations les plus extrêmes, les Xeon E5 v4 proposent jusqu’à 22 cœurs cadencés à 2,4 GHz. 3,6 GHz en mode turbo.

L’adoption d’accélérateurs permettra de booster la puissance de calcul. Dans ce secteur, les Xeon Phi 7200 proposent jusqu’à 72 cœurs par composant, cadencés à 1,5 GHz (1,7 GHz en mode turbo). Avec différentes approches : sous la forme de cartes d’extension ou en tant que processeurs autonomes. Et ce avec la possibilité d’opter pour une solution réseau de type fabric. Sur base Omni-Path.

Pour aller encore plus loin, nous trouvons les FPGA. Des composants dont le comportement hardware est programmable de façon logicielle. Nous perdons ici la compatibilité x86, mais les performances sont extrêmes. « L’intersection entre HPC et FPGA est bien réelle », analyse Marie-Christine Sawley. Il faudra toutefois que l’offre logicielle et la ‘programmabilité’ évoluent pour démocratiser cette approche.

Laurent Grandguillot, HPEDans l’attente, certains marchés font d’ores et déjà appel aux FPGA. Nous pensons ainsi au monde de la finance, où ces composants sont très populaires. « Nous retrouvons essentiellement les FPGA dans le High Frequency Trading (HFT), confirme Laurent Grandguillot, responsable business HPC pour HPE France. Leur utilisation est toutefois montante dans les secteurs de la simulation systémique et du machine learning. »

 

Jacques Cesbron, Intel« Nous avons beaucoup d’engagement dans le secteur du HPC, soit pour faire des accélérations de workloads reconfigurables en fonction des flux, soit pour faire apporter des fonctions de DPI (deep packet inspection) sur le marché de l’intelligence », ajoute Jacques Cesbron, South EMEA PSG Sales Director, Intel. Au fur et à mesure de la croissance des usages, les FPGA devraient se rapprocher de plus en plus des Xeon.

 

 

… et le stockage

Certaines avancées dans le secteur du stockage permettront également de booster les performances des systèmes de type exascale. Lesquels, rappelons-le, combinent des problématiques exaflops et exadata. « Si la data bouge peu, nous pouvons la conserver au plus près du serveur, explique Laurent Grandguillot. Le NVMe a alors vraiment un intérêt. » Les unités de stockage en NVMe sont en effet tellement rapides qu’elles peuvent être accédées à des débits de plusieurs gigaoctets par seconde.

Dans ce secteur, les solutions Optane d’Intel promettent de révolutionner le marché, avec 2400/2000 Mo/s en lecture et écriture, la capacité d’assurer 550.000/500.000 opérations d’entrées/sorties par seconde et des temps de latence de moins de 10 µs. Les Optane SSD DC P4800X sont si véloces qu’ils peuvent être utilisés comme complément de la RAM intégrée aux nœuds de calculs.

Les solutions de stockage non volatile de type Intel Optane vont avoir un impact fort sur le temps d’arrêt et de démarrage des machines, sur l’efficacité énergétique des clusters et sur leur coût, détaille Marie-Christine Sawley. Il va toutefois falloir apprendre à exploiter ces nouvelles technologies. « C’est là la valeur du lab, qui associe technos, code et outils et qui contribue à diffuser ce savoir sous la forme de séminaires et tutoriaux. »

Pour les données qui bougent entre les nœuds du cluster, il faut s’appuyer sur des communications réseau rapides. Optiques, voire photoniques. Deux approches qui sont à l’étude chez Intel comme HPE. Aujourd’hui, Intel propose l’Omni-Path fabric, avec des débits de 100 Gbit/s. Rappelons que les Xeon Phi peuvent directement intégrer une connectivité Omni-Path, ce qui les rend d’autant plus pertinents pour du calcul de hautes performances.