Flash informatique 2009 - no 8 - HPC

Page 1

é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 Vittoria.Rezzonico@epfl.ch, 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 1024 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 : z 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. z 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. z 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: z La gestion de threads. z 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. z 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: z 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é. z 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 n


Le projet CADMOS (Center for Advanced Modeling Science) Giorgio.Margaritondo@epfl.ch, 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 EPFL campus.

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. n

Master en Science et Ingénierie Computationnelles Assyr.Abdulle@epfl.ch, 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 n


Cluster – LPHE1 de la simulation à l’analyse de données du LHC Aurelio.Bay@epfl.ch, Marc-Olivier.Bettler@a3.epfl.ch, Cedric.Potterat@epfl.ch, et Paul.Szczypka@epfl.ch, 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 Physics 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 for the first LHCb data. 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 aspects de l’expé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’expé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. n

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 Guillaume.Anciaux@epfl.ch, 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 presented. 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 de la discipline sont ici pré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.n

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 Joppe.Bos@epfl.ch, Marcelo Kaihara@epfl.ch, Thorsten.Kleinjung@epfl.ch, Arjen.Lenstra@epfl.ch & DagArne.Osvik@epfl.ch, 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 de l’EPFL.

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 Algorithms 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 2x 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.

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

Il y a 20 ans dans le FI

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. n

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 Sarah.Levy@epfl.ch, Jean-Francois.Molinari@epfl.ch, 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 reasons of its success. 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 principales 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

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

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.

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. z D.E Grady. Fragmentation of rings and shells: The legacy of N.F Mott. Springer. 2006. z 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. z 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. n z


Simulation numérique & HPC Guillaume.Jouvet@epfl.ch & Gilles.Steiner@epfl.ch, 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 with the predicted increase of temperatures. À la frontière entre physique, mathématiques et informatique, la simulation numérique consiste à reproduire un phénomène naturel sur ordinateur. 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 prévisions d’augmentation des tempé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.n

Simulation de chaînes de Markov pour la biophysique Carlo.Maffi@epfl.ch, EPFL – Faculté des sciences de base – Laboratoire de biophysique statistique & Vittoria.Rezzonico@epfl.ch, 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 walks. 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 ne se croisent pas) avec interaction.

É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–bD(-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 pb. 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 pb(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ù b=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!n

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 Alain.Schenkel@epfl.ch, Mark.Sawley@epfl.ch, Michel.Deville@epfl.ch, 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 écoulement.

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 the complex 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-e 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

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]

This work has been performed within the framework of a project funded by the Swiss Commission for Technology and Innovation (CTI).

References [1]

[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. n

solution du mots croisés de 1

2

I

A

F

II

M

I

III

E

IV

3

4

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

S

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 Simone.Melchionna@epfl.ch, Efthimios.Kaxiras@epfl.ch, EPFL – School of Engineering – Laboratory for Multiscale Modeling of Materials, Massimo Bernaschi (massimo@iac.rm.cnr.it), Sauro Succi (succi@iac.rm.cnr.it), 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 micrométrique.

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 hoc 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 popu-

Multiscale Method

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

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

lations 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 w 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 ,

, with being the fluid velocity evaluated at the particle position, and g 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. n


Path integral evaluation of the equilibrium isotope effect in [1,5] sigmatropic hydrogen shift reactions Tomas.Zimmermann@epfl.ch and Jiri.Vanicek@epfl.ch, 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 groupe 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 reactions, of another measurement.

[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,

EIE = K eq =

( p)

Q , Q( r )

(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[– bF( { 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/b 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íˇcek, 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íˇcek, J., Path integral evaluation of equilibrium isotope effects. J. Chem. Phys., 2009. 131(2): p. 13.n


A new coarse-grained potential for molecular simulation of proteins Davide.Alemani@epfl.ch, Matteo.DalPeraro@epfl.ch, 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 b et des hélices a des chaînes péptidiques sont correctement décrits par la simulation sans la nécessité d’introduire des potentiels de biais a priori ou une paramétrisation ad hoc, 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 a ou une structure helix-coil-helix. Notre algorithme ne requiert que les informations décrivant la position de Ca, 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égats de proté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 b-sheet and a-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 a-helices to helix-coil-helix assemblies. This novel scheme requires the structural information of Ca 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 function of large protein 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 a , i- 1 , C a , i , C a , 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 q around the same axis is an analytical function of the bending angle g 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 q, according to its analytical relation with the precession angle q (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 a-helices and b-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 Ca triplets of the protein scaffold. F and the component of t lying on the (n,m) plane orthogonal to the C a , i – C a , i+1 direction produce a rigid roto-translation of the triplet. The component tv oriented along the C a , i – C a ,i + 1 bond modulates the bending angle g following the function q=q(g) reported in the inset. The inset shows the statistical distribution q=q(g) extracted from the PDB (square symbols) and its analytical fitting function (solid line).

Results The scheme was tested on secondary structure motifs such as a-helices and b-sheets. Polypeptide chains were modeled as nonspecific amino-acid sequences represented by single Ca beads. Starting configurations for the a- and b-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 ms timescale.


A new coarse-grained potential for molecular simulation of proteins Present results

Experimental values

b-strands

d*=5.1(1); j=91(8)

d=4.8(1); j=90(6)

a-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; f(deg): inter-strand torsional angle; d1-4 , d1-5 (Å): helical pitches Table 1 – Structural parameters of a-helices and b-sheets in CG MD

fig. 2 – Conformational transition from a-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 b-hairpin are d=5.1(1) Å and f=91(8) deg. These relevant structural parameters are in very good agreement with experimental values (Table 1). b-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 Ca’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 a-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 b-hairpin motifs [19]. A similar behavior is found in our simulations of longer a-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 Ca 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. n

Le mot croisés d'Appoline Soyez à jour! z Les informations concernant le HPC à l’EPFL peuvent être consultées à la page Web: hpc.epfl.ch. z 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.html et incorporé dans votre agenda. z 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 à hpcsubscribe@listes.epfl.ch z Pour renseigner la liste d’un évènement, envoyez votre message à hpc@ listes.epfl.ch

Stay tuned! z Information about HPC @ EPFL can be found at the hpc webpage: hpc.epfl.ch z moreover, HPC events happening at EPFL are listed in the HPC-Tech calendar which can be seen at hpc. epfl.ch/events.html and embedded in your agenda. z 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 hpc-subscribe@listes.epfl.ch z To report an event to the list, send your message to hpc@listes.epfl.ch 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

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

Vertical


Economic Aspects of Cloud Computing Anastasia.Ailamaki@epfl.ch, Debabrata.Dash@epfl.ch, and Verena.Kantere@epfl.ch, EPFL – School of Computer and Communication Sciences – Data-Intensive Applications and Systems Laboratory

Le nouveau paradigme du nuage de calcul 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 requêtes prospectives.

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 prospective queries.

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.n

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, delorenzi@cscs.ch, 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 strategy which is being 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 implé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: z 23 novembre 2009: dernier délai pour soumettre des projets, z 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 z 20 racks de calcul, 5 racks d’archive (640 disques durs pour un total de 290 Térabytes) z Poids total de 30 tonnes z 60 m3 d’eau par heure pour le refroidissement z 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.n


Nouveau Blue Gene/P l’ordinateur le plus rapide de l’ouest Christian.Clemencon@epfl.ch & Pascal.Jermini@epfl.ch, 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 in this same issue).

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 numéro).

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: z z

Christian Clémençon (christian.clemencon@epfl.ch) Pascal Jermini (pascal.jermini@epfl.ch)

Site Web: z

bluegene.epfl.ch

Demande d’ouverture d’un compte: z

hpc-dit.epfl.ch/docs/inscription-utilisateurs-enligne.pdf n

FI SPÉCIAL HPC – 27 octobre 2009 – page 53


Les ressources de calcul du Domaine IT Michela.Thiemard@epfl.ch, EPFL – Domaine IT

The DIT offers a variety of computing resources to the scientific community, from supercomputer to computing grid. A brief overview is presented here. Le DIT offre des ressources de calcul variées à la communauté scientifique, du supercalculateur à la grille de calcul. Un bref survol est pré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: bg-admin@groupes.epfl.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]-admins@groupes.epfl.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: dit-exp-clusters-admins@groupes.epfl.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: grid-admins@groupes.epfl.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 : z 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. z 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). z 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. n


Les clusters de calcul expérimentaux du Domaine IT Pascal.Jermini@epfl.ch, 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 and test these new technologies.

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 technologies.

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 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

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

Plus de renseignements sont disponibles sur le site Web des clusters expérimentaux: hpc-dit.epfl.ch/experimental. php. n FI SPÉCIAL HPC – 27 octobre 2009 – page 55


Impressions de ISC’09 Jacques.Menu@epfl.ch, 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é: z la présentation des résultats semestriels du Top 500 des machines les plus performantes sur le benchmark de LINPACK; z 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; z l’emploi d’accélérateurs déchargeant les processeurs traditionnels des tâches exigeantes en puissance de calcul; z les architectures les mieux adaptées à la programmation d’applications très massivement parallèles, avec plusieurs millions de cœurs; z les outils logiciels pour écrire ces applications. Au vu de ce qui s’est dit à Hambourg, on peut distinguer en termes d’architecture: z les machines sans accélérateur, comme les clusters classiques et les Blue Gene; z 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; z 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: z 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; z 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; z 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. z

Les points les plus saillants à retenir sont que: les trois machines en tête du Top 500 sont de trois architectures différentes: w un hybride avec du Cell/B.E.: Roadrunner - BladeCenter QS22/LS21 Cluster, PowerXCell 8i 3.2 Ghz / Opteron DC 1.8 GHz, Voltaire Infiniband; w un cluster InfiniBand classique: Jaguar - Cray XT5 QC 2.3 GHz;

FI 8 – 27 octobre 2009 – page 56

z

z

z z z

w 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 z z z z z

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/ n

Cours proposés par le DIT autour du HPC Le DIT offre un grand choix de cours de formation informatique. En particulier, z MPI (Message Passing Interface), introduction à la programmation parallèle z Introduction à l’utilisation des serveurs de calcul du DIT z 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 Alesˇ 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 the workshop was about parallel languages.

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 langages parallèles.

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: z la programmation sur Cell en 2007, z le format de fichiers HDF5 en 2008, z 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: z 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. z 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. z 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. n


Nom de code Fermi Francis.Lapique@epfl.ch, EPFL – Domaine IT

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 scientific institutions.

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 scientifiques.

San Jose, CA, le 30 septembre 2009

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: z 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; z 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; z 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.n

FI SPÉCIAL HPC – 27 octobre 2009 – page 59


Défis techniques pour les centres de calcul Fabien.Figueras@epfl.ch, EPFL – Domaine IT & Vittoria.Rezzonico@epfl.ch, 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 everything 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é énergétique et tout ce que cela comporte.

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 r (en kg/m3) et remarquons que des m3/s représentant un débit que l’on note Q on obtient finalement: P=r.C p .Q.(T f –T i ) Pour mémoire r(eau liquide)= 998 et r(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 (r(eau).C p (eau))/ (r(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

20 10 0 -10 f

m

a

m

j

j

a

s

o

n

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

j

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 !

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.

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.

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

Rack autonome

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.

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.

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.

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é. n

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áˇs Zimmermann and Jiˇrí 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 Alesˇ 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


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.