Eddy Caron Join work with Bruno Bzeznik (IMAG), Ibrahima Cissé (SysFera), Benjamin Depardon (SysFera), Hubert Gallée (LGGE), Hakim Majidi (LGGE), Laurence Viry (UJF) Ecole Normale Supérieure de Lyon AVALON Research Team SysFera D istributed I nteractive E ngineering T oolbox
Contexte Le climat de l’Afrique de l’ouest est piloté par un système de mousson avec une activité dynamique de mai à Septembre Ce cumul étant faible en zone Sahélienne (500 à 600mm), une faible variabilité à la baisse de ce cumul peut entraîner un stress hydrique irréversible pour les cultures et la végétation Quels sont les principaux processus responsables de la variabilité de la mousson ? la température de surface de l’océan, l’albédo,... Quelle est la dynamique spatio-temporelle du système ? Utilisation d’un modèle atmosphérique régional : MAR Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences2
MAR: Modèle Atmosphérique Régional Hydrostatique microphysique nuageuse pronostique paramérisation convection: Bechtold 2002 couplé au svat SISVAT résolution horizontale: dx = 40 km 40 niveaux verticaux, le premier à 10 m MAR AMMA 3Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences
Motivations Analyse de sensibilité spatio-temporelle des sorties du modèle atmosphérique régional MAR à la variabilité spatio-temporelle des entrées. Les techniques classiques sont basées sur des méthodes de Monte-Carlo très couteuse en ressources de calcul. Le nombre de paramètres en entrée comme en sortie est important. On veut récupérer la dynamique spatio-temporelle du système. Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences4
Motivations Modélisation Mathématique Modélisation fonctionnelle des entrées comme des sorties Construction d’ un modèle approché fonctionnel construit sur l’observation des entrées et des sorties (pas de physique), peu couteux en ressources de calcul permettant le calcul des indices de sensibilité (SOBOL). Contexte physique : Paramètres d’entrée du modèle : température de surface de l’océan (SST) Paramètres de sortie du modèle : précipitations Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences5 Température de Surface de l’Océan Précipitations méta-model
Cadre statistique Data : 18 années d’observations R (maillage G ) zone du golf de Guinée : observation de la SST (Sea Surface Temperature) R ' (maillage G’ ) zone Sub-Saharienne : précipitations (sortie du modèle) T période d’observation chaque année (mars à octobre) Méthodologie : Xi := (Xi (x, t ))x ∈ R,t ∈ T trajectoire aléatoire de la SST l’année i Yi := (Yi (x ′, t))x’ ∈ R’,t ∈ T trajectoire aléatoire des précipitations Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences6
Modélisation statistique des entrées/sorties Pour les entrées comme pour les sorties on effectue une décomposition de Karuhnen-Loève (EOF) en chaque point du maillage. On suppose : que le degré de troncature ne dépend pas du point d’espace, la stationnarité spatiale des premières fonctions propres par sous- région Modèle : La région R (resp R ’) est partitionnée en p (resp p') sous-régions R 1,..., R p (resp R 1,...,R p ' ). On choisit x 0,j ∈ R j avec j ∈ {1,...,p}. Pour x ∈ R j on a la décomposition : Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences7
Modélisation statistique des entrées/sorties Résultats : on retient deux fonctions propres pour la décomposition de la SST (resp précipitations), par classification fonctionnelle sur les trajectoires, deux sous- régions satisfaisant l’hypothèse de stationnarité spaciale pour la SST (resp précipitations). Qualité des estimations Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences8
Outline MAR Application Middleware: DIET Targeted platform: CIMENT Implementation Conclusion 9Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences
DIET’s Goals Our goals To develop a toolbox for the deployment of environments using the Application Service Provider (ASP) paradigm with different applications Use as much as possible public domain and standard software To obtain a high performance and scalable environment Implement and validate our more theoretical results Scheduling for heterogeneous platforms, data (re)distribution and replication, performance evaluation, algorithmic for heterogeneous and distributed platforms, … Based on CORBA and our own software developments FAST for performance evaluation, LogService for monitoring, VizDIET for the visualization, GoDIET for the deployment Several applications in different fields (simulation, bioinformatics, …) Release 2.8 available on the web since november ACI Grid ASP, RNTL GASP, ANR LEGO CIGC-05-11, ANR Gwendia, Celtic-plus Project SEED4C Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences10
RPC and Grid-Computing: Grid-RPC One simple idea – Implementing the RPC programming model over the grid – Using resources accessible through the network – Mixed parallelism model (data-parallel model at the server level and task parallelism between the servers) Features needed – Load-balancing (resource localization and performance evaluation, scheduling), – IDL, – Data and replica management, – Security, – Fault-tolerance, – Interoperability with other systems, – … Design of a standard interface – within the OGF (Grid-RPC and SAGA WG) – Existing implementations: NetSolve/GridSolve, Ninf, DIET, OmniRPC Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences11
RPC and Grid Computing: Grid-RPC AGENT(s) S1S2 S3 S4 A, B, C Answer (C) S2 ! Request Op(C, A, B) Client Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences12
Distributed Environment Hierarchical structure Architecture overview Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences13
Client and server interface Client side So easy … Multi-interface (C, C++, Fortran, Java, Python, Scilab, Web, etc.) Grid-RPC compliant Server side Install and submit new server to agent (LA) Problem and parameter description Client IDL transfer from server Dynamic services new service new version security update outdated service Etc. Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences14
Workflow Management Workflow representation Direct Acyclic Graph (DAG) Each vertex is a task Each directed edge represents communication between tasks Goals Build and execute workflows Use different heuristics to solve scheduling problems Extensibility to address multi-workflows submission and large grid platform Manage heterogeneity and variability of environment ANR Gwendia Language definition (MOTEUR & MADAG) Comparison on Grid’5000 vs EGI Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences Idle timeData transfertExecution time EGI (Glite)32.857s s s Grid’5000 (DIET) 0.214s s s 15
DIET Scheduling: Plug-in Schedulers SeD level Performance estimation function Estimation Metric Vector - dynamic collection of performance estimation values Performance measures available through DIET FAST-NWS performance metrics Time elapsed since the last execution CoRI (Collector of Resource Information) Developer defined values Aggregation Methods Defining mechanism to sort SeD responses: associated with the service and defined at SeD level Tunable comparison/aggregation routines for scheduling Priority Scheduler Performs pairwise server estimation comparisons returning a sorted list of server responses; Can minimize or maximize based on SeD estimations and taking into consideration the order in which the request for those performance estimations was specified at SeD level. Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences16
CoRI-Easy Collector CoRI-Easy Collector FAST Collector FAST Collector CoRI Manager Other Collectors like Ganglia DIET Scheduling: Performance estimation Collector of Resource Information (CoRI) Interface to gather performance information Currently 2 modules available CoRI Easy FAST (Martin Quinson’s PhD) Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences Measured Estimated Max. error: 14,7 % Avg. error: 3,8 % Max. error: 14,7 % Avg. error: 3,8 % Extension for parallel program Code analysis / FAST calls combination Allow the estimation of parallel regular routines (ScaLAPACK-like) 17
Data Management DAGDA Joining task scheduling and data management Standardized through GridRPC OGF WG. Data Arrangement for Grid and Distributed Applications Explicit data replication: Using the API. Implicit data replication. Data replacement algorithm: LRU, LFU AND FIFO Transfer optimization by selecting the more convenient source. Storage resources usage management. Data status backup/restoration. Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences Join work with Gaël LeMahec (UPJV/MIS) 18
Parallel & sequential jobs transparent for the user system dependent submission SeD Batch Many batch systems Batch schedulers behaviour Internal scheduling process Monitoring & Performance prediction Simulation (Simbatch) Parallel and batch submissions Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences19
Conclusions Grid-RPC Interesting approach for several applications Simple, flexible, and efficient Many interesting research issues (scheduling, data management, resource discovery and reservation, deployment, fault-tolerance, …) DIET Scalable, open-source, and multi-application platform Concentration on several issues like resource discovery, scheduling (distributed scheduling and plugin schedulers), deployment (GoDIET and GRUDU), performance evaluation (CoRI), monitoring (LogService and VizDIET), data management and replication (DTM, JuxMem, and DAGDA) Large scale validation on the Grid’5000 platform A middleware designed and tunable for different applications Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences20
Results A complete Middleware for heterogeneous infrastructure DIET is light to use Dedicated to many applications Designed for Grid and Cloud Efficient even in comparison to commercial tools DIET is high tunability middleware Used in production SysFera Compagny (11 persons today) Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences21
Outline MAR Application Middleware: DIET Targeted platform: CIMENT Implementation Conclusion 22Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences
23
Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences24
Outline MAR Application Middleware: DIET Targeted platform: CIMENT Implementation Conclusion 25Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences
Implementation Write the Client and the DIET Server Workflow support Application Deployment Compilation of MAR under differents clusters Foehn Fontaine Nanostar IRODS support CIGRI support Web Portail DIET Webboard (old fashion) Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences26 I found a couple of bugs into the DIET workflow engine Conflict on devel environment between DIET (boost, omniORB, etc.) and MAR (netcdf, ifort, etc.) I don’t want the DIET data manager. I want to use IRODS
CIGRI Cigri is a lightweight grid middleware Runs on top of a set of OAR clusters (OAR may be coupled with another RMS like PBS or SGE) Manages ”best-effort” jobs Manages large set of tasks Cigri v3 is currently under developpment and is supported by Grid'5000 and CIMENT Complete rewrite into Ruby Ability to manage non best-effort, infinite campaigns Will offer a REST API Uses OAR REST API for communication with clusters (no more SSH/SUDO) New ”runner” design : effort to minimize the submission time overhead Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences27 (crédits Bruno Bzeznik)
CIGRI CIGRI, a light middleware Heterogeneous sites use common administrative rules No heavy auhtentication procedure (ldap acount) No centralised application deployment No centralised data management Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences28 CIGRI
Workflow Management designed for MAR XML file to describe the the workflow. Conditional Workflow ($errorCode eq 0) and ($runNumber lt $nbMaxRun) Fault tolerance: Current state of the workflow is saved automatically diet_wf_save_transcript_file(profile, transcriptFileName) ; Automatic besteffort mode management Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences29
iRODS iRODS: Data Grids, Digital Libraries, Persistent Archives, and Real-time Data Systems Distributed storage with iRODS iRODS is a distributed storage management software for grid computing. Used into the CIMENT HPC center and the EGI node (LPSC). CIGRI users are now strongly encouraged to use it for their input/output data and applications deployment. https :// Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences30
IRODS and DIET User puts his datas into iRODS He gets an iRODS identifier (iid) Submits a computing request with iid through the webboard. Algorithm Client sends iid to Worker Worker gets datas from iRODS Worker computes the task with given datas Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences31
DIET Webboard: Connection Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences32
DIET Webboard for MARSimulation Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences33
DIET Webboard: MAR Configuration file Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences34
DIET Webboard: Submission Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences35
DIET Webboard: Jobs summary Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences36
DIET Webboard: Download Manager Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences37
Conclusion Grid deployment of MAR application through DIET CIGRI support iRODS support Webboard designed for application Discussion: Which model for the next application ? Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences38 users Web Portal Middleware Resources Application Who write the dedicated web interface? Who write the DIET client/server? Who manage the infrastructure and upgrade it? Who develop and maintain application?
Outline MAR Application Middleware: DIET Targeted platform: CIMENT Implementation Conclusion 39Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences
Conclusion Technologies are avaible CIGRI, iRODS, DIET, etc. Resources are available A regional Grid More than a regional Grid: A web portal for computing services could be exist… Many projects (ANR, European project, etc.) used founding to buy resources or to buy resources access but nothing is taken into account for the software layer integration. Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences40
Acknowledgment Physicists Team Hubert Gallée (LGGE) Christophe Messager (Ifremer, Brest) Hakim Majidi (LGGE) Statisticians Team Anestis Antoniadis Céline Helbert Clémentine Prieur (INRIA) Laurence Viry (UJF/INRIA) Computer Scientists Team Bruno Bzeznik (IMAG) Eddy Caron (ENS Lyon) Ibrahima Cissé (SysFera) Benjamin Depardon (SysFera) Florent Rochette (ENS Lyon) Laurence Viry (UJF/INRIA) Modélisation atmosphérique dans un environnement de grille de calcul: Retour d'expériences41