Description de l'application Climat pour LEGO - Eric Maisonnave, Cerfacs RØunion LEGO, Toulouse, 18/05/2006
←
→
Transcription du contenu de la page
Si votre navigateur ne rend pas la page correctement, lisez s'il vous plaît le contenu de la page ci-dessous
Description de l'application Climat pour LEGO Eric Maisonnave, Cerfacs Réunion LEGO, Toulouse, 18/05/2006
Plan 1. Une grille pour faire quoi ? 2. Le modèle couplé 3. Pré et post traitement 4. Etat des lieux Réunion LEGO, Toulouse, 18/05/2006
Transport de l'énergie: Equateur -> pôles Réunion LEGO, Toulouse, 18/05/2006
L'étude du réchauffement climatique Réunion LEGO, Toulouse, 18/05/2006
Supercalculateurs Puissance des processeurs: simulations longues (1000 ans) Large bande passante: haute résolution Réunion LEGO, Toulouse, 18/05/2006
Grille Nombre de processeurs: étude de paramètrisation, simulations indépendantes simultanées (ensemble) Réunion LEGO, Toulouse, 18/05/2006
Supercalculateur / Grille 1950 2100 2250 2400 2550 1950-2100 Réunion LEGO, Toulouse, 18/05/2006
Notre expérience E X P 1 Scénario E R I E N C E 1950-2000 2000-2100 Contrôle Scénario 40 jours / 8 processeurs Réunion LEGO, Toulouse, 18/05/2006
Utiliser une grille pour une expérience d'ensemble Grâce à la grille , produire un grand nombre de scénarios pour tester la sensibilité des résultats à la paramétrisation du modèle Réunion LEGO, Toulouse, 18/05/2006
Plan 1. Une grille pour faire quoi ? 2. Le modèle couplé 3. Pré et Post traitement 4. Etat des lieux Réunion LEGO, Toulouse, 18/05/2006
Scénario 1950-2000 2000-2100 Contrôle Scénario Réunion LEGO, Toulouse, 18/05/2006
Scénario 1800 simulations mensuelles Réunion LEGO, Toulouse, 18/05/2006
Simulation mensuelle Prétraitement Simulation couplée Post-traitement Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée Modèles utilisés ARPEGE v4.5 TRIP Oasis v3 OPA v9 + LIM Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée Caractéristiques communes: Fortran ~90 G95 LAM-MPI Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée ARPEGE : Action de Recherche Petite Echelle Grande Echelle Modélisation des écoulements atmosphériques (dynamique) Rayonnement, nuages Modèle de sol Taille du code: 2.500 fichiers, 600.000 lignes de code Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée Pas de temps : 20 minutes Etat initial mensuel Diagnostics journaliers Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée Température moyenne océan-glace Albédo Courants Flux de chaleur Pluie & trop plein réservoirs terrestres Tensions de vent Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée OASIS ARPEGE OPA TRIP Total 4 processeurs CPU (sec) 200 1500/p 1500 200 7900 Elapsed (min) 3 25 25 3 25 Mémoire max (Mo) 350 200/p 600 20 600 Mémoire statique (Mo) 2.8 153 562 1.5 720 Entrées (Mo) 170 2 190 1 360 Sorties (Mo) 3 190 130 1 320 Echanges MPI (Mo) 240 62 136 40 240 Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée OPA : Océan Parallélisé Modélisation des écoulements océanique (dynamique) Traceurs actifs: température et salinité Modèle de glace de mer (Université Louvain la Neuve) Taille du code: 230 fichiers, 100.000 lignes de code Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée Pas de temps : 1h20 Etat initial mensuel Diagnostics mensuels Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée Flux de chaleur Pluie & débits fleuves Tensions de vent Température moyenne océan-glace Albédo Courants Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée TRIP : Total Runoff Integrating Pathways Modélisation des écoulements fluviaux Taille du code: 50 fichiers, 3.200 lignes de code Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée OASIS : Coupleur de code Redistribue les exé sur les processeurs alloués (LAM-MPI) Assure la synchronisation des échanges ARPEGE-OPA-TRIP Interpole les champs échangés d'un maillage à l'autre Taille du code: 220 fichiers, 45.000 lignes de code Réunion LEGO, Toulouse, 18/05/2006
Simulation couplée OASIS ARPEGE OPA TRIP Total 4 processeurs CPU (sec) 200 1500/p 1500 200 7900 Elapsed (min) 3 25 25 3 25 Mémoire max (Mo) 350 200/p 600 20 600 Mémoire statique (Mo) 2.8 153 562 1.5 720 Entrées (Mo) 170 2 190 1 360 Sorties (Mo) 3 190 130 1 320 Echanges MPI (Mo) 240 62 136 40 240 Réunion LEGO, Toulouse, 18/05/2006
Sur la Grille x10 x1800 Réunion LEGO, Toulouse, 18/05/2006
Plan 1. Une grille pour faire quoi ? 2. Le modèle couplé 3. Pré et Post traitement 4. Etat des lieux Réunion LEGO, Toulouse, 18/05/2006
Prétraitement Opération 1: Copie des fichiers d'entrée Opération 1.1: fichiers décrivant l'état initial du modèle (changent chaque mois) Les exécutables fortran qui constituent le coeur de la simulation ont besoin de fichiers d'entrée de fichiers de contraintes +OPA, exécutables restart.trip pour TRIP, (toujours plusieurs types: fichier décrivant l'état initial du modèle (ICMSH0123INIT pour ARPEGE, lespour mêmes) restart.nc et restart_ice_in.nc pour atm.nc, ocean.nc et trip.nc OASIS), fichiers de contraintes (conditions aux limites, concentrations de certains gaz, fichiers de paramètres (modifiés chaque mois) Volume des fichiers : 100 Mo (états initiaux) + ~300 Mo (contraintes) Où retrouver les fichiers d'entrée issus de la simulation mensuelle précédente ? Réunion LEGO, Toulouse, 18/05/2006
Prétraitement Opération 2: Modif des fichiers de paramètres Opération 1.1: Changement des paramètres temporels (dépendent du mois) Les exécutables fortran qui constituent le coeur de la simulation ont besoin de fichiers d'entrée de Changement restart.nc etdes paramètres physiques (dépendent ocean.nc et trip.nc pourdu scénario) plusieurs types: fichier décrivant l'état initial du modèle (ICMSH0123INIT pour ARPEGE, restart_ice_in.nc pour OPA, restart.trip pour TRIP, atm.nc, OASIS), fichiers de contraintes (conditions aux limites, concentrations de certains gaz, Fichiers ASCII Réunion LEGO, Toulouse, 18/05/2006
Prétraitement Opération 3: Fusion fichiers entrée - contraintes Opération 1.1: Exécutables fortran Les exécutables fortran qui constituent le coeur de la simulation ont besoin de fichiers d'entrée de Fusion du fichier d'entrée pour OPA,atmosphérique (dépend plusieurs types: fichier décrivant l'état initial du modèle (ICMSH0123INIT pour ARPEGE, du mois) restart.nc et restart_ice_in.nc restart.trip pour TRIP, atm.nc, ocean.nc et trip.nc pour OASIS), fichiers de contraintes (conditions aux limites, concentrations de certains gaz, avec les fichiers de contraintes (dépendent du scénario) Fichiers binaires, opération rapide Réunion LEGO, Toulouse, 18/05/2006
Sur la Grille Stock de 400 Mo /scénar Transférer l'état initial ? Réunion LEGO, Toulouse, 18/05/2006
Post-traitement Opération 1: Conversion de format des diags ARPEGE Opération 1.1: Les exécutables fortran qui constituent le coeur de la simulation ont besoin de fichiers d'entrée de plusieurs types: fichier décrivant l'état initial du modèle (ICMSH0123INIT pour ARPEGE, Exécutables fortran après chaque simulation mensuelle restart.nc et restart_ice_in.nc pour OPA, restart.trip pour TRIP, atm.nc, ocean.nc et trip.nc pour OASIS), fichiers de contraintes (conditions aux limites, concentrations de certains gaz, Supprime les diags inutiles à notre étude Durée: 1 minute elapsed, 500 Mo d'I/O Réunion LEGO, Toulouse, 18/05/2006
Post-traitement Opération 2: Réduction des données Opération 1.1: Exécutables fortran après chaque simulation mensuelle Les exécutables fortran qui constituent le coeur de la simulation ont besoin de fichiers d'entrée de Réalise des restart.ncmoyennes spatiales surTRIP,des régions plusieurs types: fichier décrivant l'état initial du modèle (ICMSH0123INIT pour ARPEGE, clefs et restart_ice_in.nc pour OPA, restart.trip pour atm.nc, ocean.nc et trip.nc pour OASIS), fichiers de contraintes (conditions aux limites, concentrations de certains gaz, Entrée: 500 Mo, Sortie: qq Ko (sauvage !) Réunion LEGO, Toulouse, 18/05/2006
Post-traitement Opération 3 (?): Réduction des données Opération 1.1: Exécutables fortran toutes les 180 simulations mensuelles Les exécutables fortran qui constituent le coeur de la simulation ont besoin de fichiers d'entrée de Réalise des restart.ncdécompositions en vecteurs pour TRIP, atm.nc,propres plusieurs types: fichier décrivant l'état initial du modèle (ICMSH0123INIT pour ARPEGE, (rapide) et restart_ice_in.nc pour OPA, restart.trip ocean.nc et trip.nc pour OASIS), fichiers de contraintes (conditions aux limites, concentrations de certains gaz, Permet de réduire le volume de sortie d'un facteur 7 ? Le décompactage se fait au labo (rapide) Nécessite que 9 Go de données transite sur le réseau Grid5000 Entrée: 9 Go, Sortie: 1.2Go Réunion LEGO, Toulouse, 18/05/2006
Post-traitement Opération Finale : relance & rapatriement Opération 1.1: script deLesre-soumission Batch exécutables fortran qui constituent le coeur de la simulation ont besoin de fichiers d'entrée de sauvegarde des fichiers pour d'entrée deTRIP,laatm.nc, simulation plusieurs types: fichier décrivant l'état initial du modèle (ICMSH0123INIT pour ARPEGE, ! restart.nc et restart_ice_in.nc OPA, restart.trip pour ocean.nc et trip.nc pour OASIS), fichiers de contraintes (conditions aux limites, concentrations de certains gaz, mensuelle suivante ? rapatriement des données vers le labo " nécessite qu'au plus 12 Go de données transite sur le réseau # Réunion LEGO, Toulouse, 18/05/2006
Stockage sur la Grille Option ''sauvage'' : au max, 500 Mo x 10 $ restart OPA transféré % x 10 x 1800 qq Mo en sortie & de Grid5000 Réunion LEGO, Toulouse, 18/05/2006
Stockage sur la Grille Option ''élaborée'' : au max, 10 Go x 10 ' diags de sortie transitent ( également par le réseau (90 Go / scénario) 12 Go en sortie ) de Grid5000 / scénario Réunion LEGO, Toulouse, 18/05/2006
Plan 1. Une grille pour faire quoi ? 2. Le modèle couplé 3. Pré et Post traitement 4. Etat des lieux Réunion LEGO, Toulouse, 18/05/2006
Déjà fait Physique du modèle * Modèle couplé G95, FEDORA 3 + Tests sur FEDORA4ALL , Développement routine décompression EOF - et tests jeux de données océaniques Réunion LEGO, Toulouse, 18/05/2006
The model DOES have a promising ENSO Premiers résultats Nino3 index nouveau modèle couplé Réunion LEGO, Toulouse, 18/05/2006
Reste à faire Finaliser le document de description D1 . Mettre au point le modèle FEDORA4ALL D2 / Choisir une option de post traitement 0 Réunion LEGO, Toulouse, 18/05/2006
je vous présente l'application que le Cerfacs a proposé dans le cadre du projet LEGO Il s'agit simplement tirer le meilleur parti d'une grille comme Grid5000 pour faire une simulation de climat
Avant de décrire le fonctionnement en détail de l'application, dire quel type d'application pour les grilles, décrire l'expérience que l'on veut faire. Finir par faire le point sur ce qui a été fait.
L'énergie du soleil arrive principalement au tropiques. Elle est advectée, diffusée vers les pôles, via l'océan et l'atmosphère. Comment se fait se transfert ? Sur quels modes de variabilité naturelle ? (pourquoi étés plus chauds, régions plus pluvieuses, moussons, elnino, tempêtes) Les préoccupations de l'équipe de recherche dans laquelle je travaille
Réchauffement des températures globales extrèmement rapide observé c'est également une problématique étudiée au Cerfacs (détection, attribution, impact)
on utilise la puissance des processeurs des supercalculateurs (VPP Fujitsu, NEC SX) pour réaliser des simulations longues (1000 ans) On utilise les réseaux rapides entre processeurs pour faire du message passing (code parallèles) et augmenter la résolution des maillages.
On va se servir des propriétés des grilles pour attaquer un autre type de problème: l'étude de paramètre On se sert du grand nombre de processeurs pour lancer beaucoup de simulations indépendantes entre elles, en même temps (impossible sur super calculateurs à cause des restrictions sur le nombre de travaux par utilisateur)
Donc la relative lenteur des processeurs de grille est compensée par leur nombre. Supposons qu'une même simulation de 150 ans va 5 fois plus vite sur supercalculateur que sur grille, si on a 5x plus de processeurs, on va aussi vite. MAIS il faut que, sur la grille, le démarrage d'une simul ne dépende pas de l'état final d'une autre simulation Le rapport (à la louche) est de 1/100 entre Grid5000 et Earth Simulator (1/16 entre ES et NEC, ¼ entre VPP et CRAY XD1) -100 procs pour la config Locean (sur 5000 ES)
L'expérience pour LEGO est donc une simulation d'ensemble (plusieurs simulations indépendantes entre elles) On choisit le thème scientifique particulier du scénario climatique. On simule 150 ans du climat, une dizaine de fois, chaque fois différent par un paramètre physique de l'atmosphère. On appelle expérience les 10 simulations de 150 ans et improprement « scénario » une de ces 10 simulations: 10, ce serait déjà 10x plus que les expériences précédentes au Cerfacs.
De quoi est constituée une simulation de scénario de 150 ans, comment la fait-on ? Le coeur de notre application , c'est le modèle couplé océan-atmosphère, dont je vais décrire le principe et les caractéristiques techniques Dans le point 3, je décrirai ce que l'on fait avant et après l'utilisation des modèles
Si je reprends mon schéma d'un scénario, il est en fait constitué ...
Chaque scénario de 150 ans est composé de 1800 simulations mensuelles, qui constituent chacune une unité de base qui sera soumise au système de batch OAR. Ces simulations de bases sont séquentielles (les sorties d'une simulation mensuelle constituent les entrées de la simulation suivante) mais utilisent plusieurs processeurs (trois modèles et le coupleur fonctionnent simultanément). On découpe pour checkpoint et pour faciliter la gestion des fichiers de sortie.
Pratiquement, c'est un script Unix, qui se décompose en 3 morceaux: Prepro, simul couplée par Oasis proprement dite, postpro Je reviendrai sur le pré et le post traitement.
3 modèles et un coupleur (4 executables) modèles de circulation générale (sur tout le globe)
Ce sont des exécutables mono processeurs sauf Arpege sur 4 procs qui communiquent entre eux via lam-mpi g95 choisi sur Grid 5000 (+15% CPU)
Atmosphère: Météo France & centre européen, multi utilisé et reconnu dans la communauté internationale Pour la prévi du temps comme pour le climat Modélisation des écoulements atmosphériques, nuages, certaines propriétés de sol code difficilement manipulable (pas de makefile jusqu'à il y a peu)
Propriétés de l'atmosphère discrétisées sur la grille ci-dessus Pas de temps : 20 minutes Lit un état initial, produit un état final permettant de caractériser l'atmosphère (format propriétaire) Diag du modèle format propriétaire, tous les 48 pas de temps Tous les jours, chaque 36 pas de temps, échanges de champs de couplage ...
Envoi et reçoit des champs d'Oasis via bibliothèque de routines implémentées dans le code Arpege et encapsulant appels MPI_recv et MPI_send
OASIS ARPEGE OPA TRIP Total 4 processeurs CPU (sec) 200 1500/p 1500 200 7900 Elapsed (min) 25 25 25 Mémoire max (Mo) 350 200/p 600 20 600 Mémoire statique (Mo) 2.8 153 562 1.5 720 Entrées (Mo) 170 190 360 Sorties (Mo) 190 130 320 Echanges MPI (Mo) 240 62 136 40 240 240 Mo toutes les minutes elapsed ne doivent pas stresser le réseau d'une machine et même de Grid5000 (Renater3) ?
Océan: CNRS (Locean, Jussieu). Utilisé en Europe dans beaucoup de modèle de climat (5 ingé sur le maintien du code) Pour la prévi opérationnelle comme pour le climat Bien ré-écrit il y a 2 ans
Propriétés de l'atmosphère discrétisées sur la grille ci-dessus Pas de temps : 1h 20 Lit un état initial, produit un état final permettant de caractériser l'océan (format Netcdf) Diag du modèle format netcdf, tous les mois Tous les jours, chaque 18 pas de temps, échanges de champs de couplage ...
Envoi et reçois des champs d'Oasis via bibliothèque de routines implémentées dans le code Arpege et encapsulant appels MPI_Get et MPI_Put Les même mais inversés sauf ecoulements car Trop plein des réservoirs de surface d'ARPEGE est envoyé à TRIP qui calcule un débit à l'embouchure des fleuves qui est à son tour passé à OPA
TRIP code léger
Il existe des états initiaux et finaux des champs de couplage (netcdf) Pas de diags
OASIS ARPEGE OPA TRIP Total 4 processeurs CPU (sec) 200 1500/p 1500 200 7900 Elapsed (min) 25 25 25 Mémoire max (Mo) 350 200/p 600 20 600 Mémoire statique (Mo) 2.8 153 562 1.5 720 Entrées (Mo) 170 190 360 Sorties (Mo) 190 130 320 Echanges MPI (Mo) 240 62 136 40 240 Ce sont les chiffres pour CRAY XD1 atmosphere gourmande en CPU ocean en taille mémoire 700 Mo doivent se trouver sur les machine pour chaque scénario
Ce qui nous donnerait sur la grille, si on s'en tient à la config « tout le modèle couplé sur une même machine » : X simulations mensuelles tournant ensemble (idéalement 10 ou plus), pendant 30-45 minutes sur 8 processeurs, produisant 320 Mo à la fin (avant postprocessing) , et se répétant 1800 fois
Dans le point 3, je décrirai ce que l'on fait avant et après l'utilisation des modèles
Opération 1.1: contraintes :conditions aux limites, concentrations de certains gaz, bathymétrie, orographie, etc ...
Opération 1.1: contraintes :conditions aux limites, concentrations de certains gaz, bathymétrie, orographie, etc ...
Opération 1.1: contraintes :conditions aux limites, concentrations de certains gaz, bathymétrie, orographie, etc ...
Ce qui nous donnerait sur la grille: 400 Mo stockés en permanence sur chaque machine Les fichiers d'entrées (qui changent tous les mois) devraient soit transiter par le réseau, soit être stockés sur la machine accueillant le scénario
Opération 1.1:
Opération 1.1: Forme très sauvage de réduction de données. Utilise le package Statpack, développé par Pascal Terray (LOCEAN) dont on va également se servir dans l'opération suivante (peut utiliser OPEN MP)
Opération 1.1: Forme plus douce de réduction de données. Permet de garder plus de chose pour de futures analyses auxquelles on a pas encore penser mais qui peuvent surgir au fil du dépouillement des résultats
Opération 1.1: Rapatriement final: (liaison Renater 1Mo/s). On peut envisager de déclencher cette opération à chaque fin d'opération 3.
Ce qui nous donnerait sur la grille: 500 Mo stockés en permanence sur chaque machine Transferts des fichiers d'entrée seulement à travers le réseau seuls quelques diags 1D sont sauvés, rapatriement Renater rapide
Problème + intéressant de gestion de flux de données
Pour terminer, rapidement, car je suis en retard Ce qui est fait depuis le début du projet
1ere version du modèle couplé OASIS totalement gratuit
Vous pouvez aussi lire