Projet d’Assimilation par Logiciel Multiméthode 22 Octobre 2001 Projet d’Assimilation par Logiciel Multiméthode Comment structurer et gérer un projet de calcul à hautes performances Andrea Piacentini et le groupe - CERFACS
Le contexte La mission de MERCATOR consiste à développer et progressivement mettre en place dans les prochaines années une capacité opérationnelle d'analyse et prévision de l'océan global. Il s'agit d'être capable de décrire et prévoir l'état de l'océan à tout instant (en temps réel), dans tout son volume (de la surface jusqu'au fond et tout autour du globe) et aux différentes échelles qui le caractérisent (des grandes échelles planétaires aux phénomènes tourbillonnaires).
Le contexte Implémentation temps-réel
Le contexte Etape 1 : Janvier 2001 : exploitation du premier prototype Mercator (PSY1). Le prototype PSY1 inaugure la filière "routine temps réel" de MERCATOR avec un premier bulletin le 17 janvier 2001, et un rythme d'exploitation hebdomadaire tout au long de l'année, modèle de l'Atlantique Nord et Tropical de moyenne résolution (1/3°) assimilant les données altimétriques et in situ, acquiert en routine temps réel toutes les observations océaniques disponibles et assure donc sur la base de ces observations un monitoring de l'océan global Analyse et prévision à moyenne résolution (1/3°) sur l'Atlantique Nord et Tropical Acquisition des Observations sur l'Océan Global
Le contexte Etape 2 : Janvier 2002 : exploitation du deuxième prototype Mercator (PSY2). Le prototype PSY2 inaugure la filière "haute résolution" de MERCATOR dans les mers européennes, met en œuvre en routine temps réel un modèle de l'Atlantique Nord et de la Méditerranée à haute résolution (1/15°) assimilant les données altimétriques et in situ, et élabore donc sur cette base des analyses et des prévisions de l'état tridimensionnel de l'océan dans ces régions. acquiert en routine temps réel les observations altimétriques et In Situ sur l'Océan Global, et les combine pour générer une analyse tridimensionnelle. Analyse et prévision à haute résolution (1/15°) sur l'Atlantique Nord et la Méditerranée Analyse à base d'Observations sur l'Océan Global
Le contexte Etape 3 : Janvier 2003 : exploitation du troisième prototype Mercator (PSY3). Le prototype PSY3 inaugure la filière "GODAE" de MERCATOR, met en œuvre en routine temps réel un modèle de l'Atlantique Nord et de la Méditerranée à haute résolution (1/15°) assimilant les données altimétriques et in situ, met en œuvre en routine temps réel un modèle de l'Océan Global à moyenne résolution (1/4°) assimilant les données altimétriques et in situ, et élabore donc sur cette base des analyses et des prévisions de l'état tridimensionnel de l'océan dans ces régions. Analyse et prévision à haute résolution (1/15°) sur l'Atlantique Nord et la Méditerranée Analyse et prévision à moyenne résolution (1/4°) sur l'Océan Global
Le contexte Les "gens de la mer" Les "gens de science" Quel courant fera-t-il demain ? Les "gens de science" Comment fonctionne la "machine océan" ? Tourbillons dans l'Atlantique nord-est (Crédits SHOM) La prévision de la houle permet de dimensionner les digues pour minimiser l'agitation de la mer dans un port. (Crédits ACRI) Les "gens du climat" Que nous réserve la saison prochaine ? Les "gens du côtier" D'où viennent ces eaux qui baignent nos côtes ?
Le contexte
L’assimilation
L’assimilation Méthodes 3D Méthodes 4D Corriger la prévision précédente à l’aide des observations avant d’effectuer la prévision suivante. Détermination de la meilleure condition initiale pour la prévision. Méthodes 3D Correction de l’état du système à chaque observation. Observations Prévision Analyse temps Prochaine C.I. Méthodes 4D Correction de la condition initiale pour déterminer la trajectoire optimale sur la fenêtre d’assimilation. temps
L’assimilation MINIMISER J = || x – xb ||P-1 + ||H(x)-y0||R-1 y = H(x) xb ébauche H opérateur d’observation xti+1 = M(xti) M modèle d’évolution MINIMISER J = || x – xb ||P-1 + ||H(x)-y0||R-1 P et R statistiques d’erreur temps Analyse (condition initiale optimale) xa
L’assimilation Le besoin de MERCATOR: le découplage
La solution: confier le développement d’un coupleur ad hoc au CERFACS La genèse La solution: confier le développement d’un coupleur ad hoc au CERFACS Le CERFACS (Centre Européen de Recherche et Formation Avancee en Calcul Scientifique - http://www.cerfacs.fr) est parmi les principaux laboratoires de recherche et de formation au monde travaillant sur des problèmes de calcul scientifique de grande dimension. Créée en 1990, l’équipe "Climate Modelling and Global Change" (http://www.cerfacs.fr/globc)est aujourd’hui mondialement reconnue, dans les domaines de la modélisation du climat, de la prévision saisonnière et de l’assimilation de données. Parmi ses principales réalisations figure le coupleur OASIS utilisé dans les principaux centres de recherche climatique pour le couplage océan - atmosphère
ROJET D' SSIMILATION PAR OGICIEL ULTI-METHODES La genèse Ainsi est né ROJET D' SSIMILATION PAR OGICIEL ULTI-METHODES
Les phases Nomenclature projet CNES : phase 0 : définition phase A : étude de faisabilité revue de fin de phase A : décision de faisabilité phase B : prototypage revue(s) de phase B : adéquation des prototypes phase C : réalisation définitive phase D : exploitation (pré-)opérationnelle Exploitation expérimentale des prototypes
Phase 0 En 1996 Définition du cahier de charges de PALM Contraintes : Flexibilité Performances Calendrier MERCATOR
Phase A En 1997 2 volets : faisabilité théorique : modularité des applications réutilisation des composantes échanges entre composantes faisabilité technique : revue des possibilités dimensionnement du problème simulation des performances, évaluation du surcoût (2.5%)
Fin de Phase A Revue de projet à l’issue de la phase A : production de documents et présentation au groupe de revue FEPS : Fiches d’Évaluation des Problèmes Soulevés d-revue : réponses au FEPS et compléments d’information A la fin de la revue : premier site web avec tous les documents produits et les résultats du simulateur de performances article sur le formalisme PALM (Lagarde, Piacentini, Thual; A new representation of data-assimilation methods: The PALM flow-charting approach; Q.J.R.M.S 2001, 127, pp. 189-207) Définition complète du coupleur PALM
Les critères Flexibilité Performances modularité des applications conception portabilité du logiciel PALM implémentation Performances parallélisme communications à hautes performances
Modularité Formalisme « flux de données » décomposition en unités échanges d'objets enchaînement d'unités
Modularité Formalisme « flux de données » décomposition en unités échanges d'objets enchaînement d'unités Séparation physique / algorithme interfaces « end points » dans les unités information complémentaire dans la description de l'algorithme indépendance unités / algorithme interchangeabilité réutilisation séparation entre physique et algèbre
Modularité Formalisme « flux de données » décomposition en unités échanges d'objets enchaînement d'unités Séparation physique / algorithme interfaces « end points » dans les unités information complémentaire dans la description de l'algorithme Même code avec plusieurs rôles Indépendance de codage entre unités approche MPMD = Multiple Programs Multiple Data c.a.d. les unités sont implémentees comme codes exécutables indépendance unités / algorithme interchangeabilité réutilisation séparation entre physique et algèbre
Modularité Formalisme « flux de données » décomposition en unités échanges d'objets enchaînement d'unités Séparation physique / algorithme interfaces « end points » dans les unités information complémentaire dans la description de l'algorithme Même code avec plusieurs rôles Indépendance de codage entre unités approche MPMD = Multiple Programs Multiple Data c.a.d. les unités sont implémentees comme codes exécutables indépendance unités / algorithme Boite à outils d'algèbre opérations algébriques de base solveurs d'équations linéaires solveurs de problèmes de valeurs propres et de décomposition en valeurs singulières minimiseurs routines de statistiques procédures de tests utiles en assimilation de donnes procédures définies par l'utilisateur interchangeabilité réutilisation séparation entre physique et algèbre
Parallélisme Deux niveaux de parallélisme Branches de calcul Unités distribuées Optimisation : ensemble d'unités qui partagent un espace mémoire commun (dans un contexte SPMD)
Implémentation Portabilité Interfaces avec codes Fortran (77 et 90), C, C++ PALM écrit avec des langages standard (C, F90) Contexte UNIX Mécanismes de communication standard (MPI, MPI2) Appel à bibliothèques d'algèbre largement diffusées
Implémentation Communications à hautes performances Accès au mécanismes hardware cross bar pour Fujitsu VPP Sx-gmem pour NEC Sx via implémentations propriétaires de MPI via couches optimisées (layered implementation de PALM)
Phase B De 1998 à 2001 Stratégie de prototypage : MPI2 non disponible : prototype SPMD (MPI1), version définitive MPMD lisibilité : prototype F90, version définitive C algèbre : basée sur des librairies largement diffusées applications test : thèse de Thierry Lagarde (nouvelles méthodes parallèles) thèse de Sébastien Massart (assimilation en chimie atmosphérique) thèse de Patrick Vidard (contrôle de l’erreur modèle) Prototype SYstème MERCATOR stages
Le prototype en Phase B Couplage dynamique: lancement et terminaison run-time des composantes émulés en SPMD Monitorage postmortem (film) Enchaînement dynamique des composantes avec exécutions conditionnelles. Plusieurs séquences de contrôle s’exécutant en parallèle Paradigme parallèle SPMD Communications entre tous les processus, directes si possible (im) Interface « end points »; échanges asynchrones Echanges d’objets distribués; jusqu’à 7 dim plus le temps Boîte à outils algébrique
La gestion en Phase B Gestion technique : une norme de codage F90, F77, C, Tcl entêtes commentaires noms des variables auto-explicatifs un outil de génération automatique de documentation : ProDOC à partir des commentaires à la norme PALM produit du LaTeX, du postscript et du html; 4 niveaux de verbosité gestion des sources sous CVS tests et benchs sur le plus grand nombre possible de machines
La gestion en Phase B Gestion des ressources : répartition des tâches prise en compte des motivations prise en compte des compétences prise en compte de la disponibilité durée des contrats ?
La gestion en Phase B transmission de l’information réunions périodiques avec compte rendu site web avec intranet technical notes le phasage et le calendrier outil tpass de suivi des tâches
La gestion en Phase B Gestion des collaborations : répartition des tâches problèmes “politiques” protocole d’accord suivi et visites
La gestion en Phase B Gestion de la diffusion et de l’assistance utilisateurs : politique de diffusion releasing site web publique documentation tutorials et formation mailing lists (palm, palmhelp) F.A.Q. retour d’expérience et bugs
La gestion en Phase B Gestion de la recherche associée : à travers les applications thèse de Thierry Lagarde (nouvelles méthodes parallèles) thèse de Sébastien Massart (assimilation en chimie atmosphérique) thèse de Patrick Vidard (contrôle de l’erreur modèle) activités en assimilation de données de l’équipe Global Change à travers le développement stage de Charles Martin sur les descripteurs d’objets distribués et sur l’implémentation de l’algèbre parallèle stage de Jean Tshimanga sur le choix de minimiseurs adaptés aux problèmes d’assimilation de données océanique
Phase C Depuis juillet 2001 transition progressive des ressources du développement du prototype à celui de la version définitive tirer profit de l’expérience acquise avec le prototype redéfinition et redistribution des tâches nouvelle documentation politique de diffusion à rediscuter garantir l’évolutivité et la maintenance du code garantir la permanence du groupe de travail implication plus importante dans la recherche associée
Pour plus d’informations http://www.cerfacs.fr/~palm