Le calcul à hautes performances : évolution du matériel et du logiciel Dossier

publicité
LE CALCUL À HAUTES PERFORMANCES :
URGENCE SCIENTIFIQUE, IMPERATIF INDUSTRIEL
Dossier
Le calcul à hautes
performances : évolution
du matériel et du logiciel
Mots clés
Loi de Moore,
Grille,
Vectoriel,
Parallèle
■ Alain Kavenoky
Ingénieur général des ponts et chaussées (Émérite)
1. Introduction
L’objectif de cet article est de décrire brièvement l’évolution de la technique des matériels et des logiciels utilisés
par le calcul à hautes performances. La première partie est
consacrée à l’évolution des performances tant du matériel
que du logiciel, la seconde partie présente les différentes architectures des ordinateurs parallèles. Une troisième partie
fait le point actuel sur les très grands systèmes mondiaux et
l’on essaiera de tirer quelques conclusions.
2.Historique et futur
des supercalculateurs
2.1. La loi de Moore du matériel
En 1965, lorsque Gordon Moore, l’un des fondateurs
d’Intel, énonce la loi qui porte son nom [1], cette loi prédit que la technologie permettra le doublement annuel du
nombre de transistors disposés sur une puce de circuit intégré, cette forme de la loi ne donne aucune indication sur
la puissance du processeur associé.
Rapidement, cette loi est apparue comme trop optimiste, et le consensus s’est fait sur un doublement, en
deux ans du nombre de transistors par puce.
A ce doublement du nombre de transistors est associée
la réduction de leur dimension, donc l’augmentation de
leur vitesse. On est arrivé alors à la version courante, une
loi prédisant un doublement tous les dix-huit mois de la
puissance des processeurs.
L ’
e
s
s
e
n
t
i
e
l
L’évolution des capacités du matériel est décrite, en rappelant la
loi de Moore, son extension aux supercalculateurs, ainsi qu’à l’ensemble matériel logiciel. Les diverses architectures de systèmes
parallèles, de la grille aux systèmes massivement parallèles sont
brièvement décrites. Une vue de l’évolution récente des grands
systèmes et une prospective à trois ans sont présentées et l’on
termine par les incitations politiques et quelques remarques.
Cette loi est remarquablement vérifiée depuis plus de
quarante ans et toutes les courbes de croissance des puissances de processeurs l’attestent.
Il faut de plus ajouter que le prix de vente unitaire des
puces processeurs a considérablement baissé malgré l’augmentation de leur puissance. Ainsi au doublement en dixhuit mois de la puissance s’ajoute une réduction importante
du prix de vente. La feuille de route de Sematech [2] montre que le coût du cycle élémentaire du transistor d’un microprocesseur est régulièrement divisé par deux en 1,1 an.
Pour les supercalculateurs les plus puissants, l’idée que
leur temps de doublement était plus long que celui des machines de bureau a été assez répandue. Elle est totalement
erronée, un petit rappel historique le prouve facilement.
Le 10 juin 2008, il a été annoncé que la machine Roadrunner de LANL1 avait atteint la puissance Linpack2 de
1,026 Pflops et avait ainsi franchi le seuil symbolique du
million de milliards d’opérations par seconde.
La machine ASCI-Red de Sandia a dépassé le Teraflops en décembre 1996, en un peu plus de onze ans, un
facteur 1 000 a été gagné, le temps de doublement est de
1,1 année.
En remontant encore dans l’histoire, la première machine à atteindre 1 Gflops a été un Cray/YMP, en 1988.
La puissance de la machine la plus performante a été
multipliée par un million en exactement vingt ans. C’està-dire que le calcul à hautes performances a été régi, ces
vingt dernières années, par une loi de Super-Moore, sa
1
2
Los Alamos National Laboratory.
Le programme Linpack résout un système linéaire par élimination de
Gauss.
S
y
n
o
p
s
i
s
The hardware roadmap is described, using Moore’s Law and its
extensions to supercomputers and complete systems including
hardware and software. Various parallel architectures, from grid to
massively parallel systems are briefly described. A status vision
of large systems is provided and a short term prospective view is
given. Political incentives and a few remarks are listed.
REE
N°11
Décembre 2009
1
LE CALCUL À HAUTES PERFORMANCES :
URGENCE SCIENTIFIQUE, IMPERATIF INDUSTRIEL
Dossier
Figure 1. Comparaison des gains de performance obtenus par les améliorations d’algorithmes et la loi de Moore du matériel
(en fonction du temps).
performance doublant chaque année. La feuille de route de
l’ITRS3 prévoit que les développements de la technologie
permettront la poursuite de la loi de Moore, jusqu’en 2022.
2.2. La loi de Moore de l’algorithmique
La loi de Moore ne se limite pas à l’amélioration du
matériel et des logiciels, il faut aussi compter sur l’amélioration des algorithmes. En suivant le document de David Keyes [3], « A Science-Based Case for Large-Scale
Simulation » édité par l’Office of Science du DOE4, on
montre l’avantage apporté par le développement des algorithmes en prenant pour exemple la résolution d’une
équation de Poisson sur un maillage cubique de nxnxn. Le
tableau suivant compare l’élimination de Gauss, la méthode de Gauss Seidel, la surrelaxation optimale, le gradient
conjugué et la méthode multigrille :
Méthode
Nombre d’opérations
Elimination de Gauss
n7
Année de création
Année 1970, année 0
Gauss-Seidel
n5Log n
Année 1978, année 8
Surrelaxation optimale
n4Log n
Année 1986, an. 16
Gradient conjugué
n3.5Log n
28
Multigrille
n3
35
Tableau 1. Nombre d’opérations pour résoudre
un problème de Poisson.
Ces valeurs sont obtenues en résolvant le problème par
la méthode des différences finies, la matrice est formée
de 7 diagonales et est d’ordre n3 et sa largeur de bande
3
4
2
International Technology Roadmap for Semiconductors.
Department of Energy.
REE
N°11
Décembre 2009
est n2. Ainsi la résolution est en n7 par simple élimination
de Gauss. La méthode multigrille réduit le nombre d’opération à n3, ce qui fait que ce nombre varie linéairement
avec le nombre de nœuds et que le temps de résolution est
proportionnel à ce nombre. On dit que cet algorithme est
parfaitement « scalable ».
Si l’on applique ce calcul au cas n=64, on se rend
compte qu’en trente-cinq ans la loi de Moore du matériel
et l’évolution de l’algorithmique ont fait gagner chacune
un facteur de l’ordre de 107. La courbe représentant cette
évolution (figure 1) a été largement diffusée dans de nombreux rapports de l’administration des Etats-Unis, elle n’a
cependant aucune valeur probante. Il suffit de choisir la
valeur de n pour apporter la conclusion de son choix.
Le rapport International “Assessment of Research
and Development in Simulation-based engineering and
Science” [4] présente une approche plus factuelle en
étudiant les performances du logiciel de dynamique
moléculaire QBOX, ces performances sont présentées en
fonction du temps, en agrégeant les changements de machine et d’algorithme.
2.3. La loi de Moore de la simulation
D’après les auteurs, le temps de doublement de la performance du logiciel, en intégrant les gains dus au matériel et au logiciel est de huit mois. On peut montrer que
si l’amélioration des capacités d’un algorithme revient à
diviser par 2 le nombre d’opérations pour obtenir la solution en un temps Tal et que la performance de la machine
est doublée en un temps Tmat, le temps de doublement apparent sera le double de la moyenne harmonique de Tal et
■ Le calcul à hautes performances : évolution du matériel et du logiciel ■
Figure 2. Evolution de la performance des codes FPDM sur différentes plates-formes de calcul
(avec l’autorisation de François Gygi, University of California, Davis).
de Tmat . En prenant Tmat et Tal égaux à 1,5 an, on obtient un
temps apparent de neuf mois ce qui est assez cohérent.
Ainsi, on voit apparaître la loi d’Hyper Moore, le temps
de doublement des performances d’un logiciel, incluant
les améliorations matérielles et logicielles est inférieur à
huit mois. Cette constatation est cruciale, contrairement à
certaines idées reçues, il ne suffit pas d’attendre que la loi
de Moore matérielle règle tous les problèmes de performances ; pour que l’ingénierie et la recherche scientifique
soient compétitives dans le futur, il ne suffit pas d’investir
dans le matériel, un effort soutenu de développement algorithmique et logiciel est nécessaire.
3. Les architectures parallèles
Dès les années 1960, alors qu’il paraissait difficile d’accroître les performances individuelles des ordinateurs, il
était tentant de gagner de la vitesse en répartissant la charge
de travail sur plusieurs machines. Ainsi naquit le projet
ILLIAC IV, lancé en 1965, devant à l’origine associer 256
processeurs et atteindre la puissance de un milliard d’opérations par seconde. Malheureusement, ILLIAC IV ne
fonctionna réellement qu’en 1975, pour atteindre la puissance de 100 millions d’opérations par seconde (Mflops)
alors que le premier Cray 1 était installé en 1976, avec une
puissance de crête de 166 Mflops. ILLIAC IV ne pouvait
rivaliser en fiabilité et efficacité avec une machine commerciale, ce qui a eu un effet très négatif sur le développement
du parallélisme.
Peu de temps après le lancement du projet Illiac, en
1967, Gene Amdahl a énoncé une loi [5] indiquant les limites de la programmation parallèle. Supposons que dans
un algorithme, une part α soit nécessairement exécutée
en séquence et une part 1- α puisse être parallélisée. Il
est bien évident que son temps de calcul sera supérieur à
α quel que soit le nombre de processeurs utilisés. Le gain
de vitesse est donc inférieur ou égal à 1/ α. Ce qui impose
une limite absolue au bénéfice du parallélisme. Il est peutêtre utile de rappeler qu’Amdahl était un chercheur influant chez IBM, société peu orientée vers le parallélisme
à cette époque.
Cette loi a été utilisée comme argument contre la
programmation parallèle avant que John Gustafson [6],
en 1988, ne réinterprète correctement ce simple calcul.
L’objectif n’est pas d’utiliser un ordinateur parallèle pour
exécuter le calcul qu’une machine séquentielle pourrait
faire avec succès, mais de traiter un problème beaucoup
plus grand. La part séquentielle est conservée à l’identique alors que la part parallèle est multipliée par un facteur
important. Le gain en vitesse n’est plus limité que par la
taille du problème à traiter.
3.1. La grille
La grille (The Grid) a été formalisée en 1997 par Ian
Foster et Carl Kesselman [7] : une grille de calcul est une
infrastructure matérielle et logicielle qui fournit un accès
fiable, cohérent, ubiquitaire et peu coûteux à des capacités
de calcul de haut niveau. Plus récemment, la définition a été
précisée : la grille ne se limite pas à un échange de fichiers
mais doit offrir l’accès direct aux ordinateurs, logiciels,
données nécessaires à la résolution collaborative de problèmes, dans l’industrie, la science et l’ingénierie. Cet ensemble est strictement contrôlé pour assurer la confidentialité
nécessaire et conduit à créer une organisation virtuelle.
La grille a été popularisée par le projet Seti@Home,
(SETI est un acronyme pour Search for Extra-Terrestrial
Intelligence) lancé en 1999 par l’université de Berkeley.
REE
N°11
Décembre 2009
3
Dossier
LE CALCUL À HAUTES PERFORMANCES :
URGENCE SCIENTIFIQUE, IMPERATIF INDUSTRIEL
Ce projet demandait à tout utilisateur d’un ordinateur
connecté à Internet de collaborer à ce projet en acceptant
de traiter des tâches envoyées par l’université, pendant les
périodes de veille de l’ordinateur.
En agrégeant la puissance de toutes les machines
connectées, SETI a été le premier projet à annoncer avoir
atteint la barre de un million de milliards d’opérations
(un Petaflops), mais en effectuant des tâches simultanées,
mais indépendantes.
Cette approche de la grille, conduit à s’intéresser à
l’architecture des ordinateurs parallèles.
3.2. Les ordinateurs parallèles
Les ordinateurs classiques sont construits selon l’architecture décrite par John von Neumann [8] en 1945. L’ordinateur est constitué de la mémoire, de l’unité de contrôle,
de l’unité arithmétique et des entrées-sorties. L’unité de
contrôle lit une instruction en mémoire, la décode, puis la
transmet à l’unité arithmétique qui l’exécute. Les instructions sont traitées dans l’ordre où elles ont été placées en
mémoire, par le programmeur ou le compilateur.
L’architecture des machines parallèles est plus diversifiée ; on distingue d’abord les architectures SIMD (Single
Instruction Multiple Data), chaque processeur exécute la
même instruction sur des données différentes, par exemple calculer la somme de deux vecteurs, élément par élément, cette architecture est souvent appelée vectorielle.
Cette architecture a été utilisée et continue à l’être par
certains Cray et les machines NEC SX.
Les calculateurs les plus répandus actuellement sont
de type MIMD (Multiple Instruction, Multiple Data) où
chaque processeur exécute son propre flux d’instructions
appliqué à son flux de données. Les micro-ordinateurs actuels qui disposent souvent de plusieurs cœurs appartiennent à cette catégorie.
Pour comprendre les spécificités des ordinateurs parallèles, il faut maintenant entrer dans l’architecture mémoire de ces machines.
Deux cas extrêmes sont clairement définis, mémoire
distribuée, mémoire partagée. La seconde est la plus simple d’emploi, tous les processeurs utilisent le même espace d’adressage, toute modification de la mémoire est
immédiatement visible de tous les processeurs. Le principal inconvénient est la difficulté et le coût de construction,
mais aussi la limitation en nombre de processeurs connectables. Le nombre maximal de cœurs dans ces architectures peut atteindre 1 024 dans certaines architectures SGI.
L’architecture à mémoire distribuée est plus facile à
réaliser, chaque processeur adresse directement sa mémoire, comme dans le cas d’un processeur unique et communique avec les autres processeurs par un réseau d’interconnexion. Chaque processeur gère seul la mémoire qui
lui est connectée. Le temps d’accès à la mémoire dépend
de sa localisation. Pour la mémoire directement connectée
au processeur, le temps d’accès est très inférieur à la µs, il
peut se compter en ms ou centaines de ms dans le cas d’un
4
REE
N°11
Décembre 2009
accès par réseau Ethernet ou Internet. Les espaces de mémoire étant disjoints la programmation est plus difficile.
Entre ces deux cas extrêmes, toutes les architectures
intermédiaires ont été envisagées. Il est courant de fabriquer des systèmes à mémoire partagée à petit nombre de
cœurs (8, 16,…) et on peut les connecter comme les architectures à mémoire distribuée. Parmi les ordinateurs les
plus puissants, cette architecture est assez répandue.
Dans le cas des architectures distribuées, deux paramètres sont importants, le nombre de processeurs par
nœud (thin ou fat node) et le réseau d’interconnexion.
Comme on l’a vu précédemment, la grille, forme la
plus étendue du parallélisme peut utiliser Internet pour la
connexion des nœuds entre eux. Pour des systèmes locaux,
la connexion la plus simple est le réseau local Ethernet qui
permet d’atteindre des débits de connexion de 1 à 10 Gbs,
puis des réseaux spécialisés comme Myrinet, Infiniband ou
Quadrics, pouvant atteindre 40 Gbs. Des réseaux spécifiques sont quelquefois utilisés, on peut citer le réseau en tore
3D des Cray XT5. Comme dans un réseau cubique, chaque nœud est relié à chacun de ses six voisins par un lien à
9,6 Go/s.
4.Les benchmark et une vue
de l’évolution possible
Cette grande diversité d’architecture produit une aussi
grande diversité de performances, dépendant des cas tests
utilisés. Le test Linpack qui sert de référence au classement biannuel du Top500 [9] résout un système d’équations linéaires, à matrice pleine. La dimension du système
est librement déterminée pour assurer la performance
maximale. Ce test est très loin de pouvoir mesurer l’efficacité d’un ordinateur pour un problème quelconque.
Prenons l’exemple du dépouillement des expériences
du LHC5, les calculs sont relativement complexes mais ils
sont réalisés sur un seul processeur, avec un jeu de données associées. Une grille dédiée a été mise en place par le
CERN et les laboratoires associés pour traiter ces calculs,
le Worldwide LHC Computing Grid (WLCG) [10] est une
collaboration mondiale de plus de 140 centres de calcul
dans 33 pays, réunissant plus de 100 000 ordinateurs.
Un autre cas très favorable au calcul parallèle est la
simulation par méthode de Monte-Carlo. Chaque paquet
d’événements peut être traité séparément et il suffit ensuite de collationner les résultats. Ce type de calcul est dit
en anglais “embarassingly parallel”, ce qui est difficile à
traduire.
Les problèmes reposant sur la description géométrique et physique fine d’objet, par exemple l’aérodynamique d’un avion ou le crash d’un véhicule automobile met,
en général, en œuvre des techniques de décomposition de
domaine qui traitent les échanges entre des zones différentes du modèle.
5
Large Hadron Collider.
■ Le calcul à hautes performances : évolution du matériel et du logiciel ■
Ces problèmes se traitent souvent sur des architectures hybrides, partage de mémoire et réseaux d’interconnexion. Le principe est que deux processeurs échangent
des messages contenant les programmes à exécuter et
les données associées. Des bibliothèques de programmes
ont été normalisées pour formaliser ces échanges, la plus
connue est MPI6 dont il existe des versions en logiciel libre (par exemple MPICH [11]).
Cette approche n’est malheureusement pas satisfaisante, la programmation MPI est lourde et complexe. Dans
le cadre du projet HPCS (High Productivity Computing
Systems) le Département de la Défense des états-Unis a
financé trois projets de nouveaux langages de haut niveau
dédiés au calcul parallèle : Chapel chez Cray, Fortress
chez SUN et X10 chez IBM.
Les langages développés sont actuellement en phase
de test, cependant, ils ne semblent pas près de remplacer
les techniques actuelles, ce qui ne facilite pas l’effort de
développement logiciel nécessaire pour extraire tout le
potentiel des machines pétaflopiques.
L’évolution importante de l’année 2008 a été l’annonce
du franchissement du seuil du petaflops, la machine Roadrunner de LANL a atteint en juin la puissance de 1,026 pétaflops. Il faut noter que cette machine aurait coûté 133 M€
soit environ 133 M€ /Pflops
Cette annonce a été suivie par celle de la machine
Jaguar de ORNL qui a atteint 1,059 Pétaflops.
Il est peut-être instructif de revenir dix ans en arrière ;
à cette date le professeur Thomas Sterling [12] du Caltech
présentait un projet de machine pétaflopique pour 2007,
avec une remarquable visite en réalité virtuelle. La logique était constituée de RSFQ (Rapid Single-Flux-Quantum) cryogéniques, permettant une horloge à 100 GHz la
mémoire était holographique et l’interconnexion entièrement optique. Il avait raison pour la date, mais le contenu
technologique est beaucoup plus simple et surtout moins
coûteux. La technologie classique du silicium a permis de
construire économiquement un super ordinateur performant, sans passer par des avancées trop radicales.
Mais l’évolution ne s’arrête pas à ce niveau. Si la loi
classique de Gordon Moore, qui prévoit le doublement de
puissance des processeurs tous les dix-huit mois, est bien
connue, son équivalente pour les supercalculateurs l’est
moins. Le seuil du Gigaflops (Cray) a été atteint en 1988,
celui du Teraflops (Intel) en 1998. Le facteur 1 000 est ainsi «régulièrement» obtenu en dix ans, ce qui correspond à
un doublement annuel des performances, la loi de SuperMoore. Cette accélération s’explique par l’augmentation
des budgets accordés au calcul intensif qui est justifiée par
l’apport croissant de la simulation numérique à la recherche scientifique et au développement industriel.
Ainsi, la NSF a annoncé l’installation au NCSA
(UIUC à Urbana Champeign), en 2011 de la machine
Blue Waters, d’une puissance d’environ 10 Pflops, dédiée
à la recherche académique et le DOE celle d’une machine
6
Message Passing Interface.
de 20 Pflops, dénommée Séquoia en 2012 à LLNL, soit
un facteur 10 en trois ans, bien dans la perspective de la
loi de Super-Moore. Ces deux machines, de conception
différente, seront construites par IBM. Le prix de Blue
Waters serait de 208 M€, soit 21 M€/Pflops ; il est intéressant de noter qu’entre RoadRunner et BlueWaters, le
prix spécifique est divisé par 6,5 pour une date de livraison retardée de trois à quatre ans. Ces chiffres ne sont
que des ordres de grandeur, les budgets de ces machines
étant connus de manière très imprécise et les architectures
n’étant pas comparables.
Pour ce qui est de l’Europe et à part les projets du CEA,
il faut signaler que le centre national allemand Gauss a
commandé une machine BlueGene/P de 1 Pflops devant
être installée pendant le premier semestre 2009.
Le projet japonais Keisoku (signifie 1016 en japonais)
prévoit, lui aussi, d’atteindre 10 Pflops en 2012, l’investissement du gouvernement japonais serait de l’ordre de
1,1 G€. Il se place dans la suite du succès de l’Earth Simulator, avec une ambition renouvelée, son nom sera Life
Simulator. L’institut RIKEN est en charge du projet en
s’appuyant sur les industriels japonais de l’informatique
(Fujitsu, Hitachi et NEC), très récemment NEC et Hitachi
ont annoncé qu’ils se retiraient du projet.
5. Les incitations politiques
Le rapport Besson [13] consacré au développement
de l’économie numérique en France, énonce 154 propositions pour que la France numérique soit au meilleur niveau
mondial en 2012. Parmi elles, cinq concernent l’usage de
la simulation numérique et méritent d’être rappelées dans
ce document :
• Elargir le champ d’action de GENCI à l’INRIA et dans
le domaine de l’industrie et des PME
• Développer la présence française dans les logiciels de
simulation
• Construire un plan de formation supérieure dans le domaine de la simulation numérique et de ses applications
• Participer à l’infrastructure européenne PRACE
• Etudier avec les acteurs industriels et la Commission
européenne le développement d’une industrie européenne des supercalculateurs.
6.Conclusion
Il est important de résumer nos principales remarques :
• La puissance des supercalculateurs double tous les ans
• Le coût élémentaire du calcul est divisé par deux, tous
les deux ans
• Le coût de l’heure de processeur (multicœur) est de l’ordre
de 0,10 €
• Le prix de revient de l’heure de l’ingénieur d’études est
de l’ordre de 100 €
• Il est rentable d’utiliser 1 000 heures de calcul pour éco-
REE
N°11
Décembre 2009
5
Dossier
LE CALCUL À HAUTES PERFORMANCES :
URGENCE SCIENTIFIQUE, IMPERATIF INDUSTRIEL
nomiser une heure d’ingénieur
• L’investissement en développement algorithmique et informatique est nécessaire, sous peine d’être dépassé par
la compétition internationale
• La puissance apparente des grands logiciels de simulation associés aux ordinateurs à hautes performances
double tous les huit mois.
Infrastructure Toolkit”, Intl J. Supercomputer Applications,
11(2): 115-128, 1997.
[8]First Draft of a Report on the EDVAC [1945].
[9]
http://WWW.top500.org
[10] http://lcg.web.cern.ch/LCG/
[11] http://www.mcs.anl.gov/research/projects/mpi/mpich1/
[12]T. Sterling, P. C. Messina & P. H. SMITH, “Enabling
Technologies for Petaflops computing”.
Références
[1]
G. Moore, Electronics, Volume 38, April 19, 1965.
[2]
http://www.itrs.net/
[13]http://lesrapports.ladocumentationfrançaise.fr/BRP/084000.
pdf019938665 Eric BESSON, Premier ministre, France.
Secrétariat d’Etat à la prospective, à l’évaluation des politiques publiques et au développement de l’économie numérique.
[3]“A Science-Based Case for Large-Scale Simulation”, Office
of Science, US. Department of Energy, July 30, 2003.
[4]http://www.org/sbes/SBES-InitialFullDraftReport-20April2009.pdf
[5]“Validity of the Single Processor Approach to Achieving
Large-Scale Computing Capabilities”, AFIPS Conference
Proceedings, (30), pp. 483-485, 1967.
[6]J. L. Gustafson, “Reevaluating Amdahl’s Law”, CACM,
31(5), 1988, pp.532-533.
[7]L. Foster, C. Kesselman, “Globus: A Metacomputing
6
REE
N°11
Décembre 2009
L ’
a
u
t
e
u
r
Alain Kavenoky est Ingénieur général des ponts et chaussées
(émérite).
Téléchargement