- High performance computing
-
Superordinateur
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 HPC, pour High Performance Computing, ce qui se traduit par Calcul haute performance.
Sommaire
Historique
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 superordinateur 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. De nos jours les superordinateurs sont le plus souvent conçus comme des modèles uniques par des constructeurs informatiques « traditionnels » comme IBM et HP 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.
Le terme superordinateur lui-même reste assez vague et évolutif, 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
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, 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, 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 tel que l'IDRIS, le CINES, mais aussi au CEA. En janvier 2006, le plus puissant supercalculateur français était le TERA-10 développé par Bull et générant 60 teraflops.
En juin 2009, c'est la machine Jade de type SGI Altix basée au CINES qui se place au 20 ième rang mondial avec 147 TFlops. En avril 2008, le GENCI a commandé à Bull une machine de près de 300 Téraflops. La barre du Pétaflops (1 000 Téraflops) a été franchie par une machine IBM appelée "Roadrunner" qui est aussi la plus efficace en termes de consommation d'énergie[1].
Avant 2006, le plus puissant supercalculateur français était l'AlphaServer SC45 1 GHz appartenant au CEA, était classé 41e en novembre 2004, après avoir été 4e à la mi-2002.
Conception
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 goulots d'étranglement restants.
Principaux obstacles techniques
- Les superordinateurs 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, 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
Systèmes d'exploitation pour superordinateurs
- Linux devient aujourd'hui massivement multiprocesseurs, et est le système équipant la très grande majorité (84,60 %) des 500 supercalculateurs les plus puissants de la planète[2] ;
- Unix perd progressivement du terrain face à Linux, mais occupe encore une place de choix sur le marché des supercalculateurs (6,00 %) ;
- Windows ne peut gérer au maximum que 2 processeurs, sauf dans certaines versions « serveur » spécifiques, lui permettant de gérer selon les versions 4, 8 ou 32 processeurs. Seuls 7 des 500 supercalculateurs les plus puissants de la planète font tourner Windows, soit 1.40 % ;
- BSD et Mac OS sont très peu représentés (0,40 % chacun) ;
- Les autres ("Mixed") représentent 7.20 % ;
Notes et références de l'article
Voir aussi
Articles connexes
- Projet TOP500 - les 500 premiers superordinateurs au monde
- Deep Blue
- Seymour Cray
- GENCI
- BOINC - puissance de calcul distribuée sur des ordinateurs personnels : cfr. le projet de l'université de Berkeley.
- TER@TEC - Pôle européen de compétence en simulation numérique haute performance - www.teratec.eu
Liens et documents externes
Bibliographie
- (fr) Georges Karadimas (Snecma) « Les superordinateurs dans le secteur aérospatial français », dans Nouvelle revue Aéronautique et Astronautique, N° 2, juin 1994, (ISSN 1247-5793).
Catégorie : Superordinateur
Wikimedia Foundation. 2010.