version PDF - Flash informatique

Transcription

version PDF - Flash informatique
éCOLE POLYTECHNIQUE
FéDéRALE DE LAUSANNE
p/a EPFL - Domaine IT - CP 121 - CH 1015 Lausanne 15 - tél. +41 21 69 322 11 - Web: http://dit.epfl.ch
FI8/2009
Spécial calcul à haute performance
Editorial
[email protected], EPFL – Faculté des sciences de base –Services généraux Informatique
Le HPC
(Calcul à Haute Performance) est
une discipline vaste, qui englobe
des domaines comme l’architecture des processeurs, les
modèles de programmation, le calcul scientifique, l’architecture des bâtiments et les sciences environnementales. Si les
calculateurs peuvent être utilisés pour appuyer la recherche,
il sont aussi utilisés pour simuler les futures générations de
puces qui vont aller dans les prochains supercalculateurs et
l’impact environnemental de leur exploitation.
Le HPC rapproche les techniExaFLOPS
ciens, les responsables d’infrastructure et les chercheurs: une machine
pour être exploitée au mieux, doit
être bien gérée; les administrateurs
doivent connaître les besoins des
utilisateurs qui, à leur tour, doi- PetaFLOPS
vent connaître l’architecture de
la machine pour pouvoir en tirer
le meilleur parti. De plus, les calculateurs ont besoin de courant et
de climatisation, et c’est là que les
TeraFLOPS
infrastructures entrent en jeu.
Dans cet éditorial, nous allons
faire le point de l’état de l’art en
HPC pour les architectures et les
langages.
sur le fait que la fréquence des CPU doublait tous les
18 mois. Maintenant, puisque la consommation électrique
se comporte comme le carré de la fréquence, pour doubler
le nombre de FLOPS il vaut mieux doubler le nombre de
processeurs (ce qui double la consommation), plutôt que
doubler la fréquence (ce qui quadruplerait la consommation).
La loi de Moore dans les machines d’aujourd’hui perdure
presque uniquement grâce à l’augmentation des unités de
calcul dans une puce.
#1
#500
sum
GigaFLOPS
EN SUIVANT LA LOI DE
MOORE
La loi de Moore sur la performance des calculateurs (voir
encadré) s’appuyait jusqu’en 2002
1995
2005
2010
2015
2020
fig. 1– Évolution de la puissance de calcul des calculateurs dans le Top500, le premier +,
le dernier x et la somme de toutes les puissances de calcul *. Les grosses étoiles représentent
respectivement le Petaflops en 2009 et le ExaFLOPS en 2019
FLOPS
Le nombre d’opérations à virgule flottante par seconde est
une unité de mesure pour évaluer la vitesse des calculateurs.
Le repère le plus commun (et celui utilisé pour rédiger la liste
Top500, voir ci-dessous) est le benchmark autrefois Linpack:
une bibliothèque de fonctions en Fortran pour l’algèbre linéaire. Le problème que les machines doivent résoudre est plus
particulièrement un système linéaire Ax=b dense en double
précision (64bits) par une décomposition LU de la matrice des
coefficients [A b]. Les données sont distribuées dans une grille
PxQ de processus.
Pour donner une idée des ordres de grandeur: un PC dernier
cri (Intel Core i7 par exemple) est capable de 70 GFLOPS, et un
vieux Pentium à 166MHz (1996) arrive à 25MFLOPS.
MégaFLOPS = 106 FLOPS ← 1961
GigaFLOPS = 109 FLOPS ← 1984
TéraFLOPS = 1012 FLOPS ← 1997
PétaFLOPS = 1015 FLOPS ← on est ici
ExaFLOPS = 1018 FLOPS ← 2020?
FI 8 – 27 octobre 2009 – page 2
2000
LOI DE MOORE
Les lois de Moore (il y en a toute une famille)
concernent l’évolution de la puissance des ordinateurs
et de la complexité des puces. Ce sont plutôt des
conjectures, car leur validité peut ne pas être vérifiée
à long terme.
Première loi de Moore (1965): la complexité des semiconducteurs double tous les ans à prix constant.
Deuxième loi de Moore (1975): le nombre de transistors des microprocesseurs sur une puce de silicium
double tous les deux ans.
Version communément appelée Loi de Moore: la
vitesse des processeurs double tous les dix-huit
mois.
Dans la figure 1 on voit que la loi de Moore s’est
vérifiée jusqu’à aujourd’hui pour la première machine
du Top500 ainsi que pour la dernière et la somme des
puissances, et que si la loi de Moore continue d’être
vérifiée, on atteindra le ExaFLOPS vers 2020.
Editorial
LE TOP500
20
50%
Le projet Top500[1] vise à
25%
18 10%
rédiger une liste des 500 plus
5%
puissants ordinateurs au monde, la
16
métrique (benchmark) étant le R max
de Linpack. Cette liste est mise
14
à jour 2 fois par année: aux ISC
(International Super Computing)
12
de juin en Allemagne (voir article
Impressions de ISC 09 dans ce
10
numéro) et aux SuperComputing
en novembre aux Etats-Unis (voir
8
article SuperComputing SC08
de P. Jermini et J.-C. Leballeur, FI
6
1/2009). Cette liste est reconnue
par les usagers, les constructeurs,
4
ainsi que par les médias.
2
Historiquement, dans le
Top500 les machines vectorielles
0
sont apparues en premier, ensuite
1
2
4
8
16
32
64
128
256
512
102
les machines scalaires (SMP), puis
fig. 2 – Speedup versus nombre de processeurs pour différentes portions de code séquentiel
c’était l’ère Beowulf (voir mon
selon la loi d’Amdahl. On remarque que même un code avec uniquement 5% de code séquenarticle Beowulf-me ! paru dans le
tiel ne se parallélise pas bien au-dessus de 1000 processeurs, le speedup idéal étant égal au
FI 8/2007), et maintenant, c’est
nombre de processeurs.
l’ère des systèmes Green, ou bien,
écologiques. Auparavant on avait
assisté à la propagation des clusters, et cette tendance ne va
LA COURSE AU MACHOFLOPS
pas disparaître bientôt vu leur nombre dans le Top500: une
Un an après le PétaFLOPS on pense bien sûr déjà à
machine typique du Top500 est un cluster avec InfiniBand
l’ExaFLOPS qui, selon la loi de Moore, est prévu autour de
qui tourne sous Linux. Cette année, par contre, trois machil’an 2020. On peut remarquer que la consommation élecnes différentes occupent les premières positions (voir article
trique suit aussi une loi de Moore. Si on extrapole cette loi
Impressions de ISC 09). Est-ce que cela marque le début
pour 2020, on observe que la machine la plus rapide arrive à
d’un chaos architectural, ou bien s’agit-il d’une exploration de
une consommation de 20 à 50 MW (ce qui correspond à la
technologies pour nous mener avec succès à l’ExaFLOPS? Les
consommation énergétique d’une grosse ville). Ceci nous fait
performances de ces trois machines sont très proches – ceci
réfléchir: arrivera-t-on à l’ExaFLOPS? Réfléchissons sur commontre qu’il y a plusieurs chemins vers la puissance.
ment rendre les puces moins gourmandes en énergie. Déjà,
Dans la figure 1, on voit que la loi de Moore est encore
une machine comme RoadRunner (numéro un du Top500)
valable, malgré qu’on ait assisté dernièrement à un changeest moins gourmande qu’un cluster généraliste comme Jaguar
ment radical: ce n’est plus l’accroissement de la fréquence
(numéro deux), ceci grâce à des puces simplifiées. En plus, on
d’horloge du CPU mais l’augmentation du nombre des unités
peut améliorer le rendement en évitant les fuites d’énergie et
de calcul qui permet l’augmentation des performances. Mais
en utilisant du refroidissement à eau proche des processeurs
considérant les problèmes de réseau et d’accès à la mémoire,
(comme dans le projet Aquasar[2]).
jusqu’où peut-on aller?
On peut déjà imaginer l’architecture que la machine
ExaFLOPS exhibera: le jeu d’instructions doit être amélioré,
ce qui amènera moins de consommation par core. Le x86
LOI D’AMDAHL
La loi d’Amdahl exprime le gain de vitesse
d’exécution d’un programme en fonction du
nombre de processeurs: étant donné le nombre
de processeurs p et la portion de code séquentiel non parallélisable a, on obtient un gain de
performance (speedup) S de
S = 1/ (a + (1 -a)/p)
La conséquence directe de cette loi est
le plafonnement de la vitesse d’exécution
d’un code en parallèle. Mais tout n’est pas
perdu...
LOI DE GUSTAFSON
Cette loi nous sauve du problème de plafonnement de performance vu dans l’encadré concernant la loi d’Amdahl: elle nous dit
que tout problème suffisamment grand peut être parallélisé de façon
efficace. Soit p le nombre de processeurs, n la taille du problème et b
la partie non parallélisable du code, alors le speedup en fonction du
nombre de processeurs est donné par
S(p) = p – b(n) (p -1)
Si lorsque n tend vers l’infini b devient négligeable, alors S(p)
tend vers p.
Une conséquence pratique de cette loi est qu’avec plus de processeurs, on peut résoudre des problèmes plus grands (ce qui serait
impossible avec peu de processeurs).
FI SPÉCIAL HPC – 27 octobre 2009 – page 3
Editorial
PROGRAMMATION HYBRIDE
Dans la programmation hybride, on écrit du code pour différentes architectures. Les fragments d’exécutable iront donc s’exécuter sur des parties
différentes de la machine, tout en communiquant entre eux. L’exemple classique de programmation hybride est la programmation sur Cell, processeur
qui contient deux types d’unités de calcul.
n’arrive pas à l’ExaFLOPS de façon naturelle: la fréquence
ne peut plus augmenter et en multipliant les cores dans une
puce on va bientôt atteindre une limite imposée par la bande
passante mémoire.
En outre, le fait qu’il y ait beaucoup de CPU demande
une réflexion sur le MTBF (Mean Time Between Failures):
les pannes vont se produire plus fréquemment, voici un
calcul simple :
❚ supposons qu’une puce tombe en panne tous les 40 ans,
et supposons les pannes sans mémoire (c’est-à-dire, le
comportement d’une puce ne dépend pas de son passé).
Si on a n puces, la probabilité qu’aucune ne défaille un
jour donné est de (1-1/40/365) n . Prenons un exemple
pratique avec une machine comportant 8192 puces; alors
la probabilité de panne en un jour est de 40% environ.
Ce calcul est bien sûr sursimplifié: on ne calcule pas
ainsi le MTBF, mais cela donne une idée de l’ordre de
grandeur.
LE PROBLÈME LOGICIEL
La machine ExaFLOPS aura une dizaine de millions de
cores. Ceci requiert d’exploiter tous les niveaux de parallélisme de façon optimale.
❚ Le massivement parallèle nécessite l’emploi de la bibliothèque MPI, et pour l’instant il n’y a pas de bibliothèque
de remplacement établie et utilisée à large échelle: on
ne va donc pas se débarrasser de MPI dans un futur
proche.
❚ La programmation multi-thread (que ce soit OpenMP,
Pthreads ou Intel TBB) va prendre de l’importance: le
nombre de cores partageant la mémoire augmentera,
et utiliser MPI n’est parfois pas raisonnable. Il faut
par contre porter attention au piège d’Amdahl dans
OpenMP: ce langage est utilisé le plus souvent sur du
multicore, est-ce que les programmes se paralléliseront
bien sur du many-core? Un code qui se parallélise bien sur
16 cores peut avoir des problèmes à 128. Des problèmes
pour l’instant sous-estimés dans ce type de parallélisation
sont par exemple:
❚ La gestion de threads.
❚ Le fait de paralléliser des morceaux de code (fork-join)
nous fait subir les pires conséquences de la loi d’Amdahl
(voir encadré): il faut apprendre à exploiter le parallélisme
naturel du problème au lieu de paralléliser simplement
le code.
❚ Le manque de contrôle sur la localisation de la mémoire
par rapport au core.
Ces problèmes sont en partie résolus par de nouveaux
modèles de programmation parallèle (lire le rapport de conférence 38th SPEEDUP Workshop on High-Performance
Computing dans ce numéro).
Dans le massivement parallèle, il ne faut pas compter
les opérations mais plutôt les communications et les déFI 8 – 27 octobre 2009 – page 4
GPGPU
Le General-purpose computing on
Graphics Processing Units est en pratique l’art de la programmation sur
GPU pour résoudre des problèmes
habituellement relégués au CPU.
placements dans la mémoire: le goulet d’étranglement a
été déplacé vers le bus mémoire et le réseau. N’oublions
pas qu’un transfert mémoire prend plus de temps qu’une
multiplication, et qu’une comparaison du type if (a == b)
(jamais prise en compte lors du nombre d’opérations) peut
beaucoup ralentir un code.
GPGPU ET PROGRAMMATION HYBRIDE
Dans cette jungle de nouvelles architectures et langages,
comment faut-il s’orienter? On considère que:
❚ La programmation sur les processeurs hétérogènes de
type Cell (machine numéro un du Top500) n’est pas
évidente, mais même si le Cell n’était pas là pour rester,
la gymnastique mentale nécessaire pour le programmer
est un atout dans un HPC qui tend à l’hétérogénéité.
❚ Nvidia est le premier constructeur à avoir introduit un
langage pour programmer les GPU de façon assez directe:
CUDA. Comme premier arrivé il mérite du succès mais
on a souvent vu que le premier n’est pas nécessairement
celui qui va rester: son concurrent OpenCL se donne
comme objectif d’être un langage unique pour plusieurs
architectures parallèles et est supporté par les trois grands
acteurs du GPGPU (ATI, Nvidia et Intel). Encore une
fois, la gymnastique mentale pour apprendre CUDA
n’est pas une perte de temps. N’oublions pas que pour
le moment les cartes graphiques sont très puissantes dans
un domaine assez restreint: le calcul matriciel en simple
précision. La double précision est déjà partiellement là,
mais même si la plupart des problèmes résolus grâce au
HPC contiennent une bonne partie de calcul matriciel,
ce n’est pas tout.
Donc même si maintenant la situation semble confuse,
ces architectures sont là pour rester et évoluer. Les concepts
sur lesquels elles se basent ne sont pas juste une mode, et
apprendre à les exploiter est un bon investissement.
ET À L’EPFL?
Dans ce numéro Spécial HPC, vous découvrirez la diversité des thèmes de recherche où l’apport de la simulation
numérique est fondamental. Toute institution de recherche
se doit d’être équipée d’infrastructures de pointe, avec des
architectures complémentaires – sans oublier la nécessité de
former à une utilisation efficace de ces ordinateurs. Vous trouverez des rapports de conférences suivies par des membres de
la communauté, des descriptions des ressources à disposition
des chercheurs, ainsi que des articles écrits par les chercheurs
eux-mêmes. Vous aurez ainsi un panorama de ce qui se passe
à l’EPFL en HPC depuis plusieurs points de vue.
[1]
[2]
www.top500.org
www.zurich.ibm.com/news/09/zed.html ■
Le projet CADMOS
(Center for Advanced Modeling Science)
[email protected], Vice-Président pour les affaires académiques
CADMOS (Center
for Advanced
Modeling Science) is
a joint initiative of the
Universities of Geneva
and Lausanne and
EPFL in the domain
of supercomputing.
The CADMOS plan
includes the acquisition
and installation of
a 57 TeraFLOPS
capacity Blue Gene/P
supercomputer on the
E FL campu
EP
p s.
CADMOS (Center for
Advanced Modeling
Science) est une
initiative des universités
de Genève, Lausanne
et de l’EPFL, visant
à une collaboration
étroite dans le domaine
des ordinateurs à haute
puissance de calcul
et de leur utilisation.
Le plan CADMOS
comporte l’acquisition
et l’installation à
l’EPFL d’un superordinateur Blue Gene/P
doté d’une capacité de
57 TéraFLOPS.
Depuis
quelques années, l’avenir de la modélisation par ordinateur
interpelle le monde académique et industriel suisse ainsi que
les leaders politiques. La simulation joue un rôle clé en science et technologie et est
véritablement devenue la troisième voie de la recherche s’ajoutant aux expériences
et à la théorie. Cette évolution exige, pour un pays avancé comme la Suisse, un
accès adéquat aux ordinateurs les plus performants.
La réponse nationale est le plan stratégique (HPCN – high performance computing and networking) prévoyant un système central au CSCS (Tessin) dépassant
1 PétaFLOPS, plus quelques nœuds régionaux en réseau. Une décision finale par
les responsables politiques est attendue prochainement.
La région lémanique a décidé de brûler les étapes de ce plan national et de
constituer sans retard son nœud, atteignant ainsi une position d’avant-garde sur
le plan tant suisse qu’international. Les Grands Conseils des cantons de Genève et
Vaud, en coordination avec l’UNIL et l’UNIGE, ont lancé une collaboration avec
l’EPFL appelée CADMOS ou Centre de modélisation scientifique avancée.
Les objectifs sont à la fois ambitieux et concrets. Au cœur de CADMOS se situe
un ordinateur de haute puissance et grande capacité de stockage, l’IBM modèle
Blue Gene/P qui est entré en fonction à mi-septembre. Mais CADMOS est beaucoup plus qu’un ordinateur: sa mission comprend l’expansion générale des activités
HPCN au sein des trois institutions membres. Elle vise également l’extension de la
modélisation avancée à des nouveaux domaines de recherche – notamment dans
les sciences humaines et sociales et dans l’économie.
Des moyens financiers importants ont été décidés par les deux cantons, avec
des contributions considérables des fondations Wilsdorf et Louis-Jeantet. Le total
dépasse 20 millions de francs sur quatre ans. L’EPFL contribue au même niveau
en finançant l’électricité, le personnel technique et la restructuration des locaux
pour le système Blue Gene/P – plus de nouvelles chaires de modélisation. Les trois
institutions s’engagent à mettre en commun les logiciels et les expériences pratiques,
et à lancer des projets conjoints de recherche et de formation HPCN.
Cet esprit de collaboration ne constitue pas une nouveauté: les hautes écoles de
l’arc lémanique ont multiplié ces dernières années leurs initiatives de coopération.
On peut notamment citer le Centre d’Imagerie Biomédicale (CIBM) réunissant
l’EPFL, l’UNIL, l’UNIGE, le HUG et le CHUV. C’est en partie grâce à ces actions
coordonnées que la région se situe parmi les plus productives au monde en science
et technologie. L’impact positif sur l’économie locale et nationale est déjà visible.
La structure légale de CADMOS, développée à partir du modèle CIBM,
est celle d’une société simple. CADMOS est sous la responsabilité des recteurs
de l’UNIGE et de l’UNIL et du président de l’EPFL, constituant le Conseil du
centre. Ce Conseil peut compter sur l’appui du Comité de pilotage et du Comité
de direction du CADMOS. A tous les niveaux, les institutions partenaires sont
présentes paritairement.
Les premières étapes de CADMOS ont déjà mis en
évidence un esprit constructif de collaboration et une série
d’objectifs communs aux trois institutions. Quels sont ces
objectifs? En premier lieu, la modélisation avancée doit
sortir du cercle des spécialistes pour assumer le rôle d’outil
applicable à la grande majorité des problèmes scientifiques et
technologiques. Il s’agit donc de dépasser les limites actuelles
d’application – physique, chimie, science des matériaux, hydrologie, biologie, géophysique – pour atteindre de nouveaux
domaines tels que l’économie et les finances, le traitement des
langues, la modélisation climatique à grande échelle, l’analyse
des problèmes environnementaux, la sismologie, les projets de
l’ingénierie et l’architecture. Ce programme ambitieux exige
des actions de promotion et de coaching à tous les niveaux,
visant en particulier les unités des trois institutions qui n’ont
pas encore été touchées par le calcul de haute puissance.
Il s’agit également de créer de nouveaux groupes de recherche par des nominations et des financements ciblés. Ces
initiatives viseront notamment des modélisations scientifiques
et technologiques n’existant pas dans cette région.
CADMOS doit aussi contribuer à augmenter le rôle de
la modélisation avancée dans les formations dispensées par
FI SPÉCIAL HPC – 27 octobre 2009 – page 5
Le projet CADMOS
les trois institutions partenaires. Anciennement réservé à une
petite élite, cet outil devient désormais indispensable pour
une vaste gamme de disciplines. Reproduisant l’impact des
ordinateurs portables, la modélisation avancée devient une
composante essentielle des programmes d’enseignement
d’une multiplicité de domaines.
CADMOS participera à cette évolution mettant à disposition des compétences, des instruments et des enseignants.
Il sera aussi au cœur d’initiatives conjointes de formation
sur le modèle, par exemple, du nouveau master de calcul
numérique de l’EPFL.
Depuis quelques semaines, CADMOS n’est plus une vision mais une réalisation concrète. Les institutions partenaires
ont décidé de profiter de l’expérience acquise à l’EPFL par
l’exploitation du système Blue Gene/L, soutenant l’évolution
au système Blue Gene/P actuel. L’EPFL a répondu à ce défi,
notamment par l’action du DIT qui a permis la mise en
fonction de Blue Gene/P dans un temps record.
Restent à régler des questions légales et administratives.
Mais CADMOS, en tant que centre de coopération, est déjà
une réalité: ses ressources informatiques sont ouvertes à tous
les utilisateurs des trois institutions ; les premiers groupes de
l’UNIGE et de l’UNIL ont récemment commencé à interagir
avec Blue Gene/P.
La Suisse occidentale se situe ainsi, une fois de plus, à
l’avant-garde de la science et de la technologie grâce à la force
conjointe de ses remarquables institutions. ■
Master en Science et Ingénierie
Computationnelles
[email protected], Directeur du Comité de pilotage CSE
EPFL – Faculté des sciences de base – Chaire d’analyse numérique et mathématiques computationnelles
DE LA MODÉLISATION À L’INGÉNIERIE PAR
LA SIMULATION
Ces dernières années, l’EPFL a consolidé sa position dans
les sciences computationnelles avec l’arrivée de plusieurs
professeurs qui font des ressources HPC (High Performance
Computing) leur outil de travail principal. En même temps, le
CECAM (Centre Européen de Calcul Atomique et Moléculaire)
s’est installé sur le campus et Blue Gene a été renouvelé grâce
à CADMOS (Center for Advanced Modeling Science), né d’une
nouvelle collaboration au sein de l’arc Lémanique.
Ce développement au niveau de la recherche et des infrastructures a été complété par la mise en place à l’EPFL,
depuis cet automne, d’un Master en Science et Ingénierie
Computationnelles. Un Mineur l’accompagne et est ouvert
aux étudiants intéressés par cette branche mais qui ne désirent
peut-être pas réorienter leurs études après le Bachelor.
Ce Master entend répondre aux défis futurs des sciences
de l’ingénieur qui voient les composantes du monde HPC
ainsi que la modélisation mathématique et la compréhension
d’algorithmes de calculs avancés prendre une importance
toujours plus grande. La maîtrise des outils computationnels,
déjà très recherchée dans l’industrie, représente donc un atout
indéniable pour le futur ingénieur.
Le Master se déroule sur deux ans et comprend des
FI 8 – 27 octobre 2009 – page 6
cours, des projets de semestre et de Master, ainsi qu’un
stage en entreprise. Le curriculum académique se divise en
cours de base et cours dédiés aux applications dans plusieurs
disciplines des sciences et de l’ingénierie. Les cours de base
(calculs scientifiques et méthodes numériques, architecture
et programmation multiprocesseur, modélisation multiéchelles et multi-physique) donnent à l’étudiant des outils
indispensables pour aborder les sciences de l’ingénieur sous
l’angle computationnel. Les cours dédiés aux applications
permettent à l’étudiant d’approfondir ses connaissances dans
des domaines spécifiques de l’ingénierie.
La direction scientifique de ce master est assurée par un
comité de pilotage composé par sept professeurs de notre
école, dont la directrice du CECAM, et trois provenant des
universités partenaires du CADMOS, c.-à-d. des universités
de Genève et de Lausanne. Ces professeurs représentent
plusieurs disciplines: de la mécanique des fluides, des solides,
des matériaux et des machines hydrauliques, à la simulation
atomique et moléculaire, en passant par les mathématiques
et le calcul parallèle.
Un adjoint scientifique assiste les étudiants dans le
choix des cours, des projets et dans la recherche d’un stage
en entreprise.
Retrouvez le master sur cse.epfl.ch ■
Cluster – LPHE1
de la simulation à l’analyse de données du LHC
[email protected], [email protected], [email protected], et [email protected],
EPFL – Faculté des sciences de base – Laboratoire de physique des hautes énergies
The Laboratory of High Energy Physics
group at EPFL is a member of the LHCb
collaboration. The LHCb experiment is one
of the four main experiments using the Large
Hadron Collider (LHC) at CERN. The aim
of the experiment is the study of matterantimatter asymmetry and the search for
New Physicss phenomena. The complexity of
the detector and physics simulation coupled
with the large amounts of data expected from
LHCb requires the development of unique
computing solutions.
Our PC farm uses the bespoke software
framework developed by LHCb to accurately
simulate every aspect of the experiment under
operational conditions, from particle collisions
to detector response and data collection.
In addition, many physics analysis algorithms
tackling issues from detector alignment to
searching for the Higgs particle are developed
and now tested on the cluster, in preparation
f r the first LHCb data.
fo
Le Laboratoire de Physique des Hautes Énergie
de l’EPFL est membre de la collaboration
LHCb. L’expérience LHCb est l’une des quatre
expériences majeures qui utilisent le LHC
(Large Hadron Collider) au CERN. Le but de
cette expérience est l’étude de l’asymétrie entre
la matière et l’antimatière, ainsi que la mise en
évidence de phénomènes de nouvelle physique.
La complexité de la simulation du détecteur
et de la physique couplée au taux exceptionnel
de données attendues du LHC requiert
le développement de nouvelles solutions
informatiques.
Notre ferme d’ordinateurs utilise la structure
de software spécialement développée par
LHCb pour simuler précisément tous les
a pe
as
p cts de l’exp
périence dans des conditions
opérationnelles, des collisions de particules à la
réponse du détecteur et la collecte des données.
De nombreux algorithmes pour les analyses
physiques, allant de l’alignement du
détecteur à la recherche du boson de Higgs,
sont développés et maintenant testés sur ce
cluster, en attente des premières données de
l’lexpé
p rience LHCb.
INTRODUCTION
Le LPHE (Laboratoire de Physique des Hautes Énergies,
lphe.epfl.ch) participe activement à l’expérience LHCb (Large
Hadron Collider beauty experiment, lhcb.web.cern.ch), l’une
des quatre expériences majeures du nouvel accélérateur
de particules du CERN, le LHC (Large Hadron Collider).
Cette expérience, menée par une collaboration de plus de
500 physiciens, est principalement dédiée à l’étude de particules comprenant un quark b. Elle étudiera, en particulier,
la violation de la symétrie CP qui permet de différencier la
matière de l’antimatière et certaines désintégrations rares
qui pourraient contredire notre connaissance actuelle. Tout
comme les autres expériences du LHC, LHCb attend avec
impatience les premières collisions de protons, conduisant
à l’enregistrement des premières données pour la fin de
l’année 2009.
LHCb s’attend à enregistrer chaque année un volume
de données de l’ordre du Pétabyte. La solution trouvée pour
le stockage et l’analyse d’une telle quantité de données est
connue sous le nom du WLCG (Worldwide LHC Computing
Grid, lcg.web.cern.ch). Il s’agit d’un réseau mondial de centres de calcul dans lesquels sont distribués à la fois le stockage
des données enregistrées et leur analyse. LHCb distingue trois
types de site de calcul en fonction de leur importance.
Les sites de premier niveau (TIER 1), sont les sites principaux de stockage et d’analyse de données. LHCb exploite
sept sites TIER 1: celui du CERN, ceux d’Italie, Espagne,
Allemagne, France, Hollande et Angleterre. Le CERN sera
responsable de la réplication des données du détecteur
LHCb vers les différents sites de premier niveau quasiment
en temps réel.
FI SPÉCIAL HPC – 27 octobre 2009 – page 7
Cluster – LPHE1: de la simulation à l’analyse de données du LHC
Les sites de second niveau (TIER 2), en plus grand nombre, mais d’importance moindre vont garder seulement un
sous-ensemble des données, qu’ils copient temporairement
depuis un site de premier niveau. Le centre de calcul suisse
CSCS de Manno (TI) fonctionne pour LHCb comme tel.
(Pour illustrer le modèle adopté par LHCb voir The LHCb
computing data challenge DC06, dans Journal of Physics:
Conference Series 119 (2008) 072023).
En plus de ces centres de calcul, chaque institution de la
collaboration peut posséder un cluster local (TIER 3), dont
l’accès est règlementé. C’est le cas du cluster du LPHE.
La gestion et la réplication des données, de même que la
soumission, l’exécution et la récupération des jobs tournant
sur le WLCG sont contrôlées par DIRAC (Distributed Infrastructure with Remote Agents’ Control, lhcb-comp.web.cern.
ch/lhcb-comp/DIRAC/), développé par LHCb. Ce projet a
été conçu pour être hautement adaptable et supporte l’utilisation hétérogène des ressources et des différents systèmes
mis à disposition de la collaboration. Ces ordinateurs et
ressources proviennent non seulement du WLCG, mais aussi
de sites indépendants comme celui de l’EPFL. Le cluster du
LPHE à l’EPFL, dédié uniquement à LHCb, a été l’un des
premiers sites de test pour le projet DIRAC et à terme devra
être utilisable depuis le WLCG.
La raison d’être du cluster du LPHE est l’analyse physique
des données qui seront enregistrées bientôt par l’expérience
LHCb. Cependant, alors que ces données n’existent pas
encore, le cluster a été abondamment utilisé dès sa mise en
marche. L’utilisation actuelle comprend la production de
simulation Monte Carlo, le développement d’algorithmes
d’analyse ou encore les études pour l’alignement spatial des
sous-détecteurs de l’expérience LHCb.
STRUCTURE DU CLUSTER
Les éléments formant ce cluster sont les mêmes que ceux
utilisés par l’expérience LHCb pour le traitement de données
brutes à la sortie du détecteur (trigger de l’expérience). Ce
choix est motivé par la possibilité de partager les solutions
aux problèmes software et hardware qui pourraient survenir
de part et d’autre. Le cluster est composé de 60 nœuds,
comprenant chacun deux processeurs à 4 cœurs (Intel Xeon
E5420 Quad-Core 2.5GHz), 8 GB de RAM et un disque
de 160GB. Deux nœuds sont utilisés interactivement pour
la compilation, les 58 nœuds restants étant utilisés en mode
batch. Le système d’exploitation est le Scientific Linux CERN
SLC 4.8 en 64 bits, version adaptée de Red Hat Enterprise
Linux. Les nœuds sont interconnectés en Gigabit Ethernet.
Le système de disques comprend actuellement 30 disques de
1TB (SATA II) configurés en RAID5, donnant une capacité
de stockage de 20TB. Prochainement, 60 nouveaux disques
de 1TB seront installés et le volume de stockage atteindra
alors 60TB effectifs.
Le système de queue et de soumission est géré par TORQUE et Maui, compatibles avec les programmes utilisés au
CERN (comme couche supérieure) permettant la soumission
et le contrôle des jobs dans le système de nœuds. À raison
d’un job par cœur, un total de 464 (58 x 2 x 4) jobs peuvent
tourner simultanément sur le cluster.
Tous les programmes et les librairies sont compilés dynamiquement en 64 bits avec le compilateur gcc 3.4 pour
une meilleure efficacité. L’installation totale des programmes
de simulations et d’analyses de LHCb a une taille d’environ
9 GB et contient plusieurs milliers de librairies compilées.
L’UTILISATION DU CLUSTER
La durée de vie d’une expérience de physique des particules, depuis son développement jusqu’à la fin de son
exploitation est supérieure à une dizaine d’années. Cependant, il est fondamental de garantir la stabilité des logiciels
développés par la collaboration. Pour supporter les inévitables
changements technologiques survenant sur ce laps de temps,
LHCb a défini une architecture claire pour encadrer ses logiciels. L’architecture de ce software, appelée GAUDI (cern.
ch/gaudi), couvre tous les processus appliqués aux données,
de la simulation à l’analyse. GAUDI est un logiciel orienté
objet et écrit en C++.
la simulation d’une collision dans LHCb
FI 8 – 27 octobre 2009 – page 8
Cluster – LPHE1: de la simulation à l’analyse de données du LHC
Toutes les applications basées sur cette architecture
peuvent être configurées et exécutées grâce à des scripts en
python. Ceci facilite l’accès direct aux objets utilisables en
C++ associés aux codes d’une manière bien plus simple que
de réécrire un code en C++, tout en assurant à l’utilisateur la
possibilité d’effectuer des analyses pointues. Cette particularité permet aux physiciens utilisant les softwares de LHCb de
rapidement développer les codes spécifiques à leurs propres
analyses. Ce système permet d’associer la rapidité d’exécution
du C++ avec la flexibilité et la simplicité de python.
La simulation Monte Carlo (MC) est intensément utilisée
en Physique des Hautes Énergies, que ce soit dans de la phase
de R&D, pour l’évaluation de différentes options de design,
ou pour tester les algorithmes d’analyse de données.
Le MC est composé tout d’abord d’une partie générateur
d’évènements physiques (p. ex. des collisions proton-proton
produisant des évènements avec une particule de Higgs).
Toutes les particules générées (plusieurs centaines) sont envoyées dans un programme de transport (GEANT4, geant4.
web.cern.ch).
La géométrie du détecteur est très détaillée, avec une
résolution meilleure que le millimètre (la taille du détecteur est de 20 m) et la composition chimique de chacun
des éléments du détecteur est connue. De plus, le champ
magnétique généré par l’aimant de LHCb a été mesuré sur
une grille tridimensionnelle. Ces informations relatives à la
distribution de matière et au champ magnétique sont utilisées
pour simuler la trajectoire, la diffusion et les interactions
des particules traversant le détecteur. De plus, la réponse du
détecteur au passage de particules est également simulée,
ainsi que toute la chaîne de lecture et de traitement du
signal, jusqu’à la reconstruction des traces et les différentes
mesures d’énergie, d’impulsion et d’identité associées à ces
dernières. Ainsi, le résultat de la simulation est le plus proche
possible des informations qui seront recueillies lors d’une
collision réelle.
La préparation des analyses de processus physiques peut
donc se faire avec un bon degré de précision. Les membres
du laboratoire testent, améliorent et évaluent l’efficacité de
leurs algorithmes d’analyse sur le cluster.
Le LPHE est impliqué dans plusieurs analyses. Des
désintégrations sensibles à la violation de la symétrie CP,
qui permettent de différencier la matière de l’antimatière
sont étudiées, de même que certaines désintégrations très
rares, mais qui permettent de tester des théories alternatives.
Des analyses pour trouver la particule de Higgs sont aussi
développées, alors que certains membres se concentrent sur
l’exploitation des premières données qui seront recueillies.
Un autre exemple d’utilisation du cluster est de tourner
des jobs de calibration. L’EPFL a développé et construit un
des sous-détecteurs de LHCb, appelé Inner Tracker (lphe.
epfl.ch/lhcb/itproduction). Ce détecteur, situé au plus près du
faisceau, est chargé de mesurer la trajectoire des particules
chargées. Il est composé de fines pistes de silicium (environ
200’000 canaux), espacées de 200 micromètres, qui recueillent les électrons arrachés à la bande de valence du silicium lors du passage d’une particule chargée. Pour exploiter
correctement les informations recueillies par ce détecteur, la
position des pistes doit être connue aussi précisément que
possible, à une précision de l’ordre de 10 microns.
Il est impossible d’obtenir cette précision avec de la mé-
trologie classique. La méthode la plus efficace est d’utiliser les
données elles-mêmes, générées par le passage de particules.
Par un algorithme itératif, on corrige au fur et à mesure la
position des pistes par rapport à la position nominale, en
minimisant les déviations résiduelles que l’on obtient lors
de la reconstruction de traces. Étant donnée la taille du détecteur, la procédure demande un grand nombre de traces et
d’itérations. On s’attend à devoir faire tourner ce programme
très souvent, car la stabilité mécanique du détecteur n’est
probablement pas de l’ordre de 10 micromètres. Des longs
programmes batch automatiques seront donc envoyés sur le
cluster dans ce but de calibration.
Cette procédure a été testée sur des données MC, mais
aussi sur de vraies données: lors de certains tests d’injection
de protons dans l’anneau du LHC, une quantité importante
de particules secondaires est créée. Le passage de ces particules
dans le détecteur LHCb a été enregistré. Avec ces données, on
a pu démontrer que l’on était capable d’aligner spatialement
l’Inner Tracker.
Nous attendons maintenant pour la fin 2009 les collisions
proton-proton à haute énergie fournies par le LHC pour
pouvoir faire des analyses physiques avec des données réelles
sur le cluster du LPHE. ■
flash informatique
Les articles ne reflètent que l’opinion de leurs auteurs. Toute
reproduction, même partielle, n’est autorisée qu’avec l’accord
de la rédaction et des auteurs. Abonnement à la version électronique du FI en envoyant un courrier à: fi-subscribe@
listes.epfl.ch
Rédacteurs en chef:
Jacqueline Dousson & Vittoria Rezzonico,
fi@epfl.ch
Mise en page & graphisme:
Appoline Raposo de Barbosa
Comité de rédaction:
Aristide Boisseau, Paulo de Jesus, Patrice Fumasoli,
Jean-Damien Humair, Laurent Kling, Vittoria
Rezzonico, François Roulet, Christophe Salzmann,
Predrag Viceic & Jacques Virchaux
Impression: Atelier de Reprographie EPFL
Tirage:
4000 exemplaires
Adresse Web: dit.epfl.ch/FI-spip
Adresse:
Domaine IT EPFL
CP 121, CH-1015 Lausanne 15
Téléphone:
+4121 69 32246 & 32247
FI SPÉCIAL HPC – 27 octobre 2009 – page 9
Les origines des forces de friction à
portée des super-ordinateurs
[email protected], EPFL – Faculté de l’environnement naturel, architectural et construit –
Laboratoire de simulation en mécanique des solides
Friction forces have microscopic origins that
are still badly understood. Current research
within EPFL thanks to super computers,
use multiscale models that couple atomistic
and macroscopic simulations to bring new
elements of understanding of coulombic
friction laws. Advances and difficulties are here
p esented.
pr
Les forces de frictions ont des origines
microscopiques encore bien mal comprises.
Des recherches, menées à l'EPFL grâce à
des super-calculateurs, utilisent des modèles
couplant échelle atomique et macroscopique
pour apporter de nouveaux éléments de
compréhension des lois coulombienne de
friction. Les avancées ainsi que les difficultés
d la discip
de
pline sont ici pr
p ésentées.
L’humanité
s’est intéressée à la tribologie depuis fort longtemps
(des historiens montrent l’utilisation de roues à partir de 3500
av. J.-C.). L’état actuel de nos connaissances apporte une
bonne compréhension des dispositifs mécaniques construits
par l’homme à l’échelle macroscopique. Toutefois, la mécanique du contact traditionnelle décrit les phénomènes
tribologiques par des lois empiriques ou semi-empiriques par
exemple à l’aide de la très célèbre loi de Coulomb. Prenons
le cas présenté sur la figure 1. Un objet qui glisse sur un
support fixe ne continuera son mouvement qu’à la condition
qu’une force lui soit appliquée. Si cette dernière s’équilibre
avec les forces de friction alors le mouvement se fait à vitesse
constante. Selon le modèle coulombien le rapport μ=F/N
est constant. Autrement dit, la force nécessaire pour faire
bouger l’objet est proportionnelle à la force qui l’appuie
contre le support.
En réalité, la loi coulombienne n’est pas exacte. Le
coefficient de friction dépend de nombreux paramètres
comme la température, la vitesse de glissement, la rugosité des
surfaces, la présence d’un troisième corps (liquide ou gazeux)
jouant un rôle lubrificateur, et bien d’autres. Finalement,
que ce soit à l’échelle macroscopique ou nanoscopique, les
problèmes tribologiques sont particulièrement difficiles à
expliquer. La raison principale tient, comme beaucoup de
problèmes en mécanique des matériaux, du fait que les différents mécanismes interagissent à des échelles de temps et
d’espace séparées, mais qui contribuent significativement au
phénomène global. Sur la figure 1, un agrandissement de la
zone de contact révèle la complexité des surfaces des solides
en contact: la surface de contact réelle n’est pas celle que l’observateur de l’échelle macroscopique pourrait constater.
C’est donc tout naturellement que de récents efforts de
recherche se sont orientés vers le calcul des forces de contact à
partir des micro- et nano-aspérités. Bien sûr, les déformations
élastiques qui peuvent agir à de très grandes distances de la
zone de contact doivent être prises en compte. Cette séparation d’échelle constitue un défi important qui a été un frein,
jusqu’à présent, à la simulation numérique des phénomènes
de frottement et d’usure aux très petites échelles. Aujourd’hui,
avec les expérimentations qui explorent la nano-tribologie et
avec la croissance de la puissance des calculateurs, l’exploration par la simulation des phénomènes tribologiques devient
de plus en plus nécessaire et pertinente.
Particulièrement, au Laboratoire de Simulation en
Mécanique des Solides, des efforts importants sont portés
sur l’influence de la rugosité des surfaces en contact sur le
coefficient de frottement. Des études pionnières utilisaient la
mécanique des milieux continus comme modèle ainsi qu’une
discrétisation par éléments finis pour simuler deux corps, avec
des surfaces rugueuses, mises en contact par l’application
fig. 1 – un agrandissement de la zone de contact montre la complexité microscopique d’un tel mouvement
FI 8 – 27 octobre 2009 – page 10
Les origines des forces de friction à portée des super-ordinateurs
d’une pression. Il a alors été soupçonné qu’aux échelles les
plus petites, la nature discrète de la matière pourrait modifier
sensiblement les prédictions auparavant obtenues. C’est là
que la dynamique moléculaire, qui modélise explicitement
chaque atome d’un corps, a fait son entrée. On a alors pu
montrer que les forces de contact calculées par la mécanique
des milieux continus étaient globalement sous-évaluées, car
la représentation de l’organisation atomique ne peut être
correctement prise en compte dans une matière assimilée
comme continue.
Même si la dynamique moléculaire est une approche bien
établie pour la simulation des matériaux à l’échelle atomique,
elle possède un talon d’Achille particulièrement vulnérable.
Le principal problème réside dans la manipulation informatique des atomes nécessaires pour créer des simulations
de taille conséquente sur des temps suffisamment longs.
Pour donner un ordre d’idée de la difficulté du problème,
considérons 1 μm3 de silicium solide. Ce dernier contient
approximativement 1011 atomes. Si l’on souhaite stocker
3 champs de données tridimensionnelles (position, vitesse et
force sont un minimum) dans des flottants double précision
alors un simple calcul permet d’obtenir le chiffre vertigineux
de 6,5 Térabytes pour une photo instantanée de l’état de la
matière. Il est légitime de se demander comment stocker et
visualiser autant de données. Des techniques de parallélisation peuvent aider à réaliser des simulations avec un nombre
d’atomes toujours plus important, mais le coût de calcul lié
à la résolution spatiale ainsi que les temps simulés (de l’ordre
de la nano-seconde pour quelques millions de pas de temps)
est et sera pour encore longtemps la plus grande limitation
de la dynamique moléculaire. Jusqu’à très récemment les
simulations de mécanique du contact effectuées considéraient
soit des cas 2D, soit de très petits échantillons 3D. Dès lors,
le lecteur attentif argumentera qu’il était inabordable de
considérer les champs lointains de déformation élastique et
leur influence sur la mécanique du contact.
Parallèlement, des méthodes hybrides dites de couplage
multi-échelles ont émergé pour palier aux problématiques
liées aux très grands nombres d’atomes à manipuler. L’idée,
assez simple finalement, est de considérer la mécanique des
milieux continus lorsqu’elle est suffisamment précise, et la
dynamique moléculaire lorsque les déformations locales ne
peuvent plus être considérées comme uniformes sur de larges
distances. Concrètement, dans la zone très proche des points
de contact il faut une représentation atomique, mais plus
loin, les déformations deviennent uniformes et un maillage
d’éléments finis fournit une très bonne approximation des
champs élastiques. Clairement, l’objectif principal est de
réduire significativement le nombre d’inconnues à résoudre
et ainsi diminuer les temps de calcul et la masse de données
à stocker pour effectuer les analyses post-traitement.
La figure 2 montre un domaine utilisé au LSMS pour
simuler le contact glissant par un couplage de deux échelles. La partie atomique contient un million d’atomes et le
maillage contient 40 000 nœuds. Le couplage est réalisé dans
une zone de recouvrement, où les atomes et les éléments finis
coexistent et sont collés ensemble par le jeu d’opérateurs
mathématiques. L’indenteur va appuyer sur le substrat qui va
se déformer du fait du contact glissant. Ce dernier est étendu
grâce à un maillage et peut ainsi prendre en compte le champ
élastique longue portée. De nombreux développements de
modèles et de logiciels ont permis qu’une telle approche soit
parallélisée et utilisée efficacement sur les différents moyens
de calcul de l’EPFL.
fig. 2 – Modèle couplé pour la simulation du contact entre
deux objets constitués d’atomes de cuivre
Toutefois, ces approches ne sont pas parfaites. Une
difficulté importante réside dans la technique de parallélisation massive de cette approche. Classiquement une
décomposition de domaine est utilisée pour décomposer le
calcul global en sous-tâches afin que les processeurs puissent
travailler le plus efficacement possible. La figure 3 présente
les décompositions sur 4 processeurs puis sur 20 processeurs
obtenues par des techniques classiques. Ce sur quoi il faut
s’intéresser ici, c’est la zone commune aux deux modèles.
Autrement dit, la zone de recouvrement où les deux sous-domaines sont collés ensemble. Suivant le nombre de sous domaines et leur placement, certains processeurs vont participer au
couplage ou non. En effet, dans le cas d’un partitionnement
du problème en quatre parts, tous les processeurs chargés d’un
sous domaine atomique ont une partie incluse dans le recouvrement. Ce n’est plus vrai pour la partition en 20 parts. La
conséquence directe est ce que nous appelons communément
le déséquilibre de charge. Certains processeurs vont terminer
leurs tâches plus rapidement et attendre ceux qui ont plus de
travail à fournir. Un ralentissement général est alors observé
avec une perte d’efficacité du programme informatique. Il
est clair que cet effet augmente avec le nombre de partitions
que l’on souhaite utiliser. Pour un grand nombre de processeurs (plusieurs centaines au moins) cet effet commence à
devenir ennuyeux et limite l’intérêt de l’approche couplée.
Il est important de considérer ce problème et pour ce faire
nous travaillons actuellement à l’intégration de techniques
de partitionnement de maillages qui prendraient en compte
le coût de couplage dans la répartition des tâches.
FI SPÉCIAL HPC – 27 octobre 2009 – page 11
Les origines des forces de friction à portée des super-ordinateurs
fig. 3 – Décomposition du domaine présenté sur la figure 2 en
4 parties (à gauche) et en 20 parties (à droite)
Mais il y a aussi une problématique du côté de la modélisation. En effet, un problème connu depuis les prémices de
ce type d’approche est celui du traitement correct des ondes
mécaniques et plus précisément de la bonne transmission de
ces dernières entre la dynamique moléculaire et les éléments
finis. Si nous imaginons une onde de déplacement (une
vague) qui vient de la partie atomique, et se dirige vers la
partie de mécanique continue, que va-t-il se passer ? Eh bien
cela dépend de la longueur d’onde. Si cette longueur d’onde
est très courte (haute fréquence) alors le maillage qui sert
de support à l’onde n’a pas assez de points pour représenter
cette dernière. L’onde incidente n’a d’autre choix que de se
réfléchir à l’interface. Par contre, pour les grandes longueurs
d’onde la transmission se fait sans problème. On peut le voir
également selon la théorie de l’échantillonnage de NyquistShanon: si une série de points discrets (les nœuds du maillage)
sont le support pour un signal harmonique alors il y a une
limite dans le nombre de points minimum nécessaire pour
représenter correctement l’information de l’onde. Et cette
limite est clairement liée à la fréquence de l’onde.
La figure 4 présente une simulation plan où l’onde de
déplacement circulaire présente des réflexions à l’interface.
Ces réflexions d’ondes n’ont, bien entendu, rien de physique.
Des techniques ont donc été inventées pour contrer cet effet
et dissiper ces ondes problématiques. Toutefois, cette portion
d’énergie retirée du système a des inconvénients concernant
le traitement de la température. En effet, à cette échelle, la
température est en fait une énergie ondulatoire correspondant
à des ondes quasi stationnaires de très hautes fréquences. Le
maillage ne peut pas les représenter et si le système est capable
de les dissiper alors l’information concernant l’énergie thermique est perdue. Ces thématiques font partie des recherches
que nous menons sur les algorithmes de couplage au LSMS
et sont encore émergentes.
Toutefois, le message est clair: il est désormais possible de
contrer la limitation spatiale des simulations de dynamique
moléculaire dans le cadre de l’étude de la matière condensée. Nous avons d’ailleurs déjà appliqué ces concepts sur la
mécanique du contact et nous avons pu modéliser le contact
glissant de deux surfaces rugueuses (fractales) en prenant en
compte l’élasticité à longue portée des objets considérés. Ce
domaine, à la rencontre de l’informatique du calcul haute
performance, de la modélisation mécanique et de la science
des matériaux, présente des facettes clairement multi-disciplinaires. Et d’ailleurs, les multiples difficultés déjà contournées
ne le furent que grâce à l’association de scientifiques de spécialités a priori différentes. Pour l’évolution de cette discipline, il
est très important de fournir des efforts dans la modélisation
et les techniques informatiques. La modélisation, car la
parallélisation seule ne saurait rendre possible la simulation
par dynamique moléculaire d’échantillons macroscopiques.
La parallélisation, car pour obtenir une précision accrue,
des domaines de grandes tailles sont requis, et la complexité
des algorithmes mis en place rend tout à fait non triviale
l’utilisation de ces codes sur les super-calculateurs modernes.
Grâce à ces outils, nous découvrirons peut-être les origines
microscopiques des forces de friction, qui font que la roue
tourne depuis des milliers d’années.■
fig. 4 – Réflexion d’une onde circulaire à la traversée d’une zone de recouvrement dans un cristal d’Argon en deux dimensions
FI 8 – 27 octobre 2009 – page 12
Number crunching
on clusters at EPFL
[email protected], Marcelo [email protected], [email protected], [email protected] & [email protected],
EPFL– School of Computer and Communication Sciences – Laboratory for cryptologic algorithms
Vous êtes vous déjà posé
la question comment
l’information est-elle
protégée? Personne n’est
vraiment sûr de cette
protection. Aucune des
méthodes habituelles de
protection n’est garantie,
tout ce qu’on peut dire
c’est que nous ne pouvons
pas les casser et on espère
que d’autres ne le peuvent
pas non plus. La sécurité à
long terme repose sur des
expériences comme celles
décrites ici, menées dans
le cadre du Laboratoire de
cryptologie algorithmique
d l’EPFL.
de
Ever wondered how
information is protected?
No one knows for sure.
None of the currently used
methods can be guaranteed
to offer security. All we can
say is that we cannot break
them. We hope that others
cannot do so either. Long
term security estimates rely
on experiments. Some of
those carried out at EPFL’s
Laboratory for Cryptologic
A go
Al
g rithms are described.
1
2
INTRODUCTION
That 15 equals 3 times 5 is not hard to figure out.
That 21039-1 equals 5080711 times
55853 66661 99362 91260 74920 46583 15944 96864 65270 18488 63764 80100 52346 31985 32883 74753
times a 227-digit number is less obvious. Everyone with enough time (and patience)
on their hands can verify it. But how were those numbers found? And why is it
interesting?
Finding the factorizations of 15 or 21039-1 are examples of the integer factorization problem. It has been studied for ages, mostly for fun1.
It was believed to be hard, and useless. The latter changed in 1976 when Ron
Rivest, Adi Shamir, and Len Adleman showed an application. If it is hard, then
everyone can communicate securely with anyone else. This now famous RSA cryptosystem led not only to headaches for national security agencies. It also put integer
factorization in the center of attention. After more than three decades of scrutiny
the results have been disappointing – and reassuring: integer factorization is still
believed to be hard and RSA is still considered secure. And there is still no proof
that the problem is hard either2.
This is not the place to explain how the hardness of factoring can be used to
protect information. We describe our experiments to find out how large an RSA
modulus has to be to get enough protection. One of our experiments led to the
factorization of 21039-1.
Only a few alternatives to RSA have been found. A popular one is ECC (Elliptic Curve Cryptography). It relies on the hardness of ECDLP (elliptic curve discrete
logarithm problem). As in integer factorization, there is no hardness proof. But the
problem looks even harder: secure ECC-parameters are much smaller than secure
RSA-parameters.
Integer factorization and ECDLP experiments can be fully parallelized. Both
require hundreds or even thousands of core years. For the rest they are entirely different. Integer factorization is a multi-step process. It profits from large memories
and needs tightly coupled processors in one of its steps. Large clusters of servers
are commonly used. For ECDLP almost anything goes, as long as there is a lot of
computing power. It hardly needs memory and no fast network. It suffices to have
a large disk to store the data trickling in from the contributors.
Our experiments were conducted on clusters at EPFL. For integer factoring
this included the server clusters at LACAL (Laboratory for Cryptologic Algorithms)
along with various other clusters (Callisto, Mizar, Pleiades) and the campus greedy
network. For ECDLP we used LACAL’s cluster of more than 200 PlayStation 3
game consoles. We also describe some other cryptographic experiments on the
PlayStation cluster.
See for instance Hunting big game in the theory of numbers, a September 1932 Scripta Mathematica paper by Derrick N. Lehmer,
cf. ed-thelen.org/comp-hist/Lehmer-NS03.html.
On the contrary, it is easy on a quantum computer. Such computers do not exist yet, so this is not a practical threat.
FI SPÉCIAL HPC – 27 octobre 2009 – page 13
Number crunching on clusters at EPFL
GENERATING RSA MODULI
An RSA modulus is a publicly known integer that is the product of two prime numbers of about the same
size. Security provided by it relies on the secrecy of its prime factors. RSA moduli can be generated quickly
because of two classical results in number theory:
There are plenty of primes. About 1 out of every 2.3D random D-digit integers is prime. This is the Prime
Number Theorem. If the random numbers are odd, the chance doubles!
Primes can quickly be recognized. If p is prime then a p – a is a multiple of p. This is Fermat’s little theorem.
A generalization is used to recognize primes.
Multiplication is easy. Twice using the above, two D-digit primes can efficiently be found. Their product
can be calculated and made public. It is an RSA modulus of about 2D digits. The two primes should be
kept secret by the owner of the RSA modulus.
If factoring is hard and D big enough, only the owner knows the factors of a public RSA modulus. With
a good random number generator, different runs lead to different primes and different RSA moduli.
NUMBER CRUNCHING ON SERVER CLUSTERS
square root. That works, except that it is slow. For 20-digit
integers one may have to try almost half a billion primes. That
is doable. For 100-digit numbers there may be more than
1045 primes to try, which is undoable. Nevertheless, 100-digit
integers are easy to factor. How does that work?
INTEGER FACTORIZATION
What can be hard about factoring? Just try to divide by 2,
3, 4, 5, 6, … . Or, faster, try only primes and stop at the target’s
APPROXIMATE FACTORING RUN TIMES
To find the smallest factor p of a composite n, trial and error, Pollard’s rho, ECM, SNFS, and NFS require,
approximately,
p
,
ln p
√ p,
e 2 √ ln
p ln ln p
,
1/3
e 1.56(ln n)
(ln ln n)2/3
, and
1/3
e 1.92(ln n)
(ln ln n)2/3
operations on integers at most n, respectively. SNFS applies only to special n.
There are two types of factoring methods. The first type
finds smaller factors faster. Examples are the above trial and
error method, Pollard’s rho method, and the Elliptic Curve
Method (ECM, cf. Section SLICING AND DICING ON THE SPU).
For RSA moduli it is better to use NFS (Number Field Sieve),
the fastest method of the other type. SNFS, a faster version
of NFS, can be used for special numbers. The number 21039-1
is special. RSA moduli are not.
ECM (ecm.gforge.inria.fr/) was installed in the spring of
2007 on EPFL clusters by two bachelor students, Aniruddha
Bhargava and Sylvain Pelissier. Aniruddha is still managing
it. More than 280 special numbers have been factored, as
part of a century old factoring project (homes.cerias.purdue.
edu/~ssw/cun/).
NFS on a desktop factors any 100-digit integer in a few
hours. So, 100-digit integers are no good for RSA. Factoring
FACTORING USING RELATIONS
Let 143 be the number to be factored. Consider 172=3+2×143. We write it as
172 ≡ 3 mod 143
2
to express that the difference between 17 and 3 is an integer multiple of 143. We say that 172 and 3 are congruent modulo 143.
–––
An integer v > √143 is a relation if v2 ≡ u mod 143 and u’s prime factors are at most 5: we say that u is 5-smooth.
Thus, 17 is a relation. Similarly, 19 is a relation because
192 ≡ 3×52 mod 143.
2
But 18 is not, because 18 ≡ 38 mod 143 and 38 has a prime factor 19 > 5.
Relations can be combined by multiplying them: the left hand side by the left hand side, and the right hand
side by the right hand side. The result is again a relation. For instance, combining 17 and 19 produces
172×192 ≡ 3×3×52 mod 143.
We seek a combination where both sides are squares. The left hand side is a product of squares and thus a
square. For the right hand side it takes some fiddling around (linear algebra, done in the matrix step). For the
example it turns out to be a square right away:
(17×19)2 ≡ (3×5)2 mod 143.
A square on both sides may be useful to factor:143 evenly divides
(17×19)2–(3×5)2=3232–152=(323–15)×(323+15)=308×338,
and therefore
143 = gcd(143,308) × gcd(143,338)=11 × 13.
Here we use the Euclidean algorithm to easily calculate the greatest common divisors.
FI 8 – 27 octobre 2009 – page 14
Number crunching on clusters at EPFL
200-digit integers with NFS is challenging. The first published
200-digit effort ran from Christmas 2003 to May 2005. It
would have taken 75 years on a single core 2.2GHz Opteron.
On that processor 300-digit numbers would take a million
years. At this point that is out of reach for us. Currently,
309-digit RSA moduli are commonly used.
The two main steps of NFS are sieving and the matrix.
Sieving is used to find relations: congruences that can be combined to produce a factorization. Sieving can be parallelized
over any number of independent processors. The relations
are combined in the matrix step. It needs all relations and
is best run on tightly coupled processors. Below these steps
are described in more detail.
SIEVING
Relations in factoring use smooth values, integers with
only small prime factors. Smooth integers are found quickly
with a sieve: instead of checking each integer against all small
primes, all values in the sieve are tested simultaneously. In
theory this works great. In practice it is not so easy.
The sieve is too large to fit in memory: for 21039-1 the
SNFS-sieve would have consisted of 1018 elements. Therefore
the sieve is broken into pieces. Line sieving used to be the
favorite approach. Lattice sieving with special q is faster and,
right now, more popular. In both cases independent processors can process the smaller pieces. Because there are many
SIEVING IN NFS AND SNFS
Let A and B be positive integers and let the sieve S be the rectangle [- A ,A ]×[1,B] in Z 2 consisting of
#S=(2A +1)B pairs of integers. Relations are pairs s in S for which f(s) and g(s) are smooth, where f and g
are certain nicely behaving integer functions on Z 2: if p divides f(s 1, 0 ) for a pair s 1, 0 =(r f (p),1), then p also
divides f(s i,j ) for all pairs s i,j =( ir f (p )+jp,i) where i and j are integers. The same holds for g, but there is
no relation between rf and rg. All s i,j in S are found by inspecting for each i with 1 ≤ i ≤ B the integers j for
which | ir f (p )+jp| ≤ A . After sieving twice with all small primes (namely, for f(s) and for g(s)), the relations
—
can be collected. The small primes are, approximately, those less than √#S.
LINE SIEVING
The sieve S can be split into smaller pieces [-A,A]×[i] for i=1,2,…,B without changing the sieving strategy.
If 2A+1 sieve-locations still do not fit in memory, each line may be further partitioned.
LATTICE SIEVING WITH SPECIAL q
Given a prime q, let Lq be the lattice defined as the integer linear combinations of the vectors (q,0) and
(r f (q),1) in Z 2, and let Sq be a subset of Lq. It follows that q divides f(s) for s in Sq. The lattice Lp may intersect with Sq. The intersection points are quickly determined using a reduced basis for the intersection of
Lq and Lp. In Sq relations are found by doing this for all small p.
This lattice sieving touches only the pairs in Sq that are hit by p. Line sieving would for each p inspect
each line of Sq. That would be too slow given how many primes q need to be processed and because the larger
primes p hit a vanishingly small fraction of the lines of Sq.
The same relation may be found for different primes q. All duplicates need to be removed.
small pieces, sieving can be parallelized over any number of
processors. Cache misses cause trouble too. They cannot be
avoided, but their impact can be lessened.
We give three sieving examples: the 200-digit record NFS
factorization of RSA-200, the record SNFS factorization of
21039-1, and the current 232-digit NFS factoring effort for
RSA-768.
RSA-200. Lattice sieving with most special q primes between
300 million and 1.1 billion was used, along with some
line sieving, for small primes up to 300 million. It was
done at various locations in Germany and the Netherlands, resulting in 2.3 billion unique relations. It would
have taken 55 years on a single core 2.2 GHz Opteron
with 1 GB RAM.
21039-1. The 40 million primes between 123 million and 911
million were used as special q primes. Per special q smoothness of twice 2 billion integers was tested using 16 million
primes less than 300 million. This takes two and a half
minutes on a single core of a 2.2GHz Opteron with 1GB
RAM. For all special q primes it would have taken a century
on a dual core 2.2GHz Opteron. It took half a year on
clusters in Germany, Japan, and Switzerland. It was the
first large scale factoring effort in which EPFL participated,
contributing 8.3% of the sieving effort. More than 16 billion relations were collected including duplicates, resulting
in almost 14 billion unique relations.
RSA-768. For this as-yet unfinished NFS factorization, half
a billion special q primes in the range from 110 million
to 11 billion sufficed. Per special q smoothness of twice
2 billion integers was tested using 55 million primes less
than 1.1 billion. On average processing a single special q
took a bit more than 2 minutes on a 2.2GHz Opteron
core. Overall it would have taken about a millennium
on a dual core 2.2GHz Opteron with 2GB RAM per
core. It was done over a period of 1.5 years on clusters in
Australia (0.43%), France (37.97%), Germany (8.14%),
Japan (15.01%), Switzerland (34.33%), the Netherlands
(3.44%), and the United Kingdom (0.69%).
Clusters at LACAL contributed 28.97% of the sieving effort, i.e., a sustained performance of about 200 dual core
processors over a period of 1.5 years. Machines on EPFL’s
greedy campus network did not have enough RAM to
contribute a lot. Nevertheless, they were responsible
for 0.82%. More than 64 billion relations were found,
resulting in 47 billion unique relations.
FI SPÉCIAL HPC – 27 octobre 2009 – page 15
Number crunching on clusters at EPFL
RELATIONS AND VECTORS
Looking for 7-smooth values while trying to factor 1457, we could have found the following five relations
412 ≡ 224 mod 1457=25×30×50×71,
432 ≡ 392 mod 1457=23×30×50×72,
582 ≡ 450 mod 1457=21×32×52×70,
592 ≡ 567 mod 1457=20×34×50×71,
602 ≡ 686 mod 1457=21×30×50×73.
Since there are 4 primes that are at most 7, each relation leads to a 4-dimensional vector of exponents:
41:
43:
58:
59:
60:
[5,0,0,1],
[3,0,0,2],
[1,2,2,0],
[0,4,0,1],
[1,0,0,3].
Component-wise adding the first, second, and fourth vector results in an all even vector:
[5,0,0,1]+[3,0,0,2]+[0,4,0,1]=[8,4,0,4].
This corresponds to the combination
(41×43×59)2 ≡ (24×32×50×72)2 mod 1457.
With 41×43×59 ≡ 570 mod 1457 and 24×32×72 ≡ 1228 mod 1457 this leads to
1457= gcd (1457,570-1228) × gcd (1457,570+1228)=47×31.
Combination of the relations 41 and 60 produces the same factorization, but combination of 43 and 58 leads
to 1457=1×1457. There is always a chance of bad luck. Sometimes many combinations have to be tried.
Sieving for 309-digit RSA moduli as used in practice is
about a thousand times harder.
THE MATRIX STEP
Each smooth value in a relation is the product of a
number of small primes. For each smooth value, the number
of times each small prime occurs in it, is the small prime’s
exponent - zero if the small prime does not occur. For each
relation we get a vector of exponents. The number of exponents is the total number of small primes, and is the dimension of the vector.
In each smooth value each small prime can occur, but
only very few small primes do occur. Thus, for each vector
all but a few entries are zero, i.e., the vectors are sparse. Using
simple sparse vector encoding tricks, the storage required
for all vectors is therefore practically linear in the number
of relations.
The set of relations thus leads to a collection of sparse
vectors. In the matrix step subsets of the set of relations are
determined such that the vectors corresponding to a subset
add up, component-wise, to a vector with all even entries.
This is a well known linear algebra problem. A solution exists if the number of relations exceeds the dimension. That
condition is easy to check. In the examples above, however,
there are way more unique relations than small primes.
That is because large primes are allowed in smooth values.
The dimension of the vectors – and the number of relations
required – is therefore much larger than the number of small
primes. It also makes it harder to see if enough relations have
been found, i.e., if a solution exists. It is still easy, though.
FI 8 – 27 octobre 2009 – page 16
But existence of a solution is not enough. To be able to factor, solutions have to be found. That is a more complicated
but well-studied problem.
The classical solution is Gaussian elimination. It processes
the vectors one-by-one looking for a non-zero pivot, eliminating its occurrence in subsequent vectors. Although the
original vectors require linear storage, it becomes quadratic
due to fill-in. As a result the run time is cubic in the dimension, despite the original sparsity. For application in factoring,
with dimensions of many millions, Gaussian elimination is
too memory and time consuming.
Newer methods take advantage of the sparsity, with storage linear and run time quadratic in the dimension: blockLanczos and block-Wiedemann. They look alike, as they both
consist of a long iteration of matrix×vector multiplications.
But they are very different. Lanczos is a geometric method
that iteratively builds a sequence of orthogonal subspaces.
After each iteration a central node has to gather all current
information, to decide how to proceed for the next one.
This frequent need for synchronization and non-trivial data
exchange between all participating nodes limits the way
block-Lanczos can be parallelized.
Block-Wiedemann is an algebraic method. It builds a
sequence satisfying a linear recurrence relation, using an
iteration of matrix×vector multiplications. The minimal polynomial of the recurrence, determined with the BerlekampMassey algorithm, is used to derive solutions using another
iteration of matrix×vector multiplications.
The central step, i.e., Berlekamp-Massey, is the fastest
one, but it requires lots of memory. The two iterations are the
Number crunching on clusters at EPFL
most compute-intensive. But they can be done independently
by a small (say, 4, 8, 12, or 16) number of parties, so the brunt
of the calculation can be divided among a small number
of independent clusters. Inter-cluster communication is
required only before and after the central step. Despite the
cumbersome central step which is done at a single location,
block-Wiedemann is now more popular than block-Lanczos:
it is used in all current record factorizations.
RSA-200. After preprocessing, the relations resulted in
64 million vectors with, on average, 172 non-zeros per
vector. The matrix step was done at BSI, Germany, in
3 months on a single cluster of 80 single core 2.2 GHz
Opterons connected via a Gigabit network.
21039-1. The set of relations was squeezed down to 67 million vectors with 143 non-zeros on average. They could
have been dealt with as the RSA-200 matrix, but it was
decided to use a more challenging approach: this became
the first factorization for which the matrix step was
processed in 4 disjoint streams on clusters here at EPFL
and at NTT in Japan.
At EPFL, a cluster of 96 2.66 GHz Dual Core2Duo processors (with 4 cores per node, sharing a single network
connection) was used for 2 streams. At NTT 2 streams
were processed on a cluster of 110 dual core 3GHz
Pentium D processors in a torus topology with Gigabit
ethernet. Under ideal circumstances all 4 streams could
have been processed in 59 days on the Pentium cluster,
i.e., 35 Pentium D core years. On 32 nodes of the Dual
Core2Duo cluster it would have taken 162 days, i.e., 56
Dual Core2Duo core years. This latter performance is
relatively poor due to the shared network connection.
The Berlekamp-Massey step was done on a 72 core cluster
at EPFL. It took 128 GB of memory and less than 7 hours
wall-clock time. On 64 cores at the University of Bonn it
took 8 hours. Intermediate data transfer between NTT
and EPFL took half a day over the Internet. Altogether
the matrix step took 69 days.
RSA-768. Here the matrix is much larger: 193 million vectors with 144 non-zeros on average. The calculation is ongoing on eight clusters here at EPFL (3), at INRIA/Nancy
in France (3), and at NTT in Japan (2). The central step
will be done on a cluster at EPFL. It would take four to
five months on 36 nodes of LACAL’s 12-cores-per-node
2.2 GHz AMD cluster with Infiniband network. On
the NTT-cluster (as above), it would take about a year
and a half. Combined (where INRIA uses grid5000, cf.
www.grid5000.fr), we hope to be able to do it in about
3 months.
For 309-digit RSA moduli as used in practice the matrix
step is about a thousand times harder. A block-Lanczos
effort may be carried out in the Netherlands on the
Huygens computer, cf. huygens.supercomputer.nl.
NUMBER CRUNCHING ON PLAYSTATION 3
GAME CONSOLES
THE CELL PROCESSOR
The Cell processor is the main processor of the Sony
PlayStation 3 (PS3) game console. IBM’s roadrunner,
currently the largest
computer, contains almost 13 thousand Cell
processors – not to play
games, but because they
are powerful general
purpose processors.On
current PS3s the Cell
can be accessed using
Sony’s hypervisor. The
PS3 is thus a relatively
inexpensive source of
processing power.
The Cell (see picture)
is quite different from regular server or desktop processors.
Taking advantage of it requires new software. It is worthwhile to design software specifically for the Cell, because its
architecture will soon be mainstream. It not only helps us to
take advantage of inexpensive Cell processing power, it also
helps to gear up for future processors.
The Cell’s main processing power comes from eight SPUs
(Synergistic Processing Units). They run independently from
each other at 3.2GHz, each working on their own 256 kilobyte of fast local memory (the Local Store) for instructions and
data and their own 128 registers of 128 bits each. The latter
allow SIMD (Single Instruction Multiple Data) operations
on sixteen 8-bit, eight 16-bit, or four 32-bit integers. There
are many boolean operations, but integer multiplication is
limited to several 4-way SIMD 16×16 → 32-bit multipliers
including a multiply-and-add. There is no 32×32 → 64-bit or
64×64 → 128-bit multiplier. The SPU has an odd and even
pipeline: per clock cycle it can dispatch one odd and one even
instruction. Because the SPU lacks smart branch prediction,
branching is best avoided (as usual in SIMD). The Cell also
has a PPE (Power Processing Element), a dual-threaded 64-bit
processor with 128-bit AltiVec/VMX SIMD unit.
When running Linux, six SPUs can be used (one is
disabled, and one is reserved by the hypervisor). For some
applications a Cell can be as powerful as twelve 64-bit processors or twice that many 32-bit ones. Sometimes we get
more, sometimes less - but most of the time, even if integer
multiplications are important, we get a lot.
SLICING AND DICING ON THE SPU
We mostly looked at applications that can be run on
any number of SPUs in parallel, on each individual SPU
independent of the PPE or other SPUs, without inter-SPU
communication, and without large memory demands. We
have not tried hard yet to synchronize two or more SPUs
for a single task. Per PS3 this would be doable, and could
be efficient, if memory demands are low (i.e., probably not
for NFS-sieving).
Our performance measure is overall throughput. Latency
per process is mostly irrelevant. Given our applications’ parallelizability over any number of SPUs, it may thus pay off to
run several processes in parallel per SPU. While doing so, we
may exploit the SIMD architecture by sharing instructions
among processes. And we may interleave multiple SIMD
processes, filling both pipelines to increase throughput,
while possibly increasing per-process latency. It depends on
the application and memory and code-size demands how
FI SPÉCIAL HPC – 27 octobre 2009 – page 17
Number crunching on clusters at EPFL
DISCRETE LOGARITHMS
Looking at 2 mod 11 for x=0,1,2,…,9 we find that for each y with 1 ≤ y < 11 there is a unique x with 2x ≡
y mod 11:
20 ≡ 1 mod 11, 21 ≡ 2 mod 11, 22 ≡ 4 mod 11, 23 ≡ 8 mod 11, 24 ≡ 5 mod 11,
25 ≡ 10 mod 11, 26 ≡ 9 mod 11, 27 ≡ 7 mod 11, 28 ≡ 3 mod 11, 29 ≡ 6 mod 11
10
(and 2 ≡ 1 mod 11). The integer 2 is said to generate the multiplicative group of integers modulo 11: <2> =(Z/11Z)*.
If y ≡ 2x mod 11, then x is the discrete logarithm of y with respect to 2 in (Z/11Z)*.
The element 3 of (Z/11Z)* generates an order 5 subgroup of (Z/11Z)*:
30 ≡ 1 mod 11, 31 ≡ 3 mod 11, 32 ≡ 9 mod 11, 33 ≡ 5 mod 11, 34 ≡ 4 mod 11, 35 ≡ 1 mod 11.
Given a prime p, a generator g of (Z/pZ)*, and an exponent x, the value y ≡ g x mod p in (Z/pZ)* can quickly
be calculated using modular exponentiation, even for large p and x. The converse calculation, to find x such that
y ≡ g x mod p if p, g, and y are given is the discrete logarithm problem. It is believed to be hard for large p. It is also
believed to be hard in sufficiently large prime order subgroups of (Z/pZ)*.
The asymmetry in difficulty between modular exponentiation and its converse, is similar to the asymmetry
between integer multiplication and factoring. Just as the latter underlies the RSA cryptosystem, the former
underlies discrete logarithm based cryptosystems. Due to NFS-like discrete logarithm methods, the prime p in
(Z/pZ)* would have to be as large as an RSA modulus to get the same level of security. Other methods may apply
as well, depending on the order of the (sub)group used.
x
THE BIRTHDAY PARADOX
How many different people must be picked at random to get a more than 50% chance that two have the
same birthday? It follows from a simple calculation that the answer is 23. This is called the birthday paradox, not
because it is a paradox, but because 23 is much lower than intuition seems to suggest.
–——
If random objects are selected with replacement from N objects, one may expect √πN /2 rounds before an
object is picked twice. This relatively high chance to find a duplicate has many applications: in the search for hash
collisions, in Pollard’s rho for integer factoring, and Pollard’s rho for discrete logarithms.
POLLARD’S RHO METHOD TO COMPUTE DISCRETE LOGARITHMS
Let g generate an order q group G, and let y be an element of G. To find the discrete logarithm of y with
respect to g, i.e., an integer x such that g x =y, Pollard’s rho looks at g r y s in G for random pairs (r,s) of integers.
––—
Because of the birthday paradox, after √πq/2 pairs a duplicate may be expected: pairs (r,s) and (u,v) such that
g r y s =g u y v . Unless v ≡ s mod q, this leads to
.
This is implemented by simulating a random walk in G. Take a small integer t (say, 15 or 20) and partition
G in t parts G1, G2, …, Gt of about equal size, such that it can quickly be decided to which part an arbitrary element of G belongs. For i=1,2, …, t pick integers ( r i ,s i ) at random and calculate p i =g r i y s i in G. Define the start
point w0 of the random walk as a random power of g. Given w j , the walk’s next point w j+1 is p i w j , where i is the
unique integer such that w j belongs to G i . Note that it is easy to keep track of the pair (r,s) such that w j =g r y s .
This is not a random walk, but close enough. To find duplicate points, use Floyd’s cycle finding trick: compute
––—
( w k ,w 2k ) for k=1,2,3, … until w k =w 2k . On average this happens at k ≈ √πq/2 .
PARALLELIZED POLLARD RHO WITH DISTINGUISHED POINTS
To parallelize Pollard’s rho, different processes must be able to efficiently recognize if their walks hit the same
point. To achieve this, each process generates a single random walk, each from a different random starting point,
but all using the same partition of G and the same p i for i=1,2, …,t. As soon as the walk hits upon a distinguished
point, this point (along with its r and s) is reported to a central location, and the process starts a new walk from a
new random starting point. A point is distinguished if a normalized representation of it has an easy to recognize
property. This could be that l specific bits are zero, in which case walks may have average length 2l (the choice
depends on q, G, available disk space, etc.).
The idea is that if two walks collide – without noticing it – they will both ultimately reach the same distinguished point. This will be noticed after the points have been reported.
ELLIPTIC CURVE GROUPS
Elliptic curve groups are other groups where exponentiation (commonly referred to as scalar multiplication in
elliptic curve context) is easy, and computing discrete logarithms is believed to be hard. No NFS-like tricks seem
to apply. The parameters may therefore be chosen much smaller to reach adequate security. In practice they use
prime fields or binary extension fields. The details are rather complicated.
The fastest method published to solve ECDLP is Pollard’s rho with distinguished points.
FI 8 – 27 octobre 2009 – page 18
Number crunching on clusters at EPFL
many processes can profitably be squeezed together. The
examples given below were run on LACAL’s cluster of more
than 215 PS3s (see picture), i.e., about 1300 SPUs.
Below i interleaved j-way SIMD processes on a single
SPU is denoted by i ×j. If that is done sequentially N>1
times on the same SPU, we write N×(i×j), for a total number
of N×i× j different and more or less simultaneous processes
on a single SPU.
1×1: non-interleaved single. For applications where perprocess latency must be minimized, it may be best to
run a single process per SPU. If multi-precision integer
arithmetic is needed, one could use IBM’s off-the-shelf
MPM library. Experiments with it did not meet our
expectations. Our own modular arithmetic with integers
up to 2048 bits outperforms unrolled MPM by a factor
of at least two (the regular version by a bigger factor).
Below parallelized approaches to multi-precision integer
arithmetic are sketched. Per process they may be slower,
but their throughput is better.
1×4: non-interleaved 4-way SIMD. We want to factor
several numbers of the form 2 b –1, where b is an integer
around 1200. This can be done with SNFS (cf. Section
INTEGER FACTORIZATION) at a huge effort per number.
SNFS can be avoided if the number has small prime
factors, because they can be found relatively quickly
using ECM (the Elliptic Curve Method for integer factorization).
If we want to be reasonably confident to find factors of
up to 65 digits, we must run 50 thousand ECM trials
per number. Given a unique initial value per trial, each
trial performs the same sequence of operations. We used
4-way SIMD integer arithmetic to process four trials simultaneously per SPU. This means that each variable occurs four times, with four values on which 4-way SIMD
operations are carried out. When the values have b bits,
each 128-bit register contributes at most 128/4=32 bits
to each of the b-bit values.
For our range of b’s, 4-way SIMD b×b → 2b-bit multiplication is split, using Karatsuba, into 4-way SIMD
320×320 → 640-bit schoolbook multiplies. As this
just fits in the SPU’s 128 registers, there is no space to
interleave multiple 4-way SIMD streams. Further opti3
4
mizations or different approaches may change this. The
modular reduction takes advantage of the special form
of 2 b –1.
The first phase (with bound 3 billion) of four SIMD
ECM trials takes about two days per SPU. With 1300
SPUs we need about three weeks for each 2 b –1 to process
the first phase of 50 thousand ECM trials. The second
phases will be done on regular clusters. This experiment
started in September 2009. No factors have been found
yet. For those 2 b –1 which fail to factor using ECM, we
plan a new SNFS experiment. The 2 b –1’s are not RSA
moduli, but the resulting insights will be relevant for
NFS and RSA moduli as well.
2×4: doubly interleaved 4-way SIMD. Cryptographic hashes are very different from RSA and ECC. They are used
to fingerprint documents. Thus, it should be infeasible to
find collisions: different documents with the same hash. In
August 2004 collisions were published for the widely used
hash function MD5. That this poses a practical threat was
shown four years later with the proof-of-concept creation
of a rogue Certification Authority certificate3.
This was mostly done on the PS3 cluster. MD5 works
on 32-bit values, so four MD5 hashes can be calculated
simultaneously in 4-way SIMD mode. Two of such
SIMD streams were interleaved. Taking advantage of the
instruction set of the SPU, our 1300 SPUs performed as
efficiently as eight thousand regular 32-bit cores.
50×(2×4): multiple doubly interleaved 4-way SIMD. We
implemented Pollard’s rho to compute a discrete logarithm in a 112-bit prime field elliptic curve group. The
multi-precision integer arithmetic required for four random walks with distinguished points was implemented
in the same 4-way SIMD fashion as used for the 2 b –1
ECM-application. But because the numbers here are
much smaller, two 4-way SIMD walks were interleaved
for added efficiency. Furthermore, this already 8-fold
parallelism per SPU is further blown up by a factor 50
(by running it sequentially 50 times on the same SPU)
for the following reason. To recognize distinguished
points, each point on each walk must be normalized.
Normalization in elliptic curve groups is not branchfree and not sympathetic to SIMD. Doing it for all
50×2×4 points would be too costly. At the cost of three
additional 112-bit modular multiplications per walk, the
normalizations were combined into a single one and the
result divided again over the different walks. Per walk
the high normalization cost is thus replaced by 1/400th
of it plus three 112-bit modular multiplications. The 50
was the largest value for which all data would fit in the
SPU’s Local Store.
On 1300 SPUs this resulted in more than half a million
parallel walks. Using increasingly efficient implementations it took half a year to find the desired result4. It is
the current ECDLP record. With the latest version it
would have taken three months and a half. More than
half a billion distinguished points were generated with
24-bit distinguishing property. Their storage required
0.6 Terabytes of disk space. ECDLPs underlying prime
See www.win.tue.nl/hashclash/rogue-ca/.
See lacal.epfl.ch/page81774.html.
FI SPÉCIAL HPC – 27 octobre 2009 – page 19
Number crunching on clusters at EPFL
field ECC systems used in practice are about 20 million
times harder to solve.
128×(2×1): multiple doubly interleaved single. We also implemented Pollard’s rho to compute discrete logarithms
in a 131-bit binary extension field elliptic curve group.
Two 128-bit registers were used to represent a 131-bit
value. Two walks were interleaved, and this was done
sequentially 128 times per SPU to amortize the pointnormalization cost. This resulted in 1/3 million parallel
walks on 1300 SPUs. With a distinguished point probability of 2–35.4 and overall 260.9 steps, 225.5 distinguished
points are needed. After one week 43’818 were found.
This implies that the overall calculation can be expected
to take 21 years on a cluster of 215 PS3s, or four and a
half thousand years on a single PS3. If many others chip
in, also using regular clusters, the calculation may be just
about doable. ECDLPs underlying binary extension field
ECC systems used in practice are about 20 thousand
times harder to solve.
1×16: non-interleaved 16-way SIMD. A block cipher uses
a key to encrypt a block, resulting again in a block. Block
ciphers are used for high volume encryptions. AES (Advanced Encryption Standard) is the current standard block
cipher. It uses keys of 128, 192, or 256 bits and blocks
are 128-bit values.
We implemented AES byte sliced on the SPU, without further interleaving. In 3000 cycles an SPU simultaneously
encrypts 16 blocks in SIMD fashion, all with the same
128-bit key. That is 11.7 cycles per byte. For decryption
we get 14.4 cycles per byte. For batch encryption (decryption) with a single 128-bit key the SPU thus achieves
2.2 (1.8) Gigabit per second: in principle, a single PS3
can encrypt (decrypt) 1.65 (1.35) Gigabytes per second,
using 6×16=96 parallel streams. For other key sizes the
performance is similar.
1×128: non-interleaved 128-way SIMD. DES (Data
Encryption Standard) is a block cipher with 56-bit keys
and 64-bit blocks. Standardized in 1976, it is no longer
considered secure. It was officially withdrawn in 2005,
after the introduction of AES. It is still widely used and
key search for DES is still relevant.
We designed a bit sliced DES-implementation for the
SPU. It processes 128 keys in SIMD fashion, without
further interleaving. Using 6 SPUs on a single PS3, a
known plaintext DES key search should take, on average,
640 days. On the full cluster it becomes three days on
average, and less than a week in the worst case.
ACKNOWLEDGEMENTS
This work was supported by the Swiss National Science
Foundation under grant numbers 200021-119776 and
206021-117409 and by EPFL DIT. ■
IL Y A 20 ANS DANS LE FI
Dans le numéro du 19 décembre 1989, l’EPFL s’enorgueillissait d’avoir atteint un record de vitesse de calcul:
[…]
L’EPFL GAGNE LE CRAY GIGAFLOP PERFORMANCE AWARD
Un groupe de chercheurs du Centre de Recherches en Physique des Plasmas (CRPP) de l’EPFL a gagné le concours
international Cray Gigaflop Performance Award en exécutant leur programme TERPSICHORE sur un Cray-YMP à
huit processeurs. Les physiciens David V. Anderson, W. Antony Cooper, Ralf Gruber et Ulrich H. Schwenn ont atteint
une puissance de calcul moyenne de 1,708 Gigaflop/s (un Gigaflop/s correspond à un milliard d’opérations à virgules
flottantes par seconde).
Au total vingt programmes arrivant à plus d’un Gigaflop/s ont été soumis à ce concours. Le programme, obtenant le
deuxième meilleur score était une contribution de NASA Langley qui a atteint 1,586 Gigaflop/s.
TERPSICHORE est utilisé pour étudier la stabilité d’un gaz ionisé très chaud confiné par des champs magnétiques tel que
cela se réalise dans les expériences de fusion nucléaire. Ce programme tourne sur le superordinateur Cray-2 de l’EPFL.
[…]
Le Cray-2 est également utilisé pour des applications industrielles telles que la simulation de la phase réentrante de la
navette européenne HERMES.
FI 8 – 27 octobre 2009 – page 20
Un nouveau défi pour les numériciens
Modéliser la fragmentation de structures hétérogènes
[email protected], [email protected],
EPFL – Faculté de l’environnement naturel, architectural et construit –
Laboratoire de simulation en mécanique des solides
& Raúl Radovitzky, Department of aeronautics, MIT, Boston, États-Unis
Fragmentation is an irreversible, non-linear
and non-deterministic process. Nowadays,
numerical simulation is the most efficient tool
to predict the evolution of such a complex
phenomenon. Parallelizable methods are
required to compute the response of large
and heterogeneous structures. In this article,
we present the basics of the Discontinuous
Galerkin Method applied to the fragmentation
of heterogeneous structures and the main
r asons of its success.
re
La fragmentation est un processus physique
irréversible, non linéaire et statistique.
L'outil informatique est le moyen actuel
le plus adapté pour prédire l'évolution
de ce phénomène complexe. Simuler la
fragmentation d'une structure hétérogène
de taille réaliste requiert des méthodes
numériques performantes et parallélisables.
La méthode de Galerkin discontinue offre des
perspectives prometteuses pour y parvenir.
Nous présentons dans cet article les raisons
p incipa
pr
p les de son succès.
défis: concevoir des matériaux plus ou moins résistants,
maximiser ou minimiser le nombre de fragments, contrôler
leur taille et leur forme, ou plus généralement comprendre
pour apprivoiser. Dans les années trente, des ingénieurs (c.f.
les travaux de Rosin et Rammler) ont d’abord établi des lois
empiriques décrivant l’état résultant de la fragmentation, i.e.
le nombre de morceaux et la distribution de leur taille. À
cette époque, les expériences ne permettaient pas de détailler
précisément l’évolution temporelle du processus physique,
mais seulement de s’intéresser à un état stable. Afin d’expliquer rigoureusement les observations expérimentales, les
théoriciens ont modélisé avec une approche statistique les
incertitudes liées à la microstructure du matériau. La théorie
de Poisson a été ainsi maniée durant plus d’un demi-siècle.
Elle est à l’origine de nombreuses théories (c.f. les travaux de
Lienau, Mott, Grady), mais trouve aujourd’hui ses limites.
En effet, elle n’inclut pas les phénomènes non-linéaires, qui
déterminent pourtant le nombre de fragments et leurs caractéristiques. C’est ici que les méthodes numériques font leur
entrée: elles sont nécessaires pour modéliser ces non-linéarités
et étudier leur influence sur le processus de fragmentation.
Plusieurs méthodes numériques sont disponibles et
peuvent être sommairement classées en deux catégories: les
méthodes avec et sans maillage. Les méthodes sans maillage
Visitez
une région où la sécheresse craquelle les
sols; ou bien laissez tomber une assiette
sur le sol, et constatez qu’elle se casse en plusieurs morceaux.
La fragmentation est le phénomène physique qui régit ces
communes observations: en réponse à une sollicitation intense, un corps contigu se fragmente en plusieurs morceaux.
Elle survient aussi bien dans notre vie quotidienne que lors
d’évènements exceptionnels, tels que la collision d’une météorite sur l’atmosphère ou l’impact d’un explosif pour creuser
un tunnel. Une des particularités de la fragmentation est son
universalité. Des échelles nanoscopiques aux astronomiques,
elle touche tous les domaines de la physique, à condition que
la sollicitation soit suffisamment intense pour générer une
réponse chaotique et a priori imprévisible. Le Big Bang, l’effet
du réchauffement climatique sur les calottes polaires, l’impact
d’un projectile sur un gilet pare-balles, les expériences de
fragmentation de l’ADN en sont des illustrations.
La complexité des phénomènes physiques qui régissent
la fragmentation a séduit l’intérêt de nombreux chercheurs.
Depuis plusieurs dizaines d’années, tous relèvent les mêmes
Encadré – Schéma présentant sommairement les deux méthodes
numériques utilisées pour simuler la fragmentation de structures hétérogènes: la méthode des éléments finis et la méthode de
Galerkin discontinue. Chaque face du maillage est localement
associée à un couple ( σ c ,δ c ) pour modéliser la microstructure. La méthode de Galerkin discontinue est particulièrement
adaptée au calcul parallèle.
FI SPÉCIAL HPC – 27 octobre 2009 – page 21
Un nouveau défi pour les numériciens – Modéliser la fragmentation de structures hétérogènes
(Smooth Particle Hydrodynamics, Méthode des éléments
discrets,…) traitent naturellement la rupture, les grandes
déformations et le contact, et ne nécessitent pas de remaillage.
Quant aux avec maillage (Méthode des Éléments Finis), elles
sont précises, bien conditionnées et permettent une application
des conditions aux limites réalistes. Nous utilisons la méthode
des éléments finis, couplés à des éléments cohésifs insérés dynamiquement. Les éléments finis sont adaptés à la modélisation
de l’évolution d’un système contigu. Pour prédire la fissuration
du corps, un enrichissement de la méthode est nécessaire.
Étant donné qu’un réseau de fissures dense intervient lors de
la fragmentation, il faut traiter de manière simple, efficace et
rapide l’apparition et l’évolution des fissures. L’idée de base
consiste à considérer un maillage éléments finis, à calculer
les contraintes à chaque point de Gauss, et à les comparer à
des valeurs critiques choisies au préalable (voir encadré). Ces
valeurs critiques sont le reflet de la microstructure du matériau.
Il se casse facilement lorsqu’elles sont faibles, et au contraire
est plus résistant lorsqu’elles sont élevées. Une fois le seuil
atteint, un élément interface est ajouté. Ce nouvel élément,
appelé élément cohésif, suit une loi d’évolution linéaire liant
la contrainte locale à son ouverture. La rupture est effective
lorsque la contrainte locale est nulle. Cette approche rend la
fissure possible à chaque face du maillage, et offre un moyen
facile de modéliser la microstructure.
Bien que séduisante pour sa simplicité, l’utilisation de
cette méthode numérique est limitée par la taille du maillage.
En effet, pour modéliser la réponse d’un corps soumis à des
sollicitations dynamiques intenses, le nombre d’éléments
nécessaires pour avoir des résultats convergés est important.
Deux possibilités émergent: se cantonner à des géométries
de petite taille (de l’ordre de 10 millimètres), ou utiliser des
moyens numériques puissants pour paralléliser le code et traiter des géométries de taille représentative. Il est évidemment
préférable de se rapprocher de la réalité afin de s’affranchir
des difficultés liées aux effets de taille des structures.
Galerkin discontinue (voir encadré) répond à ces attentes; elle
est stable, converge rapidement, et est très scalable (figure1).
Originellement utilisée pour résoudre des équations de
transport (Lesaint et Raviart, 1974), elle promet d’offrir des
résultats probants dans de nombreux domaines, tels que la
mécanique des fluides et de la rupture. Nous l’appliquons
ainsi à la modélisation de la fragmentation.
Pour l’instant, nous traitons des problèmes simples pour
paramétrer correctement et vérifier la justesse des calculs.
Nous nous intéressons ainsi à une plaque en traction biaxiale
et à un anneau soumis à une charge explosive en son centre.
Les figures 2 et 3 présentent les conditions aux limites et
les réseaux de fissures calculés avec la méthode de Galerkin
discontinue.
fig. 2 – Plaque sous tension biaxiale. Gauche: conditions aux
limites en vitesse. Droite: réseau de fissures résultant
Une fois la méthode calibrée, les perspectives sont diverses et prometteuses. Traiter des structures de taille réaliste,
étudier l’influence de la microstructure sur les chemins de
fissuration, comprendre l’influence du chargement sur la
réponse de la structure sont des directions possibles pour les
travaux à venir. La fragmentation est un processus complexe,
dont la modélisation est non triviale. Elle a longtemps été
simplifiée au maximum pour faciliter l’établissement de lois
semi-empiriques. Les outils de calcul actuels offrent la possibilité de mieux comprendre le processus et de prédire plus
précisément les caractéristiques des fragments générés.
1e+04
Durée (sec)
Nb de nœuds:
3
5
8
10
12
1000
fig. 3 – Anneau sous expansion forcée (soumis à une vitesse
radiale) menant à sa fragmentation. Gauche: conditions aux
limites en vitesse. Droite: réseau de fissures résultant.
100
0
20
40
60
Nb de Processeurs
80
fig. 1– Scalabilité du code. Le maillage est initialement
composé de 28813 nœuds et 108910 tétraèdres. Le temps
correspond à l’initialisation du maillage (duplicata des nœuds)
et 300 pas de temps
Paralléliser la méthode des éléments finis-cohésifs est
difficile, tant la communication entre processeurs est pénalisante. L’insertion dynamique des éléments cohésifs change
constamment la topologie du maillage et n’est pas rentable.
Une idée qui se fraye actuellement un chemin est de dupliquer tous les nœuds au début du calcul pour conserver la
topologie, tout en préservant exactement les propriétés matériaux. La mémoire nécessaire à l’achèvement du calcul est
évidemment décuplée, mais reste dans des proportions abordables avec les moyens informatiques actuels. La méthode de
FI 8 – 27 octobre 2009 – page 22
LECTURES CONSEILLÉES
❚
G.T. Camacho, M. Ortiz. Computational modeling of
impact damage in brittle materials. International Journal
of Solids and Structures. Vol. 33, pp.2899-2938. 1996.
❚ D.E Grady. Fragmentation of rings and shells: The legacy
of N.F Mott. Springer. 2006.
❚ L. Noels, R. Radovitzky. An explicit discontinuous Galerkin method for non-linear solid mechanics: Formulation,
parallel implementation and scalability properties. International Journal for Numerical Methods in Engineering.
Vol.74, pp.1393-1420. 2008.
❚ F. Zhou, J.F. Molinari, K.T. Ramesh. Effects of material
properties on the fragmentation of brittle materials. International
Journal of Fracture. Vol.139(2), pp.169-196. 2006. ■
Simulation numérique & HPC
[email protected] & [email protected],
EPFL – Faculté des Sciences de base – Chaire d’analyse et de simulation numérique
At the frontiers of physics, mathematics and
computational sciences, numerical simulations
consist in reproducing natural phenomena by
use of informatics. Some concrete examples
of computer simulations are described such as
the optimisation of production of aluminium
or the visualisation of the evolution of glaciers
w th the predicted increase of tempe
wi
p ratures.
À la frontière entre physique, mathématiques
et informatique, la simulation numérique
consiste à reproduire un phénomène naturel
sur ordinateur.
r Quelques exemples concrets
d’applications de la simulation numérique
sont décrits ici comme l’optimisation de la
fabrication de l’aluminium ou la visualisation
de l’évolution des glaciers en fonction des
p évisions d’auggmentation des temp
pr
pératures.
SIMULATION NUMÉRIQUE
Dans la chaire d’analyse et simulation numérique (ASN)
du professeur Jacques Rappaz, nous nous efforçons de résoudre des équations aux dérivées partielles issues de la physique
à l’aide de méthodes, dites numériques, basées sur de solides
théories mathématiques.
En règle générale, il n’est pas possible de représenter
exactement la solution d’un problème physique du fait de
la complexité des équations et des géométries. C’est pourquoi dans la pratique on procède à une approximation du
problème en discrétisant l’espace et le temps, ce qui signifie
que l’on cherche à approcher la solution en certains points
et à certains temps. L’analyse mathématique permet alors de
démontrer la convergence de la solution approchée vers la
solution exacte lorsque le nombre de points de discrétisation
(ou d’inconnues) augmente. Cependant, pour simuler un
phénomène complexe comme la dynamique d’un fluide en
3D, il faut être capable de résoudre un système d’équations
dont la taille atteint facilement le million d’inconnues, ce
qui n’est pas possible sans recourir à des ordinateurs performants.
QUEL EST LE LIEN ENTRE UN GLACIER
ET UNE CUVE DE FABRICATION
D’ALUMINIUM ?
Bien qu’a priori il semble n’en exister aucun, en fait, la
dynamique d’un glacier et l’écoulement d’aluminium en
fusion sont régis par les mêmes équations physiques. La
glace et l’aluminium liquide sont en effet deux fluides, de
densités et viscosités très différentes, mais dont les vitesses
d’écoulement et pressions internes sont liées au travers des
célèbres équations de mécanique des fluides de Navier-Stokes
(1822) :
Ces deux sujets sont étudiés depuis de nombreuses années à l’ASN et ont fait l’objet de plusieurs thèses et articles
scientifiques.
ÉLECTROLYSE DE L’ALUMINIUM
Pour fabriquer de l’aluminium on a recours au procédé
d’électrolyse qui consiste à injecter de l’alumine (Al2O3) dans
un solvant extrêmement corrosif maintenu à une température
d’environ 1000°C. En appliquant un fort courant électrique
dans le système, la liaison chimique entre oxygène et aluminium est supprimée pour permettre la création d’aluminium
pur sous forme liquide.
Une cuve d’électrolyse consiste donc essentiellement en
un récipient contenant deux fluides (solvant et aluminium
liquide) soumis à des forces électromagnétiques importantes
pouvant induire des écoulements tourbillonnaires.
Pour optimiser le processus de fabrication il est important
de pouvoir anticiper le mouvement des fluides dans la cuve.
Dans la pratique les mesures et observations sont difficiles
à entreprendre étant donné les conditions extrêmes qui
règnent dans un hall d’usine (fortes températures, champs
FI SPÉCIAL HPC – 27 octobre 2009 – page 23
Simulation numérique & HPC
magnétiques, courant électrique, etc). Dans cette situation, la
simulation numérique s’avère extrêmement utile. Elle permet
par exemple d’optimiser la forme des cuves et la position
des conducteurs extérieurs pour augmenter au maximum le
rendement de production.
faible changement des précipitations. Le résultat est donné
ci-dessous, en image, avec les prévisions respectives du glacier
en 2025, 2050, 2075 et 2100. Selon cette simulation, le
glacier du Rhône ne devrait plus avoir que 5 % de sa masse
actuelle en 2100 !
LES COMPOSANTES DU CALCUL
SCIENTIFIQUE
Pour reproduire des phénomènes réels tels que l’électrolyse ou l’évolution d’un glacier, plusieurs étapes sont
nécessaires. La modélisation consiste d’abord en la mise en
équation du phénomène physique étudié.
La simulation numérique consiste ensuite en la discrétisation et en la résolution des équations. Enfin, l’étape de
validation passe par un ajustement du modèle pour que les
résultats obtenus reproduisent correctement l’expérience.
En guise d’exemple, la figure ci-dessus représente le potentiel électrique calculé sur une géométrie de cuve réaliste
tandis que ci-dessous on observe les trajectoires de particules
fluides dans l’aluminium liquide.
Problème physique
Modélisation
DYNAMIQUE DES GLACIERS
Méconnue il y a peu, la glaciologie profite aujourd’hui
de la médiatisation du réchauffement climatique. Terrain
d’aventure pour certains ou attraction touristique pour
d’autres, tous partagent une inquiétude face au retrait imminent des glaciers Alpins.
Le mouvement des glaciers résulte de plusieurs phénomènes. Les précipitations neigeuses accumulées se transforment
en glace et contribuent en un gain de masse alors que le
rayonnement solaire induit la fonte et contribue en une perte
de masse. La quantité considérable de glace se déforme sous
l’effet de la force gravitationnelle et s’écoule comme un fluide
visqueux. Le modèle physique possède deux composantes
essentielles bien distinctes: les équations de Navier-Stokes
modélisent la viscosité de la glace tandis qu’une équation
complémentaire décrit la position de la surface entre air et
glace en prenant en compte le bilan de masse.
Nous présentons un exemple de simulation numérique
qui concerne le glacier du Rhône (VS) de 2008 à 2100. En
partant de la géométrie actuelle, le bilan de masse est calculé
selon une augmentation importante des températures et à un
FI 8 – 27 octobre 2009 – page 24
Equations
Validation
Simulation numérique
Résultats
COMPRENDRE, PRÉDIRE, CONCEVOIR
Les atouts du calcul scientifique sont multiples: d’une
part, une fois la modélisation et les méthodes numériques
validées, la simulation permet de reproduire virtuellement le
phénomène physique et remplace ainsi de coûteuses expériences en laboratoire. D’autre part, l’expérience virtuelle étant
sans danger, les scientifiques peuvent également étudier des
situations extrêmes et recréer des phénomènes impossibles à
reproduire en pratique tels que la propagation d’un incendie
Simulation numérique & HPC
dans un bâtiment.
Dans le cas de l’électrolyse de l’aluminium, la simulation
numérique permet d’optimiser à moindre coût un procédé de
fabrication complexe. Dans le cas des glaciers, elle complète
le travail de terrain effectué par les glaciologues et permet de
mieux comprendre la mécanique sous-jacente et l’interaction
avec le climat. En particulier, des scénarios climatiques peuvent être confrontés pour déterminer leurs impacts à plus ou
moins long terme sur les glaciers.
PUISSANCE DE CALCUL, PARALLÉLISATION
La résolution d’un problème physique complexe requiert
une puissance de calcul importante. Si dans les années 80,
la simulation de problèmes 3D était quasiment impensable
ce n’est plus le cas aujourd’hui. Pendant 30 ans, grâce à
la miniaturisation, la rapidité des processeurs ainsi que la
capacité mémoire des ordinateurs n’ont cessé de progresser,
permettant ainsi de résoudre des problèmes de plus en plus
grands, de plus en plus vite.
Néanmoins les limites de la technologie ont forcé les
calculateurs mono-processeurs à migrer vers des clusters
multi-processeurs. Ce tournant informatique a conduit les
mathématiciens à paralléliser leurs programmes de simulation, c’est-à-dire à diviser efficacement le problème principal
en sous-problèmes traités individuellement sur des processeurs différents. Ainsi la part d’informatique dans le calcul
scientifique moderne prend de plus en plus d’importance
et oblige les scientifiques à développer leur savoir dans les
trois domaines que sont la physique, les mathématiques et
l’informatique.■
Simulation de chaînes de Markov
pour la biophysique
[email protected], EPFL – Faculté des sciences de base – Laboratoire de biophysique statistique
& [email protected], EPFL – Faculté des sciences de base –Services généraux Informatique
One class of Monte Carlo algorithms for the
simulation of physical systems is particularly
suitable for parallelism. The algorithm gains
in efficacy in two distinct ways: first, trivially,
from the availability of many processors
and, more interesting, from the exchange
of messages between them.We present how
the latter aspect gives better performances.
The results are obtained from the study of an
algorithm simulating interacting self avoiding
w lks.
wa
Une classe d'algorithmes Monte Carlo pour
la simulation des systèmes physiques est
particulièrement adaptée à la parallélisation.
L'algorithme gagne en efficacité de deux façons
différentes: trivialement, par le fait de disposer
de plusieurs processeurs qui travaillent en
même temps, et, plus intéressant, par la
possibilité d'échanger des messages entre
les processus. L'article ci contre présente
comment On montre comme cette dernière
possibilité améliore la performance de
l'algorithme. Notre étude est conduite sur des
simulations des chemins auto-évitants (i.e. qui
n se croisent pas)) avec interaction.
ne
ÉTUDE DES CHEMINS AUTO-ÉVITANTS
POUR LA BIOPHYSIQUE
La physique des grandes molécules biologiques, comme
l’ADN ou les protéines, est déterminée a priori par des milliers
d’interactions différentes parmi tous ses atomes composants.
Une étude complète et détaillée est donc très difficile à poursuivre. Pourtant, on peut chercher à comprendre le comportement de ces complexes sur la base de modèles simples qui
prennent en considération seulement quelques facteurs à la
fois. Par exemple, une protéine en solution est une chaîne
fig. 1– Quelques chemins auto-évitants en 2 dimensions avec
0 ou 3 contacts (en bleu)
FI SPÉCIAL HPC – 27 octobre 2009 – page 25
Simulation de chaînes de Markov pour la biophysique
composée par beaucoup d’amino-acides, qui sont par euxmêmes des molécules très complexes. On observe que pour des
conditions spécifiques du solvant (la température par exemple)
les protéines sont compactes, ce qui est le signe d’une attraction
entre les monomères. En plus, le volume des monomères les
empêche d’occuper le même point plusieurs fois. On peut
construire un modèle qui garde ces deux aspects (attraction
et volume exclus): ceci peut être un chemin auto-évitant avec
une énergie d’attraction entre ses monomères assez proches
(voir fig. 1).
La physique associe à chaque configuration une probabilité de se présenter dépendante d’un paramètre, ß, paramètre
qui se révèle être l’inverse de la température. Cette probabilité
est la loi de Boltzmann:
, où ß=1/T , Z donne la bonne normalisation de la probabilité et l’énergie E = –ncontacts (nombre de
contacts) privilégie les chemins avec plus de contacts. Toutes
les propriétés physiques sont calculées comme des valeurs
moyennes sur l’ensemble des chemins pris avec la loi de
probabilité montrée.
On souhaite donc estimer des valeurs moyennes de
certaines grandeurs qui sont définies sur un ensemble très
grand de configurations. Le nombre de chemins d’une longueur donnée peut être énorme. Il est donc impensable de
faire le calcul sur tous les chemins. Des configurations sont
donc engendrées au hasard et les moyennes cherchées sont
calculées uniquement sur les données simulées. Une bonne
façon d’engendrer une série des configurations distribuées
selon une certaine loi de probabilité consiste à commencer
par une configuration (chemin) initiale et la modifier pas
par pas: cette méthode est dite Monte Carlo dynamique.
On commence par un chemin droit. De ce chemin droit
on va générer, par symétries ou rotations autour d’un
point du chemin, un nouveau chemin (voir fig. 2). Une
fois cette nouvelle configuration construite, il faut s’assurer
qu’elle ne se croise pas. Si elle se croise, on la rejette et on
revient à la configuration précédente. Si le nouveau chemin ne s’autocroise pas, on l’accepte avec une probabilité
p=min(1,e–βΔ(-ncontacts))qui garantit que les chemins générés
seront distribués selon la loi de Boltzmann désirée.
fig. 2 – Création d’un nouveau chemin auto-évitant: on
choisit un site au hasard, on bouge la partie en aval selon
une symétrie du réseau, ici une rotation de 90 degrés. Au cas
où la nouvelle configuration ne serait pas auto-évitante on la
rejette et on revient à la précédente.
FI 8 – 27 octobre 2009 – page 26
Il faudra générer des configurations sur un éventail de
températures, c’est-à-dire avec différentes probabilités pβ.
Comment utiliser plusieurs processeurs pour effectuer ce
calcul ? Est-ce utile d’avoir beaucoup des processeurs ?
À chaque processeur i on assigne une température Ti
et une configuration de départ (qui peut être spécifique au
processeur ou la même pour tous) et on lui fait construire la
chaîne de Markov des configurations qui seront distribuées
selon pβ(i) où ß(i)=1/ Ti. Disons que l’intervalle de températures où l’on veut obtenir des données soit [0.5, 2.5], les
limites d’intérêt dépendant du problème qu’on veut étudier.
En disposant de n processeurs, on peut lancer une simulation
à chaque intervalle dt=(2.5–0.5)/n. Plus on a de processeurs,
plus on peut obtenir de points. D’ailleurs, on n’est pas intéressés à obtenir des milliers de points; 100 températures
peuvent être suffisantes pour une bonne description. Par
contre, on peut affecter la même température à plusieurs
processeurs, disons r, ce qui nous permet d’engendrer r fois
plus de chemins par température. Dans ce cas, à nombre de
données égal, on divise le temps de calcul par r. De plus, pour
chaque température, les processeurs ne communiquent pas.
Notre problème est embarassingly parallel.
Peut-on obtenir des améliorations en profitant de la
capacité d’échanger des messages entre processeurs?
On remarque que les simulations à basse température demandent plus de temps que celles à haute température. Cela
pour deux raisons: les chemins à basse température sont normalement assez repliés sur eux-mêmes, et les modifications
comme celles décrites plus haut donnent beaucoup des
chemins qui seront rejetés, parce que non auto-évitants.
De plus, même les bonnes configurations seront acceptées
avec une probabilité petite à cause de la basse température
T qui donnera une faible probabilité d’acceptation (voir p
où β=1/T); en d’autres mots, il nous arrive de rester bloqués
dans une petite région de l’espace des configurations, un
minimum local qu’il est difficile de quitter. Ce problème est
aussi connu sous le nom de quasi-ergodicité. La possibilité
de visiter tout l’espace (ergodicité) est toujours garantie en
principe, mais en pratique ça peut demander des temps très
longs (quasi-ergodicité). Ceci est dû au fait que l’on crée
toujours les nouvelles configurations à partir de la présente.
Une solution à ce problème s’appelle Parallel Tempering (ou
Multiple Markov Chain)1. De temps en temps la nouvelle
configuration ne sera pas créée par modification de la présente, mais prise de la chaîne à la température plus proche, et
l’échange est symétrique. La configuration déjà auto-évitante
sera acceptée avec le même test (probabilité p) qui garantit la
bonne distribution, généralisée au fait que l’échange a lieu
entre deux températures dans les deux sens. Cet échange
augmente la mobilité des chaînes de Markov: à chaque fois
qu’un échange est accepté, la nouvelle configuration est
complètement décorrélée de la présente, parce qu’elle n’en
est pas une dérivation. Ceci permet des grands sauts dans
l’espace des configurations.
Les processeurs communiquent et on arrive à un gain
qui vient de la coopération, pas seulement du nombre des
processeurs employés.
Le but de l’introduction des échanges entre les chaînes est
d’obtenir plus de données indépendantes en faisant le même
nombre de pas Monte Carlo. Donc pour évaluer l’efficacité de
la méthode on compare le nombre des données indépendan-
Simulation de chaînes de Markov pour la biophysique
tes obtenues dans les cas sans et avec échanges. La figure 3
représente le rapport entre le nombre de données obtenu en
faisant un échange chaque 48, 32, 16, 8 pas et le cas sans
échange. La croissance de courbes montre que le nombre
d’échanges augmente le nombre de données indépendantes,
ce qui est la caractéristique principale de l’algorithme.
8
no swaps
each 48
each 32
each 16
each 8
6
4
2
0
0
0.2
0.4
beta
0.6
0.8
1
fig. 3 – Nombre des données obtenues et nombre d’échanges
Un deuxième aspect est la probabilité qu’un échange soit
accepté: celle-ci dépend de la différence entre les températures
qui échangent leur configuration: plus elles sont proches,
plus l’échange a des chances d’être accepté, avec un effet
direct sur le nombre des données indépendantes. La figure 4
représente l’efficacité de l’algorithme en variant le nombre
de températures dans le même intervalle [0,1]. Aussi, avec
un nombre plus grand de températures plus proches les unes
des autres on obtient plus de données.
10
no swap
np = 8
np = 16
np = 32
8
EXPLOITER UN GRAND NOMBRE DE
PROCESSEURS?
On a vu que d’une part notre algorithme pour une température donnée est facilement parallélisable. De plus, on peut
diviser notre intervalle de températures et assigner une température à chaque groupe de processeurs. Chaque processeur
calculera ses chemins et les valeurs associées indépendamment
et le temps d’initialisation (subdivision de l’intervalle des
températures) sera moindre. En rajoutant les échanges entre
processeurs, on augmente le nombre de chemins acceptables
et on résout le problème de quasi-ergodicité.
Nous remarquons que le nombre de processeurs utilisés
dépend du nombre de températures que l’on veut considérer – si nous nécessitons de beaucoup de températures, nous
avons besoin d’une machine avec beaucoup de processeurs.
Dans notre cas, on pourrait penser avoir 128 températures
et 8 processeurs par température, ce qui nécessiterait de
1024 processeurs à mémoire distribuée vue la nature des
communications. Ceci nous ouvre les portes du massivement
parallèle.
Nous n’avons pas mentionné les possibilités de parallélisation à l’intérieur de chaque chaîne de Markov: par exemple,
on pourrait paralléliser la partie du code où on contrôle si
le chemin est auto-évitant. Cette parallélisation est moins
évidente, mais des essais fructueux ont était faits dans cette
direction – cette partie du code a été parallélisée avec les
POSIX threads et on a un bon speedup jusqu’à 8 processeurs.
Nous avons donc deux niveaux de parallélisation dans le
problème: le niveau le plus haut concernant les températures
et le niveau le plus bas lors de la vérification des chemins.
Les deux parallélisations ont été testées indépendamment,
mais à terme on pourrait penser à les combiner et avoir du
MPI entre les nœuds et des Pthreads à l’intérieur du même
nœud.
Les machines disponibles à l’EPFL se prêtent très bien à
ce type de programmation: Callisto consiste en 128 nœuds,
chacun ayant 8 cores partageant la même mémoire, et le
nouveau Blue Gene a 4096 noeuds quadri-core. Affaire à
suivre!■
6
4
2
0
0
0.2
0.4
beta
0.6
0.8
1
fig. 4 – efficacité et nombre de températures
1
Voir par exemple: Orlandini E., Monte carlo study of polymer systems by multiple markov chain method, in Numerical methods for polymeric
systems edited by G. Whittington, IMA volumes in Mathematics and its applications, vol. 102 (1998), où le cas des chemins auto-evitant
est directement traite.
FI SPÉCIAL HPC – 27 octobre 2009 – page 27
Numerical simulation of hemolysis due
to blood centrifugation
[email protected], [email protected], [email protected], EPFL – School of Engineering –
Laboratory of Computational Engineering, Pascal Hagmann & Jean-Denis Rochat, Biofluid Systems
La séparation du sang en ses différents
composants est une procédure importante
pour de nombreuses applications médicales.
Plusieurs techniques et appareils ont été
développés à cette fin. L’efficacité du processus
de séparation est particulièrement importante
et dépend en partie de la possibilité de
minimiser les dommages causés aux
composants sanguins lors de la séparation. Une
étude numérique de l’écoulement sanguin dans
un séparateur à centrifugation a été menée
afin d’analyser ce problème. Dans cet article,
la modélisation physique et numérique de
l’écoulement sanguin est présentée, avec une
attention portée au calcul haute performance
requis pour les simulations d’un tel
é oulement.
éc
The separation of blood into its constituent
components is an important procedure for a
number of medical applications and various
techniques and devices have been developed
for this purpose. The yield efficiency of the
separation process is of particular importance
and depends on the requirement to minimize
blood damage caused by the process. A
numerical study of blood flow in a centrifugal
separator has been undertaken to address
this aspect. In this paper, the physical and
numerical modelling of the blood flow is
presented, with particular emphasis on the use
of high performance computing to determine
t e comp
th
plex flow fields.
FI 8 – 27 octobre 2009 – page 28
INTRODUCTION
Different devices involving blood processing have been
developed for various medical applications, such as rotary
blood pumps, hemodialysis cannulas and ventricular assist
devices. A common and much needed medical procedure is
the separation of blood into its constituents for purposes of
storage or transfusion. Since the blood constituents – red and
white blood cells as well as platelets suspended in plasma –
have different densities, a common separation technique is
to accelerate their sedimentation by centrifugation and then
collect the different constituents separately. One aspect that
must be kept under control is the level of blood cell damage
resulting from the separation process. The membrane of
RBC (red blood cells), for instance, can break when subjected
to conditions of excessive stress. This phenomenon, termed
hemolysis, has various negative consequences: it reduces the
hematocrit level, the proportion of the blood volume occupied by red cells, and thus the yield of a separator device; it
also pollutes the blood plasma, as the hemoglobin contained
in the RBC is released after breakage of the cell membrane.
Strict regulations exist for the allowed level of hemoglobin
in plasma samples destined for transfusion.
Over the past decade, increasing use has been made of
CFD (Computational Fluid Dynamics) to understand and
optimize blood processing devices. CFD involves the numerical resolution of the partial differential equations governing
the, possibly unsteady, flow behaviour. It can be employed
to reduce the time and cost of research and development
involved with the manufacture of prototypes. CFD has become increasingly applied in recent years with the advent of
advanced flow simulation software and relatively inexpensive
commodity compute clusters. After validation of a CFD
implementation, new device designs or modifications can
quickly be analyzed for improvement. This is of particular
interest when strong industrial constraints arise, such as the
need for disposable devices that must be produced at low
cost, as is common in medical applications for health safety
reasons.
At the beginning of 2008, a joint project was initiated
between Biofluid Systems, a Swiss company based in Nyon
specialized in the conception of medical devices, and the
Laboratory of Computational Engineering at EPFL. This
project is aimed at improving the performance of a blood
Numerical simulation of hemolysis due to blood centrifugation
separator device, in particular, through minimization of the
blood damage. The device is a centrifuge comprised of two
parts: an upper part whose section is shown in Figure 1 and
the centrifugation cylinder itself (lower part, not shown). The
device is a few centimetres in diameter and rotates at a speed
of several thousand revolutions per minute. Blood enters
through the top and flows through the central canal to the
bottom of the centrifugation cylinder where sedimentation
occurs. During the sedimentation process, the concentrated
RBC phase (shown in dark grey) moves up along the internal
face of the outer cylinder and reaches the upper part where
collection of this phase takes place.
fig. 1– Top and collection chamber of blood separator device
The collection mechanism is based on the pump principle. As the external sides of the collection chamber are part
of the centrifuge, the fluid along the walls rotates at high
velocity. When the fluid makes contact with the collectors
(two stationary facing disks inside the collection chamber,
shown in grey in Figure 1), its strong deceleration yields an
increase in pressure, causing the fluid to exit by the centre
(left on Figure 1).
This straightforward design allows, in particular, for low
production cost. The collection mechanism, however, imposes harsh conditions on the RBC phase. In this project, the
goal was to use CFD simulations to achieve a better physical
understanding of the flow fields inside the collection chamber
and the resulting hemolysis of the RBC phase. It should be
noted that the flow in the collection chamber is biphasic
involving a free surface interface between the immiscible
RBC and air phases. While several CFD analyses of blood
processing devices have been performed (see e.g. [1] and [2]),
we are not aware of any study involving a free surface. The
subsequent estimation of hemolysis is a challenging problem
that requires the modelling of the interaction between the
RBC and the plasma. As hemolysis is a result of the influence
of excessive stress on the RBC, it is important to determine
accurately the flow fields in the collector.
PHYSICAL AND NUMERICAL MODELLING
In this study, blood is represented as a single-phase
incompressible Newtonian fluid. Its viscosity is considered
independent of the flow, varying only, as the density, with the
hematocrit level of the sample being simulated. For typical
operating rotational speed, the flow in the collection chamber
reaches a turbulence regime, with a Reynolds number of the
order of 105. The turbulence is modelled using the RNG
k-ε model, which takes into account the effect of swirl on
turbulence and has better convergence properties for swirling
flows than alternative models.
An important aspect of the flow in the collection chamber
is the presence of an air-blood interface whose shape and
dynamics are an integral part of the solution. The fluid occupying the full flow domain is modelled using the volume-offluid scheme, a computationally efficient interface-capturing
method for free-surface flows.
Another aspect of the physical modelling concerns the
estimation of hemolysis. In the present study, we use a mean
field approximation, where the local increase in free hemoglobin is represented as a function of macroscopic quantities
computed in the CFD simulations. The quantities that are
naturally considered are the viscous shear stress and the
Reynolds stress. Another important quantity is the exposure
time, as hemolysis depends on the duration of the mechanical
load. Several CFD hemolysis studies have been reported in
the literature (see e.g. [1] and [2] and the references therein).
Since, to the best of our knowledge, all the previously studied
devices function on very different operating principles than
the device considered here, it proved necessary to design our
own specific model. A four parameter model was derived to
determine the rate of production of hemolysis along a trajectory, involving local shear stress as well as load history. The
particular dependence on shear stress follows from previous
studies [3].
A commercial software package that solves the governing Reynolds-averaged Navier-Stokes equations using a
finite volume discretization was employed in the present
study. Particular care was taken in initializing the flow, as
it involves high rotational speed as well as large velocity
gradients. Most of the simulations were performed as fully
unsteady problems to ensure reliability in the stability of the
observed solutions.
COMPUTATIONAL ISSUES
To provide an indication of potential improvements in
the device design, the CFD simulations and analysis must be
sufficiently accurate to capture small effects. Computationally, this requires high resolution computations as well as
the use of detailed – and therefore expensive – flow models.
Two types of simulations were undertaken: high throughput
parametric studies involving different device geometries and
high resolution in-depth computations for a few selected
cases. It was essential to use high performance computing
for both of these types of simulations.
High performance computing nowadays generally involves the application of appropriate techniques to exploit
available parallel computer systems. Two different techniques
have been employed in the present study: computing in parallel and parallel computing. All simulations were performed
on the Pleiades cluster at the EPFL [4], which consists of
commodity processors interconnected by a Gigabit Ethernet switch. In its present configuration, the Pleiades cluster
FI SPÉCIAL HPC – 27 octobre 2009 – page 29
Numerical simulation of hemolysis due to blood centrifugation
comprises a total of 960 compute cores with 120 Intel Xeon
mono-processor nodes (2.8 GHz, 4 GB dual-access DDR
memory) and 210 Intel Woodcrest bi-processor bi-core nodes
(2.67 GHz, 8 GB dual-access DDR memory).
Computing in parallel: For the parametric studies, high
throughput simulations were performed based on axisymmetric swirl space, namely, full dependence of the velocity
on the radial and axial directions while no dependence
on the azimuthal direction. This involves computing a
two-dimensional (2D) flow augmented by one scalar field
for the azimuthal velocity. Using 2D meshes of about
110,000 cells, typical cases required 230 MB of RAM
and satisfactory convergence to a stationary solution was
achieved in about 30 hours of CPU time. The parametric
studies required running hundreds of cases, to test various
geometries and variable values. Each case was computed
on a single processor core, using an automated procedure
designed for the simultaneous submission of multiple
cases covering a given range of parameters.
Parallel computing: High resolution in-depth computations
have also been performed of full 3D flows. Such simulations were aimed at exploring the eventual existence of
azimuthal flow structures. Since such simulations are
computationally very demanding, only a few selected
cases were computed. The largest case that was simulated
involved a computational mesh of about 4 million cells.
A section of a mesh containing a total of 1 million cells
is shown in Figure 2.
SIMULATION RESULTS
Figure 3 shows the result of an axisymmetric swirl simulation with the entire (2D) computational domain displayed.
The inlet is at the lower right hand corner of the figure, while
the outlet is on the left close to the axis of the centrifuge. At
a sufficient distance from the collectors, the flow is seen to
maintain a high speed, essentially solid-body rotation. As the
collectors are stationary, the fluid is abruptly slowed down at
their tips, and moves along their internal faces towards the
axis of the centrifuge. A transition between a swirl-dominated
flow and a radial-dominated flow occurs in the neighbourhood of the collectors’ tips. Local increase in hemolysis takes
place in this region due to the presence of high shear.
fig. 3 – Computed swirl velocity (background colour) in the
collection chamber. The volume occupied by the air phase is
shown in grey. The azimuthal projection of a recirculating
trajectory is indicated in black.
fig. 2 – Section of a 3D mesh used for high resolution computations
To undertake the parallel computations, domain decomposition was used to distribute the work load involved in the
simulation on multiple processor cores. A case with 4 million
mesh cells occupies 1.3 GB of disk space and requires up to
9 GB of RAM. It therefore cannot be run on a single node
without a significant loss in performance due to the necessity
of swapping. Simulations of large cases were performed on
up to 8 quad-core nodes, that is, 32 cores.
Under certain circumstances, unsteady 3D solutions have
been observed, which required a larger computational effort
to simulate. As an indication, a case with 4 million elements
running on 16 processors required a wall time of 55 hours
to compute 5 milliseconds of real-time operation.
FI 8 – 27 octobre 2009 – page 30
To determine the hemolysis that is produced as the
blood flows through the device, it is necessary to compute
the trajectories of individual volume elements in order to
track the flow conditions encountered by red blood cells
along their path.
Displayed in Figure 3 is also the azimuthal projection
of a selected single trajectory. In addition to the highspeed rotation in the swirl direction, a vortex-like motion
is observed in the perpendicular plane. This indicates that
recirculation takes place in the collection chamber. A
similar vortex type structure also arises in the upper part of
the chamber, and hence the majority of the RBC phase is
comprised of recirculation zones. Since hemolysis depends
on the exposure time of the RBC to high stress regions, the
residence time of individual cells within such vortices is an
important quantity.
The 3D flow simulations have revealed the existence
of various types of pathlines. In Figure 4(a) is presented
a top view of a 3D flow trajectory starting near the inlet
and integrated for 5 seconds. The trajectory keeps rotating
within the recirculation region without entering the collector
interspace, even though the average residence time in the
collection chamber, determined by the ratio of volume to
flux, is about 1 second.
Other trajectories, such as that shown in Figure 4(b), exit
quickly after a few cycles within the outer part of the rotating chamber. Once between the collectors, the fluid quickly
Numerical simulation of hemolysis due to blood centrifugation
fig. 4 – Top view of 3D flow trajectories in the collection chamber: (a) recirculating trajectory, (b) directly exiting trajectory, and
(c) complex trajectory. The device outlet is on the border of the central region in white. The collector disks are in dark grey, while
the outer region in light grey is the volume where essentially solid-body rotation occurs
slows down and exits the device in a spiral-like motion. The
trajectory shown in Figure 4(b) is coloured according to the
level of hemolysis accumulated in the corresponding volume
element. As expected, hemolysis abruptly increases near the
collector tip where the fluid slows down.
Other trajectories determined from the 3D simulations
display more complex flow behaviour. The example presented
in Figure 4(c) shows a pathline that enters the collector
interspace where it follows a chaotic path before returning
to the collection chamber rather than exiting the device
through the central outlet. This behaviour suggests that some
trajectories undergo multiple accelerations and decelerations,
thus resulting in an increase in hemolysis.
ACKNOWLEDGEMENTS
This work has been performed within the framework of
a project funded by the Swiss Commission for Technology
and Innovation (CTI).
REFERENCES
[1]
CONCLUSIONS
[2]
The numerical simulation results obtained in the present
study suggest that when flowing through the device, individual RBC may encounter quite different flow conditions and
exposure times. An accurate estimate of the global hemolysis
thus requires an adequate sampling of the trajectory space.
This in turn requires the capability to reproduce accurately
not only local but also global flow properties. The associated
issue of performing accurate Lagrangian tracking in unsteady
complex flows is also important; this is a very challenging
problem from a computational point of view.
While the ability to perform reliable CFD analysis as part
of the design process may yield significant cost reduction
for an industrial product development, the present study
illustrates that it may also require significant computational
resources. While the capability of high performance computers will continue to increase, gaining the competitive edge
through computer-assisted engineering is likely to remain a
competence-demanding task. This emphasizes the continued
importance of appropriate partnerships between academia
and industrial developers.
[3]
[4]
M. Behbahani, M. Behr, M. Hormes, U. Steinseifer,
D. Arora, O. Coronado and M. Pasquali, A review of
computational fluid dynamics analysis of blood pumps,
European Journal of Applied Mathematics, 20, 363397 (2009).
L. Gu and W.A. Smith, Evaluation of computational
models for hemolysis estimation, ASAIO Journal. 51,
202-207 (2005).
S.A. Jones, A relationship between Reynolds stresses and
viscous dissipation: implications to red cell damage, Annals of Biomedical Engineering, 23, 21-28 (1995).
Pleiades cluster; see pleiades.epfl.ch. ■
SOLUTION DU MOTS CROISÉS DE
1
2
5
6
7
8
R
E
B
A
B
E
R
A
B
L
R
T
O
I
L
E
M
O
S
S
A
I
A
F
II
M
I
III
E
IV
3
S
4
FRANCK
9
E
S
C
V
R
A
U
E
T
N
A
VI
A
M
E
R
R
I
A
M
VII
T
E
R
N
E
O
T
O
VIII
A
N
S
E
E
N
E
T
IX
I
T
S
E
S
M
E
I
FI SPÉCIAL HPC – 27 octobre 2009 – page 31
Parallel Multi-Scale Hemodynamics
[email protected], [email protected], EPFL – School of Engineering – Laboratory for Multiscale Modeling of Materials, Massimo Bernaschi ([email protected]), Sauro Succi ([email protected]), Istituto Applicazioni Calcolo, CNR, Rome,
Italy
Nous esquissons une méthode de calcul pour le
diagnostic cardiovasculaire basée sur des simulations
massivement parallèles. Les calculs s’exécutent sur
une architecture de type IBM Blue Gene et sur des
GPU. Notre approche est basée sur la combinaison
de la MD (Dynamique Moléculaire) microscopique
avec une méthode de Lattice-Boltzmann hydrocinétique (LB) et prend en compte les interactions
hydrodynamiques entre les corps suspendus et le
fluide les entourant. Le résultat final est un code
multi-physique et multi-échelle appelé MUPHY.
Ce logiciel a une scalabilité excellente sur le Blue
Gene/L et sur les multi-GPU. En développant
une série d’optimisations ad-hoc, MUPHY se
démontre extrêmement efficace dans la simulation
des domaines irréguliers, comme ceux utilisés lors
de simulations des flux sanguins dans des artères
coronaires étendues, avec en plus la capacité
d’accéder à l’information physique à l’échelle
m crométriqu
mi
q e.
We outline a computational method for clinical
cardiovascular diagnosis based on massive
simulations running on the IBM Blue Gene
architecture and Graphical Processing Units (GPU)
commodity hardware. Our approach is based
on the combination of microscopic Molecular
Dynamics (MD) with a hydrokinetic Lattice
Boltzmann (LB) method and takes into explicit
account the hydrodynamic interactions among the
suspended bodies and the surrounding fluid. The
end result is a multi-physics/scale parallel code,
called MUPHY. The software exhibits excellent
scalability on the Blue Gene/L platform and multiGPUs. By developing a series of ad hocc optimization
techniques, MUPHY proves extremely efficient in
simulating irregular domains, such as for blood flows
in extended coronary arteries, with the capability of
accessing physical information at micrometric scale.
FI 8 – 27 octobre 2009 – page 32
INTRODUCTION
In the last several decades, there has been
growing interest towards understanding the circulation of blood (hemodynamics) in the human
cardiovascular system. This is a very complex
network: the heart pumps the blood through
the large arteries to the smaller diameter arteries,
which become capillaries and eventually venules,
where the deoxygenated blood is passed through
veins back to the heart, imposing a circular road
map through the whole body. In such diverse
morphological conditions, blood exhibits a widely
variable behavior, ranging from the continuum to
the corpuscular nature of the biofluid, rich in red
blood cells and other suspended particles.
The phenomenology of hemodynamics has a
significant impact in initiating and evolving many
cardiovascular diseases. Atherosclerosis is the most
common disease that affects the arterial blood
vessels resulting in coronary heart disease, the
most common cause of mortality and morbidity
in developed countries. About 50% of annual
deaths due to this disease occur suddenly and
with no prior symptoms [1]. Although the development of the disease depends on the presence
of systemic risk factors, such as high cholesterol,
diabetes and high blood pressure, the clinical
manifestations – heart attack, sudden coronary
death and angina pectoris – are focal, resulting
from the accumulation of lipid molecules and
inflammatory cells at specific locations within
the wall of the coronary arteries.
The main objective of multi-scale hemodynamics is to develop and deploy a general-purpose
methodology to study flow patterns in complex
morphological environments. A direct benefit of
this activity would be the enhanced biomedical
understanding of the causes and evolution of
plaques in the heart arteries, with important
implications for predicting the course of atherosclerosis and possibly preventing or mediating
its effects. The principle underlying our approach
is to resolve the motion of the relevant degrees
of freedom (particles, molecules, red blood cells,
etc.) and their environment in a consistent way.
Parallel Multi-Scale Hemodynamics
The irrelevant components of the system are handled in
effective terms, without sacrificing the realism of the overall
description. In this way, we are able to approach systems of
mesoscopic or macroscopic size, with a number of elemental
components that cannot be handled by conventional simulation methods.
Studying complex flow patterns implies the simulation of
suspended bodies and particles convected by the underlying
fluid plasma. The interaction exerted between the fluid (solvent) and suspended bodies (solute) is bi-directional, with
an action-reaction principle underlying the motion of both
solute and solvent. We have thus developed a method to
couple two computational entities by combining methods
borrowed from different contexts, the Lattice Boltzmann
(LB) method from the computational fluid-dynamic community, and Molecular Dynamics (MD) from the atomistic
computational community. The developed concurrent multiscale methodology is stable, reliable and suitable for a number
of extensions and applications.
For a number of years, highly tuned, system-specific
application codes have been used to run large-scale simulations in many different fields of computational physics.
However, attempts of coupling such application codes to
simulate more complex, interdisciplinary phenomena have
been often based on a simple sequential paradigm, that is,
the output of the microscopic code provides the input of the
macroscopic code, with limited (if any) run-time concurrency and system integration. The end result of our effort
has been the development of the software package MUPHY,
a general-purpose multi-scale simulation tool that can be
used to study a variety of phenomena. Due to a number of
technical advancements in High Performance Computing,
MUPHY can seamlessly handle real-life geometrical set-ups,
such as blood flows in human arteries in the presence of
white cells, lipids, drug-delivery carriers and other suspended bodies of biological interest. Moreover, MUPHY has
been designed to exploit cutting-edge hardware resources,
such as the IBM Blue Gene platform or clusters equipped
with high performance graphical processing units (GPU)
that are currently attracting considerable attention in the
computational community.
more stable behavior as compared to Navier-Stokes/MD
coupling.
, represenIn the LB method the basic quantity is
ting the probability of finding a fluid particle at the spatial
mesh location and at time t with discrete speed and
mesh spacing Δx. Actually, fluid particles do not correspond
to individual solvent molecules, but they represent instead
the collective motion of a group of physical particles (populations). For our studies, we use the common three-dimensional 19-speed lattice where the discrete velocities connect
mesh points to first and second topological neighbors. Once
the discrete populations f i are known, the kinetic moments
are obtained by a direct summation upon all discrete populations at a given lattice site, with
being
the local density,
the flow current and
the momentum-flux tensor.
The fluid populations are advanced in time through the
following evolution equation:
where the right hand side represents the effect of fluid-fluid
molecular collisions, through a relaxation towards a local
, typically a second-order expansion in the
equilibrium,
fluid velocity of a local Maxwellian with speed :
being the sound speed, w i a set of weights normalized to unity, and the unit tensor in Cartesian space. The
relaxation frequency ω controls the kinematic viscosity of
the fluid,
.
The source term
accounts for the presence of
particles embedded in the LB solvent and represents the
momentum and momentum-flux input per unit time due
to the influence of particles on the fluid, reading
,
MULTISCALE METHOD
In order to highlight the main features of our multi-scale
approach, in this section we review the basic methodology, for
which further details can be found in previous works [2].
The fluid dynamic equations are solved via the LB
method, a particularly well suited approach to handle multi-scale problems for several reasons: first, free-streaming of
the fluid proceeds along straight trajectories which greatly
facilitates the imposition of geometrically complex boundary
conditions, such as those appearing in complex cardiovascular
environments. Second, fluid diffusivity emerges from the
first-order LB relaxation-propagation dynamics, so that the
kinetic scheme can march in time-steps scaling only linearly
with the mesh resolution. Third, since both fluid-fluid and
fluid-particle collisions are completely local, the LB scheme
is well suited to parallel computing. Finally, the LB/MD
coupling method typically exhibits an order-of magnitude
being the mechanical friction acting between a single
particle and the surrounding fluid.
The Molecular Dynamics component propagates in time
a number of solute particles having position , velocity ,
and variable orientation, and experiencing mechanical forces due to body-body and body-wall forces. The resulting
MD algorithm is well known and well documented. When
modeling the frictional term, the embedded solute can be
chosen to have a finite extension and shape, as in a detailed
representation of red blood cells, or a simple point-like
structure. For the latter choice, however, we need to take
into account the anisotropic hydrodynamic response (as for
a biconcave discoidal body) in effective terms. In the simplest
scheme, an isotropic point-like object has a frictional force
, with
being the fluid velocity evaluated at the particle position, and γ a friction coefficient.
FI SPÉCIAL HPC – 27 octobre 2009 – page 33
Parallel Multi-Scale Hemodynamics
COMPUTATION HEMODYNAMICS
Prior research, primarily observational and in vitro, has
established that the foci of atherosclerosis appear in regions
of disturbed blood flow, where the local endothelial shear
stress (ESS) is low or of alternating direction. Therefore,
atherosclerotic lesions frequently form near arterial branches and bifurcation, where there is always disturbed flow.
Moreover, it primarily affects the luminal side of arteries
since the distribution of wall stress through the thickness of
the wall arising from pressure is higher on the inner surface
of the artery.
The evidence for ESS in the localization and progression
of atherosclerosis is compelling and widely accepted. However, to date there is no direct route to predict the occurrence
of atherosclerosis. In fact, because there is no direct method
for measuring ESS in vivo, the prediction where disease is
likely to develop and what form it could take is basically
impossible.
In close collaboration with the Cardiovascular and Radiological Units of the Brigham and Women’s Hospital at
Harvard Medical School, we have undertaken a systematic
investigation of extended coronary systems enveloping the
complete human heart. The joint usage of vascular profiling
techniques, such as Multi-Detector Computed Tomography
(MDCT), and MUPHY, allowed us to simulate coronary
systems of unprecedented size and accuracy. MDCT is an
emerging noninvasive modality for coronary artery imaging
with the potential to assess the coronary artery lumen, the
wall, and plaque with improved spatial and temporal resolution as compared to prior acquisitions, permitting the
creation of a 3D image of the entire coronary artery system
in a few minutes [3].
We have developed a set of tools to reconstruct, regularize
and finally simulate coronary arteries in silico. The Lattice
Boltzmann method proved particularly favorable in handling
complex arterial geometries since the use of a regular cartesian
mesh greatly facilitates handling irregular coronary geometries, as compared to traditional fluid-dynamic approaches.
Moreover, one can access the crucial quantities, such as
ESS, locally on the mesh, without awkward interpolation
methods, as illustrated in Fig. 1, for a real-life example of a
coronary artery [4].
Our study focuses on the reconstruction of ESS maps
in left and right coronary arteries. Given the high level
of ramification in coronaries, sophisticated 3D graphical
software allows us to visualize scalar, vectorial and tensorial
fields and locate the foci of low ESS [4]. We can thus monitor
the coronary hot spots in different hemodynamic conditions,
as in Fig. 2. In particular, we have identified a number of
observational quantities that allow us to characterize irregular
flow patterns, with repercussions on the underlying endothelial cell alignments and adhesion properties of lipid-rich
material by the inner coronary wall. Such quantities prove
of great interest for a correct interpretation of incipient
pathologies by the medical community.
We can now handle disparate geometries and flow conditions at the centimeter and millimeter level. Further work is
in progress aimed at reproducing the rheological properties
of blood at micrometer level. Here, the corpuscular nature of
FI 8 – 27 octobre 2009 – page 34
blood modulates viscosity in specific ways, and needs to be
taken into account via the reproduction of motion of red blood
cells, with full deployment of the multi-scale methodology.
fig. 1 – Human Left Coronary Artery colored according to
the local ESS, computed with 250,000,000 LB voxels. The
upper region is directly attached to the Aorta and subdivides
in nine different bifurcations. The regions of pathologically
low ESS correspond to the deep blue coloring, occurring in
proximity of bifurcations, for local enlargements of the vessel
diameter, and generally along the inner region of vessel bending. The inset illustrates the original multi-detector computed
tomography scan, with the coronary artery system descending
from the aorta.
fig. 2 – Diagrammatic ESS map eliciting the connectivity
of the vessels, the attachment points, and the longitudinal
(vertical axis) and azimuthal (horizontal axis) modulation of
ESS, indicated by the color scheme shown at the bottom. The
horizontal direction is proportional to the artery local diameter and labels indicate the conventional naming of coronary
vessels. The white compact regions on the ESS map represent
attachment regions on the mother vessel, where proper surface points are locally absent.
Parallel Multi-Scale Hemodynamics
PARALLELISM ON BLUE GENE AND GPU
CLUSTERS
Our simulation software, MUPHY, swiftly pipelines the
different phases of the hemodynamic simulation and exploits
the power of state-of-art hardware resources in a highly
efficient manner. The code has been initially developed on
clusters of PC and the IBM Blue Gene system.
The parallelization of the Lattice Boltzmann method and
Molecular Dynamics algorithms, as two distinct problems,
has been extensively studied for a number of years [5,6].
However, the coupling of these techniques, in view of the
dual nature of the multi-scale approach, raises new issues
that need to be solved in order to achieve scalability and
efficiency for large-scale simulations. For both methods we
rely on domain decomposition derived from a k-way multilevel algorithm [7] with optimal load balancing in terms of
voxel content and communication minimization.
The fluid-dynamic solver is the most time-consuming
component of the method. Indeed, the LB algorithm for
the update of the populations has an unfavorable ratio
between number of floating point operations and number
of memory accesses. In addition, it is not possible to exploit
the SIMD-like operations of the PowerPC 440 processor
since they require stride one access, whereas the LB method
has a “scattered” data access pattern. Therefore, we first took
advantage of single-core optimizations in the LB kernel, by
removal of redundant operations, buffering of multiply-used
operations and “fusion” of the collision and streaming steps
in a single loop, resulting in performances in line with other
highly tuned LB kernels. Next, the intrinsic structure of the
LB kernel and the large bandwidth of the Blue Gene architecture were leveraged resulting in optimal scalability.
For the Molecular Dynamics section, we developed a
parallelization strategy suitable for the multi-scale hemodynamic problem. In particular, we addressed the problem that in
typical MD applications the spatial distribution of suspended
bodies may be inhomogeneous. A straightforward approach
to achieve a good load balancing is to resort to a domain
decomposition such that each task has approximately the
same number of particles. In this way, the size of the spatial
sub-domains assigned to each task may vary substantially. In a
stand-alone Molecular Dynamics simulation, this is acceptable
but in our case the LB component would be hindered, since
the computational load is proportional to the size of the spatial
domain assigned to each task. One might opt for two separate
domain decompositions for the LB and the MD part of the
simulation. However, the exchange of momentum among
particles and the surrounding fluid would become a nonlocal operation, with a very high cost due to the long-range
point-to-point communications imposed on the underlying
hardware/software platform. For the IBM Blue Gene such
communications are explicitly discouraged.
We circumvented the problem arising from inhomogeneous distributions by developing a local dynamic load
transfer method and applying it to the most time-consuming
part of MD, the computation of body-body interactions.
Whenever the number of interacting pairs owned by a given task exceeds the number of pairs assigned to a neighbor
by a threshold, a fraction of the excess pairs is sent to that
neighbor, as illustrated in Fig. 3. In this way, a local load
balancing for the computation of forces is achieved. A set
of precedence rules prevents situations in which a task sends
pairs to a neighbor and receives pairs from another. The
receiving task computes the corresponding forces and sends
them back to the task that actually owns the particles. For
the system under study, the communication/computation
ratio is such that the strategy results in a sizeable advantage
for the global efficiency [8].
We made scalability tests on a Blue Gene/L computer up
to 32,768 nodes, for a system composed by 256,000 particles
embedded in a fluid mesh made by 512 x 512 x 512 voxels
(Table 1). The test refers to biopolymer translocation experiments [3] and includes hydrodynamic fluctuations, with
an additional cost as compared to noise-free hemodynamic
simulations. The LB part appears to scale linearly and at times
even superlinearly, probably due to a positive side effect of
the reduction of lattice nodes per task on cache usage. To be
noted that also the MD part exhibits a significant speed-up,
showing that the saturation regime is still far from being hit.
Without the dynamic local load balancing, the time required
by the MD part of the simulation increases, on average, by
about 30%. The excellent scalability of both the LB and MD
components confirms the efficiency of the IBM Blue Gene
communication network.
The LB part of the simulation performs slightly more
than 210 MFLOPS/sec per task. As for the MD part, on
average, each task performs slightly below 160 MFLOPS/sec.
Taken together, on average, each task performs at about
190 MFLOPS/sec. On the largest configuration at our
disposal, these figures lead to an estimate of a total of 6.2 TeraFLOPS/sec aggregate performances.
fig. 3 – Local load balancing in a simplified 2D case. To balance the load for computing pair-wise forces, node 2 “virtually” transfers
the coordinates of four beads to node 0 but remains the “owner” of those beads.
FI SPÉCIAL HPC – 27 octobre 2009 – page 35
Parallel Multi-Scale Hemodynamics
Number of tasks
Total time
Total efficiency
LB time
MD time
1024 (CO)
883.9
N/A
581.4
260.0
2048 (CO)
452.3
98%
290.0
135.2
4096 (CO)
233.3
95%
144.3
70.5
8192 (CO)
118.6
93%
72.1
38.1
16384 (CO)
59.2
93%
36.1
21.1
16384 (VN)
66.2
83%
40.1
23.0
32768 (VN)
36.1
76%
20.1
13.0
Table 2 – Times (in seconds) for 1000 iterations of a 256000 particles multi-biopolymer translocation in a 512 x 512 x 512 lattice.
The runs have been made on a Blue Gene/L architecture running in co-processor (CO) and virtual node (VN) modalities.
Given its particularly favorable price/performance ratio,
the Graphics Processing Units represent the latest technological breakthrough in scientific computing, accessible as
commodity hardware. Among the GPU, those developed
by NVIDIA appear particularly suitable to support general
purpose processing thanks to their programming technology
named CUDA. We had access to a NVIDIA Tesla C870
equipped with 16 multiprocessors with 8 processors each,
for a total of 128 computational cores that can execute at a
clock rate of 1.3 GHz. The total on-board global memory
on the Tesla C870 amounts to 1.5 GByte with a 384-bit
memory interface to the GPU that delivers 76.8 GByte/sec
memory bandwidth. The latency for the access to this global
memory is approximately 200 cycles (two-order of magnitude
slower than access to shared memory) with any location of
the global memory visible by any thread, whereas shared
memory variables are local to the threads running within a
single multiprocessor.
System
Execution time (in sec)
MFLUPS
1 C870 GPU
760
53
2 GT200 GPUs
159
252
8 GT200 GPUs
41.9
955
Table 2 – Timing of 10,000 iterations on an irregular domain
with ~4,000,000 voxels on multi-GPU architectures. The
performance is measured by using the de-facto standard unit
for Lattice Boltzmann, that is Million of FLUid node lattice
Updates per Second (MFLUPS). A MFLUPS is equal, approximately, to 200 million floating point operations per second
(MFLOPS).
To highlight the computing capabilities provided by the
GPU, we report in Table 2 the results of the multi-GPU
version of MUPHY parallel code [9] obtained on a cluster
composed as follows: 4 Quad core Xeon 2.8Ghz connected by
Infiniband and equipped each one with two pre-production
S1070 GPU systems (for a total of 8 GT200 GPUs). For
the test we used an irregular domain with a large bounding
box (1057 x 692 x 1446 dimension) and a total number of
fluid nodes ~4,000,000. To obtain overall high performances,
we took special care of the communication patterns among
the GPUs due to an intermediate passage through the host
CPUs. Overall, the reconstruction of extremely accurate
ESS maps of complete coronary systems requires to have
mesh spacing of 20 μm resulting in 250,000,000 fluid mesh
FI 8 – 27 octobre 2009 – page 36
points, that is a global memory allocation of 60 GByte in
single precision representation. Such requirement is met by
exploiting a cluster of 8 Tesla GT200 each equipped with
16 GByte memory.
To conclude, performance tests have shown that
MUPHY can sustain highly competitive performances on
Blue Gene and multi-GPU architectures, notwithstanding
the underlying general-purpose design of the software components. Given the accessible price of the GPU platforms,
MUPHY is ready to use for routine medical analysis. In
prospect, the joint usage of simulation and imaging on the
same hardware will allow to non-invasively and inexpensively screen large numbers of patients for incipient coronary
disease, and intervene at clinical level prior to the occurrence
of catastrophic events.
ACKNOWLEDGMENTS
The authors are grateful to M. Fyta, M. Bisson, J. Sircar,
F. Rybicky and C.L. Feldman for encouragement and support
during the whole development of the project. This work was
partially supported by Harvard’s Initiative in Innovative
Computing and by the Cyber Infrastructure Laboratory of
the Harvard School of Engineering and Applied Sciences.
BIBLIOGRAPHY
[1]
[2]
[3]
[4]
[5]
[6]
[7]
[8]
[9]
Heart and stroke encyclopedia, American Heart Association, www.americanheart.org (2009).
M. Fyta, S. Melchionna, E. Kaxiras, S. Succi, Comput.
Sci. & Eng., 10, 10 (2008).
F.J. Rybicki et al., Intl. J. of Cardiovasc. Imaging,
15 Jan 2009, DOI 10.1007/s10554-008-9418-x
(2009).
S. Melchionna et al., submitted (2009).
G. Amati, R. Piva, S. Succi, Intl. J. ModernPhys. C
4, 869 (1997).
S. Plimpton, J. Comput. Chem. 117, 1 (1995).
glaros.dtc.umn.edu/gkhome/views/metis
M. Bernaschi, S. Melchionna, S. Succi, M. Fyta,
E. Kaxiras, J.K. Sircar. Comput. Phys. Comm., 180,
1495 (2009).
M. Bernaschi, M. Fatica, S. Melchionna, S. Succi,
E. Kaxiras, Concurrency & Comput., 10.1002/
cpe.1466, in press. ■
Path integral evaluation of the
equilibrium isotope effect in [1,5]
sigmatropic hydrogen shift reactions
[email protected] and [email protected],
EPFL – School of Basic Sciences – Laboratory of Theoretical Physical Chemistry
Une méthode rigoureuse et générale
pour le calcul de l’effet isotopique
d’équilibre est décrite et appliquée
à trois réactions de glissement
d’hydrogène sigmatropique [1,5]. Un
estimateur efficace pour la dérivée de
l’énergie libre est utilisé. Il diminue
le temps de calcul d’un facteur
d'environ 60. Les calculs révèlent que la
correction au-delà de l’approximation
harmonique usuelle pour le mouvement
des noyaux s’élève à 30% de l’énergie
libre de réaction réduite de la symétrie.
Les résultats numériques sont comparés
avec de récentes expériences faites par
Doering et associés. Ils confirment la
précision des plus récentes mesures,
ainsi que les inquiétudes concernant la
précision de la mesure faite par ce même
g oupe
gr
p précédemment.
The path integral methodology for
computation of the equilibrium isotope
effect is described and applied to
three [1,5] sigmatropic hydrogen shift
reactions. An efficient estimator for the
derivative of the free energy is used,
which shortens the computation time
by the factor of about 60. Calculations
reveal that the correction beyond the
usual harmonic approximation for
nuclear motion amount up to 30 %
of the symmetry reduced reaction
free energy. The numerical results are
compared with recent experiments of
Doering and coworkers, confirming
the accuracy of the most recent
measurement as well as concerns about
compromised accuracy, due to side
r actions, of another measurement.
re
[1,5] SIGMATROPIC HYDROGEN SHIFT REACTION
[1,5] sigmatropic hydrogen shift reaction is a molecular rearangment that involves both the creation of a new σ-bond between
hydrogen atom and the vinyl carbon and the breaking of an existing
π-bond between hydrogen and methyl carbon atom accompanied by
a concurrent relocation of π-bonds (see Figure 1).
fig. 1 – The [1,5] sigmatropic hydrogen shift reaction in (3Z)-penta1,3-diene. The reactant and product are identical for the isotopically
unsubstituted compound but they can differ when some hydrogens are
substituted by deuteriums.
The barrier to this reaction is high so the experimental measurements are usually performed at temperatures around 160-200°C.
The reaction attracts attention of both experimental and theoretical
chemists for reason that the quantum tunneling supposedly contributes significantly to the reaction rate. Therefore, simple compounds
capable of [1,5] hydrogen shift can serve as models to understand
phenomena important, for example, in much more complex biological systems.
One approach to answer the question whether the tunneling is
significant in the reaction is to study the kinetic isotope effect (KIE).
The primary H/D KIE describes how the reaction rate changes when
the hydrogen atom being transferred is substituted by deuterium.
A high value of the KIE then means that the quantum tunneling
can be an important pathway in the reaction. Usually, not only the
hydrogen being transferred but all hydrogens bonded to the same
carbon atom are replaced by deuteriums. If a molecule studied is
symmetric with respect to the [1,5] hydrogen shift (as (3Z)-penta1,3-diene shown in Figure 1), the reaction products differ only in
positions of deuteriums. Their equilibrium ratio is the special case
of the equilibrium (thermodynamic) isotope effect (EIE).
Recently, two subsequent measurements of the KIE of [1,5]
sigmatropic hydrogen shift were published [1, 2]. For both measFI SPÉCIAL HPC – 27 octobre 2009 – page 37
Path integral evaluation of the equilibrium isotope effect in [1,5] sigmatropic hydrogen shift reactions
urements, the final equilibrium ratios of isotopomers were
reported, which were, despite of the similarity of compounds
used, qualitatively differed. The authors of the measurements
suspected that the hydrogen shift reaction in the first measurement was influenced by the dimerization side reactions.
EQUILIBRIUM ISOTOPE EFFECT
The EIE is defined as the effect of isotopic substitution
on the equilibrium constant. Denoting an isotopolog1 with
a lighter (heavier) isotope by a subscript l (h), the EIE is
defined as the ratio of equilibrium constants
K l Q (l p ) Q(lr )
EIE =
=
,
K h Q (h p ) Q(hr )
(1)
where Q ( r ) and Q ( p ) are molecular partition functions of
the reactant and product, respectively. We study a specific
case of the EIE - the equilibrium ratio of two isotopomers 2.
In this case, the EIE is equal to the equilibrium constant of
the isotopomerization reaction,
Q( p )
EIE = K eq = ( r ) ,
Q
(2)
where superscripts r and p refer to the reactant and product
isotopomers, respectively.
THERMODYNAMIC INTEGRATION
The direct computation of the ratio of partition functions
in Eq. (2) is, in general, difficult, for the value of the partition function is proportional to the huge number of energy
levels accessible to the system at a given temperature. To
make the computation feasible, a trick of the thermodynamic
integration with respect to the mass of the isotopes is used.
The method takes advantage of the relationship
Q( p )
EIE = ( r ) =
Q
1
∫0 d L
PATH INTEGRAL METHOD
Since the electronic properties of hydrogen and deuterium are the same (to a high level of approximation), the main
difference between isotopomers is due to the motion of the
2
Q = C ∫ dr(0) … ∫ dr(P-1) exp[– βΦ( { r (s ) } )], (4)
where
(5)
and r ( s) = (r 1( s) , r 2( s) , … r N( s) ) is the set of Cartesian coordinates associated with the sth imaginary time slice,
(6)
is the effective potential, N is the number of atoms, D the
number of spatial dimensions, and P the number of imaginary time slices in the discretized PI (P = 1 gives classical
mechanics, P → ∞ gives quantum mechanics).
The P particles representing each nucleus in P different imaginary time slices are called beads. Each bead interacts with
the two beads representing the same nucleus in adjacent time
slices via the harmonic potential and with beads representing
other nuclei in the same imaginary time slice via the potential
of the molecule attenuated by the factor 1/P. See Figure 2
showing the classical system corresponding to a quantum
mechanical description of equilibrium of (3Z)-penta-1,3diene in the case of P = 4.
dF (L )
,
dL
(3)
where F=–logQ/β is the (quantum) free energy and λ is
a parameter which provides a smooth transition between
isotopomers r and p.
In contrast to the partition function itself, the integrand
dF(λ)/d λ is a thermodynamic average and therefore can be
computed by either Monte Carlo or molecular dynamics
simulations. We use the PIMD method, which combines the
path integral expression for the partition function with molecular dynamics for sampling of the configuration space.
1
nuclei, which move in the same potential but differ in their
masses. To go beyond usual approximations and describe the
quantum effects on the nuclear motion rigorously, we use the
path integral (PI) formulation of quantum mechanics [3].
In the path integral formalism, thermodynamic properties
are computed exploiting the correspondence between matrix elements of the Boltzmann operator and the quantum
propagator in imaginary time.
The PI representation expression for the partition function Q is
fig. 2 – The path integral representation of the quantum
partition function of (3Z)-penta-1,3-diene for P=4 imaginary
time slices represented by different colors. Harmonic interaction between beads in adjacent time slices is represented by the
springs. In addition to this harmonic interaction, beads of the
same color interact by the potential of the molecule diminished
by the factor 1/P. During the simulation, the whole system
evolves according to the classical dynamics.
Isotopologs are molecules which differ by the isotopic substitution of one or more atoms
Isotopomers are molecules which have the same total number of isotopes of its atoms but differ in their positions.
FI 8 – 27 octobre 2009 – page 38
Path integral evaluation of the equilibrium isotope effect in [1,5] sigmatropic hydrogen shift reactions
The number of imaginary slices, which have to be used to
obtain converged quantum result, depends on the system and
the temperature. At higher temperature, a system generally
behaves more classically, so a lower number P of imaginary
time slices is needed. Since the EIE is a small quantity, we
mainly used relatively high number of P = 40 imaginary time
slices to obtain precise results.
THERMODYNAMIC AND GENERALIZED VIRIAL
ESTIMATORS
To use the PI expression for the partition function
together with the thermodynamic integration, we have to
calculate the logarithmic derivative [recall Eq. 3] of the
partition function Q with respect to the mass. By straightforward differentiation of Eq. (4) , we obtain the so-called
thermodynamic estimator (TE),
(7)
The problem of the TE is that its statistical error grows with
the number P of time slices of the PI, therefore much longer
simulation is needed, if one wants to calculate precise result
close to the quantum limit.
Fortunately, the growth of the statistical error can be removed if the centroid coordinate of the beads representing the
same atom is subtracted, and the coordinates are mass-scaled,
prior to performing the derivative [4]. The error of the resulting generalized virial estimator (GVE) stays approximately
independent of the number of imaginary time slices
(8)
The dependence of the statistical error of both estimators on the number of imaginary time slices in the PI is
shown in Figure 3. In the systems studied in this work, the
GVE shortened the computations by a factor of about 60
compared to the TE.
0.025
GVE
TE
RMSE of dF(λ)/dλ [kcal/mol]
0.02
0.015
0.01
POINT AB INITIO METHODS
Unfortunately, nowadays the PIMD method cannot be
used directly in conjunction with highly precise ab initio
methods for calculation of the potential energy surface, due
to a high number of energy evaluations needed. Semiempirical methods, which can be used instead, generally do
not achieve comparable accuracy. We therefore made the
following two assumptions:
First, we assume that the main contribution to the EIE
can be calculated by a single point ab initio calculation in
the framework of the harmonic approximation (HA). In the
HA, the multidimensional potential surface on which nuclei
move is approximated by a parabolic potential centered at
the local minimum, so the vibrational motion of nuclei is
described by the system of coupled harmonic oscillators for
which the expression for the EIE [Eq. (2)] can be obtained
analytically.
Second, we assume that carefully selected semiempirical
methods are accurate enough to reliably estimate the error
due to the anharmonicity of the real potential.
With these two assumptions, we can take advantage of
both PIMD and higher level methods by adding the semiempirical anharmonicity correction to the HA result calculated
by a more accurate method.
COMPUTATIONAL DETAILS
All computations were done on the cluster of the LCPT
group, which consists of 32 nodes each with two Quad-Core
AMD Opteron 2352 processors.
The PIMD calculations were performed using Amber 10
[5]. The part of the Amber 10 code, which computes the
derivative with respect to the mass was implemented by one
of us and can be invoked by setting the ITIMASS variable
in the input file. PIMD simulations are well parallelized;
the dynamics of each imaginary time slice runs on a single
core. Still, the computation of one value of the logarithmic
derivative of the partition function [see Eq. (3)] needed to
compute the equilibrium ratio of two isotopomers of the
largest molecule studied (2,4,6,7,9-pentamethyl-5-methylene-11,11a-dihydro-12H-naphthacene) with the number of
imaginary time slices P = 40 took approximately 9 days. Five
values of the derivative were usually sufficient to calculate
the integral in Eq. (3).
Ab initio single point calculations were done using
Gaussian 03 revision E01 [6]. Due to the limitations of the
Gaussian 03 parallelization, all ab initio computations were
parallelized only on a single node using SMP. Nevertheless,
finding local minima and harmonic frequencies for the
largest studied molecule lasted only five days instead of one
month.
RESULTS
0.005
0
COMBINATION OF PIMD WITH SINGLE
0
10
20
30
40
50
60
70
P (number of imaginary time slices)
fig. 3 – Root mean square errors (RMSEs) of the generalized
virial estimator (GVE) and the thermodynamic estimator (TE)
as a function of the number P of imaginary time slices in the
path integral.
The reaction free energies and equilibrium ratios for two
isotopologs of the deuterated (3Z)-penta-1,3-diene and two
related compounds were computed. Here, we shortly summarize main results for the latter two compounds. More
details and results for (3Z)-penta-1,3-diene can be found
in Ref. [6].
FI SPÉCIAL HPC – 27 octobre 2009 – page 39
Path integral evaluation of the equilibrium isotope effect in [1,5] sigmatropic hydrogen shift reactions
CONCLUSIONS
fig. 4 – Global minimum of 2-methyl-10-methylenebicyclo[4.4.0]dec-1-ene
2-METHYL-10-
METHYLENEBICYCLO[4.4.0]DEC-1-ENE
Theoretical and experimental [7] ratios for 2-methyl-10methylenebicyclo[4.4.0]dec-1-ene (Figure 4) differ substantially, which suggests that side-reactions suspected by Doering
and Zhao had indeed occurred and compromised the accuracy of the measurement of the kinetic isotope effect.
To conclude, combination of PIMD with higher level
methods in the HA proved to be a viable method for accurate
calculations of EIEs. The GVE for the derivative of the free
energy with respect to the mass allowed us to obtain accurate results at lower temperatures in reasonable time (about
60 times faster than with the TE).
Calculations showed that the effects beyond usual harmonic approximation are important in the computation of
the EIE, since they account for up to 30 % of the final value
of the reduced free energy of the reactions considered here.
The agreement of theoretically calculated ratios with the
data measured in Ref. [2] suggests that the isolation of the
[1,5] hydrogen shift reaction from disturbing influences was
successfully achieved and the observed EIE and KIE can be
considered reliable.
ACKNOWLEDGEMENTS
This research was supported by the Swiss National Science Foundation (Grant No. 200021_124936/1) and by
the EPFL.
REFERENCES
2,4,6,7,9-PENTAMETHYL-5-METHYLENE11,11A-DIHYDRO-12H-NAPHTHACENE
[1]
[2]
[3]
[4]
fig. 5 – Global minimum of 2,4,6,7,9-pentamethyl-5-methylene-11,11a-dihydro-12H-naphthacene
Theoretical and experimental ratios of products of the
[1,5] sigmatropic hydrogen shift in di-deuterated compound
(see Figure 5) agree very well as can be seen in Table 1. This
agreement supports the accuracy of the latter measurement of
the kinetic isotope effect (KIE) made on this compound.
5,5-d2
6,6-d2
5,6-d2
computed
0.096
0.310
0.594
experimental (Ref. [1])
0.098
0.308
0.594
Table 1 – Equilibrium ratios of the products of the [1,5] hydrogen shift reaction in 2,4,6,7,9-pentamethyl-5-methylene11,11a-dihydro-12H-naphthacene at 441.05 K. Numbers
x,x-d2 denote the deuterium bonding sites.
FI 8 – 27 octobre 2009 – page 40
[5]
[6]
[7]
Doering, W.V. and X. Zhao, Effect on kinetics by
deuterium in the 1,5-hydrogen shift of a cisoid-locked
1,3(Z)-pentadiene, 2-methyl-10-methylenebicyclo[4.4.0]
dec-1-ene: Evidence for tunneling? J. Am. Chem. Soc.,
2006. 128(28): p. 9080--9085.
Doering W.V. and E.J. Keliher, Effect of deuterium on
the kinetics of 1,5-hydrogen shifts: 5-dideuteriomethylene2,4,6,7,9-pentamethyl-11,11a-dihydro-12H-naphthace
ne. J. Am. Chem. Soc., 2007. 129(9): p. 2488-2495.
Feynman, R.P. and A.R. Hibbs, Quantum Mechanics
and Path Integrals. International Series in Pure and
Applied Physics, ed. L.I. Schiff. 1965: McGraw-Hill.
Vaníček, J. and W.H. Miller, Efficient estimators for
quantum instanton evaluation of the kinetic isotope
effects: Application to the intramolecular hydrogen transfer in pentadiene. J. Chem. Phys., 2007. 127(11): p.
114309.
Case, D.A., et al., Amber 10. 2008, University of
California: San Francisco.
Frisch, M.J., et al., Gaussian 03, Revision E.01. 2004,
Gaussian, Inc.: Wallingford, CT.
Zimmermann T. and Vaníček, J., Path integral evaluation of equilibrium isotope effects. J. Chem. Phys.,
2009. 131(2): p. 13.■
A new coarse-grained potential for
molecular simulation of proteins
[email protected], [email protected], EPFL – School of Life Sciences – Interfaculty Institute of Bioengineering,
Francesca Collu, Michele Cascella, University of Berne – Laboratory of Computational Biochemistry
Nous avons introduit le terme de potentiel
non-radial pour la simulation moléculaire des
protéines pour le CG (coarse-grained). Ce terme
décrit l’interaction dipôle-dipôle de l’artichecture
de la protéine (backbone) en tenant compte de
la directionalité nécessaire à la fomation d’une
structure secondaire stable. Nous montrons que les
feuillets β et des hélices α des chaînes péptidiques
sont correctement décrits par la simulation sans
la nécessité d’introduire des potentiels de biais a
priorii ou une paramétrisation ad hoc,
c tous deux
limitant le champ d’application des simulations
CG.
De plus, notre modèle est capable de déterminer
la formation d’arrangements complexes, tels
que la transition d’une longue hélice α ou une
structure helix-coil-helix. Notre algorithme
ne requiert que les informations décrivant la
position de Cα, et n’ajoute au système aucun
degré de liberté additionel. Il possède une
formulation générale, qui lui permet d’être utilisé
conjointement avec d’autres protocoles de CG,
améliorant ainsi la description des propriétés
structurales et dynamiques des assemblages
et réseaux de protéines. Notre algorithme a
été implementé et optimisé pour un progiciel
(LAMMPS – lammps.sandia.gov), nous
permettant d’utiliser d’importantes ressources
HPC pour l’étude des fonctionnements de grands
agréga
ag
g ts de pr
p otéines.
INTRODUCTION
Molecular dynamics (MD) simulations are a powerful
tool to investigate the structure and dynamics of biomolecules at the atomistic dimensionality [1]. Nonetheless,
it remains still unaffordable to thoroughly sample size and
time scales that are critical to most of the biological processes within the atomistic framework [2]. Thus, various
coarse-grained (CG) models have been recently introduced
to overcome these limitations, and tackle relevant problems
such as membrane and proteins assembly, [3,4] and protein
folding [5,6]. From the first topological models based on (an)
We introduce a non-radial potential term
for coarse-grained (CG) molecular dynamics
(MD) simulations of proteins. This
term mimics the backbone dipole-dipole
interactions and accounts for the needed
directionality to form stable folded secondary
structure elements. We show that β-sheet
and α-helical peptide chains are correctly
described in dynamics without the need
of introducing any a priori bias potentials
or ad hoc parameterizations, which limit
broader applicability of CG simulations
for proteins. Moreover, our model is able
to catch formation of super-secondary
structural motifs, like transitions from long
single α-helices to helix-coil-helix assemblies.
This novel scheme requires the structural
information of Cα beads only, it does not
introduce any additional degree of freedom
to the system, and has a general formulation,
which allows it to be used in synergy
with various CG protocols, leading to an
improved description of the structural and
dynamic properties of protein assemblies and
networks. Moreover, our scheme has been
implemented and optimized for a highly
parallelized MD code (LAMMPS – lammps.
sandia.gov), which allows us to use large
HPC resources for the investigation of the
f nction of largge pr
fu
p otein assemblies.
elastic networks [7-9], CG potentials that adopt a force-field
like functional form have more recently come out [10-13].
These protocols are of potential broad applicability for the
study of dynamics of large macromolecular assemblies. At
present, the functional form of the CG potential is not
univocally defined, and depends on the level of coarse-graining one chooses to perform. Moreover, fully transferable
parameters for the potential function have not been determined yet. Therefore, for each system, sets of new parameters
have to be constantly produced to keep maximal accuracy
of CG simulations [14,15]. The lack of both universality
and transferability results in significant drawbacks, which
FI SPÉCIAL HPC – 27 octobre 2009 – page 41
A new coarse-grained potential for molecular simulation of proteins
limit in turn their general applicability. In particular, CG
models face difficulties in reproducing anisotropic properties, which are crucial for accounting stability in secondary
structure elements. Thus, it is usually required to introduce
additional biased potentials [10-13], which are defined on a
target conformation and do not naturally adapt to secondary
structure modifications, which may occur during protein
dynamics. One of the reasons for such problems lays in the
fact that CG interaction potentials are usually represented in
an analytical form similar to that of molecular ones [10-14].
In fact, non-bonded potentials in CG models mimic effective
interactions among beads, each representing a specific group
of atoms. The electrostatic potential of a group of atoms
expressed as a function of a single center is formally defined
by its multipolar expansion:
(1)
As, in most of the cases, CG beads are designed to
represent group of atoms with negligible total charge Q t o t ,
it follows that CG electrostatic non-bonded interactions
should retain a strong non-radial component. In particular,
permanent dipoles should somehow be kept in the CG representation, as they constitute fundamental quantities to
describe the physics of proteins [16,17].
In equation (3), indices k and l run on all beads, while
indices i and j run on all goups of three consecutive bonded
C α , i- 1 , C α , i , C α , i+1 beads (called Ci triplet, see Figure 1)
Our model uses an implicit reconstruction scheme to derive the spatial orientation of the backbone dipoles, as defined
by the C i triplet [18]. The dipole is located at the middle of
the bond between second and third bead, and its orientation
is determined by defining its projection along such axis as a
constant, while the precession angle θ around the same axis
is an analytical function of the bending angle γ between the
three beads (Figure 1). The intensity of backbone dipole
(μ) is a constant (3.7 Debye). The dipole-dipole interaction
potential is therefore expressed as an explicit function of Ca
coordinates only. Thus, forces and torques acting on dipoles
can be easily distributed on triplets. In particular, the forces
on the dipole produce a rigid roto-translation of the triplet,
apart from the component that directly acts on the angle
θ. Such interaction transfers into a bending of the angle
θ, according to its analytical relation with the precession
angle θ (Figure1).
COMPUTATIONAL METHODS
Here, we introduce a non-radial potential term, which
mimics the backbone dipole-dipole interactions, and which
naturally stabilizes and modulates elementary secondary
structure motifs, such as α-helices and β-sheets.
Parameterized potential functions in molecular dynamics
usually take the form:
(2)
where the first three terms represent stretching, bending and
torsional potentials, and the last two terms are non-bonded
Van der Walls and Coulomb interactions. Our model potential for CG backbone beads is expressed in a similar form, but
with some important modifications. In particular we have
changed the functional form of the angular potential, we have
introduced a correlation term for consecutive dihedral angles
and we have replaced point-charge Coulomb interactions
with backbone dipole-dipole interactions:
(3)
FI 8 – 27 octobre 2009 – page 42
Figure 1. Forces (F) and torques (t) acting on a backbone dipole transfer to the Cα triplets of the protein scaffold. F and
the component of t lying on the (n,m) plane orthogonal to
the C α , i – C α , i+1 direction produce a rigid roto-translation of
the triplet. The component tv oriented along the C α ,i – C α ,i + 1
bond modulates the bending angle γ following the function
θ=θ(γ) reported in the inset. The inset shows the statistical
distribution θ=θ(γ) extracted from the PDB (square symbols)
and its analytical fitting function (solid line).
RESULTS
The scheme was tested on secondary structure motifs such
as α-helices and β-sheets. Polypeptide chains were modeled
as nonspecific amino-acid sequences represented by single
Cα beads. Starting configurations for the α- and β-structures
were taken from canonical conformations extracted from the
PDB, and were initially equilibrated in MD using the alanine
parameters of the MARTINI force-field [10]. Then, MD
simulations were carried on using a modified Hamiltonian
in which the new non-radial term was added to the initial
potential function. Original Lennard-Jones parameters were
recalibrated to avoid overestimation of non-bonded contributions, while bonded interactions were modified to unbias
the potential function with respect to the initial structure.
MD simulations were performed at 298K in the canonical
ensemble in the μs timescale.
A new coarse-grained potential for molecular simulation of proteins
Present results
Experimental values
β-strands
d*=5.1(1); ϕ=91(8)
d=4.8(1); ϕ=90(6)
α-helices
d1-4=5.2(2); d1-5=5.9(5)
d1-4=5.1(1); d1-5=6.2(1)
* d(Å): inter-strand distance; φ(deg): inter-strand torsional
angle; d1-4 , d1-5 (Å): helical pitches
Table 1 – Structural parameters of α-helices and β-sheets in
CG MD
fig. 2 – Conformational transition from α-helix to helix-coilhelix super-secondary structure. Time evolution at 298K of
the N-C term distance (grey line, average value over 1000
steps in black line). Representative structures found during
MD are reported.
We find that the 1-4 and 1-5 pitches of the helical turn
are d1-4=5.2(2) Å and d1-5=5.9(5) Å, respectively, whereas
the inter-strand distance and orientation in the β-hairpin
are d=5.1(1) Å and φ=91(8) deg.
These relevant structural parameters are in very good
agreement with experimental values (Table 1).
β-Sheets remain naturally stable, with an rmsd as small
as 1.6(2) Å from the native structure. In particular, their
structure shows conserved eclipsed configurations between
corresponding Cα’s in the two strands, and the correct overall
averaged parallel orientation of their planes (Table 1).
These structural features cannot be easily described using
standard CG models. In fact, radial potentials do not discriminate among those configurations, which keep a similar
number of contacts between the two strands. This results into
a disordered ensemble of structures, different from the native
one, which are found during standard CG MD runs. Short
α-helical peptides (i.e. 8-12 aa-long chains) were found to be
invariantly stable at low and room temperature, and maintained ideal helical conformation during MD, in agreement
with previous findings [19]. Longer helices with nonspecific
aa sequences tend to undergo conformational transitions
leading to super-secondary structure elements like, e.g.,
helix-coil-helix or β-hairpin motifs [19]. A similar behavior
is found in our simulations of longer α-helices (25 aa-long
chain), which remain stable at low temperature, but rapidly
undergo conformational transition at room temperature,
to form a stable helix-loop-helix structure (Figure 2). Such
transition is naturally stabilized by the dipolar coupling of
the antiparallel helical conformation. Our protocol, in fact,
correctly describes helical N-to-C polarity by producing
realistic macromolecular dipoles, which are fundamental
ingredients for the correct assembly of helical bundles.
CONCLUSION
Our protocol is able to introduce backbone dipole
interactions in CG MD simulations of proteins, which, in
turn, allow an unbiased representation of stable secondary
structure elements, as well as prediction of their dynamical
arrangement into super-secondary structure assemblies. The
proposed directional potential has a general form, and in
principle can be coupled to existing CG protocols (single or
multibead), which retain structural information about the Cα
trace of proteins. Our scheme constitutes a promising step
towards the development of a more universal and transferable
CG force field, not plagued with knowledge-based biases on
the secondary structure. In particular, the directionality of
the backbone structure is directly connected to the bending
angle. Thus, the secondary structure propensity of aminoacids, which is chemically encoded in the side-chain, can be
elegantly controlled by using the backbone bending potential
as order parameter [7,12]. The present results anticipate
the development of a new CG force field able to take into
account intrinsic anisotropy of protein structures, leading
to an improved description of the structural and dynamic
properties of protein assemblies and networks.
Furthermore, the implementation of our scheme in the
LAMMPS MD code (lammps.sandia.gov), which is highly
parallelized and efficiently runs on current HPC architectures
allows us to investigate with improved accuracy very large
protein assemblies for timescales close to the experimental
setup (of the order of microseconds and more). Finally, the
recent advent of high-performance GPU computing will
permit to access similar time/size-scales for CG protein
dynamics at a reduced cost by porting the present scheme
on GPU-based hardware.
ACKNOWLEDGEMENT
This work is funded by the Swiss National Science Foundation (grants PP0022_118930 and 200021_122120). We
thank Dr. A. Giorgetti, E. Spiga, and M. Degiacomi for
useful discussions.
BIBLIOGRAPHY
[1]
[2]
[3]
[4]
[5]
[6]
[7]
Karplus M., McCammon J. A., Nat Struct Biol 2002,
9 (9), 646 652.
Klein M. L., Shinoda W., Science 2008, 321 (5890),
798-800.
Marrink S. J., de Vries A. H., Harroun T. A.; Katsaras
J., Wassall S. R., J Am Chem Soc 2008, 130 (1), 1011.
Bond P. J., Sansom M. S. P., J Am Chem Soc 2006,
128 (8), 2697-2704.
Tozzini V., Curr Opin Struc Biol 2005, 15 (2), 144150.
Ayton G. S., Noid W. G., Voth G. A., Curr Opin Struc
Biol 2007, 17 (2),192-198.
Levitt M., Warshel A., Nature 1975, 253 (5494),
694-698.
FI SPÉCIAL HPC – 27 octobre 2009 – page 43
A new coarse-grained potential for molecular simulation of proteins
[8]
[9]
[10]
[11]
[12]
[13]
[14]
Tanaka S., Scheraga H. A., Macromolecules 1976, 9
(6), 945-50.
Go N., Scheraga H. A., Macromolecules 1976, 9 (4),
535-542.
Monticelli L., Kandasamy S. K., Periole X., Larson
R. G., Tieleman D. P., Marrink S. J., J Chem Theory
Comput 2008, 4 (5), 819-834.
Arkhipov A., Yin Y., Schulten K., Biophys J 2008, 95
(6), 2806-2821.
Tozzini V., Rocchia W., McCammon J. A., J Chem
Theory Comput 2006, 2 (3), 667-673.
Bond P. J., Wee C. L., Sansom M. S. P., Biochemistry
2008, 47 (43),11321-11331.
Noid W. G., Chu J. W., Ayton G. S., Krishna V.,
Izvekov S., Voth G. A., Das A., Andersen H. C., J
Chem Phys 2008, 128 (24), 244114.
[15] Noid W. G., Liu P., Wang Y., Chu J. W., Ayton G. S.,
Izvekov S., Andersen H. C., Voth G. A., J Chem Phys
2008, 128 (24), 244115.
[16] Warshel A., Russell S. T., Q. Rev. Biophys. 1984, 17,
283-422
[17] Hoang T. X., Trovato A., Seno F., Banavar J. R.,
Maritan A., Proc Natl Acad Sci USA 2004, 101 (21),
7960-7964.
[18] Cascella M., Neri M. A., Carloni P., Dal Peraro M.,
J Chem Theory Comput 2008, 4 (8), 1378-1385.
[19] Blondelle S. E., Forood B., Houghten R. A., PerezPaya
E., Biochemistry 1997, 36 (27), 8393-8400. ■
Le mots croisés d'Appoline
SOYEZ À JOUR!
❚
❚
❚
❚
Les informations concernant le HPC
à l’EPFL peuvent être consultées à la
page Web: hpc.epfl.ch
c .
De plus, les évènements HPC ayant
lieu à l’EPFL apparaissent dans
le calendrier HPC-Tech qui peut
être accédé à l’adresse: hpc.epfl.ch/
events.htmll et incorporé dans votre
agenda.
Pour obtenir les informations concernant le HPC à l’EPFL directement
dans votre boîte aux lettres, veuillez
vous abonner à la liste de diffusion
hpc en envoyant un message à [email protected]fl.ch
c
Pour renseigner la liste d’un évènement, envoyez votre message à hpc@
listes.epfl
pfl
fl.ch
c
STAY TUNED!
❚
❚
❚
❚
Information about HPC @ EPFL
can be found at the hpc webpage:
hpc.epfl.ch
c
moreover, HPC events happening
at EPFL are listed in the HPC-Tech
calendar which can be seen at hpc.
epfl.ch/events.htmll and embedded
in your agenda.
To get all the information about
HPC events @ EPFL directly to your
mailbox, please subscribe to the hpc
mailing list by sending a message to
[email protected]fl.ch
c
To report an event to the list, send
y ur message
yo
g to hppc@
@listes.epfl
pfl.ch
pfl
c
FI 8 – 27 octobre 2009 – page 44
1
2
3
4
5
6
7
8
9
10
11
12
I
II
III
IV
V
VI
VII
VIII
IX
X
XI
XII
HORIZONTAL
I
II
III
IV
V
VI
VII
VIII
IX
X
XI
XII
Tel notre journal
Changements – Bisons – Bouts d’un système d’exploitation
Architecture contemporaine
Article – Tequila – Il faut le doubler pour l’entendre
Notre confrère de l’Unil – pour voler – Quelle adresse !
Cousin certainement pas germain – Etat-major – C’est aussi
une bonne adresse
Plante – Chemin chaotique
Talent – On y cherche – Un certain regard suisse
Rafraichit la Libournaise – Choix
Les Jeanne de Bécaud – Oublie
Blasons – Pas drôle
Manche d’un côté de la Manche – Enfourchure – Possessif
VERTICAL
1
2
3
4
5
6
7
8
9
10
11
12
Nos machines ne le sont certes pas
Dans nos palettes d’outils – Pour le bon serveur
On peut le croiser – A l’uni
Entrepris – Début de gamme – Crible
Hasardeux chlorures mercureux
Nombre de coeurs – Accord de 1992 – Paresseux
Cercle – Plaisir
Beaucoup mais pas trop – Personnel
Collège d’informatique à Montréal – Renvoi
Patron – Finales
Reine-des-prés – Période
Quintessences
Economic Aspects of Cloud
Computing
[email protected], [email protected], and [email protected],
EPFL – School of Computer and Communication Sciences – Data-Intensive Applications and Systems Laboratory
Le nouveau paradigme du nuage de calcull a pris
le contrôle des tâches de calcul individuelles et
entrepreneuriales. Le nuage est dissocié des superordinateurs offrant des services informatiques
dans l’ère jeune de l’information. Le nuage de
calcul fournit un cadre solide pour la planification
des ressources – le problème le plus crucial de
l’industrie IT – ainsi que pour l’administration
à bas prix des milliers d’ordinateurs. En outre, le
nuage de calcul utilise le récent progrès dans la
technologie des multiprocesseurs et la propagation
actuelle de la technologie Internet de haut débit et
offre des services de calcul efficaces à des millions
d’utilisateurs.
Au laboratoire DIAS nous envisageons un nuage
offrant des services sur bases de données qui
permette aux fournisseurs et aux consommateurs
de données de se rencontrer d’une manière
transparente. Le fournisseur stocke une partie de
sa base de données dans le nuage de sorte que le
consommateur puisse accéder à ces données. Le
premier est chargé du stockage et le second des
services de requêtes. Au-delà de la planification pour
le matériel et les logiciels, le nuage doit planifier la
construction et l’entretien des structures de base de
données auxiliaires qui accélèrent l’exécution des
requêtes des utilisateurs. Cette étape de planification
est facilitée par l’utilisation d’algorithmes de
conception de base de données d’experts avec des
modules économiques. Les opérations de base
de données sont fonction des coûts réels et le
nuage décide de construire une structure de base
de données lorsque le coût de la construction est
couvert par le bénéfice estimé de cette structure.
Les modèles d’arrivées des requêtes sont utilisés
pour prédire le nombre de requêtes moyen qui va
utiliser une structure nouvellement construite. Sur
la base de cette prévision, la construction et les coûts
d’entretien de la structure sont amortis dans les
r qu
re
q êtes prosp
pectives.
The new paradigm of cloud computing
is taking over individual and business
computation tasks. The cloud is
dissociated from super-computers offering
computational services in the early
information age by the following. Cloud
computing provides a solid framework
for resource planning, the most crucial
problem of the IT industry, as well as
for cheap administration of thousands of
computers. Moreover, cloud computing
employs the recent advancement in
multiprocessor technology and the current
spread of high-speed Internet technology
and offers efficient computation services to
millions of users.
In DIAS, we envision a cloud-based
database service that enables data providers
and consumers to meet in a transparent
way. The data provider stores parts of the
database in the cloud so that the consumer
can access the data. The first is charged for
storage and the second for query services.
Beyond hardware and software planning,
the cloud database needs to plan for the
building and maintenance of auxiliary
database structures that expedite user query
execution. This planning stage is facilitated
by combining expert database design
algorithms with economic modules. The
cloud maps database operations to actual
money cost and decides to build a database
structure when the building cost is covered
by the estimated benefit of this structure.
Query arrival patterns are employed to
predict the average query number that may
use a newly built structure. Based on this
prediction, the building and maintenance
cost of the structure is amortized to the
p ospe
pr
p ctive qu
q eries.
FI SPÉCIAL HPC – 27 octobre 2009 – page 45
Economic Aspects of Cloud Computing
WHAT IS CLOUD COMPUTING?
Hardware and software computing platforms have undergone many changes over time. In the 60s and 70s the
world-scale computations were performed on big and bulky
mainframe supercomputers. Later on, in the 80s, the personal computers and workstations took over and continued
their dominance well into the new millennium. Nowadays,
the new paradigm of cloud computing begins to take over
individual and business computation tasks. Experts postulate that, in the near future, most of the world’s computing
requirements will be satisfied by cloud computing platforms.
A handful of cloud platforms throughout the world will undertake computation tasks posed by average computer users,
who will access the cloud services through a very lightweight
client, such as a smartphone or a netbook.
Opinions, however, differ on the exact definition of a
cloud. Some define it as the services provided by a data center,
and some define it as any subscription-based service on the
Internet. The most common definition is that: a computing
cloud is a large cluster of off-the-shelf machines, located at one
or more data centers and interconnected with high speed network technology, allowing outside clients to use the computing
and storage resources of these machines on demand. While this
may seem like a step backwards to only a handful of supercomputers offering computational services, there are many
key differences that make the cloud computing paradigm far
more appealing to the current technological setup compared
to the super computers of early information age.
WHY CLOUD COMPUTING?
First, cloud computing provides a solid framework for
solving one of the most crucial problems of the IT industry:
resource planning. Every startup company’s dream of getting
publicity overnight and a flood of new clients making use of
their service. Yet, this dream is a nightmare for the IT department of the company, as such a flood of new clients would
require much more computing power than that needed on
any other day (the so-called flash crowd). On one hand, if the
department buys many machines to handle sudden increases
in demand, then on an average day it will keep most of the
machines idle. On the other hand, if the company’s infrastructure does not account for such a load, then on the day
the flash crowd hits the service will crash leaving many new
potential users disappointed and unhappy – good news for
the competition. Cloud computing enables the company to
automatically use as much infrastructure as it needs when it
needs it, and thus handle flash crowd effects without excessive
provisionary costs. On an average day, the company keeps
the operating cost low by using only a few machines.
Second, cloud computing addresses the recent change in
the IT cost model. Initially, the computers were expensive
and accounted for most of the IT budget. Nowadays, the
computing power is cheap—thanks to Moore’s law1, but the
administration of computers is very expensive. Since cloud
computing gathers centrally a large number of low-cost
1
2
www.intel.com/museum/archives/history_docs/mooreslaw.htm
labs.google.com/papers/mapreduce.html
FI 8 – 27 octobre 2009 – page 46
computers, system management and maintenance procedures
can be automated and therefore a few expert administrators
can manage thousands or tens of thousands of such machines
in a straightforward manner.
Third, the increased importance of in parallel programming and virtualization techniques allows cloud computing
to fully benefit from multiprocessor technology. Despite
Moore’s law, power and design limitations stop uniprocessor
speed trends from growing commensurately to exponentiallyincreasing number of transistors in a given chip area. The
response from hardware designers, multicore chips, integrates
several processors (cores) on a given chip and the prediction is
that the number of cores on a chip will be increasing exponentially in the future. Modern software needs to be embarrassingly parallel in order to exploit the available computer power.
Cloud virtualization techniques allow processing power to be
used efficiently and flexibly by simulating multiple virtual
systems on a single chip. Recently developed programming
paradigms, such as map-reduce2, allow these virtual systems
to be used efficiently.
Finally, the current spread of the high-speed Internet
technology allows the users to access the computing service
provided by a central location. In the fiber-to-home age,
latency is constantly decreasing and the bandwidth of the Internet user’s connection is increasing, therefore removing the
final obstacle to a network-based computational service.
While the last three technological shifts made cloud
computing feasible, it is the simplification of resource planning and cheaper economics that drive the growth of cloud
computing. Therefore, cloud computing is also attracting
lots of interest from both economics and computer science
researchers.
Let us consider an instance of how the cloud computing solved a large scale IT problem. When New York Times
wanted to scan all their publications from 1851 to 1989,
instead of acquiring new hardware or using some of their
over-used computing resources, they transferred the raw image files in TIFF format to Amazon’s EC2 cloud computing
infrastructure. The dataset was of 3 terabytes in size, developing the code took few days, processing the data took 24
hours using 100 cloud computers. The final cost to the IT
department was only 240 dollars. If it had not been for the
cloud computing, it would have taken months to just acquire
the hardware and setting it up for the processing.
DATA MANAGEMENT AS A CLOUD
SERVICE
Database management systems are one of the major drivers of the IT industry, accounting for 19 billion dollars in
revenue in 2008. Ideally, database systems will be installed
on cloud infrastructures to provide on-demand data management services to the users so that database sizing and
resource planning can be offloaded to the cloud provider.
In DIAS we envision a cloud-based database service, where
data providers and consumers can meet in a transparent way.
The data provider stores the entire database or parts of it in
Economic Aspects of Cloud Computing
I am an expert cloud:
I know how to get data
and answer queries
I ask the cloud and gain resources
I ask the cloud and gain resources
DB
query
query
DB
DB
Cloud users benefit from data management services
the cloud and is charged for storage services. Data consumers are also charged in exchange for data processing, i.e. for
querying the cloud database. Data services can therefore be
mutually beneficial to the provider and to the consumer, as
the provider can gather larger amounts of data at a central
location to reduce management costs while maximizing the
consumers’ benefit from high data availability and low query
response time.
While providing database services in the cloud alleviates
resource planning on the user’s side, a cloud database needs
more planning than just deciding on hardware infrastructure.
The most common interface to a database system for asking
queries is through SQL (Structured Query Language), which
are translated into an optimal combination of filtering operations on stored data. Therefore, data acquisition and query
performance is directly affected by the physical design of the
databases (i.e., the way the data is organized on the storage
media, and the auxiliary structures created for faster data
access). For example, if the data is ordered by a particular attribute, queries involving that attribute are typically executed
faster. Custom data orders, auxiliary indexing structures,
and data replication for increased availability come at a high
storage and maintenance cost, however, so cloud database
administrators must carefully choose which of the vast space
of possible auxiliary structures to build. Planning, building,
and updating such structures requires significant effort.
PREDICTING COSTS IN CLOUDY
DATABASES
At DIAS, we aim to shorten and facilitate this planning
stage by combining expert database design algorithms with
widely-used economic modules. We first build a cost model
that maps database operations to actual money cost. For
example, if a data ordering operation takes a day to complete
on a uniprocessor system, then using Amazon EC2’s pricing
structure, we estimate that the operation would cost 2.40
USD. Since the cloud wants to recover the cost of building
and maintaining such structures, it charges a small fraction
of the cost to all the queries that use them. Consequently,
the cloud has an incentive to build structures which are
frequently used in the execution of user queries, and the
data consumers have an incentive to pay a small amount of
money to the cloud for each query.
There are still two questions left to be answered: 1) How
does the cloud know which structure to build and remove?
2) How much should it charge to the user, so that it can
recover the cost of building the structure?
To answer the first question, the cloud does not build
any structure initially; nevertheless, it keeps a list of possible
structures that can be built on the database. For each incoming query, the cloud determines the benefit of using each
structure; if the presence of structure A, for example, reduces
the cost of the query from 10 cents to only 3, the benefit
of the structure would be 7 cents for that query. The cloud
keeps the cumulative sum of the benefits for each structure
over time and, finally, builds them when the past benefit is
more than the cost of building the structure. Similarly, the
structure is removed when it has not been used by queries
so long that the cost of maintaining the structure is higher
than the cost of rebuilding it.
The second question is more challenging. If the cloud
charges a large fraction of the building cost of a structure to
the queries, then the users may avoid choosing this structure
to expedite query execution because of excessive cost, and the
cloud not only does not profit, but risks losing the building
cost of the structure. If the cloud charges too small a fraction
of the building cost to each query, then the structure may be
removed from the cloud before the entire building cost has
been recovered. In DIAS, we use the arrival pattern of the
queries to predict how many queries on average may use a
newly built structure. Using this prediction the cloud can
amortize the building and maintenance cost of a structure
to prospective queries.
Our experiments certify that using the above solution to
manage database structures provides a viable cloud database
economy. Both the cloud’s and the user’s interests are balanced, and, at the same time, the cloud provides the expected
benefits of cheaper, faster and economical data service.■
FI SPÉCIAL HPC – 27 octobre 2009 – page 47
UNE PRÉSENTATION DU PLUS PUISSANT SUPERCALCULATEUR SUISSE
ET DE LA STRATÉGIE NATIONALE HPC
Monte Rosa au CSCS
Des nouveaux sommets pour le
Calcul Haute Performance en Suisse
Michele De Lorenzi, [email protected], Swiss National Supercomputing Centre Manno
On September 18, 2009, the Swiss National
Super Computing Centre (CSCS) at Manno
officially inaugurated Monte-Rosa, the new
supercomputer available for swiss researchers
and industry. Monte Rosa multiplies by a
factor 8 the computing power of CSCS which
will still be increased by 50% until the end
of year. This makes Switzerland the fourth in
Europe and the 23rd in the world from the
computing power point of view. This is a part
of the High Performance Computing national
s rategy
st
gy which is beingg defined and described.
Le 18 septembre dernier le CSCS (Swiss National Supercomputing Centre) a officiellement
inauguré Monte Rosa, le nouveau supercalculateur qui a été mis à disposition des chercheurs
et de l’industrie Suisse. Avec Monte Rosa la
puissance de calcul du CSCS a augmenté d’un
facteur huit et va encore augmenter de 50%
avant la fin de l’année. La Suisse se positionne
ainsi à la quatrième place en Europe et à la
23ème au niveau mondial. Ces développements font partie de la stratégie nationale pour
le calcul à haute performance qui est en train
d être définie et imp
d’
plémentée.
Monte Rosa comme se présente une fois terminé l’assemblage.
Sur la droite on voit les deux racks ou la chaleur est échangée entre le réseau de refroidissement à gaz fréon et l’eau de
refroidissement.
FI 8 – 27 octobre 2009 – page 48
Les
14’762 processeurs du nouveau supercalculateur
du CSCS sont capables de calculer 141 billions
d’opérations arithmétiques par seconde (TéraFLOPS). Cette
énorme puissance est nécessaire pour calculer les modèles de
haute complexité dans les domaines tels que la recherche climatique, la médecine, la biologie, la chimie, la physique et les
sciences des matériaux. La capacité d’effectuer de telles simulations représente un avantage compétitif stratégique pour la
recherche suisse ainsi que pour son économie. C’est pour cette
raison que le Conseil Fédéral a décidé d’augmenter les capacités
du CSCS dans le cadre de la deuxième phase de mesures de
stabilisation conjoncturelle. La nouvelle puissance de calcul
est mise à disposition de la recherche académique, mais aussi
privée dans le cadre de collaborations avec l’industrie.
MÉMOIRE ÉQUIVALENTE À 30’000
ORDINATEURS PORTABLES
Le nouveau supercalculateur Monte Rosa appartient à la
dernière génération de la série d’installations du type Cray XT
au CSCS. Cette gamme de fabrication associe des processeurs
très puissants (de type AMD Opteron) couplés à un réseau de
communication spécialement développé pour le calcul haute
performance massivement parallèle. La machine comprend
une mémoire principale de 29.5 Térabytes, ce qui correspond
environ à la mémoire de 30’000 ordinateurs portables. Un
stockage sur disque d’une capacité de 290 Térabytes archive
les données produites par cette énorme puissance de calcul.
L’un des 20 racks de Monte Rosa est en train d’être assemblé.
Le chapeau est utilisé pour refroidir l’air qui circule du bas
vers le haut dans le rack (40 kW de production thermique par
rack).
Monte Rosa au CSCS – Des nouveaux sommets pour le Calcul Haute Performance en Suisse
Dans le classement des 500 supercalculateurs les plus
rapides au monde, Monte Rosa détient la 4ème place en
Europe et le 23ème rang mondial. Le CSCS a fêté cette
importante progression en présence de personnalités du
monde scientifique et politique le 18 septembre 2009, à
son siège de Manno, à proximité de Lugano.
Pour se faire une idée de la vitesse d’évolution de ces
matériels, il suffit d’observer le Blue Gene de l’EFPL:
classé 9ème au Top500 en juin 2005, il a été repoussé à la
395ème place le 19 juin 2009.
UN RÉSEAU SUISSE DE GRANDE PUISSANCE
FONDÉ SUR UN SUPERCALCULATEUR DE
LA CLASSE PÉTAFLOPS INSTALLÉ DANS
UN BÂTIMENT NEUF
La recherche de pointe suisse et le pouvoir d’attraction du pays en termes de réflexion scientifique et de
La puissance par la mise en réseau des machines. Le système haute performance recherche requièrent impérativement des systèmes de
du centre suisse de Calcul Haute Performance, le CSCS de Manno (TI), est
calcul de grande puissance, compte tenu du nombre de
formé de supercalculateurs, de machines dédiées à la visualisation, de systèmes spécialistes des sciences naturelles et des sciences de l’inde stockage (sur disques et bandes magnétiques) et de divers réseaux. Les
génieur travaillant sur le territoire national. Le Conseil
liaisons réseau avec les hautes écoles suisses et les établissements de recherche des EPF a donc préparé en juillet 2007, à la demande du
empruntent le réseau national de l’opérateur SWITCH.
SER (Secrétariat d’État à l’éducation et à la recherche), le
HPCN (Plan stratégique national pour le Calcul Haute
Bien que Monte Rosa soit environ dix fois plus puissant
Performance et sa mise en réseau). Le Conseil fédéral a décidé
que son prédécesseur, sa surface au sol n’est guère plus grande.
au printemps 2009 que la stratégie HPCN devait être mise en
La forte concentration de puissance de calcul requiert une
œuvre. Le plan vise à ce que la Suisse investisse constamment
adaptation des concepts classiques de refroidissement. Le
ces prochaines années dans la création d’un système natiosystème de refroidissement à eau utilisé est nettement plus
nal de supercalculateurs de la classe PétaFLOPS au centre
efficace et donc plus écologique que le système à air utilisé
national suisse de Calcul Haute Performance, le CSCS, et à
par le modèle précédent.
ce que se mette simultanément en place un réseau national
de compétences en Calcul Haute Performance englobant le
CSCS et les hautes écoles.
INSTALLÉ EN UN TEMPS RECORD
Suite à la décision du Conseil Fédéral en mars, la machine
fut installée en un temps record en mai et ouverte aux utilisateurs le 1er juillet. À peine trois jours plus tard, la machine
était exploitée à pleine capacité. Ceci n’est guère surprenant
vu la croissance continue des besoins en temps de calcul
des universités. La future mise à jour du Cray XT5 avec des
processeurs d’une nouvelle génération permettra d’augmenter
la puissance de calcul pour atteindre 212 TéraFLOPS avec
22’128 processeurs avant la fin de l’année.
UTILISER LES RESSOURCES DU CSCS
Actuellement les ressources du CSCS sont utilisées
dans le cadre de 50 projets par environ 200 utilisateurs.
Une liste actualisée des utilisateurs est publiée sur les pages
web du CSCS.
PROJETS DE PRODUCTION
Pour l’année 2010 le CSCS met à disposition des
utilisateurs environ 150 million d’heures de CPU sur ses
systèmes HPC pour des projets de production. L’allocation pour 2010 démarrera le 1er avril 2010 pour une
durée de 12 mois.
Les formulaires pour la soumission des projets
sont disponibles sur le site Web du CSCS à l’adresse
www.cscs.ch/submission1.0.html:
❚ 23 novembre 2009: dernier délai pour soumettre des
projets,
❚ 26 février 2010: décision de l’allocation.
PROJETS DE PRÉPARATION
Le dernier rack est assemblé par les techniciens de Cray. Peu
à peu l’image du massif du Monte Rosa (vu du Tessin vers le
Valais) prend forme dans la salle machines du CSCS.
Les projets de préparation sont pensés pour les nouveaux utilisateurs du CSCS et leur permettre de porter
et tester leur codes avant de somettre un projet de production. Ces projets consistent dans un nombre limité
d’heures (12’000) de calcul pendant une période de 3 mois
qui peut être prolongée par d’autres de 3 mois.
FI SPÉCIAL HPC – 27 octobre 2009 – page 49
Monte Rosa au CSCS – Des nouveaux sommets pour le Calcul Haute Performance en Suisse
POUR ALLER PLUS LOIN…
MONTE ROSA EN CHIFFRES
1. Plan national suisse pour le Calcul Haute Performance et sa mise en réseau (SNSP-HPCN) 20082011, rapport final du Conseil des EPF du 4 juillet
2007, www.ethrat.ch/download/Strategie%20
HPCN_f_070924_ETHR.pdf.
2. Site Web des 500 ordinateurs les plus puissants du
monde, avec des articles sur l’actualité et l’évolution
de l’informatique de grande puissance: www.top500.
org/.
3. Site Web de l’ initiative HP2C High-Performance
and High-Productivity Computing: www.hp2c.ch.
Depuis mai 2009: 141 TéraFLOPS, 14’752 cores, processeur AMD
Shanghai Quad Core 2.4 GHz, 28.8 TB de mémoire vive
Dès fin octobre 2009: environ 212 teraflop/s, 22’128 cores,
processeur AMD Istanbul Hexa-Core 2.4 GHz, 28.8 TB de
mémoire vive
❚ 20 racks de calcul, 5 racks d’archive (640 disques durs pour
un total de 290 Térabytes)
❚ Poids total de 30 tonnes
❚ 60 m3 d’eau par heure pour le refroidissement
❚ 600 kW de consommation électrique pour l’unité de calcul
plus 200 kW pour le refroidissement.
La stratégie pour le Calcul Haute Performance et sa mise
en réseau (HPCN) s’aligne sur les tendances internationales
et reflète les besoins nationaux de la Suisse. Elle repose sur
une large assise institutionnelle: le Conseil des EPF, l’ETH
Zürich, l’Università della Svizzera italiana (USI), la Conférence universitaire suisse (CUS), le canton du Tessin et la ville
de Lugano lui apportent leur soutien financier, en matériel
et en compétences. HPCN comporte trois volets.
Financement national du calcul de grande puissance
Recherche de pointe et compétitivité internationales
Superordinateur
Système de la
classe PétaFLOPS
Bâtiment neuf
Durabilité
Souplesse
Architecture
Compétences
Logiciels
Formation
Réseau
Les trois volets de la stratégie HPCN. La stratégie pour le
Calcul Haute Performance et sa mise en réseau prévoit un supercalculateur de la classe PétaFLOPS, un bâtiment neuf et la
création d’un réseau de compétences en calcul scientifique. Sa
mise en œuvre renforce la recherche de pointe et la compétitivité de la Suisse
1. En 2012, le CSCS commencera l’exploitation au Tessin d’un supercalculateur
dont la puissance se situera dans la
classe PétaFLOPS. Le centre deviendra
un nouveau centre de compétences
national en Calcul Haute Performance
au service de l’économie, de la science
et de la société, et exercera une action
de coordination des supercalculateurs
sur le réseau national. Cette machine
pourra être utilisée par toutes les hautes
écoles universitaires et spécialisées de
Suisse; outre la recherche de pointe, elle
répondra en particulier aux besoins de
l’enseignement et du transfert de savoir
vers le secteur privé.
2. Le bâtiment actuel du CSCS à Manno ne
répond plus aux exigences techniques d’un
supercalculateur de la classe envisagée. Le
futur système devra donc être installé dans
un bâtiment neuf à Lugano-Cornaredo
pour 2012; d’une architecture souple, il
réduira les coûts d’exploitation tout en
garantissant un fonctionnement optimal
FI 8 – 27 octobre 2009 – page 50
et en se conformant aux principes du développement
durable au niveau de l’exploitation et de l’alimentation
électrique des locaux et de la machine. Le refroidissement,
en particulier, aura recours à l’eau du lac, solution nettement
moins polluante, car moins consommatrice d’énergie et plus
économique que le refroidissement conventionnel par air.
3. Le troisième volet de la stratégie HPCN vise à la mise
en place des compétences spécifiquement nécessaires
aux scientifiques des hautes écoles pour utiliser le système. La Conférence universitaire suisse a approuvé au
mois d’avril 2009 le projet HP2C (Swiss Platform for
High Performance and High Productivity Computing),
qui affecte 14,4 millions CHF pour le développement
des applications scientifiques et des logiciels système de
classe PétaFLOPS. Les chefs de file du projet sont l’ETH
Zürich, l’Università della Svizzera italiana (USI) et l’EPF
de Lausanne. Par ailleurs, cette plate-forme lance la mise
en réseau à terme du CSCS avec les hautes écoles universitaires et spécialisées.
LE CONSEIL FÉDÉRAL ET LE CONSEIL DES
EPF MISENT SUR LA STRATÉGIE HPCN
Le derrière de deux racks de
Monte Rosa. Les tuyaux qui
descendent du haut sont pour le
refroidissement avec le fréon. Le
câbles noirs horizontaux relient les
cartes de calcul du superordinateur en formant l’interconnect.
Le déploiement de la stratégie HPCN
(High Perfrance Computing and Networking)
coûtera au total 172,5 millions CHF. Le
Conseil fédéral a demandé au Parlement
fédéral une première tranche de 72 millions
CHF pour la période en cours (2008-2011).
Cette tranche est consacrée à l’encouragement
de la formation, de la recherche et de l’innovation (FRI). Ce montage financier n’exige
pas de moyens supplémentaires au-delà des
ressources déjà allouées par le Parlement pour
l’actuelle période FRI. Il est rendu possible
par le fait que le Conseil des EPF, l’ETH
Zürich et la CUS affectent une partie de leurs
budgets respectifs à la stratégie HPCN et lui
apportent leurs compétences, à côté des autres
partenaires. La répartition du coût restant du
déploiement de la stratégie HPCN (64,5 millions CHF) doit être donnée dans les messages
FRI 2012 et 2013-2016.
Le Domaine des EPF, et en particulier
l’ETH Zürich, assument le coût opérationnel
du centre de Calcul Haute Performance.■
Nouveau Blue Gene/P
l’ordinateur le plus rapide de l’ouest
[email protected] & [email protected], EPFL – Domaine IT
Since last summer, EPFL
has been hosting the new
CADMOS supercomputer,
an energy efficient IBM
Blue Gene/P massively
parallel system, featuring
4096 quad-core nodes for a
total of 16TB of memory, and
achieving a peak performance
of 56 TFLOPS. Thanks to this
new supercomputer, western
Switzerland is well positioned
to develop high-performance,
scientific computing in the
institutions participating to
the CADMOS collaboration
(see paper CADMOS project
i this same issue).
in
)
Dans le cadre du projet
CADMOS, l’EPFL accueille
dès cet été un nouveau
supercalculateur de type IBM
Blue Gene/P. Cet ordinateur
massivement parallèle, doté de
4096 nœuds de calcul quadricœur et de 16 TB de mémoire,
atteint une puissance de
calcul théorique maximale
de 56 TéraFLOPS, avec un
impact énergétique réduit
par rapport à des machines
de puissance comparable.
Grâce à ce nouveau Blue
Gene/P, la région ouest
suisse dispose d’un puissant
outil pour promouvoir le
calcul scientifique à haute
performance dans les instituts
qui participent à l’initiative
CADMOS (voir article sur
Le projet CADMOS dans ce
n méro).
nu
)
Dans
le cadre du projet CADMOS, l’EPFL accueille dès cet été
un nouveau supercalculateur de type IBM Blue Gene/P, en
remplacement du Blue Gene/L vieux de quatre ans. Ce nouvel ordinateur
massivement parallèle est doté de 4096 nœuds de calcul quadri-cœur et de 16
TB (Térabytes) de mémoire, pour une puissance de calcul théorique maximale
de 56 TéraFLOPS (56 x 1012 opérations à virgule flottante par seconde). Il
se situe ainsi vers le 85ème rang mondial au classement www.top500.org. En
passant du L au P, la puissance de calcul du Blue Gene a été multipliée par 2.5
pour un volume d’occupation quasi identique. Son bilan énergétique a aussi
été significativement amélioré, grâce à un meilleur rendement et à un système
de refroidissement à eau. Pour satisfaire aux demandes de plus en plus exigeantes des simulations scientifiques en matière de volume et de flux de données
persistantes, notamment en biologie, le système offre 1 PB (1000 TB) d’espace
disque et un débit de lecture/écriture fichier pouvant atteindre jusqu’à 10 GB/s.
Ainsi, grâce au nouveau système Blue Gene/P, la région ouest Suisse dispose
d’un puissant outil pour promouvoir le calcul scientifique à haute performance
(HPC) dans les instituts qui participent à l’initiative CADMOS (voir article
Le projet CADMOS dans ce numéro).
INSTALLATION
Tout comme son prédécesseur, le Blue Gene/P (abrégé BG/P) de CADMOS
est installé dans la salle machine du Domaine IT de l’EPFL et est géré par son
groupe exploitation (DIT-EX).
Le démontage du BG/L s’est déroulé pendant la première semaine d’août.
Les ingénieurs d’IBM sont ensuite arrivés sur place pour la phase d’installation
du BG/P qui a duré environ trois semaines. Après l’acceptation et les tests de
validation, la production a démarré début septembre et le système tourne à
plein régime depuis cette date. La figure 1 illustre les quatre racks du BG/P en
salle machine.
fig. 1 – Vue des quatre racks du Blue Gene/P
Il faut souligner que l’arrivée du Blue Gene/P a nécessité des travaux d’aménagement importants des infrastructures d’alimentation en courant électrique
secouru et de refroidissement hydraulique.
FI SPÉCIAL HPC – 27 octobre 2009 – page 51
Nouveau Blue Gene/P – l’ordinateur le plus rapide de l’ouest
CARACTÉRISTIQUES DU BLUE GENE/P
CADMOS
Le BG/P CADMOS compte au total 16384 cœurs et
16 TB de mémoire vive. Bien que plus performante, l’architecture de machine parallèle du BG/P est similaire à celle
du BG/L. Le système est formé d’une rangée de 4 racks de
1024 nœuds de calcul chacun, soit 4096 nœuds câblés de
manière à former un tore tridimensionnel régulier de dimensions 16x16x16. Un rack est composé de deux mid-planes de
512 nœuds. Le mid-plane est la plus petite partie du BG/P
dont les nœuds de calcul peuvent être interconnectés en un
tore tridimensionnel. Un mid-plane peut lui-même être
subdivisé en blocs de 128 nœuds, et même de 32 nœuds.
La quasi-totalité des fonctions d’un nœud est assurée par un
circuit intégré de type PowerPC 450, spécialement conçu
pour le BG/P. Les différents composants matériels du système
BG/P CADMOS sont illustrés à la Figure 2.
Du point de vue efficacité énergétique - en terme de
puissance de calcul fournie par unité de puissance électrique
consommée - le BG/P se situe dans le peloton de tête des
solutions HPC existantes (voir www.green500.org), avec un
rendement de 371.67 MFLOPS/Watt. Ce bon résultat est
essentiellement dû à l’utilisation de puces de faible puissance
à basse fréquence, et donc à faible dissipation de chaleur.
Cette solution permet d’intégrer 1024 nœuds quadri-cœurs
dans une armoire de 0.7 x 0.96 x 1.95m qui consomme
au maximum 40 kW. De plus, pour diminuer encore son
impact écologique, le système CADMOS est partiellement
refroidi à l’eau.
DIFFÉRENCES ENTRE BG/L ET BG/P
Les différences essentielles entre le BG/L et le BG/P au
niveau matériel se trouvent dans la cadence des processeurs
fig. 2 – Vue éclatée de la configuration du Blue Gene/P de CADMOS
Blue Gene/L
Blue Gene/P
Système
4 racks, 4096 nœuds, 8192 cœurs
4 racks, 4096 nœuds, 16384 cœurs
mémoire principale
2 TB
16 TB
Perf. max / LINPACK
23/18 TFLOPS
56/47 TFLOPS
Efficacité énergétique
208.31 MFLOPS/Watt
371 MFLOPS/Watt
Refroidissement
Air
Air et eau (par échangeurs)
Consommation électrique racks de calcul
100kW
160kW
Cœurs
2 x PowerPC 440
4 x PowerPC 450
Fréquence CPU
700 MHz
850 MHz
L3 cache
4 MB
8 MG
Mémoire principale
512 MB – 5.6 GB/s
4 GB – 13.6 GB/s (2 x 16 bytes)
Point-a-point en tore 3D
2.1 GB/s (6 x 2 x 0.175)
5.1 GB/s (6 x 2 x 0.425) – 3.5 us
Collectif en arbre
2.1 GB/s (3 x 2 x 0.350)
5.1 GB/s (3 x 2 x 0.850) – 2.5 us
E/S système de fichiers
256 x 1 GbE
56 x 10 GbE fibre optique
Nœud
Réseaux
FI 8 – 27 octobre 2009 – page 52
Nouveau Blue Gene/P – l’ordinateur le plus rapide de l’ouest
légèrement augmentée à
850 MHz, le nombre de
cœurs par nœud qui est
passé de deux à quatre, la
mémoire vive multipliée
par huit, et les entrées/
sorties beaucoup plus performantes. A noter que
l’augmentation de la taille
mémoire est d’importance, car elle élargit considérablement le champ
des applications aptes à
tourner sur cette plateforme. Le tableau de la
page précédente énumère
les différences principales
au niveau matériel entre
l’ancien BG/L et le nouveau BG/P.
fig. 3 – Architecture du système Blue Gene/P de CADMOS
TYPE
D’APPLICATIONS POUVANT BÉNÉFICIER
DE LA PUISSANCE DE CALCUL DU BG/P
Le BG/P est un superordinateur massivement parallèle,
offrant un rapport élevé entre bande passante des communications et vitesse de calcul des processeurs. La machine
est dite équilibrée, car la vitesse de ses processeurs est plutôt
modeste et la bande passante de ses réseaux relativement
élevée. Le BG/P a donc essentiellement été conçu pour des
applications parallèles capables de s’exécuter efficacement
sur un très grand nombre de processeurs et dont les tâches
communiquent souvent et échangent de grandes quantités de
données entre elles. C’est fréquemment le cas de simulations
dans de nombreux domaines scientifiques.
ARCHITECTURE DU SYSTÈME
La figure 3 schématise l’architecture générale du système BG/P de CADMOS. À droite, la machine parallèle
est représentée par ses 4 racks. À gauche, on distingue les
systèmes périphériques, dont le serveur central de gestion
de l’ensemble (nœud de service), les serveurs de fichiers et
de backup, et les deux frontales. Un réseau fonctionnel de
type 10 Gb Ethernet interconnecte les nœuds de la machine
parallèle et tous les systèmes périphériques. Un second réseau
Ethernet permet au nœud de service de contrôler la machine
parallèle (pour les diagnostics et le démarrage des nœuds).
Finalement, les frontales présentent le système à l’extérieur
via le réseau EPNET de l’EPFL et offrent aux utilisateurs
l’environnement de compilation, de lancement des tâches
et de mise au point des applications.
En ce qui concerne le système de stockage des données de
la nouvelle installation BG/P, il faut relever l’extraordinaire
capacité de 1 PB et le débit potentiel de 10 GB/s des systèmes
de fichiers parallèles mis à disposition des utilisateurs. Deux
systèmes de stockage SAN (Storage Area Network) gèrent
séparément les fichiers de données et les métadonnées. Le
SAN des fichiers de données (de type DCS9900) comprend
deux armoires de 600 disques de 1 TB chacune. Le SAN
des métadonnées (de type DS4700) comprend 96 disques
de 450 GB. Dix serveurs de fichiers orchestrent les accès
aux fichiers provenant des nœuds de calcul et des systèmes
périphériques. Le système de fichiers parallèle GPFS (General
Parallel File System) d’IBM assure l’organisation et l’accès des
fichiers au niveau logiciel.
CONCLUSION
Le Blue Gene/P de CADMOS dote la région lémanique
d’un puissant outil de simulation au service des institutions
participantes. De manière plus générale, le supercalculateur
Blue Gene est un acteur incontournable dans le cercle
restreint des machines à haute performance. Depuis ce
printemps, un Blue Gene/P de 72 racks installé à Jülich en
Allemagne a atteint le PétaFLOPS. Pour assurer la continuité,
IBM a annoncé le Blue Gene/Q pour 2011-2012, son prochain atout dans la course à l’ExaFLOPS.
INFORMATIONS PRATIQUES
Administration et information système:
❚
❚
Christian Clémençon (christian.clemencon@epfl.ch)
Pascal Jermini (pascal.jermini@epfl.ch)
Site Web:
❚
bluegene.epfl.ch
Demande d’ouverture d’un compte:
❚
hpc-dit.epfl.ch/docs/inscription-utilisateurs-enligne.pdf
■
FI SPÉCIAL HPC – 27 octobre 2009 – page 53
Les ressources de calcul
du Domaine IT
[email protected], EPFL – Domaine IT
The DIT offers a variety of computing
resources to the scientific community, from
supercomputer to computing grid. A brief
o erview is pr
ov
p esented here.
Le DIT offre des ressources de calcul variées
à la communauté scientifique, du supercalculateur à la grille de calcul. Un bref survol
e t pr
es
p ésenté ici.
Offrir
des ressources de calcul à la communauté
scientifique de l’EPFL relève d’une tradition de plus de 50 ans pour le DIT. En effet, le Centre de Calcul
Électronique de l’EPUL a été créé en 1958 déjà (ditwww.epfl.
ch/SIC/SA/SPIP/Publications/spip.php?article1514). En
2009, les ressources disponibles se décomposent en quatre
catégories: 1) un super-calculateur, 2) des clusters généralistes,
3) des clusters expérimentaux et 4) une grille de calcul. Une
description détaillée de toutes ces ressources est disponible
sur la page Web des ressources centrales (hpc-dit.epfl.ch),
mais nous allons en faire un rapide survol.
BLUE GENE/P
Ce super-calculateur, arrivé en août 2009, appartient
au consortium CADMOS (Center for Advanced Modeling
Science) et est hébergé et administré par le DIT. Il est accessible aux membres des universités de Genève et de Lausanne
ainsi que de l’EPFL. Vous pouvez trouver dans ce numéro
du Flash informatique des articles sur CADMOS et les
caractéristiques de Blue Gene/P.
Contact: [email protected]fl.ch
Web: bluegene.epfl.ch
CALLISTO, MIZAR, ALCOR & LES
SUCCESSEURS
Actuellement trois clusters généralistes sont accessibles.
Callisto, datant de juin 2008, est constitué de 128 nœuds
bi-processeur quadri-cœur (quad-core) Intel Harpertown
à 3.0GHz, avec chacun 32GB de mémoire, reliés par un
réseau rapide de type InfiniBand.
Mizar, datant de février 2005, est constitué de 224 nœuds
bi-processeur AMD Opteron à 2.4GHz avec chacun
4GB de mémoire, interconnectés entre eux par un réseau
rapide Myrinet.
Alcor, datant de janvier 2006 est basé sur la même architecture que Mizar. Il est constitué de 24 nœuds bi-processeur
double-cœur (dual-core) Intel Woodcrest à 3.0GHz, avec
chacun 16GB de mémoire et interconnectés entre eux
par un réseau rapide Myrinet.
FI 8 – 27 octobre 2009 – page 54
Ces deux derniers clusters vont être remplacés par:
Vega, un cluster de 24 nœuds bi-processeur quadri-coeur
(quad-core) Intel Harpertown à 2.66GHz, avec chacun
16 GB de mémoire, reliés par un réseau Gigabit. Ce
cluster sera mis en service d’ici à fin novembre 2009.
une extension de Callisto dont l’architecture et le nombre
de nœuds reste à définir, mais dont la mise en production
devrait être faite d’ici fin 2009.
Contact: [callisto, mizar, alcor][email protected]fl.ch
Web: hpc-dit.epfl.ch/generalpurpose.php.
LES CLUSTERS EXPÉRIMENTAUX
Afin de tester de nouvelles technologies, le DIT offre
l’accès à de petits clusters expérimentaux. Actuellement nous
en avons deux, un de processeurs Cell/B.E. et un autre de
processeurs NVIDIA GPU. Je vous renvoie à l’article plus
complet disponible dans ce numéro.
Contact: [email protected]fl.ch
Web: hpc-dit.epfl.ch/experimental.php.
GREEDY
La grille de calcul est une ressource bien différente d’un
cluster standard. Son but est de récupérer les cycles de calcul
non utilisés sur les PCs des salles des étudiants et des collaborateurs. C’est par conséquent une ressource décentralisée
et non dédiée, car le propriétaire des nœuds de calcul est
toujours prioritaire sur toute activité calculatoire. Greedy est
disponible depuis mi-2006 et compte à ce jour environ 1’100
cœurs aussi bien Windows, Linux que Mac OSX.
Contact: [email protected]fl.ch
Web: greedy.epfl.ch.
POLITIQUE D’ACCÈS AUX RESSOURCES
En décembre 2008, une nouvelle stratégie HPC a été
acceptée par la direction. Sur les serveurs de calcul du DIT,
elle est concrètement appliquée de la manière suivante :
❚ Mizar, Alcor, Vega, Greedy et les clusters expérimentaux
sont gratuits et libres d’accès pour les membres des institutions du CEPF ou pour les personnes collaborant avec
de telles institutions.
❚ Callisto et les clusters généralistes futurs doivent être
financés par les utilisateurs. Les règles exactes sont disponibles sur le Web (hpc-dit.epfl.ch/intranet/financing_rules_nextsem.php).
❚ L’accès à Blue Gene/P est directement géré par CADMOS.
Quelles que soient les ressources dont vous avez besoin, nous nous ferons un plaisir de vous aider et de vous
conseiller. ■
Les clusters de calcul
expérimentaux du Domaine IT
[email protected], EPFL – Domaine IT
DIT makes available to the EPFL community
two experimental HPC platforms: one is based
on the Cell processor technology and the
other on the GPU as used for general purpose
computations. The goal of these experimental
clusters is to offer the possibility to evaluate
a d test these new technologgies.
an
PowerXCell 8i. Chaque nœud Cell contient 2 processeurs
de type Cell à 3.2 Ghz et 8 GB de mémoire.
Le tout est connecté à un réseau rapide InfiniBand, afin
de permettre des communications rapides entre les nœuds
de calcul. À noter qu’il n’existe aucun lien direct entre les
nœuds Intel et les nœuds Cell, toutes les communications
se faisant à travers le réseau InfiniBand.
LE CLUSTER DE GPU
Le DIT met à disposition de la communauté
de l’EPFL deux plates-formes de calcul
expérimentales: une est basée sur les
processeurs Cell et l’autre sur les GPU. Le but
de ces clusters expérimentaux est d’offrir la
possibilité d’évaluer et de tester ces nouvelles
t chnologi
te
g es.
Inutile
de dire que l’informatique est un domaine qui évolue très vite: il y a régulièrement et à un rythme quasi hebdomadaire des annonces
de nouveaux produits et de nouvelles technologies. Difficile
donc de pouvoir suivre de manière efficace toutes ces évolutions et encore plus difficile de pouvoir les tester et d’avoir
tout le matériel à disposition.
Afin de permettre à la communauté de l’EPFL d’essayer
quelques-unes de ces nouvelles technologies, le DIT s’est
équipé de deux petits clusters de test, l’un portant sur les
technologies Cell (les processeurs se trouvant sous le capot
des consoles de jeux Sony PlayStation) et l’autre sur les
GPU, c’est-à-dire les processeurs graphiques, utilisés dans
un contexte plus généraliste.
Ce sont en effet deux technologies émergentes dans le
contexte des accélérateurs de calculs qu’il ne faut pas négliger, car la puissance cachée dans ces processeurs peut-être
énorme si utilisée à bon escient. Pour mémoire, la machine
actuellement plus puissante au monde, Roadrunner, est
basée sur une architecture hybride de processeurs AMD et
de processeurs Cell.
Ces clusters de test gérés par le DIT sont installés et prêts
à l’emploi pour les utilisateurs: les librairies et compilateurs
spécifiques à ces architectures sont pré-installés, facilitant
ainsi la prise en main de ces machines.
LE CLUSTER DE CELL
Le dernier arrivé des clusters expérimentaux consiste en
une architecture hybride avec des processeurs graphiques
comme accélérateurs. Ce sont des puces que l’on trouve
plus traditionnellement sur des cartes graphiques, mais qui
ont été détournées de leur utilisation initiale à cause de leur
grande capacité de traitement de données.
Il s’agit de quatre nœuds de calcul standards avec des
processeurs Intel Nehalem à 42 GB de mémoire et deux
nœuds nVidia Tesla S1070. Ces derniers contiennent chacun
quatre GPU, et 16 GB de mémoire par nœud. Les nœuds
Intel sont chacun connectés à deux GPU à travers le bus
PCIexpress.
Tout comme le cluster de Cell, tous les nœuds sont interconnectés sur le réseau InfiniBand.
LE FUTUR
Pour le moment ces deux ressources expérimentales sont
complètement disjointes et ne partagent aucune ressource.
Le cluster de Cell, le premier arrivé, utilise actuellement
une partie de l’infrastructure de Callisto, ce qui n’est pas
une situation idéale.
Dans un avenir proche, avant la fin de l’année 2009, il
est prévu de consolider toutes les infrastructures expérimentales derrière une frontale commune, de manière à ne plus
mélanger machines de production et machines d’essais, et
d’avoir un point d’entrée unique pour ces machines un peu
particulières.
Cette séparation permet aussi de faire évoluer les machines expérimentales de manière indépendante des autres
machines de production.
L’accès à ces ressources est libre pour tout le personnel
de l’EPFL, ainsi qu’aux étudiants au bénéfice d’une autorisation d’un enseignant ou d’un superviseur pour un projet
de semestre ou de diplôme.
Information
Ce cluster est composé de six nœuds de calcul: deux
nœuds traditionnels basés sur des processeurs Intel Harpertown (seize cœurs en tout), avec 32 GB de mémoire chacun et
en complément quatre nœuds basés sur des processeurs IBM
Plus de renseignements sont disponibles sur le site Web
des clusters expérimentaux: hpc-dit.epfl.ch/experimental.
php. ■
FI SPÉCIAL HPC – 27 octobre 2009 – page 55
Impressions de ISC’09
[email protected], EPFL – Domaine IT
Le
soussigné a participé à la conférence ISC’09 (International Supercomputing) qui s’est tenue à Hambourg du 23 au 26 juin 2009.
Les grands thèmes abordés ont été:
❚ la présentation des résultats semestriels du Top 500 des
machines les plus performantes sur le benchmark de
LINPACK;
❚ la recherche de puissance de calcul au-delà du petaflops/s
(1015 opérations en virgule flottante par seconde), certains
ayant l’ExaFLOPS/s en ligne de mire (218), vers 2020
espèrent-ils;
❚ l’emploi d’accélérateurs déchargeant les processeurs traditionnels des tâches exigeantes en puissance de calcul;
❚ les architectures les mieux adaptées à la programmation
d’applications très massivement parallèles, avec plusieurs
millions de cœurs;
❚ les outils logiciels pour écrire ces applications.
Au vu de ce qui s’est dit à Hambourg, on peut distinguer
en termes d’architecture:
❚ les machines sans accélérateur, comme les clusters classiques et les Blue Gene;
❚ les machines hybrides homogènes dans lesquelles les processeurs et les accélérateurs ont une architecture similaire,
comme le Cell/B.E. d’IBM;
❚ les machines hybrides hétérogènes avec des accélérateurs
très différents des processeurs. Le cas typique est l’emploi
de GPU (Graphical Processing Unit), qui n’est pas généraliste quant à ses possibilités.
L’échec de ClearSpeed, qui propose un accélérateur basé
sur des FPGA, semblé avéré; probablement faute de pouvoir
fournir rapidement et simplement des librairies et applications usuelles exploitant leur matériel.
La recherche d’outils de développement adaptés va dans
différentes directions:
❚ CAPS fournit HMPP, un outil de synthèse de code
pouvant cibler différents accélérateurs comme les cœurs
secondaires des Cell/B.E. et les GPU;
❚ PGI (Portland Group International) vient de sortir un
CUDA Fortran qui nous a été présenté, s’inspirant des
directives OpenMP pour enrichir le code;
❚ OpenCL, issu d’un consortium, semble être une voie que
beaucoup vont prendre: il s’agit d’un langage qui permet
d’abstraire les particularités matérielles des accélérateurs
pour que le code soit portable.
Les points les plus saillants à retenir sont que:
❚ les trois machines en tête du Top 500 sont de trois architectures différentes:
◗ un hybride avec du Cell/B.E.: Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz /
Opteron DC 1.8 GHz, Voltaire Infiniband;
◗ un cluster InfiniBand classique: Jaguar - Cray XT5
QC 2.3 GHz;
FI 8 – 27 octobre 2009 – page 56
◗ JUGENE – Blue Gene/P Solution;
❚ elles ont permis des avancées scientifiques importantes, qui n’auraient pas été possibles sans 10k cœurs au
moins;
❚ les préoccupations écologiques sont de plus en plus importantes et ont conduit à une liste verte dite Green 500,
où les machines sont classées selon leur rapport puissance
de calcul/énergie, mesuré en MFLOPS/Watt;
❚ le marché HPC va devenir très important après avoir été
assez confiné pendant très longtemps;
❚ MPI et Fortran sont là pour encore quelque temps;
❚ il ne faut pas perdre OpenCL de vue.
Cette conférence a aussi été l’occasion de contacts directs
très fructueux avec des fournisseurs actuels et potentiels.
Des problèmes en suspens ont été réglés par une
connexion sur nos machines depuis Hambourg, avec mes
collègues en ligne côté lausannois.
LIENS UTILES
❚
❚
❚
❚
❚
www.supercomp.de/isc09/
www.top500.org/
www.green500.org/lists/2009/06/list.php
www.pgroup.com/resources/cudafortran.htm
www.khronos.org/opencl/ ■
Cours proposés par le DIT
autour du HPC
Le DIT offre un grand choix de cours de formation
informatique. En particulier,
❚ MPI (Message Passing Interface), introduction à la
programmation parallèle
❚ Introduction à l’utilisation des serveurs de calcul
du DIT
❚ Introduction à la programmation des GPU.
La liste complète est disponible à la page dit.epfl.ch/
page48239.html
38th SPEEDUP Workshop on
High-Performance Computing
Calcul multi-core et langages parallèles
Aleš Janka, SPEEDUP Society et Université de Fribourg &
Vittoria Rezzonico, SPEEDUP Society et
EPFL – Faculté des sciences de base – Services généraux Informatique
The mission of the SPEEDUP Society is to
bring together specialists in all domains related
to HPC in Switzerland and abroad by the
means of annual workshops. The conferences
are focused on a particular subject – this year
t e workshop
th
p was about parallel langguage
g s.
La mission de la société SPEEDUP est de
rassembler les spécialistes dans tous les
domaines qui touchent au HPC en Suisse et
à l’étranger, ceci par le biais de workshops
annuels sur un thème porteur. Cette année,
c était le tour des langgagges parallèles.
c’
Les
7 et 8 septembre a eu lieu à l’EPFL le 38ème
SPEEDUP Workshop on High-Performance Computing. Depuis 1987, ce workshop annuel, unique en Suisse,
est le lieu de rendez-vous des spécialistes dans les domaines
qui touchent au calcul à haute performance (HPC): informatique, simulation numérique, matériel … Dans l’histoire
moderne de ce workshop, l’EPFL l’a hébergé trois fois: cette
année, en 2002 et en 1997.
Depuis 2007, le workshop a adopté la formule un jour de
conférences sur un thème spécifique et un jour de tutoriel
pratique. Les tutoriels approfondissent d’habitude un des
thèmes traités lors des conférences et donnent la possibilité
de comprendre le côté pratique des dernières techniques et
technologies dans le HPC. Depuis leur introduction, nous
avons eu des tutoriels sur:
❚ la programmation sur Cell en 2007,
❚ le format de fichiers HDF5 en 2008,
❚ la programmation sur GPU cette année.
Le thème de cette année était le calcul sur les multicore et les langages parallèles. Le nombre de participants
exceptionnel (plus de 150 personnes, de la Suisse et de
l’étranger) a confirmé que ce sujet est devenu important.
Effectivement, la technologie HPC a récemment montré des
tendances de diversification du matériel, avec des nouvelles
architectures hétérogènes qui font surface (voir l’éditorial et
l’article Impressions de ISC’09 dans ce numéro). En même
temps, on passe du parallèle au massivement parallèle, de la
parallélisation à grain moyen à la parallélisation fine.
Ceci lance de nouveaux défis dans la programmation –
on souhaite créer des logiciels portables, mais aussi faciles à
optimiser sur une architecture donnée. Les solutions possibles
à ce problème de programmation et les nouveaux standards
qui se font un chemin étaient donc le thème de fond de la
journée de conférence de cette année.
Le matin, les conférenciers invités, des spécialistes de
l’Université de Californie à Berkeley, d’Intel et de Nvidia,
ont surtout parlé des langages pour le multi-core. Après une
brève explication du problème, plusieurs solutions ont été
abordées:
❚ Le C for CUDA est le langage le plus utilisé en ce moment pour programmer sur les GPU. Ce langage permet
d’envoyer des calculs sur le GPU d’une façon relativement
simple (par rapport à ce qui était disponible auparavant)
à partir du code en C.
❚ On peut changer de modèle de programmation parallèle
et utiliser le modèle PGAS (Partitioned Global Address
Space). Ce modèle suppose que la mémoire globale est
partitionnée logiquement et que chaque partition est
locale pour chaque processeur. Ceci introduit la notion
d’affinité: un processeur a une partie de mémoire préférée.
Dans cette catégorie de langages, le UPC (Unified Parallel
C) est une extension du C qui permet de calculer aussi
bien sur des machines à mémoire partagée qu’à mémoire
distribuée.
❚ Si on se restreint aux architectures à mémoire partagée,
il serait agréable d’écrire un code qui puisse être exécuté
sur des cores homogènes ou hétérogènes, sans qu’il faille
changer le code à chaque fois qu’on change d’architecture.
C’est ici qu’OpenCL entre en jeu: ce langage est un standard ouvert pour le calcul parallèle sur des architectures
homogènes.
Les conférenciers invités de l’après-midi, des spécialistes du Lawrence Berkeley National Laboratory, du TU
Dortmund et du CSCS ont présenté des applications de ces
concepts. Non seulement ces nouveaux langages et architectures ont un rendement théorique très élevé, mais on arrive
déjà à les exploiter. La journée de conférence s’est conclue
avec une session posters très suivie.
La deuxième journée du SPEEDUP High-Performance
workshop était réservée au tutoriel de CUDA pour la programmation des GPU. Nous avons, en particulier, traité des
techniques de programmation massivement parallèle sur les
cartes graphiques NVidia.
FI SPÉCIAL HPC – 27 octobre 2009 – page 57
38th SPEEDUP Workshop on High-Performance Computing – Calcul multi-core et langages parallèles
Comme la plupart des cartes graphiques modernes, ces
cartes disposent de cores simplifiés, par rapport aux cores classiques (ceux qu’on trouve dans les CPU standards), les cores
des GPU sont débarrassés de tous les composants spécialisés
dans l’accélération d’un flux d’instructions mono-tâche. Ainsi, pour améliorer significativement la performance au prix
d’une fiabilité diminuée, on passe à la trappe le cache d’accès
à la mémoire vive, la logique de prévision de branchement,
la vérification rigoureuse du calcul (bit-flip error tolerance) ou
la double précision (sauf pour les cartes graphiques haut de
gamme). On se retrouve donc avec un core simple contenant
une unité qui récupère et déploie le code, une zone où sont
stockées les données locales et une partie qui effectue des
opérations algébriques sur les données.
Le hardware d’un GPU est optimisé pour faire du calcul
rapide des projections graphiques de 3D en 2D, des textures
et des ombres sur un bitmap en 2D. Pour ceci, les opérations
sur les données sont faites dans un schéma SIMD (single
instruction multiple data), en parallèle sur plusieurs cores et
sur plusieurs ALU (arithmetic logic unit) par core. Ces ALU
vont se partager les données stockées dans la mémoire locale
du core. Dans une carte graphique, on peut arriver jusqu’à
960 ALU, groupées par 8 dans les cores.
L’absence des circuits d’accéleration hardware et de cache
sur les cores (plus correctement appelés stream multiprocessors)
impose, pour obtenir le maximum d’efficacité, une technique
de programmation de latency masking. Effectivement, un
cycle de récupération de données de la RAM dure plusieurs
dizaines de tours d’horloge. Pendant ce temps, l’unité arithmétique ALU n’est pas occupée par le thread qui accède à
la RAM. Il faut alors prévoir d’autres threads en attente qui
se lanceraient dans ce cas, pour occuper l’ALU non utilisée. Tandis que l’ordonnancement des threads est fait par
le core automatiquement, la technique de latency masking
demande au programmeur de prévoir un nombre suffisant
de minitâches à effectuer. Ceci résulte dans un niveau de
parallélisation assez fine.
Le tutoriel a présenté brièvement les environnements
de programmation des GPU disponibles à ce jour. Ensuite,
FI 8 – 27 octobre 2009 – page 58
il a donné une introduction au langage de programmation
CUDA. On a vu aussi quelques tours de magie algorithmiques et du fine-tuning pour rendre l’efficacité du calcul sur
les GPU comparable au pic d’efficacité théorique.
Nous avons également parlé de la programmation des
GPU spécifiquement pour les tâches d’algèbre linéaire et
solveurs itératifs des grands systèmes linéaires issus du calcul
scientifique. Là, quelques librairies mathématiques de base
existent déjà: par ex. CUBLAS, CUFFT, CULA (CUDA
Lapack), MAGMA, ACML-GPU, SpMV-CUDA (Sparse
matrix-vector multiplication). Il existe également des logiciels
de haut niveau sur les GPU, ou support de GPU dans des
logiciels mathématiques existants: par ex. Jacket et Libra pour
Matlab, R+GPU (statistique), GPU VSIPL (Vector signal
image processing), et d’autres.
Dans le calcul scientifique, on utilise souvent les GPU
pour accélérer le préconditionnement d’une grande matrice
dans un schéma itératif, dont la boucle externe tourne en
double précision sur un CPU. Il semble que le manque de
précision des GPU et les erreurs occasionnelles dues au bitflip ne perturbent pas significativement la convergence du
schéma itératif vers des bons résultats.
Le tutoriel a été un grand succès, aussi grâce à la disponibilité de la grande salle d’ordinateurs BC07-08 pour une
centaine de personnes, équipée de postes récents aux cartes
graphiques Nvidia. Les organisateurs souhaitent remercier les
administrateurs de cette salle, Benjamin Barras et Sourythep
Samoutphonh.
Grâce au succès du SPEEDUP High-Performance workshop de cette année, la société SPEEDUP envisage d’organiser
le prochain workshop en septembre 2010 de nouveau à
l’EPFL. Vous êtes cordialement invités!
Les présentations du workshop et du tutoriel 2009 ainsi
que les détails du workshop prochain ou inscription à la
mailing liste de la société SPEEDUP seront disponibles sur
le site: www.speedup.ch. ■
Nom de code Fermi
[email protected], EPFL – Domaine IT
San Jose, CA, le 30 septembre 2009
The next generation
CUDA GPU architecture
(codenamed Fermi) was
unveiled at the GPU
Technology Conference in
San Jose (California), and
is already adopted by major
s ientific institutions.
sc
Lors de la conférence
sur les GPU (Graphics
Processing Unit) qui vient
de se tenir en Californie,
la nouvelle génération de
processeur CUDA (dont le
nom de code est Fermi) a
été annoncée, elle est déjà
adoptée par des grandes
institutions scientifiq
in
ques.
Il est 13h00, les 1’400 participants à la GPU Technology Conference de
NVIDIA, première du genre, ne peuvent s’installer dans l’immense Regency
Ballroom de l’hôtel Fairmont; nous nous éparpillons dans des salles annexes pour
suivre l’Opening Keynote de Jen-Hsun Huang, CEO et Co-Founder de NVIDIA.
Une série de vidéos rappelle tout le chemin parcouru depuis 1993, le tournant
CUDA en 2007 et le rôle de plus en plus important que les GPU jouent et vont
jouer dans nos sociétés.
Pour illustrer son propos, un premier exemple dans le domaine du Web. Le
monde de la vidéo sur le réseau est, à environ 90%, un monde Flash. Adobe vient
d’annoncer une version optimisée de son client sur la carte Nvidia ION pour
rendre l’affichage de ces vidéos plus fluide. Un autre exemple dans le domaine de
la santé; les GPU offrent des traitements d’images plus rapides pour déceler des
tumeurs précoces.
Pour ce qui concerne le domaine de la simulation numérique, la position de
NVIDIA est la suivante: la machine ExaFLOPS que l’on attend pour la fin de la
décennie prochaine doit aller au-delà d’une simple architecture CPU et doit se
tourner vers une architecture de type co-processeur, CPU-GPU. La machine Jaguar
de Cray Inc. du Laboratoire National d’Oak Ridge avec ses 1.105 TéraFLOPS pour
6.5 MW indique que le mur FLOPS/W n’est pas loin. Une machine ExaFLOPS
consommant plusieurs dizaines de MégaWatts n’a pas d’existence économique
puisqu’aucun client ne pourrait en supporter les frais d’exploitation.
Le message a l’avantage d’être clair. NVIDIA a préparé sa réponse en montrant
à bout de bras ce 30 septembre 2009 la nouvelle génération.
CUDA, nom de code Fermi, qui selon les propres paroles
de NVIDIA est «the most advanced GPU computing architecture ever built. With over three billion transistors and featuring
up to 512 CUDA cores, Fermi delivers supercomputing features
and performance at 1/10th the cost and 1/20th the power of
traditional CPU-only servers».
Fermi en comblant les points faibles de ses prédécesseurs
devient une option crédible. Les points faibles auxquels Fermi
apporte une réponse sont: mémoire ECC pour la prise en
compte d’erreurs et égalité de traitement simple/double
précision en termes de performance.
Deuxième annonce en cet après-midi du 30 septembre:
Jeff Nichols, director of the National Center for Computational Sciences and the National Leadership Computing
Facility at Oak Ridge National Laboratory -ORNL, www.
ornl.gov, indique que Fermi sera la première architecture
co-processeur déployée par Oak Ridge pour des travaux
scientifiques et qu’elle permettra de résoudre d’énormes
défis scientifiques … Grâce à la technologie NVIDIA, Oak
Ridge propose de créer une plate-forme informatique qui
donnera naissance à l’informatique exascale dans les dix
années à venir.
L’ORNL a également annoncé la création du Consortium Hybrid Multicore. Les objectifs de ce consortium sont
de collaborer avec les développeurs des principaux codes
scientifiques pour que ces applications puissent tourner
sur la nouvelle génération de supercalculateurs utilisant les
GPU. D’un seul coup, la situation et les rapports de force
deviennent plus clairs !
Le lendemain, nous avions un keynote de Hanspeter
Pfister, Director of Visual Computing, Initiative in Innovative Computing, Harvard University, sur le traitement
de données expérimentales et leur réduction en terme de
quantité d’information par GPU. Trois projets nous ont
été présentés:
❚ un premier dans le domaine de l’astrophysique avec
l’installation dans le désert australien d’un système de
traitement de données ne disposant en tout et pour tout
que d’un générateur de 20KW;
❚ un autre dans le domaine des neurosciences avec la reconstruction tridimensionnelle d’axones de rat à partir
de tranches hyperfines. La quantité d’information au
départ dans ces quelques microns3 de matière est de
l’ordre de grandeur de tout l’espace facebook actuel et il
faut la réduire aux coordonnées spatiales d’une centaine
d’axones;
❚ et un troisième dans le domaine de l’hémodynamique
qui aborde la prévention d’attaques cardiaques sur la
base d’une simulation réaliste du flot sanguin sur la
base d’images médicales du système artériel cardiaque.
Parmi les noms mentionnés dans cette dernière étude,
on retrouve le nom du professeur Efthimios Kaxiras qui
a rejoint l’EPFL cet automne (voir son article Parallel
Multi-Scale Hemodynamics dans ce journal).
Vous trouverez le site de la conférence à l’adresse: www.
nvidia.com/gtc ainsi que d’autres informations sur le projet
FERMI à l’adresse: www.nvidia.com/fermi.■
FI SPÉCIAL HPC – 27 octobre 2009 – page 59
Défis techniques
pour les centres de calcul
[email protected], EPFL – Domaine IT &
[email protected], EPFL – Faculté des sciences de base –Services généraux Informatique
Building infrastructures is nowadays a
strategic challenge: computers become more
and more powerful and the concentration of
their computing power keeps on growing.
The datacenter as a building must be designed
with several goals in mind: of course hosting
the hardware, but also energy efficiency and
e eryt
ev
y hingg that results from it.
La construction d’infrastructures est désormais
un défi stratégique: les ordinateurs deviennent
de plus en plus puissants et la concentration de
cette puissance ne cesse d’augmenter. Le centre
de calcul en tant que local doit être projeté
avec comme but non seulement l’hébergement
physique des machines, mais aussi l’efficacité
é ergé
én
g tiqu
q e et tout ce que cela comp
porte.
PROBLÉMATIQUE DE LA DENSITÉ DE
PUISSANCE
LE MIEUX EST L’ENNEMI DU BIEN
Depuis l’avènement des premières machines de calcul
après la Deuxième Guerre mondiale, les constructeurs ont
continuellement œuvré pour augmenter la puissance de
calcul, diminuer la place utilisée, réduire la consommation
électrique et si possible baisser le coût d’acquisition.
Si d’un côté les chercheurs jouissent de machines de plus
en plus performantes et peuvent résoudre des problèmes
avant insolvables, de l’autre les responsables des centres de
calcul doivent trouver comment évacuer de plus en plus
d’énergie au m2.
Pour fixer les idées, voici quelques ordres de grandeur:
un sèche-cheveux consomme 1.6kW, un rack Blue Gene/L
25kW, un rack Blue Gene/P 46.3kW. Pour avoir une idée
de ce que le futur nous réserve, nous pouvons citer une
annonce de Cray: une ligne de 4 racks, avec par rack entre
113 et 119 kW !
PUE ?
INTRODUCTION
Le CSCS (Centre Suisse de Calcul Scientifique) basé au
Tessin a organisé à Lugano début septembre la 1st European
Workshop on HPC Centre Infrastructures. Deux jours de
conférences, dix-sept sessions animées par des intervenants
de haut niveau, chercheurs (ETHZ, IBM Research…),
constructeurs (Intel, Bull, Sun, Cray, APC, SGI…) et
utilisateurs (CEA, CSCS, University of Illinois…) qui ont
présenté l’état de l’art, les tendances pour les cinq prochaines
années et leurs expériences concernant les processeurs, machines de calcul et centres de calcul. Les échanges informels
avec les participants ont aussi permis de se faire une idée
des orientations du HPC en Allemagne, Irlande, Belgique
et France.
Dans cet article, nous utiliserons les informations les
plus marquantes données lors de cette conférence pour
présenter le principal problème auquel les gestionnaires des
centres de calcul sont ou vont être confrontés, l’évacuation
de la chaleur des machines. Nous présentons brièvement
les solutions techniques disponibles actuellement. Puis nous
terminons en analysant le cas de l’EPFL.
Il existe plusieurs métriques pour évaluer l’efficacité d’un
centre de calcul du point de vue énergétique, le PUE (Power
Usage Efficiency) est la plus couramment utilisée actuellement.
C’est un nombre sans unité qui représente le rapport de la
puissance électrique totale nécessaire au centre de calcul divisé par la puissance électrique consommé par les matériels
informatiques.
Ce nombre est donc toujours supérieur à 1. Les valeurs
actuelles moyennes sont de l’ordre de 2. Google a obtenu 1.2
en construisant ses propres machines, sans bloc d’alimentation électrique ni ventilateur et en profitant au maximum du
refroidissement gratuit (Free cooling).
SOLUTIONS ACTUELLES POUR LE
REFROIDISSEMENT
Tous les utilisateurs de serveurs ne s’appelant pas Google, il faut trouver d’autres solutions que la fabrication de
machines. D’abord, il faut utiliser, si possible, les ressources
mises à disposition gratuitement par la nature. Il faut aussi
optimiser les racks qui hébergent les machines dans les centres de calcul.
LES FONDEMENTS DE L’ÉCHANGE THERMIQUE
Trois relations importantes qui permettent de mieux
comprendre l’influence du fluide utilisé pour transférer
l’énergie et celui de la température de l’air chaud à l’entrée
FI 8 – 27 octobre 2009 – page 60
Défis techniques pour les centres de calcul
d’une unité de refroidissement.
E =m.C p .(T f –T i )
C’est la relation macroscopique qui permet de calculer
l’énergie thermique E (en Joule) fournie ou reçue quand une
quantité de matière m (en kg) passe d’une température T i à
une température T f . Le coefficient C p est la chaleur spécifique
à pression constante ( J.kg -1 .K -1 ), les températures sont en
degrés Kelvin. Pour mémoire C p (eau liquide)= 4186 et
C p (Air) = 1005.
Cette relation est fondamentale, mais pas suffisante pour
nos besoins. En effet les composants ne baignent pas dans un
fluide immobile, il est en mouvement et l’échange d’énergie
se fait par convection forcée. De plus, on doit introduire la
notion de temps nécessaire pour le transfert de cette énergie.
Si on divise les deux membres par t (temps en secondes), on
obtient à gauche une puissance P (en Watt). Du côté droit,
décomposons la masse comme produit du volume (en m3)
par la masse volumique du fluide ρ (en kg/m3) et remarquons que des m3/s représentant un débit que l’on note Q
on obtient finalement:
P=ρ.C p .Q.(T f –T i )
Pour mémoire ρ(eau liquide)= 998 et ρ(Air)=1.293.
Donc si on fixe la puissance et l’écart de température le rapport
entre le débit d’air et le débit d’eau sera de (ρ(eau).C p (eau))/
(ρ(air).C p (air)) soit (4186*998)/(1005*1.293)=3223.
P=k. S.(T c –T f )
Utilisée pour les échangeurs de chaleur cette relation
macroscopique permet de calculer la puissance thermique (P
en Watt) échangée entre un milieu froid à une température
T f et un milieu chaud à une température T c à travers une
surface S (en m2), les températures sont en degrés Kelvin. Le
coefficient k, sans dimension, est en général fonction, entre
autres, du débit du fluide considéré.
Donc pour échanger le plus d’énergie possible avec un
appareil donné (ce qui fixe S) il faut que l’écart de température soit le plus grand possible.
LES RESSOURCES GRATUITES
Encore un ordre de grandeur. Combien économise-ton pour chaque kW gagné ? Prenons un prix du kW.h de
15 centimes. Une année de 365 jours dure 365*24 = 8760h
donc 1 kW coûte 8760*0.15= 1314 CHF.
Si la ressource est gratuite, son utilisation ne l’est pas, en
effet il faudra peut-être traiter l’air pour enlever des particules
de poussière et contrôler son taux d’humidité.
Air ambiant
Températures Lausanne
Températures moyennes minimum
Températures moyennes maximum
40
La température d’air requise pour refroidir un Blue Gene/P
doit être comprise entre 15 et 18 degrés. Pour chaque rack il faut
refroidir 46 kW soit en arrondissant 60’000 CHF par an !
Eau de lac
La température minimum du lac Léman est de 6 degrés;
même si c’est plus chaud que la température minimale de
l’air c’est largement suffisant pour les besoins de refroidissement. De plus, la température moyenne est constante dans
les profondeurs du lac. Comme on l’a déjà vu, la capacité
thermique de l’eau est 4 fois plus grande que celle de l’air et
le débit nécessaire est 3223 fois plus faible. Donc si on ne
doit retenir qu’une énergie gratuite on choisira l’eau.
LES RACKS
Les machines sont installées dans des armoires: les plus
simples sont complètement passives, les plus sophistiquées
sont équipées d’alimentations électriques intelligentes, surveillables à distance et autonomes thermiquement.
Racks à air
Simple
Le rack le plus simple ne participe pas directement au
refroidissement des machines. Il est utilisé seulement pour
maintenir les machines les unes au dessus des autres. En
mesurant la température des machines on observe que plus
on s’élève dans le rack plus la température de la machine
s’élève.
Allée froide
À moindres frais, il est possible d’optimiser les échanges
thermiques en cloisonnant les racks de manière à éviter
les mélanges d’air froid et d’air chaud. L’air froid est pulsé
dans l’allée, aspiré par les serveurs et rejeté dans la pièce.
On appelle cette organisation des racks confinement de
l’allée froide. Dans cette configuration les serveurs ont une
température d’entrée plus homogène quelle que soit leur
place dans le rack.
Allée chaude
Le confinement de l’allée chaude fonctionne à l’inverse
de celui de l’allée froide. L’air froid est aspiré par les serveurs
et l’air chaud recraché dans l’allée confinée. Ce qui permet
d’éviter un mélange inutile avec l’air ambiant, mais aussi
d’envoyer l’air à la température la plus chaude possible dans
l’unité de refroidissement. Comme on l’a vu plus haut, l’écart
de température sera le plus grand possible, un meilleur rendement du refroidisseur sera donc obtenu !
Racks à eau
30
Lorsqu’il s’agit d’amener de l’eau dans un centre de
calcul, les plus sensibles auront peur du mélange entre eau
et électricité. Plusieurs manières d’utiliser l’eau existent, chacune d’entre elles doit résoudre ce problème de cohabitation
entre eau et électricité. La principale difficulté est d’éviter la
condensation.
20
10
0
-10
j
f
m
a
m
j
j
a
s
o
n
d
Pour refroidir, il est possible d’utiliser l’air ambiant, même
si par grande chaleur il faut un moyen complémentaire. La
température moyenne à Lausanne est comprise entre -2 et
14 degrés.
Porte réfrigérante
Pour ce type de dispositif, l’air est aspiré dans la salle par
les serveurs, chauffé puis passe dans un échangeur air/eau
installé dans la porte arrière du rack.
FI SPÉCIAL HPC – 27 octobre 2009 – page 61
Défis techniques pour les centres de calcul
Porte réfrigérante avec ventilateurs
intégrés
Flux d’air dans une allée froide
Circuits d’eau glacée pour porte réfrigérante
Vue extérieure d’une allée froide
FI 8 – 27 octobre 2009 – page 62
Rack autonome avec échangeur en
bas et ventilateurs intégrés à la porte
Circuits d’eau glacée pour rack autonome
Vue intérieure d’une allée froide
Défis techniques pour les centres de calcul
On trouve deux types de portes: les passives et les actives.
Les passives ne sont constituées que d’un échangeur, ce sont
les ventilateurs des serveurs qui doivent supporter la perte de
charge nécessaire au franchissement de l’échangeur; dans ce
cas les débits d’air ne sont pas excellent et le coefficient k se
dégradant, les capacités de ces portes sont très limitées.
Les portes actives comportent un ensemble de ventilateurs qui augmentent le flux d’air, le rendement est meilleur
et la capacité de refroidissement augmente.
Tous les types de racks sont en évaluation ou en production dans les centres de calcul de l’école.
L’eau sortant des machines pourrait être utilisée en appoint pour le chauffage du bâtiment. Elle ne peut pas être
transportée sur de longues distances, car elle n’est pas assez
chaude.
Classes de densité de puissance
Les racks autonomes sont fermés: l’air circule dans les
serveurs puis est accéléré par des ventilateurs intégrés au
rack, il passe ensuite dans un échangeur air/eau et retourne
aux serveurs. Il n’y a pas d’échange avec l’air de la salle. Le
débit d’air et le débit d’eau peuvent être régulés pour garantir
une température constante à l’entrée des serveurs. Toutes les
machines du rack sont à la même température.
Tous les matériels n’ont pas les mêmes besoins électriques
– nous les avons triés en trois classes selon leur consommation
électrique par rack.
Basse densité – Inférieur à 5 kW: on trouve les équipements
réseau, les lecteurs de bandes.
Moyenne densité – Inférieur à 8 kW: on trouve les baies de
disques et des petits serveurs.
Haute densité – Supérieur à 8 kW: les regroupements
de machines pour la virtualisation et le calcul à haute
performance.
En colonne
ETAT DES CENTRES DE CALCUL
Ce système existe avec plusieurs variantes, aspiration d’air
frais (12/15°) ou d’air chaud (32°). Le principe reste cependant le même pour les deux systèmes. L’air est aspiré dans la
salle, refroidi ou non, envoyé dans les serveurs puis une fois
réchauffé il passe dans un échangeur air/eau, est refroidi et
rentre dans le rack de serveurs suivant et ainsi de suite.
Un rapport concernant les centres de calcul a été rédigé
au début de l’été par le directeur du DIT. La situation est
encore gérable mais pour pas plus de deux à trois ans dans les
conditions d’évolution actuelles. Sachant que la durée d’un
projet de construction varie entre 4 à 6 ans, il faut se pencher sérieusement et rapidement sur l’avenir des centres
de calcul à l’EPFL, si on souhaite avoir une solution avant
que la situation devienne insoutenable.
Rack autonome
CAS DE L’EPFL
L’EPFL dispose de plusieurs locaux dédiés à l’hébergement du matériel informatique. Historiquement l’informatique centrale était dédiée au HPC, puis de nombreux petits
serveurs sont apparus ainsi que des équipements réseau.
Depuis quelques années des centres de calcul décentralisés
sont exploités par les services IT des Facultés.
L’EPFL profite de la proximité du lac pour pomper l’eau
et obtenir du Free Cooling. Le PUE n’a pas encore été calculé,
mais on peut raisonnablement l’imaginer être entre 1.3 et
1.5, ce qui est un chiffre assez Green.
CONCLUSIONS
Les moyens de calcul scientifique en Suisse sont répartis
sur deux niveaux. Au premier le centre national (CSCS),
qui met en chantier un nouveau centre de calcul (20082012, budget 50MFr, PUE 1.25), un de ses objectifs étant
d’accueillir une machine pétaflopique. Au deuxième niveau,
on trouve des centres de calcul régionaux, par exemple l’Arc
lémanique qui avec le projet CADMOS héberge sa première
machine à l’EPFL (un Blue Gene/P), mais ne dispose pas
encore de centre de calcul.
Les centres de calcul sont construits
pour durer plusieurs dizaines d’années
alors que les machines informatiques
fonctionnent entre 3 à 5 ans ! Aucun
consultant sérieux ne pourra donc s’engager sur les plans de détails d’un centre
de calcul moderne qui durera 20 ou 30
ans sans modifications. La souplesse
d’évolution est la clef, il faut être capable
de faire évoluer la configuration du centre
de calcul pour supporter dans 5 ans des
machines à 150 kW par rack. Si le centre de calcul n’est pas dédié au HPC il
faudra aussi qu’il dispose de zones basse,
moyenne et haute densité. ■
Colonne de 4 racks, de gauche à droite, air ambiant à 32°C, refroidissement à 22°C
par passage dans un échangeur air/eau, réchauffement dans le premier rack (+113
kW), passage dans un échangeur air/eau pour refroidir l’air à 22°C, etc.
Photos: Courtoisie de la société Knürr
(www.knuerr.com/)
FI SPÉCIAL HPC – 27 octobre 2009 – page 63
SOMMAIRE FI 8/09
2 Editorial
Vittoria Rezzonico
PROCHAINES PARUTIONS
NO
DÉLAI DE
RÉDACTION
PARUTION
9
05.11.09
24.11.09
10
03.12.09
22.12.09
5 Le projet CADMOS (Center for Advanced Modeling Science)
Giorgio Margaritondo
6 Master en Science et Ingénierie Computationnelles
Assyr Abdulle
7 Cluster – LPHE1 – de la simulation à l’analyse de données du LHC
Aurelio Bay, Marc-Olivier Bettler, Cédric Potterat et Paul Szczypka
10 Les origines des forces de friction à portée des super-ordinateurs
Guillaume Anciaux
13 Number crunching on clusters at EPFL
Joppe W. Bos, Marcelo E. Kaihara, Thorsten Kleinjung, Arjen K. Lenstra & Dag Arne Osvik
20 Il y a 20 ans dans le FI
21 Un nouveau défi pour les numériciens – Modéliser la fragmentation de structures hétérogènes
Sarah Levy, Jean-Francois Molinari & Raúl Radovitzky
23 Simulation numérique & HPC
Guillaume Jouvet & Gilles Steiner
25 Simulation de chaînes de Markov pour la biophysique
Carlo Maffi
28 Numerical simulation of hemolysis due to blood centrifugation
Alain Schenkel, Mark L. Sawley, Michel O. Deville, Pascal Hagmann & Jean-Denis Rochat
32 Parallel Multi-Scale Hemodynamics
Simone Melchionna, Efthimios Kaxiras, Massimo Bernaschi, Sauro Succi
37 Path integral evaluation of the equilibrium isotope effect in [1,5] sigmatropic hydrogen shift reactions
Tomáš Zimmermann and Jiří Vaníˇcek
41 A new coarse-grained potential for molecular simulation of proteins
Davide Alemani, Matteo Dal Peraro, Francesca Collu, Michele Cascella
45 Economic Aspects of Cloud Computing
Anastasia Ailamaki, Debabrata Dash, and Verena Kantere
48 Monte Rosa au CSCS – Des nouveaux sommets pour le Calcul Haute Performance en Suisse
Michele De Lorenzi
51 Nouveau Blue Gene/P – l’ordinateur le plus rapide de l’ouest
Christian Clemençon & Pascal Jermini
54 Les ressources de calcul du Domaine IT
MichelaThiémard
55 Les clusters de calcul expérimentaux du Domaine IT
Pascal Jermini
56 Impressions de ISC’09
Jacques Menu
56 Cours proposés par le DIT autour du HPC
57 38th SPEEDUP Workshop on High-Performance Computing – Calcul multi-core et langages parallèles
Aleš Janka, & Vittoria Rezzonico
59 Nom de code Fermi
Francis Lapique
60 Défis techniques pour les centres de calcul
Fabien Figueras & Vittoria Rezzonico
ISSN 1420-7192