Title: Les grilles et le calcul de haute performance
1Les grilles et le calcul de haute performance
- Victor Alessandrini
- IDRIS - CNRS
- va_at_idris.fr
- Séminaire X-Aristote, Ecole Polytechnique, 11
avril 2002
2IDRIS missions
- Contribuer à l accélération de la découverte
scientifique par l intermédiaire des
technologies de l information - Piloter un environnement de calcul intensif de
haute performance diversifié, polyvalent,
évolutif, à la mesure des grands défis
scientifiques actuels - Intervenir comme agent de transfert de
technologies entre la RD en technologies de
l information et les infrastructures nationales
de calcul de haute performance.
3(No Transcript)
4(No Transcript)
5Thèmes
- A Choix stratégiques liés au calcul
scientifique de haute performance - B Choix stratégiques liés aux technologies de
Grille. - C Activités en cours à lIDRIS
- Grille de visualisation
- Couplage de codes scientifiques
- Couplage de codes et de services (demo)
6A1. Simulation des systèmes complexes
- The purpose of computation is insight, not
numbers (D. Hemming, 1962) - Toutefois,
- Des quantités importantes de résultats numériques
sont souvent nécessaires pour acquérir une bonne
compréhension dun problème, - Une grande part dintuition est nécessaire pour
savoir quelles données numériques faut-il
calculer - Ce que nous entendons par système complexe
un système caractérisé par un nombre important
déchelles de longueur ou de temps.
7A2. Exemple
Le flot stationnaire dans une conduite nest pas
un système complexe il y a une seule échelle de
longueur.
8A3. Un autre exemple
Les flots turbulents sont des systèmes
complexes. Il y a un très grand
nombre déchelles de longueur pertinentes. Tous
les degrés de liberté, entre lépaisseur du jet
et léchelle de Kolmogorof, jouent un rôle dans
la dynamique turbulente.
9A4. Systèmes complexes homogènes
- Les flots turbulents simples sont un prototype de
système complexe homogène un très grand nombre
de degrés de liberté, mais la même physique
partout dans le système - Ces système demandent des environnements de
calcul très puissants - Le métacomputing traditionnel cherche à les
étaler sur plusieurs plates-formes (plus grande
capacité de calcul et de taille mémoire) - mais cela demande des communications très
performantes entre les plates-formes.
10A5. Systèmes complexes hétérogènes
- Un nombre important de problèmes scientifiques,
industriels, de société, conduisent à des modèles
comportant des composants multiples interagissant
à travers des interfaces - Ce sont des systèmes multi-composant faiblement
couplés, avec une physique différente dans chaque
composant, - Océan-atmosphère, fluides-structures,
molécule-environnement, - Les défis algorithmiques et informatiques posés
par ces systèmes multi-physiques et
multi-échelles, sont aujourdhui à la frontière
des sciences computationnelles - Les applications comportant plusieurs modules
logiciels couplés se projettent très
naturellement sur des grilles de calcul
hétérogènes
11A6. Exemple simulations multi-échelles
Modèle Local Résolution 2 Km
Modèle Global Résolution 60 Km
Couplage du modèle global à un modèle local Ã
placement arbitraire Service ASP pour prédiction
locale à la demande
12A7. Code coupling
Complementary resources computational and
visualization engines, vector and scalar systems,
... The interaction time scale T is much bigger
than the internal evolution time scales
T
A1
A2
Middleware
13A8. IDRIS stratégies
- Attention particulière aux environnements
hétérogènes du calcul intensif de haute
performance - Utilisation des technologies de grilles pour
mettre en place une image unique et un accès
transparent à ces environnements - Mise en place, dans le cadre du projet EUROGRID,
dune grille opérationnelle constituée de
puissantes ressources informatiques (HPC-GRID) - Développement et opération des applications
scientifiques sur HPC-GRID.
14A9. HPC GRID (projet EUROGRID)
CRAY T3E 900 (32 PE) NEC SX4B/2A Linux Cluster (4
PE)
SGI Onix (4 PE) SGI O2000 (128 PE)
FZJ
NEC SX5 (16 PE) SUN E-450 (4 PE)
Linux Intel Cluster (36 PE) CRAY T3E - 600 (512
PE) CRAY T3E - 1200 (512 PE)
CRAY T3E - 1200 (816 PE) FUJITSU VPP300 (8
PE) SGI O2000 (128 PE) SGI O3000 (256 PE)
IBM SP3 (8 PE) NEC SX5 cluster (40 PE) IBM Power4
(256 PE, 1.3 TFLOPS) COMPAQ Linux Cluster (24 PE)
15B1. Le contexte
Plates-formes de calcul
Grappes homogènes, environnements hétérogènes
GLOBUS, Legion, UNICORE
Grille globalisation à grande échelle
Services Web, Calcul réparti
WWW, information et contenu
J2EE, CORBA .NET, P2P
UDDI, WSDL XML - SOAP
Communication, e-mail
TCP-IP, réseaux
16B2. Qoutes from InfoEconomist, Aug 2001
- Web services is about a new programming model
that provides application functions in the form
of a set of services delivered over the Internet.
It will carry out complex, peer to peer
interactions with an unlimited number of
customers and suppliers without the need to
hard code applications or develop transition
layers - Web services means that the application can be in
thousand of companies systems at one time, inside
the firewall, and linked to their own back-end
systems and supply chain systems, - According to Gartner, by the second half of 2002,
75 of entreprises with more than 100 million in
annual revenue will interface with Web services.
By the second half of 2003, 50 of companies with
less than 100 million in revenue will be doing
the same - This requires architecture that is distributed,
multi-tiered and component based.
17B3. Le contexte suite
INTERFACES Services Web
PROGRAMMATION IMPI, J2EE, CORBA, .NET
INTEGRATION ET SERVICES GLOBUS, LEGION,
UNICORE,
PROTOCOLES
RESEAUX, SYSTEMES, PLATES-FORMES
18B4. Applications couplées stratégie
- Nécessité pour les applications destinées à la
production de science de protéger le patrimoine
intellectuel - Restriction à des standards bien établis (si le
hardware spécialisé pour le calcul scientifique
est en voie de disparition, pour- quoi les
technologies logicielles seraient-elles une
exception ?) - Implantation transparente des applications.
Indépendance des langages, systèmes, protocoles,
. Les applications doivent sexécuter sur
nimporte quelle grille hétérogène - Corollaire si possible, lapplication doit être
indépendante des technologies dintégration
sous-jacentes (Globus, Unicore,) - Capacité dintégration des applications
patrimoines monolithiques
19B5. Objets
Exemples Générateur de nombres aléatoires,
système datomes en interaction, Les
interfaces sont les méthodes utilisées pour
accéder aux services de lobjet.
Données Méthodes internes ----------------
---- INTERFACES
20B6. Standards de programmation distribuée
- J2EE lenvironnement dominant basé sur Java
- Interopérabilité assurée par lexécution sur une
machine virtuelle, - Intègre une impressionnante bibliothèque de
classes pour tout faire (GUI, sécurité, bases de
données, ) sauf le calcul performant, - Intègre le premier modèle de composant (EJB), qui
fournit des services système à lapplication
répartie. - CORBA environnement mature (12 ans de
normalisation) et relativement performant - Langage de définition des interfaces (les appels
de fonctions distantes) type C et inspiré de
RPC, - Interopérabilité assurée par projection sur
différents langages (C, C, Java) et portage sur
différents systèmes. - .NET le monde Microsoft.
21Distributed client - server architecture
Local server
Client
Remote server
22B7. CORBA
P Object Reference E P-gt F(a)
remote object
Client stub
Server
skeleton
ORB
ORB
Network
23B8. CORBA (suite)
- Seul standard de programmation répartie - en
dehors de IMPI possédant la performance
acceptable pour le calcul scientifique, et
permettant dintégrer dans une application
répartie lenvironnement patrimoine
(supercalculateurs) - Environnement très riche beaucoup plus quune
simple RPC orientée objet - Client et Serveur sont des rôles
occasionnels et non une propriété définitive de
chaque module logiciel, - Très grande flexibilité dans la mise en uvre
dun serveur (persistance, thread par requête,
thread par client, ), - Support dappels distants imbriqués (permet de
simuler le P2P), - Intercepteurs portables (très importants pour la
sécurité, les contrôles daccès et la
comptabilité), - CCM (modèle de composants).
24C1. Activités à lIDRIS
- Couplage des codes, basé sur les technologies
dobjets distribués (CORBA) en partenariat avec
des équipes dutilisateurs - Validation par lIDRIS - de linteropérabilité
de CORBA avec UNICORE (projet EUROGRID) - UNICORE peut être utilisé tel quel pour
déployer et piloter des applications couplées
avec CORBA. - Intégration des interfaces pour les applications
couplées dans UNICORE (projet EUROGRID) - Vers la e-science couplage dapplications et de
services système de monitoring et steering
sur lInternet, des simulations exécutées dans
un environnement hautement protégé.
25C2. CORBA et FORTRAN
- CORBA na pas de projection FORTRAN .
- Première possibilité génération du code réseau
en C C, édition des liens avec le code
Fortran - Seconde possibilité appels dynamiques sans
génération de code pour les clients - Gilles Grasseau (IDRIS) a dévéloppé une librairie
(FCI) qui permet de faire des appels dynamiques
CORBA Ã partir dun code FORTRAN.
26C3. Applications IDRIS partenariats avec des
utilisateurs
- Structure élastique
- Chocs hydrodynamiques, génération déléments
chimiques primordiaux - Modèle hydrologique de lAfrique occidentale
- Rayonnement thermique, génération des polluants
- Mouvement Brownien généré par lenvironnement
- Flot turbulent
- Gravité à N corps
- Modèle atmosphérique régional
- Combustion
- Repliement des macromolécules
-
27C4. Applications Turbulence
- Partenaires A. Hadjadj, A.S.Munroval, D.
Vandromme (CORIA), D. Girou, G. Grasseau (IDRIS) - Trois modules couplés fluide - structure
visualisation - Etat projet terminé
- Les trois modules sexécutent dans HPC-GRID sur
UNICORE, typiquement à Manchester, IDRIS, Julich.
28C5. Applications Cosmologie
- Partenaires J. M. Alimi (LUTH, Meudon), D.
Girou, G. Grasseau (IDRIS) - Trois modules logiciels
- Gravité à N corps,
- Chocs hydrodynamiques et évolution adiabatique du
gaz de baryons, - Procès de refroidissement microscopique des
éléments chimiques primordiaux, - plus un quatrième module (magnétisme) en
gestation. - Etat Projet initial terminé. Déploiement sur
HPC-GRID en cours.
29C6. Aplications Combustion
- Partenaires D.Veynante (coordinateur), S.
Ducruix, O. Gicquel, M. Lecanu (EM2C), D. Girou,
G. Grasseau (IDRIS) - Codes de simulation des flots réactifs, couplés Ã
- La production des espèces chimiques polluantes,
- Lanalyse du rayonnement thermique
- Etat couplage combustion espèces polluantes
très avancé. Couplage au rayonnement prévu en mai
-juin.
30C7. Applications Environnement
- Partenaires
- Laboratoire des transferts en hydrologie et
environnement, Grenoble (Ch. Messager,
coordinateur), - Laboratoire Hydrosciences, Montpellier,
- IDRIS
- Trois modules MAR (modèle atmosphérique
régional), ABC (modèle hydrologique), interfaces
(végétation, couches du sol). Simulation des
cycles atmosphériques et hydrologiques en Afrique
Occidentale - Etat parallélisation du code hydrologique par
threads (IDRIS), développement du modèle
dinterfaces (LTHE), intégration CORBA prévue en
juin.
31C8. Applications Supercoiled DNA (VA, IDRIS)
- Worm-like chains of elastic segments with torsion
are good models for large scale dynamics of
macromolecules - Brownian motion must be added to describe hidden,
fast, degrees of freedom - Obtaining the Brownian displacements at each
time step constitute today s computational
bottleneck.
32C9. Supercoiled DNA software
Vector platform
Scalar platform
CORBA threads
Thread pool for Brownian displacement factory.
Molecular dynamics thread pool
Prototype software up and running.
33C10. Grille de visualisation
IMAGES
Serveur de fichiers
34C11. Couplage dapplications et de services
- Objectif projection sur lInternet des
simulations effectuées dans les environnements
protégés des centres nationaux - Applications
- Systèmes daide à la décision (masquer
lutilisation dun supercalculateur), - Suivi et pilotage des simulations longues Ã
laide dordinateurs personnels, - Mode ASP les utilisateurs se connectent à une
application et non à un centre de ressources. - Prototype opérationnel à lIDRIS.
35Internet enabled simulations three tier
architecture. J2EE CORBA technologies
Firewall
Gateway
Business logic layer EJB server
Presentation layer Java CORBA clients
Back end layer
36C12. ASP software architecture
Server
Event Channel
Event Server
Proxy to Server
GATEWAY
Application
CORBA thread
Application thread
37C13. Modèle de sécurité initial (JAAS)
CLIENT
GATEWAY
Sujet authentifié
Subject.doAs()
SERVEUR
Intercepteurs CORBA (logs, comptabilité)
38Perspectives
- Les grilles sont susceptibles dapporter des
percées technologiques importantes dans certains
secteurs du calcul de haute performance, et du
traitement massif de linformation - Révolution ? Pas encore Où sont les killer
applications ? - Le développement dapplications est aussi
important que la mise en place de services de
base - Il y a, dans ce secteur, un énorme espace de
liberté pour linnovation.