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

REE
N°11
Décembre 2009 1
Dossier LE CALCUL À HAUTES PERFORMANCES :
URGENCE SCIENTIFIQUE, IMPERATIF INDUSTRIEL
Mots clés
L’évolution des capacités du matériel est décrite, en rappelant la
loi de Moore, son extension aux supercalculateurs, ainsi qu’à l’en-
semble 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.
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.
Le s s e n t i e l Sy n o p s i s
Alain KAVENOKY
Ingénieur général des ponts et chaussées (Émérite)
Le calcul à hautes
performances : évolution
du matériel et du logiciel
Loi de Moore,
Grille,
Vectoriel,
Parallèle
1. Introduction
L’objectif de cet article est de décrire brièvement l’évo-
lution 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 ar-
chitectures 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 in-
tégré, cette forme de la loi ne donne aucune indication sur
la puissance du processeur associé.
Rapidement, cette loi est apparue comme trop opti-
miste, 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.
Cette loi est remarquablement vérifiée depuis plus de
quarante ans et toutes les courbes de croissance des puis-
sances de processeurs l’attestent.
Il faut de plus ajouter que le prix de vente unitaire des
puces processeurs a considérablement baissé malgré l’aug-
mentation de leur puissance. Ainsi au doublement en dix-
huit mois de la puissance s’ajoute une réduction importante
du prix de vente. La feuille de route de Sematech [2] mon-
tre que le coût du cycle élémentaire du transistor d’un mi-
croprocesseur 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 ma-
chines 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 Roa-
drunner 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 Tera-
flops 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 ma-
chine à 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 Los Alamos National Laboratory.
2 Le programme Linpack résout un système linéaire par élimination de
Gauss.
Dossier
REE
N°11
Décembre 2009
2
LE CALCUL À HAUTES PERFORMANCES :
URGENCE SCIENTIFIQUE, IMPERATIF INDUSTRIEL
Le calcul à hautes performances : évolution du matériel et du logiciel
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 Da-
vid Keyes [3], « A Science-Based Case for Large-Scale
Simulation » édité par l’Office of Science du DOE4, on
montre l’avantage apporpar le développement des al-
gorithmes 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étho-
de de Gauss Seidel, la surrelaxation optimale, le gradient
conjugué et la méthode multigrille :
Méthode Nombre d’opérations Année de création
Elimination de Gauss n7Anné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 n335
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 International Technology Roadmap for Semiconductors.
4 Department of Energy.
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 nom-
breux 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 ma-
chine et d’algorithme.
2.3. La loi de Moore de la simulation
D’après les auteurs, le temps de doublement de la per-
formance 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 solu-
tion en un temps Tal et que la performance de la machine
est doublée en un temps Tmat, le temps de doublement ap-
parent sera le double de la moyenne harmonique de Tal et
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).
REE
N°11
Décembre 2009 3
Le calcul à hautes performances : évolution du matériel et du logiciel
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 perfor-
mances ; 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 al-
gorithmique et logiciel est nécessaire.
3. Les architectures parallèles
Dès les années 1960, alors qu’il paraissait difficile d’ac-
croître les performances individuelles des ordinateurs, il
était tentant de gagner de la vitesse en 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 puis-
sance 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 commer-
ciale, 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 li-
mites 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 in-
fluant 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’identi-
que 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 finition a é
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 ensem-
ble 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.
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).
Dossier
REE
N°11
Décembre 2009
4
LE CALCUL À HAUTES PERFORMANCES :
URGENCE SCIENTIFIQUE, IMPERATIF INDUSTRIEL
Le calcul à hautes performances : évolution du matériel et du logiciel
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’archi-
tecture décrite par John von Neumann [8] en 1945. L’ordi-
nateur 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 instruc-
tions 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 diversi-
fié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 exem-
ple 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)
chaque processeur exécute son propre flux d’instructions
appliqué à son flux de données. Les micro-ordinateurs ac-
tuels qui disposent souvent de plusieurs cœurs appartien-
nent à cette catégorie.
Pour comprendre les spécificités des ordinateurs pa-
rallè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 sim-
ple d’emploi, tous les processeurs utilisent le même es-
pace d’adressage, toute modification de la mémoire est
immédiatement visible de tous les processeurs. Le princi-
pal inconvénient est la difficulté et le coût de construction,
mais aussi la limitation en nombre de processeurs connec-
tables. Le nombre maximal de cœurs dans ces architectu-
res 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 com-
munique avec les autres processeurs par un réseau d’inter-
connexion. 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
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 fabri-
quer des systèmes à mémoire partagée à petit nombre de
cœurs (8, 16, ) et on peut les connecter comme les archi-
tectures à mémoire distribuée. Parmi les ordinateurs les
plus puissants, cette architecture est assez répandue.
Dans le cas des architectures distribuées, deux pa-
ramè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 seaux spécialisés comme Myrinet, Infiniband ou
Quadrics, pouvant atteindre 40 Gbs. Des réseaux spécifi-
ques sont quelquefois utilisés, on peut citer le réseau en tore
3D des Cray XT5. Comme dans un réseau cubique, cha-
que 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 classe-
ment biannuel du Top500 [9] résout un système d’équa-
tions 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’effi-
cacité 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 don-
né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 en-
suite 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étri-
que et physique fine d’objet, par exemple l’aérodynami-
que 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.
REE
N°11
Décembre 2009 5
Le calcul à hautes performances : évolution du matériel et du logiciel
Ces problèmes se traitent souvent sur des architectu-
res hybrides, partage de mémoire et réseaux d’intercon-
nexion. 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 li-
bre (par exemple MPICH [11]).
Cette approche n’est malheureusement pas satisfaisan-
te, 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 Roa-
drunner de LANL a atteint en juin la puissance de 1,026 -
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 logi-
que était constituée de RSFQ (Rapid Single-Flux-Quan-
tum) cryogéniques, permettant une horloge à 100 GHz la
mémoire était holographique et l’interconnexion entière-
ment 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 perfor-
mant, 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 ain-
si «régulièrement» obtenu en dix ans, ce qui correspond à
un doublement annuel des performances, la loi de Super-
Moore. 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 recher-
che 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 livrai-
son 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’inves-
tissement du gouvernement japonais serait de l’ordre de
1,1 G. Il se place dans la suite du succès de l’Earth Si-
mulator, 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 proposi-
tions 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 do-
maine 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éen-
ne 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-
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !