M2-RISE - Systèmes distribués et grille Eléments d architecture des machines parallèles et distribuées Stéphane Vialle Stephane.Vialle@supelec.fr http://www.metz.supelec.fr/~vialle Notions d architecture de machines parallèles et distribuées Architecture des CPU multicoeurs Loi de Moore électronique et ré-interprétation informatique Réseaux d interconnexion des machines parallèles Refroidissement des machines parallèles Du Petaflops à l Exaflops 2 Architecture des CPUs multicoeurs Depuis 2004 les CPU sont multi-cœurs (suite à la réinterprétation de la loi de Moore), ce qui signifie : de plus en plus de cœurs par «socket» (processeur) la puissance d un cœur reste stable (n évolue plus) beaucoup de cœurs partagent la RAM efficacement? une hiérarchie de mémoires cache et les vitesses du cache et de la RAM ne cessent de s écarter et beaucoup d autres composants dans un processeur multi-cœurs. 3 1
Architecture des CPUs multicoeurs Stabilisation de la puissance d un cœur et impact du multi-cœurs : L accroissement de performance d un cœur CPU est du au parallélisme depuis plusieurs années. W. Kirshenmann EDF & EPI AlGorille, d après une première étude menée par SpiralGen 4 Architecture des CPUs multicoeurs Intel Core i7 - Nehalem Des cœurs hyper-threadés Des mémoires caches Un sheduler de threads Des pipelines. Des unités de calcul vectorielles : «SSE» Un processeur contient beaucoup de composants différents, pouvant fonctionner en parallèle, interconnectés et ayant tous besoin d être alimentés en données : très difficile d exploiter à l optimum! les «optimisations sérielles» : une démarche essentielle 5 Architecture des CPUs multicoeurs Le «médium» de partage de mémoire entre les cœurs est l élément clé d un CPU multi-cœurs : un bus mémoire rapide une hiérarchie de caches cohérents et rapides des protocoles d accès aux bus et aux bancs mémoires et de grosses différences de performances, avec parfois des points d évolution importants. 6 2
Architecture des CPUs multicoeurs Pendant très longtemps les PC multiprocesseurs (monocoeurs) étaient mauvais en partage de mémoire : MFlops 800 700 600 500 400 300 Relaxation de Jacobi 1 proc 2 procs-omp Mauvais! 200 100 0 10 100 1000 10000 Problem Size (KBytes) MFlops 300 250 200 150 100 50 0 1 proc 2 procs 4 procs Bien! 1000 10000 100000 1000000 Problem Size (KBytes) 7 PC bi-processeurs (2000) SUN quadri-processeurs (2000) Sorti du cache les accès à la RAM étaient sérialisées Architecture des CPUs multicoeurs La situation change entre 2008 et 2009 avec l architecture Nehalem d Intel (la technologie «bi-bus» d AMD n était pas aussi performante) : MegaFlops 5000 4000 3000 2000 1000 Mauvais! 4 th 2th 1 th 0 1 10 100 Pb size (MBytes) Intel 4-cœurs avant le Nehalem Relaxation de Jacobi 10000 MegaFlops 8000 6000 4000 2000 8 th 4 th 2th 1 th Assez bien 0 1 10 100 Pb size (MBytes) Intel 4-cœurs Nehalem Le «smart memory bus» d Intel est une grosse amélioration (en fait ce n est plus un bus, voir + loin) 8 Architecture des CPUs multicoeurs La situation change entre 2008 et 2009 avec l architecture Nehalem d Intel (la technologie «bi-bus» d AMD n était pas aussi performante) : MegaFlops 6000 5000 4000 3000 2000 1000 Produit de matrices denses 12000 4 th 2th 10000 Très bien! Assez bien 1 th 8000 0 0 100 200 300 Pb size (MBytes) Intel 4-cœurs avant le Nehalem 6000 4000 2000 On peut programmer en parallèle en sortant du cache On perd la vitesse du cache mais pas l accélération MegaFlops 8 th 4 th 2th 1 th 0 0 100 200 300 Pb size (MBytes) Intel 4-cœurs Nehalem 9 3
Architecture des CPUs multicoeurs On est passé d une interconnexion en bus + protocole de partage de bus à un réseau d interconnexion avec des brins et des switchs. un «vrai réseau» dans chaque processeur multi-cœurs INTEL 10 Architecture des CPUs multicoeurs Intel 48-core x86 Processor: «Singlechip Cloud Computer» Architecture des CPUs multicoeurs Evolutions des CPU multi-cœurs : des cœurs de technologies différentes dans le même «socket» : o AMD/ATI et INTEL ont produit des processeurs avec des cœurs CPU et un cœur GPU, mais de faible puissance des mécanismes d optimisation de la consommation énergétique : o mise en sommeil des cœurs non utilisés o des cœurs pouvant fonctionner à des fréquences différentes o auto-adaptation de la fréquence des coeurs après le prototype SCC, INTEL sort le Xeon phi/mic (Many Integrated Cores) fin 2012, avec plusieurs dizaines de cœurs x86 des dizaines, des centaines de cœurs par «socket»??? 4
Notions d architecture de machines parallèles et distribuées Architecture des CPU multicoeurs Loi de Moore électronique et ré-interprétation informatique Réseaux d interconnexion des machines parallèles Refroidissement des machines parallèles Du Petaflops à l Exaflops 13 3 grands types d architectures parallèles MIMD, et démarche de réalisation 14 Une première classification Classification des architectures parallèle : 1972 classification de FLYN : simple et suffisante en 1972 4 classes d architectures Flot de données : Simple Multiple Flot Simple SISD SIMD d instructions : Multiple MISD MIMD Machines séquentielles Machines parallèles généralistes 2011 : 1972-2011 : beaucoup d autres classifications peu convaincantes A ce jour 3 grand types d architectures MIMD : SMP, Distributed memory, DSM. 15 5
3 grands types d architectures 1 - Shared-memory MIMD machines (SMP) : Un principe, mais : - plusieurs techniques de réalisation, - plusieurs coûts, - plusieurs efficacités. Overview of Recent Supercomputers Aad J. van der Steen Jack J. Dongarra16 3 grands types d architectures 2 - Distributed-memory MIMD machines : Mem Mem Mem Hypercubes proc proc proc network Fat trees Principe des clusters, mais le coût et la perf. sont dans le réseau d interconnexion! Autres 17 3 grands types d architectures 3 - Hybrid MIMD architectures : S-COMA (th.) ou ccnuma (réalisée) Espace d @ unique (super!) ou segmenté. Réalisation : Hardware (bien) Soft lent! Overview of Recent Supercomputers Aad J. van der Steen Jack J. Dongarra «Distributed Shared Memory» ou «Virtual Shared Memory» 18 6
Démarche de réalisation d une machine parallèle Créer un processeur + une machine + un OS + un compilateur prend du temps (et de l argent)! perf Début de conception T trop grand! Perf archis concurrentes génériques!!! Fin de réalisation Perf de l archi spécifique années Risque d être dépassé par la technologie standard avant de naître! 19 Démarche de réalisation d une machine parallèle Architectures parallèles à base de composants «du marché» : démarche apparue clairement depuis 1993 profite des évolutions des technologies séquentielles/standards investissements limités à l assemblage des processeurs, du réseau d interconnexion, et du logiciel (déjà beaucoup) temps de développement réduit des nouvelles machines ex : machines MIMD à base de CPU du marché (Intel ou AMD) machines MIMD avec réseau Gigabit-Ethernet ou Infiniband machines hétérogènes à base de CPU + GPU du marché Rmq : beaucoup de critiques des machines originales IBM Blue Gene vs Super-Ordinateurs en «cluster de PCs», car beaucoup de bibliothèques de calcul ne sont pas disponibles sur BG 20 Histoire (instructive) des ordinateurs CRAY 21 7
Histoire des ordinateurs CRAY Cray-1, 1976 133Mflops Cray-2, 1985 1.9 gigaflops Cray-YMP, 1988 Cray-T90, 60 gigaflops Cray-J90 Cray-C90, 1991 16 gigaflops 22 Histoire des ordinateurs CRAY NEC (SX) Cray-T90, 60 gigaflops Cray-SV1 1 teraflop Cray est démembré et semble avoir disparu. Puis en 2002 un évènement survient. Cray-SX-6 Cray-SV2 23 Histoire des ordinateurs CRAY Apparition du Earth Simulator : gros cluster vectoriel NEC : 640-nœuds de 8 processeurs : 5120 processeurs 40 Tflops crête, a atteint les 35 Tflops en juin 2002 Le vectoriel revient à la 1 ère place du Top500 (en 2002)! Vector MPP 24 8
Histoire des ordinateurs CRAY Forte inquiétude des USA! 25 Histoire des ordinateurs CRAY CRAY était de nouveau là, avec de grandes ambitions: 26 Histoire des ordinateurs CRAY NEC (SX) Cray-T90, 60 gigaflops Cray-SV1 1 teraflop Vector MPP Machine annoncée Cray-SX-6 Cray-X1 52.4 Tflops Cray-SV2 27 9
Vector MPP Histoire des ordinateurs CRAY Cray-X1 52.4 Tflops Cray-XT6 ou XT6h (?) Opteron 6-cores Tore 2D Réseau Cray Cray-XT3 Cray-XT5 cluster de CPU multicoeurs, Linux Cray-XT5h (hybrid) cluster de noeuds CPU/Vectoriels/FPGA, Unicos (Cray Unix) Cray-XT4 28 Histoire des ordinateurs CRAY Cray XT6 : 1 er au top500 en novembre 2009 : 1.7 Pflops avec 6.9 Mwatt Architecture : réseau d interconnexion propriétaire + Opteron 6-cœurs Architectures traditionnelles et très consommatrices d énergie mais très efficace et sous Linux (logiciels disponibles) Machine dénommée «Jaguar» Cray de nouveau à la 1 ère place en nov 2009 avec des Opteron Histoire des ordinateurs CRAY Cray XK7 : 1 er au top500 en novembre 2012 : 17.6 Pflops avec 8.2 Mwatt Architecture : réseau d interconnexion propriétaire chaque nœud : Opteron 16-cœurs + GPU NVIDIA Tesla K20 18688 nœuds 299008 CPU cores + 18688 GPU K20 560640 «cores» pour exécuter le benchmark 700 terabytes of memory. Cray à la 1 ère place en nov Machine dénommée «Titan» 2012 avec Opteron + GPU 10
Notions d architecture de machines parallèles et distribuées Architecture des CPU multicoeurs Loi de Moore électronique et ré-interprétation informatique Réseaux d interconnexion des machines parallèles Refroidissement des machines parallèles Du Petaflops à l Exaflops 31 Loi de Moore électronique et ré-interprétation informatique Loi de Moore (électronique) : 2 fois plus de transistors intégrés sur la même surface de silicium tous les 18 mois. G. Moore pense que sa loi devrait se vérifier jusqu en 2017 Traduction informatique : Par le passé : la fréquence des processeurs double tous les «un peu plus que 18 mois» et donc la vitesse des processeurs suivait une exponentielle un peu plus faible que l électronique. Puis un (nouveau) problème énergétique est apparu en 2003/2004 On ne pouvait plus dissiper autant de puissance ni financer autant d énergie Loi de Moore électronique et ré-interprétation informatique Auteur : Jack Dongara 11
Loi de Moore électronique et ré-interprétation informatique Limiter la fréquence et augmenter le nombre de cœurs est énergétiquement rentable 2 0.75 3 = 0.8 Auteur : Jack Dongara Loi de Moore électronique et ré-interprétation informatique Loi de Moore (électronique) : 2 fois plus de transistors intégrés sur la même surface de silicium tous les 18 mois. G. Moore pense que sa loi devrait se vérifier jusqu en 2017 Traduction informatique : Par le passé : la fréquence des processeurs double tous les «un peu plus que 18 mois» et donc la vitesse des processeurs suivait une exponentielle un peu plus faible que l électronique. Actuellement : le nombre de cœurs double tous les 2 ans la vitesse d un cœur reste à peu près stable pour aller plus vite sur son PC il faut exploiter le parallélisme du processeur. Loi de Moore électronique et ré-interprétation informatique Prochainement : Exploiter quelques dizaines de threads sur son PC (dans une même application) Exploiter quelques millions et milliards de threads sur les super-calculateurs (dans une même application) La loi de Moore électronique se traduit maintenant par un défi algorithmique et logiciel «de masse». 12
Notions d architecture de machines parallèles et distribuées Architecture des CPU multicoeurs Loi de Moore électronique et ré-interprétation informatique Réseaux d interconnexion des machines parallèles Refroidissement des machines parallèles Du Petaflops à l Exaflops 37 Réseaux d'interconnexion des machines parallèles Caractéristiques importantes Caractéristiques d un réseau d interconnexion de nœuds de calculs : La bande passante La latence La résistance aux engorgements : en général on implante des algorithmes synchrones tous les nœuds calculent puis en même temps se mettent à communiquer Les performances en communications point-à-point Les performances en communications collectives (broadcast, scatter, gather, reduce, all_to_all, ) La capacité d extension, pour permettre d agrandir les machines (une topologie hypercubique n est pas très extensible) La distance et le temps maximal entre deux nœuds de l architecture. Réseaux d'interconnexion des clusters GigabitEthernet et Infiniband Gigabit Ethernet : Bientôt du 10G Utilisé dans beaucoup de machines du Top500 dans la plupart Mais pas dans les plus performantes des clusters Réseau bon marché comparé aux autres Technologie connue en dehors du HPC la compétence est déjà dans l institution/la société. Infiniband : Utilisé dans beaucoup de machines du Top500 Souvent des machines plus performantes que celles en Gigabit Plus cher que le Gigabit La différence avec le Gigabit est d autant plus marquée que le nombre de nœuds est grand Plusieurs versions d Infiniband, avec des vitesses différentes Peu utilisé en dehors du HPC compétence spécifique 13
Réseaux d'interconnexion des clusters Myrinet et Quadrics Myrinet : un réseau propriété de Myricom, mais insérable dans tout cluster au départ plus répandu que Infiniband qui est un standard open puis a perdu régulièrement du terrain vis-à-vis de Infiniband produit par plusieurs entreprises. En 2012 Myricom propose des solutions Myri-10G Quadrics : S est positionné comme le plus cher et le plus rapide des réseaux d interconnexion pour cluster. Mais vraiment très cher! Dès le début capable de routage dynamique pour contourner les engorgements. A perdu en partie son avance de performances et a disparu! Réseaux d'interconnexion des clusters Réseaux propriétaires Réseaux propriétaires : Les plus grands constructeurs proposent leurs supercalculateurs avec leurs propres réseaux d interconnexion : CRAY/IBM/Fujitsu/ Des topologies et des protocoles différents selon l usage : réseau de données pt-à-pt, réseau de ctrl, réseau de données collectives, Ils sont l élément clé d un supercalculateur Ex : Le Cray T3D a été une machine décisive car elle fut la 1 ère à posséder un réseau d interconnexion à la hauteur de la puissance de calcul de ses nœuds. Réseaux d'interconnexion des clusters Répartition des réseaux du Top500 (2013) En fonction de la puissance des machines En fonction du nbr de cœurs des machines Les réseaux GigabitEth équipent bien des machines moins puissantes 14
Notions d architecture de machines parallèles et distribuées Architecture des CPU multicoeurs Loi de Moore électronique et ré-interprétation informatique Réseaux d interconnexion des machines parallèles Refroidissement des machines parallèles Du Petaflops à l Exaflops 43 Refroidissement des machines parallèles Optimisation du refroidissement Des processeurs moins gourmands en énergie : on essaie de limiter la consommation de chaque processeur les processeurs passent en mode économique s ils sont inutilisés on améliore le rendement flops/watt Mais une densité de processeurs en hausse : une tendance à la limitation de la taille totale des machines (en m² au sol) Besoin de refroidissement efficace et bon marché (!) Souvent estimé à 30% de la dépense énergétique! Une carte d un IBM Blue Gene 44 Refroidissement des machines parallèles Refroidissement «liquide par immersion» Refroidissement par immersion des cartes dans un liquide électriquement neutre, et refroidi. Refroidissement liquide par immersion testé par SGI & Novec en 2014 Refroidissement liquide par immersion sur le CRAY-2 en 1985 45 15
Refroidissement des machines parallèles Refroidissement eau/air par porte froide On refroidit par eau une «porte/grille» dans laquelle circule un flux d air, qui vient de refroidir la machine Le refroidissement se concentre sur l armoire. 46 Refroidissement des machines parallèles Refroidissement «liquide direct» On amène de l eau froide directement sur le point chaud, mais l eau reste isolée de l électronique. Expérimental en 2009 Adopté depuis (IBM, BULL, ) Carte expérimentale IBM en 2009 (projet Blue Water, abandonné) Lame de calcul IBM en 2012 Commercialisée 47 Refroidissement des machines parallèles Refroidissement par air Optimisation des flux d air : en entrée et en sortie des armoires Architecture Blue Gene : haute densité de processeurs Objectif d encombrement minimal (au sol) et de consommation énergétique minimale Formes triangulaires ajoutées pour optimiser le flux d air IBM Blue Gene 48 16
Refroidissement des machines parallèles Refroidissement par air : «Extreme cooling» Refroidissement avec de l air à température ambiante : - circulant à grande vitesse - circulant à gros volume Les CPUs fonctionnent proche de leur température max supportable (ex : 35 C sur une carte mère sans pb) Il n y a pas de refroidissement du flux d air. Une machine de Grid 5000 à Grenoble (la seule en Extreme Cooling) Economique! Mais arrêt de la machine quand l air ambiant est trop chaud (l été)! 49 Notions d architecture de machines parallèles et distribuées Architecture des CPU multicoeurs Loi de Moore électronique et ré-interprétation informatique Réseaux d interconnexion des machines parallèles Refroidissement des machines parallèles Du Petaflops à l Exaflops 50 Le Top500 Evolution de la puissance de calcul mondiale 17
Du Petaflops à l Exaflops 1000 perf 100 cores/nœud 10 nœuds 50 IO 10 énergie 1.03 Petaflops : juin 2008 RoadRunner (IBM) Opteron + PowerXCell 122440 «cores» 500 Gb/s (IO) 2.35 MWatt 1.00 Exaflops : 2018-2020 25 Tb/s (IO) 20MWatt max. 33.86 Petaflops : juin 2013 - juin 2014 Tianhe-2 (NUDT - China) Xeon + Xeon-phi 3 120 000 «cores» 17.8 MWatt Comment programmer ces machines parallèles hétérogènes? Comment former massivement des développeurs? 52 Eléments d architecture des machines parallèles et distribuées FIN 53 18