Superordinateur

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Superordinateur à la NASA.
Le superordinateur JET.

Un superordinateur, ou supercalculateur, est un ordinateur conçu pour atteindre les plus hautes performances possibles avec les technologies connues lors de sa conception, en particulier en termes de vitesse de calcul.

La science des superordinateurs est appelée « calcul à haute performance » (en anglais High-Performance Computing, ou HPC).

Historique[modifier | modifier le code]

Superodinateur CDC 6600 avec sa console.

Les premiers superordinateurs sont apparus dans les années 1960, conçus par Seymour Cray pour le compte de la société Control Data Corporation (CDC), premier constructeur mondial de superordinateurs jusque dans les années 1970. Cray Research, fondée par Seymour Cray après son départ de CDC, prit alors l’avantage sur CDC et ses autres concurrents jusqu’en 1990. Dans les années 1980, à l’image de ce qui s’était produit sur le marché des miniordinateurs une décennie plus tôt, de nombreuses petites sociétés se sont lancées sur ce marché, mais la plupart ont disparu dans le « crash » du marché des superordinateurs au milieu des années 1990. Au XXIe siècle, les superordinateurs sont le plus souvent conçus comme des modèles uniques par des constructeurs informatiques « traditionnels » comme IBM, HP, ou Bull, qu’ils aient derrière eux une longue tradition en la matière (IBM) ou qu’ils aient racheté dans les années 1990 des entreprises spécialisées alors en difficulté pour acquérir de l’expérience dans ce domaine.

Ce que désigne le terme superordinateur varie avec le temps car les ordinateurs les plus puissants du monde à un moment donné tendent à être égalés puis dépassés par des machines d’utilisation courante. Les premiers superordinateurs CDC étaient de simples ordinateurs mono-processeurs (mais possédant parfois jusqu’à dix processeurs périphériques pour les entrées-sorties) environ dix fois plus rapides que la concurrence. Dans les années 1970, la plupart des superordinateurs ont adopté un processeur vectoriel, qui effectue le décodage d’une instruction une seule fois pour l’appliquer à toute une série d’opérandes.

C’est seulement vers la fin des années 1980 que la technique des systèmes massivement parallèles a été adoptée, avec l’utilisation dans un même superordinateur de milliers de processeurs. De nos jours, certains de ces superordinateurs parallèles utilisent des microprocesseurs RISC conçus pour des ordinateurs de série, comme les PowerPC ou les PA-RISC. D’autres utilisent des processeurs de moindre coût d’apparence extérieure CISC microprogrammés en RISC dans la puce (AMD, Intel) : le rendement en est un peu moins élevé, mais le canal d’accès à la mémoire - souvent goulet d’étranglement - est bien moins sollicité.

Utilisation[modifier | modifier le code]

Total de la puissance de calcul des 500 meilleurs supercalculateurs mondiaux de 1993 à 2008 (selon TOP500).

Les superordinateurs sont utilisés pour toutes les tâches qui nécessitent une très forte puissance de calcul comme les prévisions météorologiques, l’étude du climat (voir les programmes financés par le G8-HORCs), la modélisation moléculaire (calcul des structures et propriétés de composés chimiques…), les simulations physiques (simulations aérodynamiques, calculs de résistance des matériaux, simulation d’explosion d’arme nucléaire, étude de la fusion nucléaire…), la cryptanalyse, les simulations en finance et assurance (Calcul stochastique), etc.

Les institutions de recherche civiles et militaires comptent parmi les plus gros utilisateurs de superordinateurs.

En France, on trouve ces machines dans les centres nationaux de calculs universitaire tels que l’IDRIS, le CINES, mais aussi au CEA mais aussi dans certaines grandes entreprises (Total, EDF ou encore Météo-France[1])

Conception[modifier | modifier le code]

Les superordinateurs tirent leur supériorité sur les ordinateurs conventionnels à la fois de leur architecture, parfois pipeline (exécution d’une instruction identique sur une longue série de données), parfois parallèle (nombre très élevé de processeurs fonctionnant chacun sur une partie du calcul) leur permettant d’exécuter plusieurs tâches simultanément, et de composants rapides. Ils sont presque toujours conçus spécifiquement pour certains types de tâche (le plus souvent les calculs numériques scientifiques : calcul matriciel ou vectoriel) et ne cherchent pas de performance particulière dans les autres domaines.

L’architecture mémorielle de leur mémoire est étudiée pour fournir en continu les données à chaque processeur afin d’exploiter au maximum sa puissance de calcul. Les performances mémoire supérieures (meilleurs composants et meilleure architecture) expliquent pour une large part l’avantage des superordinateurs sur les ordinateurs classiques.

Leur système d’entrée/sortie est conçu pour fournir une large bande passante, la latence étant moins importante puisque ce type d’ordinateur n’est pas conçu pour traiter des transactions.

Comme pour tout système parallèle, la loi d’Amdahl s’applique, et les concepteurs de superordinateurs consacrent une partie de leurs efforts à éliminer les parties non parallélisables du logiciel et à développer des améliorations matérielles pour supprimer les goulets d’étranglement restants.

Principaux obstacles techniques[modifier | modifier le code]

Un superordinateur Cray-2 (vue de dessus).
  • En conséquence, ils produisent une grande quantité de chaleur et doivent être refroidis pour fonctionner normalement. Le refroidissement de ces ordinateurs pose souvent un problème important de climatisation.
  • L’information ne peut circuler plus vite que la vitesse de la lumière entre deux parties de l’ordinateur. Lorsque la taille d’un superordinateur dépasse plusieurs mètres, le temps de latence entre certains composants se compte en dizaines de nanosecondes. Les éléments sont donc disposés pour limiter la longueur des câbles qui relient les composants. Sur le Cray-1 ou le Cray-II, par exemple, ils étaient disposés en cercle.
  • Ces ordinateurs sont capables de traiter et de communiquer de très importants volumes de données en très peu de temps. La conception doit assurer que ces données puissent être lues, transférées et stockées rapidement. Dans le cas contraire, la puissance de calcul des processeurs serait sous-exploitée.

Historique des records[modifier | modifier le code]

Date Superordinateur Constructeur Type de processeurs ; fréquence Nombre de processeurs Puissance réelle (en FLOPS) Emplacement
1938 Z1 Konrad Zuse FLOPS chez Konrad Zuse, Allemagne
1939 Z2 Konrad Zuse 5 FLOPS chez Konrad Zuse, Allemagne
1941 Z3 Konrad Zuse 5 33 Hz 20 FLOPS Deutsche Versuchsanstalt für Luftfahrt, Allemagne
1942 Heath Robinson (en) TRE 200 FLOPS Bletchley Park, Angleterre
1943 Colossus Mark I TRE kilo FLOPS Bletchley Park, Angleterre
1944 Colossus Mark II TRE 5 kFLOPS Bletchley Park, Angleterre
1946 ENIAC 100 kHz 50 kFLOPS Aberdeen Proving Ground, États-Unis
1956 TX-0 MIT Lincoln Laboratory 3 600, 18 bits 83 kFLOPS Massachusetts Institute of Technology, États-Unis
1956 TX-2 MIT Lincoln Laboratory 22 000, 36 bits 5 MHz 83 kFLOPS Massachusetts Institute of Technology, États-Unis
1958 SAGE (en) IBM 400 kFLOPS United States Air Force, États-Unis
1960 UNIVAC LARC (en) 500 kFLOPS Lawrence Livermore National Laboratory et David Taylor Model Basin, États-Unis
1961 IBM 7030 IBM 1,2 Méga FLOPS Los Alamos National Laboratory, États-Unis
1964 CDC 6600 CDC 3 MFLOPS Lawrence Livermore National Laboratory, États-Unis
1969 CDC 7600 (en) CDC 36,4 MFLOPS Lawrence Livermore National Laboratory, États-Unis
1974 Star-100 CDC 100 MFLOPS Lawrence Livermore National Laboratory, États-Unis
1975 ILLIAC IV (en) Burroughs 150 MFLOPS Ames Research Center (NASA), États-Unis
1981 Cyber-205 (en) CDC 400 MFLOPS plusieurs endroits dans le monde
1982 Cray X-MP Cray Cray Vector 2*105 MHz 2 400 MFLOPS plusieurs endroits dans le monde [2]
1984 Cray X-MP/48 Cray Cray Vector 4*117 MHz 4 800 MFLOPS plusieurs endroits dans le monde [2]
1984 M-13 Giga FLOPS Scientific Research Institute of Computer Complexes, URSS
1985 Cray-2 Cray Vector 4*283 MHz 4 1,7 GFLOPS Lawrence Livermore National Laboratory, États-Unis
1989 ETA10-G/8 (en) 10,3 GFLOPS Université de l’État de Floride, États-Unis
1993 CM-5 (en) Thinking Machines Corporation (en) SPARC 1 024 59,7 GFLOPS Los Alamos National Laboratory, États-Unis
1993 Numerical Wind Tunnel (en) Fujitsu Fujitsu VPP500 140 124,5 GFLOPS National Aerospace Lab, Japon
1994 XP/S140 Intel Intel Paragon 3 680 143,4 GFLOPS Sandia National Labs, États-Unis
1994 Numerical Wind Tunnel (en) Fujitsu Fujitsu VPP500 140 170,4 GFLOPS National Aerospace Lab, Japon
1996 SR2201 Hitachi Hitachi SR2201 1 024 220,4 GFLOPS Université de Tokyo, Japon
1996 CP-PACS Hitachi Hitachi SR2xxx CP-PACS 2 048 368,2 GFLOPS Center for Computational Physics, Japon
1997 ASCI Red Intel Intel Paragon ASCI-Red 7 264 1,07 TéraFLOPS Sandia National Laboratories, États-Unis
1997 ASCI Red Intel Intel Paragon ASCI-Red 9 152 1,34 TFLOPS Sandia National Laboratories, États-Unis
1999 ASCI Red Intel Intel Paragon ASCI-Red 9 472 2,12 TFLOPS Sandia National Laboratories, États-Unis
1999 ASCI Red Intel Intel Paragon ASCI-Red 9 632 2,38 TFLOPS Sandia National Laboratories, États-Unis
2000 ASCI White (en) IBM IBM IBM POWER3 375 MHz 8 192 4,94 TFLOPS Lawrence Livermore National Laboratory, États-Unis
2001 ASCI White (en) IBM IBM IBM POWER3 375 MHz 8 192 7,23 TFLOPS Lawrence Livermore National Laboratory, États-Unis
2002 Earth Simulator NEC NEC SX6 1 000 MHz 5 120 35,86 TFLOPS Yokohama Institute for Earth Sciences, Japon
16/09/2004 Blue Gene/L IBM PowerPC 440 (en) 700 MHz 16 384 36,01 TFLOPS Lawrence Livermore National Laboratory, États-Unis
26/10/2004 Columbia SGI Intel Itanium 2 1 500 MHz 8 192 42,7 TFLOPS Ames Research Center (NASA), États-Unis
11/2004 Columbia SGI Intel Itanium 2 1 500 MHz 10 160 51,87 TFLOPS Ames Research Center (NASA), États-Unis
11/2004 Blue Gene/L IBM PowerPC 440 (en) 700 MHz 32 768 70,7 TFLOPS Lawrence Livermore National Laboratory, États-Unis
24/3/2005 Blue Gene/L IBM PowerPC 440 (en) 700 MHz 65 536 135,5 TFLOPS Lawrence Livermore National Laboratory, États-Unis
27/10/2005 Blue Gene/L IBM PowerPC 440 (en) 700 MHz 131 072 280,6 TFLOPS Lawrence Livermore National Laboratory, États-Unis
2007 Blue Gene/L IBM 478,2 TFLOPS Lawrence Livermore National Laboratory, États-Unis
2008 Roadrunner IBM PowerXCell 8i 3 200 MHz 129 600 1,042 Péta FLOPS DoE-Los Alamos National Laboratory, Los Alamos, Nouveau-Mexique, États-Unis
2009 Jaguar (amélioré en Titan) Cray Processeurs six cœurs AMD 224 162 1,759 PFLOPS Laboratoire national d’Oak Ridge, États-Unis
2010 Tianhe-1A NUDT (en) Hybride : Intel Xeon + GPU Nvidia Tesla M2050 + FeiTeng-1000 14 366 + 7 166 2,566 PFLOPS Tianjin, Chine
2011 K computer Fujitsu SPARC64 VIIIfx 2,0 GHz, Tofu interconnect 68 544 10,510 PFLOPS[3] Kobe, Japon
2012 Sequoia IBM BlueGene/Q, Power BQC 16C 1,60 GHz, Custom 16,324 PFLOPS[4] États-Unis
2012 Titan (Jaguar amélioré) Cray Hybride : AMD Opteron + Nvidia Tesla K20 560 640 17,59 PFLOPS Laboratoire national d’Oak Ridge, États-Unis
2013 Tianhe-2 33,86 PFLOPS Université chinoise de technologie de défense[5]

Historique des records en France[modifier | modifier le code]

Avant 2006, le plus puissant supercalculateur français était le TERA basé sur des AlphaServer SC45 à 1 GHz et appartenant au CEA. Il était classé 41e en novembre 2004, après avoir été 4e à la mi-2002.
En janvier 2006, le plus puissant supercalculateur français devient le TERA-10 développé par Bull et générant 60 téraflops.

La barre du pétaflops (1 000 téraflops) a été franchie en 2008 par une machine américaine IBM appelée Roadrunner qui était aussi la plus efficace en termes de consommation d’énergie[6].

En avril 2008, GENCI a commandé à Bull une machine dotée de 2 136 processeurs Intel Xeon quadricœurs. Elle est installée au CCRT à Bruyères-le-Châtel (Essonne), début 2009 avec une puissance mesurée (LINPACK) de 91 téraflops[7].

En novembre 2009, la première machine française est Jade, de type SGI Altix, basée au CINES à Montpellier, qui se place au 28e rang mondial avec 128 téraflops pour le test LINPACK.

En juin 2010, la configuration de la machine Jade est complétée et sa performance atteint 237 TFlops. La machine passe au 18e rang mondial du TOP500[8]. C’est la 3e machine européenne et la première française. Elle est destinée à la recherche publique.

En novembre 2010, la première machine française devient TERA-100 de Bull, installée au CEA à Bruyères-le-Châtel pour les besoins de la simulation militaire nucléaire française. Avec une performance de 1 050 téraFlops, elle se place au 6e rang mondial et au 1er rang européen[9]. Elle est constituée de 17 296 processeurs Intel Xeon 7500 dotés chacun de 8 cœurs et connectés par un réseau InfiniBand.

En mars 2012, Curie, système disposant d'une puissance de 1,359 pétaflops[10], détenu par le GENCI, conçu par Bull et installé sur le site du TGCC à Bruyères-le-Châtel, devient le supercalculateur le plus puissant de France. Il est conçu pour délivrer 2 pétaflops.

En janvier 2013, les systèmes Ada et Turing sont installés à l'IDRIS (Orsay). La somme de leur puissance dépasse le pétaFlops. Ces machines sont à la disposition des chercheurs.

En mars 2013, le supercalculateur Pangea[11] détenu par Total est inauguré, devenant le système le plus puissant installé en France. Sa puissance de calcul de 2,3 pétaflops équivaut à celle de 27 000 ordinateurs de bureau réunis.

Systèmes d'exploitation pour superordinateurs[modifier | modifier le code]

  • Unix perd progressivement du terrain face à Linux, mais occupe encore une place de choix sur le marché des supercalculateurs (5 %).
  • Windows n’est exécuté que par 2 des 500 supercalculateurs les plus puissants de la planète, soit 0,4 %[12].
  • BSD, quant à lui, ne dispose que d’une seule représentation dans le top 500, soit 0,2 %.
  • Enfin, les autres configurations (« Mixed », soit un ensemble de plusieurs types d’OS) représentent 4,6 %.

Notes et références[modifier | modifier le code]

Annexes[modifier | modifier le code]

Sur les autres projets Wikimedia :

Bibliographie[modifier | modifier le code]

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]