les super-ordinateurs - IUT de Bayonne et du Pays Basque
Transcription
les super-ordinateurs - IUT de Bayonne et du Pays Basque
LES SUPER-ORDINATEURS Un ordinateur fait au bas mot 1 million d'opérations à la seconde, mais il a que ça à penser, aussi. - J.M. Gourio "Brèves de comptoir 1988" CRAY 1 1 Mesure des performances La mesure des performances de gros ordinateurs, en général constitués de plusieurs processeurs en parallèle (parfois plusieurs milliers), est relativement difficile. On indique généralement la puissance théorique qui est la somme de celles des processeurs constituants mais on s’intéresse aussi à la puissance mesurée lors de benchmarks1 qui tient mieux compte de la réalité du fonctionnement. L’unité de mesure n’est plus le nombre d’instructions par seconde (mesuré en millions d’instructions par seconde ou MIPS) mais le nombre d’opérations sur des réels par seconde (FLOPS). C’est ce que mesurent les benchmarks. Les multiples de cette unité sont le megaFLOPS (1 MFLOPS = 106 FLOPS) et le teraFLOPS (1 TFLOPS = 109 FLOPS). 2 Un peu d’histoire Des tentatives de réalisation de super-ordinateurs utilisant des architectures non Von Neumann en général de type parallèle ont été entreprises très tôt. La première est, peut être, le BIZMAC de RCA, commencé en 1952, il faisait appel à des petits ordinateurs satellites sous-traitant certains travaux (échanges, tris ...). Malheureusement, il ne sera terminé qu’en 1958, époque à laquelle il était déjà dépassé. Pour le reste voici quelques événements clés : 1955 : IBM produit le 704 qui atteint les 5 KFLOPS. 1956 : Quelques projets ambitieux démarrent cette année là : . L’IBM 7030 (STRETCH) qui atteint 500 KFLOPS dont quelques exemplaires seront vendus à partir de 1959. . L’ATLAS de l’université de Manchester et Ferranti, terminé en 1962, est la première machine a utiliser la mémoire virtuelle, l’exécution des instructions en pipeline et la mise en parallèle de certains opérateurs de l’UAL. Il atteint 200 KFLOPS. 1958 : En France, Bull fabrique la GAMMA 60 dont l’unité d’échange et les trois unités de traitement fonctionnent en parallèle. Elle possède des instructions pour le parallélisme (fork et join). 1960 : CDC (Control Data Corporation) créée en 1958 lance le développement du CDC 6600 qui sera le premier super-ordinateur commercial en 1963. C’est un processeur 60 bits doté de 10 unités d’entrées/sorties en parallèle. Il offrira une puissance de 3 MIPS. 1964 : Sous l’impulsion de l’Atomic Energy Commission et de l’US Air Force, plusieurs projets importants démarrent : en particulier le CDC STAR-100 et CDC 6600 l’ILLIAC-IV (université de l’Illinois, Burroughs et Texas Instruments). Ce dernier est conçu autour de blocs de 16 processeurs. Une version de l’ILLIAC-IV à 64 processeurs sera utilisée par la NASA en 1975. 1966 : Bernstein amorce les travaux sur la programmation parallèle tandis que Flynn propose une taxonomie des architectures d’ordinateurs. 1967 : L’institut de mécanique de précision et de technologie des ordinateurs (ITMVT) de Moscou produit le BESM-6. C’est une machine à 48 bits atteignant 1 MIPS. Elle contient une mémoire virtuelle et un processeur en pipeline. 1968 : E. Dijkstra introduit les sémaphores qui résolvent les problèmes de concurrence et D. Adams décrit un modèle de flot de données (Dataflow). L’IBM 2938 est le premier Array Processor commercialisé, il atteint les 10 MFLOPS en 32 bits. 1 Un benchmark est un programme spécialement écrit pour tester les performances d’un type de machine. Pour les ordinateurs parallèles, on utilise souvent des programmes de résolution de systèmes d’équations linéaires (Linpack). Les superordinateurs M.DALMAU, IUT de BAYONNE 2 1969 : G. Paul, W. Wilson et C. Cree réalisent le langage VECTRAN qui est une extension de FORTRAN permettant d’exprimer du parallélisme. Un compilateur réellement parallèle : le PFC (Parallel Fortran Compiler) sera écrit en 1980 par K. Kennedy à l’université de Rice. Honeywell propose son système d’exploitation Multics capable de gérer des machines ayant jusqu’à 8 processeurs (le nom "Unix" a été choisi en référence à Multics). 1970 : L’ambitieux projet C.mmp débute à Carnegie Mellon. Il sera terminé en 1977 tandis que, dès 1975, avait démarré le projet Cm*. Dans les deux cas, il s’agit d’étudier des architectures à partir de multiples processeurs fortement connectés (16 mini-ordinateurs PDP-11 de DEC pour Cm*). 1971 : CDC réalise le Cyberplus qui est une machine de traitement parallèle d’images radar qui atteint des performances 250 fois supérieures au CDC 6600. 1972 : S. Cray quitte CDC pour fonder Cray Research Inc. qui sera la première société exclusivement consacrée aux super-ordinateurs. Goodyear produit le STARAN constitué de 4x256 processeurs à 1 bit travaillant autour d’une mémoire associative. STARAN sera utilisé pour faire du contrôle aérien. Burroughs réalise PEPE (Parallel Element Processor Ensemble) constitué, quant à lui, de 8x36 processeurs autour d’une mémoire associative. 1976 : Production du Cray 1, premier super-ordinateur de la firme Cray. C’est un monoprocesseur vectoriel qui atteint les 133 MFLOPS et doit être refroidi au fréon. A. Davis de l’université de l’Utah construit avec Burrroughs le premier ordinateur Data-flow (DDM1) dont le principe d’architecture avait été décrit dès 1974 par J. Dennis et D. Misunas. 1978 : Kung et Leiserson publient un papier sur les réseaux systoliques qui utilisent la circulation de l’information comme puissance de calcul. 1979 : Au CERT de Toulouse est réalisé le premier multiprocesseur data-flow avec 32 processeurs. Il utilise le modèle statique LAU (Langage à Assignation Unique). 1982 : Cray produit le X/MP utilisant 2 processeurs vectoriels en parallèle pour atteindre les 500 MFLOPS. Cette famille sera étendue à des modèles à 4 processeurs en 1984 . Hitachi présente la série des S-810 dont le premier atteint 800 MFLOPS. Fujitsu, avec son VP-200 entre aussi sur le marché des processeurs vectoriels. Il atteint 500 MFLOPS. 1983 : NEC présente le SX-1 qui est aussi un ordinateur vectoriel. Avec le VP200 et le S-810 il confirme l’entrée en force de l’industrie japonaise dans ce type de machines. Goodyear Aerospace installe le MPP (Massively Parallel Processor) à la NASA. cette machine contient 16K processeurs organisés en matrice 128x128 et ayant chacun une mémoire de 1024 bits. CRAY X/MP 1985 : La Connection Machine CM-1 dont l’architecture avait été décrite en 1981 par D. Hillis est présentée par Thinking Machine Corp. (TMC). Elle peut comporter jusqu’à 65536 processeurs à 1 bit connectés en hypercube. INTEL réalise un hypercube appelé iPSC/1 à partir de processeurs 80286 alors que nCube produit le nCUBE/10. Il s’agit dans les deux cas d’architectures massivement parallèles. Naissance du Cray-2, avec son horloge à 4,1 ns il atteint les 1,9 GFLOPS. INMOS produit le premier transputer (T414) qui est un microprocesseur spécialement adapté à la réalisation d’architectures massivement parallèles et de réseaux systoliques. Il utilise le langage Occam défini par D. May en 1983. Fujitsu produit le VP-400 et NEC le SX-2 qui peut atteindre les 1,3 GFLOPS avec un seul processeur. 1987 : TMC présente la Connection Machine CM-2 constituée de 65535 processeurs à 1 bit organisés en hypercube et de 2048 processeurs en virgule flottante (Weitek). Elle atteint 14 GFLOPS. 1988 : INMOS produit le T800, transputer capable de calculs sur des réels. Les superordinateurs M.DALMAU, IUT de BAYONNE 3 Silicon Graphics présente les stations de travail graphiques de la Power Serie utilisant jusqu’à 8 processeurs RISC R2000. Le Cray Y/MP offre, avec ses 8 processeurs vectoriels, une puissance de calcul de 2,6 GFLOPS. 1990 : NEC produit son premier multiprocesseur, le SX-3. Il contient 4 processeurs vectoriels et fonctionne avec un cycle d’horloge de 2,9ns, sa mémoire est de 4 Go. Il peut atteindre 22 GFLOPS . Le VP-2600 de Fujitsu peut, quant à lui, atteindre les 5 GFLOPS avec un seul processeur. CRAY Y/MP 1991 : Un nCube 2 doté de 64 processeurs, de 48 processeurs d’entrée sortie et de 205 disques réalise 1073 transactions par seconde sur une BD. Cray produit le Y/MP C90 avec 16 processeurs pour 500 MFLOPS. 1992 : TMC présente la Connection Machine CM-5 constituée de 1024 processeurs SPARC qui atteint 60 GFLOPS. 1993 : CRAY produit le T3D pouvant être équipé de 2048 processeurs et atteindre les 300 GFLOPS. Fujitsu crée le Numerical Wind Tunnel constitué de 140 processeurs. Chaque processeur est un ordinateur vectoriel avec 256 Mo de mémoire et une performance de 1.6 GFLOPS. 1996 : Lancement du projet ASCI (Accelerated Strategic Computer Initiative) dont l'objectif est de produire des machines capables de dépasser le TFLOP. INTEL y répondra par l'ASCI RED qui sera le premier à dépasser le TFLOP en décembre 1996, SGI par l'ASCI Blue Mountain et IBM par l'ASCI Blue Pacific. 3 Evolution des performances des super-ordinateurs : En traçant la courbe de l’évolution des performances des machines on peut constater qu’elle suit une progression exponentielle (l’axe vertical a une échelle logarithmique). Performance en FLOPS 1000 T 100 T 10 T 1T 100 G 10 G 1G 100 M 10 M 1M Années 1955 1960 1965 1970 1975 1980 Les superordinateurs 1985 1990 1995 2000 2005 M.DALMAU, IUT de BAYONNE 4 2010 Le segment de droite placé au dessous indique la puissance de calcul disponible, à la même époque, sur microordinateur (on peut constater que sur les 10 dernières années l'écart s'est creusé puisque l'on passe d'un rapport de 5000 à un rapport de 110000). 4 Les architectures utilisées On distingue 2 types d'architectures (selon la taxonomie de Flynn) : SIMD (Single Instruction Multi Data) qui sont constituées selon le cas : - d’un seul processeur capable de traiter simultanément plusieurs données (processeur vectoriel) - de processeurs en très grand nombre (plusieurs milliers) qui exécutent tous le même programme sur différentes données (array processor). MIMD (Multi Instruction Multi Data) qui sont des architectures constituées de plusieurs processeurs interconnectés. Certaines architectures utilisent une ou plusieurs mémoires partagées par tous les processeurs d'autres des mémoires locales à chaque processeur parfois accessibles par les autres processeurs. D'autres sont constitués de grappes de processeurs ou encore de stations de travail reliées par un réseau rapide. Nous allons présenter quelques unes des machines les plus représentatives : 4.1 Les SIMD 4.1.1 Les processeurs vectoriels Au départ il s'agissait de machines monoprocesseur spécialement adaptées au calcul vectoriel et matriciel. Elles ne dépassaient pas quelques GFLOPS. Elles ont connu leur heure de gloire mais on n'en rencontre plus beaucoup. Leurs performances sont largement dépassées par des architectures MIMD. Actuellement les processeurs vectoriels sont devenus plus rares et sont utilisés comme cœurs de machines multiprocesseurs. Cycle d’horloge Cycle d’horloge pour les calculs pour les calculs vectoriels scalaires Constructeur Modèle NEC Earth Simulator VPP 5000/U SX-6i S-3800/180 SX-3 VPX 260 SX5S S-820/80 VX S-3600/180 SX-4C Fujitsu NEC Hitachi NEC Fujitsu NEC Hitachi Fujitsu Hitachi NEC 3,1ns 3,1ns Performance maximale (en GFLOPS) 102,4 3,3ns 2ns 2 ns 2,5 ns 3,2 ns 4 ns 4 ns 7 ns 4 ns 8 ns 3,3ns 2ns 6 ns 2,5 ns 6,4 ns 4 ns 8 ns 7 ns 8 ns 8 ns 9,6 8 8 6,4 5 4 3 2,2 2 2 Mémoire maximale (en Go) 16 16 8 2 8 2 4 1 2 1 2 4.1.2 Les array processors Ce sont des machines massivement parallèles comportant un grand nombre de processeurs élémentaires simples et relativement peu puissants exécutant tous les mêmes instructions. Leur puissance vient essentiellement du nombre élevé de ces processeurs. Ces machines sont réservées à des usages très spécifiques pour lesquels elles offrent des puissances pouvant atteindre le TFLOPS. On n’en rencontre plus beaucoup et la plupart sont des machines déjà anciennes. Constructeur Modèle Quadrics Thinking Machine Corp. Thinking Machine Corp. INFN APEmille CM-200 Cycle d’horloge (en ns) 3,75 100 CM-2 142 APE-100 40 Nombre maximal de processeurs 2048 = 32x8x8 (tore 3D) 65536 en hypercube de dimension 12 65536 en hypercube de dimension 12 2048 = 8x16x16 (tore 3D) Les superordinateurs Performance maximale (en GFLOPS) 1024 655,36 Mémoire maximale (en Go) 32Mo par proc 8 459 8 102,4 4 M.DALMAU, IUT de BAYONNE 5 MasPar Cambridge Cambridge MP-2216 DAP610C Gamma II 80 100 33 16384 = 16x16x4x4 4096 4096 = 64x64 2,4 1,6 2,4 1 128 Mo 512 Mo 4.2 MIMD : Les multiprocesseurs Il s’agit de machines constituées de processeurs vectoriels ou de microprocesseurs mis en parallèle. La puissance de calcul est liée au nombre de processeurs mis en œuvre, dans les configurations les plus grandes ce sont des centaines de TFLOPS qui sont possibles. Dans certaines architectures, les processeurs partagent une mémoire commune organisée en bancs multiples pour permettre les accès simultanés. Ce sont en général des machines constituées de peu de processeurs vectoriels puissants. D’autres sont constituées de processeurs plus classiques en très grand nombre ayant chacun leur mémoire et connectés par des réseaux spéciaux ultra rapides (crossbar, oméga, hypercubes ...). Enfin, certaines architectures font appel à de multiples machines de l’un des deux types précédents assemblées autour d’un réseau à très haut débit permettant des communications en parallèle. CRAY T3D Le tableau ci-dessous présente un certain nombre de modèles anciens parmi les plus représentatifs : Horloge ( MHz) Nombre de processeurs Type de processeur Performance maximale (en GFLOPS) Cray 2 YMP nCUBE 2 SX-3 Paragon XP/S YMP C90 CM-5 245 166 20 400 50 1à4 2à8 8 à 8192 1à4 64 à 6768 vectoriel vectoriel maison vectoriel INTEL i860 1,951 2,667 19,7 25,6 338 Mémoire maximale (en Go) 4 2 256 8 128 245 32 2 à 16 16 à 16384 vectoriel vectoriel 15,6 2028 16 32 Computing Surface 2 T3D 50 8 à 1024 204,8 128 150 32 à 2048 307,2 128 100 475 66 250 90 7 à 222 1 à 16 8 à 128 8 à 65536 2 à 128 355 15,17 34,1 6500 46 56,8 4 32 1 par proc. 16 NEC Cray SGI (Cray) VPP500 Cray 3 SP2 nCUBE 3 Power Challenge SX-4 YMP T90 T3E 1 SPARC et 2 vectoriels DEC ALPHA 21064 vectoriel vectoriel Power 2 maison MIPS R8000 125 450 300 1024 58,2 1229 128 8 2 par proc. Hitachi Fujitsu SR 2201 VPP700 150 154 1 à 512 2 à 32 jusqu’à 2048 32 à 2048 8 à 256 614,4 614,4 1 par proc. 512 Année Constructeur Modèle 1985 1988 1989 1990 1991 Cray Cray nCUBE NEC INTEL 1991 1992 1992 Cray Thinking Machine Corp. Meiko 1993 Cray 1993 1993 1994 1995 1995 Fujitsu Cray IBM nCUBE SGI 1995 1995 1996 1996 1996 Les superordinateurs vectoriel vectoriel DEC ALPHA 21164 RISC CMOS vectoriel M.DALMAU, IUT de BAYONNE 6 NEC SX-4 Les modèles récents utilisent le plus souvent des microprocesseurs classiques. En voici quelques uns classés par performance des processeurs utilisés : Constructeur NEC Modèle Horloge ( GHz) IBM Earth Simulator pSerie 575 BladeCenter QS22 Cluster SGI Altix ICE 8200 Sun Constellation Cluster Platform 3000BL iDataPlex Cray Cray XT5 2,3 Sun 2,3 Dawning Sun Blade System Magic cube 1,9 IBM IBM Blue Gene/P Blue Gene/L 0,85 0,7 IBM IBM SGI Sun HP 3,2 Type de processeur Performance par proc. (GFLOPS) Interconnexion NEC (processeur vectoriel) IBM Power 6 Power XCell 8i 102,4 Fat tree 18,8 12,8 Infiniband Voltaire Infiniband Intel EM64T Xeon E54xx Intel EM64T Xeon X55xx (Nehalem-EP) Xeon 53xx 12 Infiniband 11,72 Infiniband 10,7 Infiniband 2,53 Intel EM64T Xeon E55xx (Nehalem-EP) 10,12 Gigabit Ethernet AMD Opteron Quad Core AMD Opteron Quad Core AMD x86_64 Opteron Quad Core PowerPC 450 PowerPC 440 9,6 9,2 Cube 3D 9,2 Infiniband 7,6 Infiniband 3,4 2,8 Propriétaire Propriétaire 4,7 3,2 3 2,93 2,66 Les superordinateurs M.DALMAU, IUT de BAYONNE 7 5 Les systèmes installés Voici les systèmes les plus puissants actuellement en service. Pour chacun nous donnerons la puissance maximale théorique ainsi que celle qui a pu être mesurée au cours de benchmarks exprimées en TFLOPS. Lorsqu'un même modèle de machine ou des modèles très proches sont implantés sur plusieurs sites nous ne donnerons que celui présentant la performance la plus élevée. Nom (constructeur) Roadrunner (IBM) Processeur Opteron dualcore 1.8 GHz + Power XCell 8i 3,2GHz Jaguar (Cray) AMD Opteron Quad Core 2,3GHz JUGENE (IBM) Blue Gene/P (IBM) Pleiades (SGI) Xeon 3GHz Blue Gene/L (IBM) eServer BlueGene (IBM) Ranger (Sun) Opteron quadcore 2,3GHz JUROPA (Bull) Xeou X5570 2,93GHz Franklin (Cray) AMD Opteron Quad Core 2,1GHz Magic Cube (Dawning) AMD Opteron Quadcore 1,9GHz Encanto (SGI) Xeon quadcore 3GHz Earth simulator (NEC) Earth simulator Monte Rosa (Cray) AMD Opteron Quad Core 2,4GHz (IBM) Power P6 4,7GHz FX1 (Fujitsu) Spark 64 quadcore 2,52GHz Titane (Bull) Novascale R422-E2 Puissance Puissance Nombre de Année théorique maximale d’installation processeurs maximale mesurée 129600 1456,7 1105 2008 Pays USA 150152 1381,4 1059 2008 USA 294912 51200 212992 1002,7 608,83 596,38 825,5 487,01 478,2 2008 2008 2007 Allemagne USA USA 62976 579,38 433,2 2008 USA 26307 308,28 274,8 2009 Allemagne 30976 260,2 205 2008 USA 30720 233,47 180,6 2008 Chine 14336 1280 14740 172,03 131,07 141,5 133,2 112,4 117,6 2007 2009 2009 USA Japon Suisse 8320 12032 156,42 121,28 115,9 110,6 2009 2009 Angleterre Japon 8576 100,51 91,19 2009 France CRAY Jaguar Les superordinateurs M.DALMAU, IUT de BAYONNE 8 Et pour ce qui est des plus puissants systèmes installés en France : Jade - SGI Altix ICE 8200EX, Xeon quad core 3.0 GHz SGI 12288 Puissance théorique maximale (TFLOPS) 146,74 Blue Gene/P Solution SGI Altix ICE 8200EX, Xeon quad core 3.0 GHz Frontier2 BG/L - Blue Gene/P Solution CEA-CCRT-Titane BULL Novascale R422E2 Tera-10 - NovaScale 5160, Itanium2 1.6 GHz, Quadrics Power 575, p6 4.7 GHz, Infiniband CEA-CCRT-Platine Novascale 3045, Itanium2 1.6 GHz, Infiniband IBM SGI 40960 10240 139,26 122,88 IBM 32768 111,41 92,96 2008 EDF Bull SA 8576 100,51 91,19 2009 CEA Bull SA 9968 63,8 52,84 2006 CEA IBM 3584 67,38 52,81 2008 IDRIS Bull SA 7680 49,15 42,13 2007 CEA Modèle Constructeur Nombre de processeurs Puissance Année maximale Lieu mesurée d’installation (TFLOPS) 128,40 2008 Centre informatique national de l'enseignement supérieur (GENCICINES) 116,01 2008 IDRIS 106,1 2008 Total Earth Simulator Les superordinateurs M.DALMAU, IUT de BAYONNE 9 Sommaire 1 MESURE DES PERFORMANCES....................................................................................................................... 1 1 MESURE DES PERFORMANCES....................................................................................................................... 2 2 UN PEU D’HISTOIRE............................................................................................................................................ 2 3 EVOLUTION DES PERFORMANCES DES SUPER-ORDINATEURS : ........................................................ 4 4 LES ARCHITECTURES UTILISEES .................................................................................................................. 5 4.1 LES SIMD........................................................................................................................................................... 5 4.1.1 Les processeurs vectoriels ......................................................................................................................... 5 4.1.2 Les array processors.................................................................................................................................. 5 4.2 MIMD : LES MULTIPROCESSEURS ....................................................................................................................... 6 5 LES SYSTEMES INSTALLES .............................................................................................................................. 8 IBM Roadrunner Les superordinateurs M.DALMAU, IUT de BAYONNE 10