Plateforme de Calcul pour les Sciences du Vivant Soumission de jobs sur grille.

Slides:



Advertisements
Présentations similaires
Module 5 : Implémentation de l'impression
Advertisements

Monsieur l'Inspecteur d'Académie et la société PENTILA ont co-signé une convention pour expérimenter le cartable électronique de Savoie (NERO) au niveau.
Le Grid Computing Par Frédéric ARLHAC & Jérôme MATTERA.
APACHE HTTP SERVER Formation TRANSFER ALGER Mai 2002.
User Support Sophie Nicoud DataGrid France – CPPM 22/09/02.
Intégration du système de production LHCb sur la DataGRID V. Garonne, CPPM, Marseille Réunion DataGRID France, 13 fv fév
Formulaire HTML Introduction. Définition de formulaire.
Recherche de similarité de séquences à grande échelle S. Penel, P. Calvat, Y. Cardenas LBBE, CCIN2P3 Calculs BLAST intensifs sur la plateforme TIDRA -
Etude des Technologies du Web services
Module 1 : Préparation de l'administration d'un serveur
EGEE is a project funded by the European Union under contract IST Gestion des données David Bouvet CCIN2P3 Présentation faite à partir des.
Plateforme de Calcul pour les Sciences du Vivant Le Système dInformation de gLite.
1 CLUB DES UTILISATEURS SAS DE QUÉBEC COMMENT TRANSFORMER UN PROGRAMME SAS EN TÂCHE PLANIFIÉE SOUS WINDOWS Présentation de Jacques Pagé STRiCT Technologies.
ASP.NET Par: Hugo St-Louis. C ARACTÉRISTIQUES A SP. NET Évolution, successeur plus flexible quASP (Active Server Pages). Pages web dynamiques permettant.
Module 4 : Création et gestion de comptes d'utilisateur
Création et gestion de comptes d'utilisateur
Manipulation de formulaires en Javascript
Le formulaire Les chaînes de requêtes. Les chaînes de requêtes (QueryStrings) correspondent à des informations associées à l'adresse URL avec un point.
1 Grille de calcul et physique des particules Vincent Garonne CPPM, Marseille Novembre 2003 Contenu de la présentation Etat de lart : Grille de calcul.
Utilisation avancée de linux
8 - XML Cours XML.
Plateforme de Calcul pour les Sciences du Vivant Gestion de données sur EGEE.
© 2008 General Parts International, Inc. Written permission is required to copy or forward to anyone other than the intended recipient. Étapes à suivre.
Les 10 fonctions principales de votre Espace Membre Comment accéder rapidement aux fonctions importantes de votre compte ?
Date : Juillet 2014 Formation : TAI Formateur : Tayeb BENDJELTI
Programmation Système et Réseau (sous Linux)
Techniques Internet de Base Licence 2 (Info, Maths, PC/PA) Université Jean Monnet Ruggero G. PENSA
CENTRALISATION DES CANDIDATS LOCATAIRES
Gérer la sécurité des mots de passe et les ressources
Utilisez LE CLOUD AVEC DROPBOX
Digitaliser des images
La notion de type revisitée en POO
KRIKORIAN Pierre HILMI Brahim
PHP 5° PARTIE : LES COOKIES
JDBC L'API JDBC est utilisée pour utilisée pour intéragir avec une base de données.
Chapitre 6.2 Les curseurs Cours SGBD 3A Mme hkimi Jihène
© Copyright Showeet.com S OCIAL M EDIA T HINKING.
Créer des packages.
Utilisation avancée de linux Réseau Démarrage et arrêt.
Gestion de données : Besoins de la VO Biomed Sorina Pop Laboratoire Creatis Université de Lyon, CREATIS; CNRS UMR5220; Inserm U1044; INSA-Lyon; Université.
Déploiement LCG-2 Etat actuel au CC-IN2P3 Fabio Hernandez Centre de Calcul de l’IN2P3 Lyon, 22 juillet 2004.
Quattor : Opérations Courantes - G. Philippon/M. Jouvin4-5/2/2009Quattor : Opérations Courantes - G. Philippon Opérations courantes.
Lundi 20 avril 2015 JJS (Java Job Submission) Soumission de jobs sur grille Pascal Calvat Centre de calcul IN2P3.
F. Ohlsson-Malek Data GRID/WP6 meeting Lyon, 8 juillet 2002 ATLAS Data-Grid au CERN et au CCin2p3 F. Ohlsson-Malek, ISN-Grenoble et ATLAS-France.
Sample Image 3ème rencontre EGEODE – Villefranche-sur-Mer – 29 May 2009 g-Eclipse avec EGEODE
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Data management David Bouvet IN2P3-CC Clermont.
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Soumission de jobs David Bouvet IN2P3-CC.
Yannick Patois _ Journée du Libre _ 1er Novembre n° 1 Datagrid Une grille de calcul sous Linux Yannick Patois.
OAI-PMH & LOM OAI Repository interoperability using LOM metadata format Interopérabilité des bases de ressources utilisant OAI-PMH et LOM Steve Giraud.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Quelques commandes de la grille David Bouvet.
INFSO-RI Enabling Grids for E-sciencE NA4 test Eric Fede on behalf of the team.
Mardi 31 mai 2016 JJS (Java Job Submission) Soumission de jobs sur grille Pascal Calvat Centre de calcul.
EGEE is a project funded by the European Union under contract IST Job Soumission Eric Fede CPPM Grid Tutorial, Novembre
EGEE is a project funded by the European Union under contract IST Job Soumission N.Lajili Seminaire Grille-21 Novembre
Edit Knoops CPPM 20/01/2009 Enabling Grids for E-sciencE Gestion des données Gestion des jobs Edith Knoops.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Soumission de jobs C. Loomis / M. Jouvin.
EGEE is a project funded by the European Union under contract INFSO-RI Copyright (c) Members of the EGEE Collaboration Infrastructure Overview.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Monitoring dans EGEE Frederic Schaer ( Judit.
INFSO-RI Enabling Grids for E-sciencE Data management Daniel Jouvenot IN2P3-LAL ORSAY - 02/02/2007.
INFSO-RI Enabling Grids for E-sciencE La gestion des données Daniel Jouvenot LAL-IN2P3-CNRS 18/06/2008.
CREAM & ICE Réunion SA1-France 11 mars 2008
EGEE is a project funded by the European Union under contract IST Soumission de jobs Tutorial Grille (LCG/EGEE) E.Fede (CNRS/IN2P3/LAPP)
C. Loomis (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 2 février 2007
Soumission de jobs Tutorial Grille (LCG/EGEE)
Fonctionnement de la grille
Soumission de jobs de calcul
Soumission de jobs C. Loomis / M. Jouvin (LAL-Orsay)
Tutorial Utilisateurs EGEE
Transcription de la présentation:

Plateforme de Calcul pour les Sciences du Vivant Soumission de jobs sur grille

Plateforme de Calcul pour les Sciences du Vivant Plan Ordonnanceur de taches (Workload Management System) Soumission de Job sur EGEE –Le cycle de vie du job –Préparation d’un job –Exemple de base –Langage de description des jobs (JDL) –Job soumission et contrôle –Autres fonctions et divers Commandes de grille

Plateforme de Calcul pour les Sciences du Vivant Le WMS Les utilisateurs soumettent leur jobs via le Workload Management System Le but du WMS est d’ordonnancer, distribuer et manager les ressources d’une grille de calcul. Il permet aux utilisateurs de : –Soumettre leur jobs –Les exécuter –Connaître leurs statuts –Récupérer les sorties Le WMS essaye d’optimiser l’utilisation des ressources de la grille Ainsi que d’exécuter les jobs aussi vite que possible

Plateforme de Calcul pour les Sciences du Vivant Sous-ensembles du WMS Le WMS est composé de différentes parties: 1.User Interface (UI) : point d’entrée pour les utilisateurs 2.Resource Broker (RB) : l’ordonnanceur, responsable de trouver LA meilleure ressource où le job pourra être exécuté 3.Job Submission Service (JSS) : Le système de soumission 4.Information Index (BDII) : Un serveur qui collecte les informations sur l’état de la grille pour approvisionner le RB en information. 5.Logging and Bookkeeping services (LB) : Base de données sur l’état des jobs

Job Submission Scenario UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS)

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Job Submit Event Input Sandbox Job Status submitted Replica Location Service (RLS)

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) Job Status submitted waiting

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) Job Status submitted waiting ready Job Status

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) Job Status submitted waiting ready BrokerInfo scheduled Job Status running

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) Job Status submitted waiting ready scheduled Input Sandbox running

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) Job Status submitted waiting ready scheduled Job Status running

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) submitted waiting ready scheduled running Job Status done Job Status

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) submitted waiting ready scheduled running done Job Status outputready Output Sandbox

A Job Submission Example UI JDL Logging & Bookkeeping (LB) Resource Broker (RB) Job Submission Service (JSS) Storage Element (SE) Computing Element (CE) Information System (IS) Replica Location Service (RLS) Output Sandbox cleared submitted waiting ready scheduled running done Job Status outputready Job Status

Plateforme de Calcul pour les Sciences du Vivant Préparation d’un job Pour pouvoir soumettre un job on doit : –Donner une description de celui-ci  Quel programme?  Quelles données?  Quels softs, quels OS, quels besoins spécifiques –Avoir un programme autant que possible:  Exécutable sur une plate-forme inconnue  Portable autant que possible  Sans liens absolus, path spécifiques et autres liens « rigides » (comme le fait d’utiliser $HOME dans le « code ») –Avoir des données entrantes (pas nécessaires)

Plateforme de Calcul pour les Sciences du Vivant Comment faire un Job Description Version minimale ( mytest.jdl) On spécifie ici : –Le programme et ses arguments –On définie les STDOUT et STDERR –On dit que faire des outputs Executable = “/bin/echo”; Arguments = “Bonjour”; StdError = “stderr.log”; StdOutput = “stdout.log”; OutputSandbox = {“stderr.log”, “stdout.log”};

Plateforme de Calcul pour les Sciences du Vivant Exemple de Job Soumission Créer un proxy : grid-proxy-init –Entrer son mot de passe de certificat –On récupère un proxy Soumet le job: edg-job-submit mytest.jdl Et on récupère du système un identifiant de job unique (JobId) Requête de status : edg-job-status JobId Pour émettre une requête au système de L&B afin de connaître l’état du job Quant le job entre dans l’état “OutputReady” on peut récupérer les output : edg-job-get-output JobId Et le système retourne le nom d’un répertoire temporaire (sur l’UI) ou se trouvent nos fichiers de sortie

Plateforme de Calcul pour les Sciences du Vivant La soumission hello]$ grid-proxy-init Your identity: /O=dutchgrid/O=users/O=sara/CN=Fokke Dijkstra Enter GRID pass phrase for this identity: Creating proxy Done Your proxy is valid until: Tue Jun 1 22:11: hello]$ edg-job-submit mytest.jdl Selected Virtual Organisation name (from UI conf file): tutor Connecting to host mu3.matrix.sara.nl, port 7772 Logging to host mu3.matrix.sara.nl, port 9002 ********************************************************************************************* JOB SUBMIT OUTCOME The job has been successfully submitted to the Network Server. Use edg-job-status command to check job current status. Your job identifier (edg_jobId) is: - ********************************************************************************************* JobId

Plateforme de Calcul pour les Sciences du Vivant Connaître le statut hello]$ edg-job-status ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: mu6.matrix.sara.nl:2119/jobmanager-pbs-long reached on: Tue Jun 1 08:14: *************************************************************

Plateforme de Calcul pour les Sciences du Vivant Récupérer les sorties hello]$ edg-job-get-output Retrieving files from host: mu3.matrix.sara.nl ( for ) ********************************************************************************* JOB GET OUTPUT OUTCOME Output sandbox files for the job: - have been successfully retrieved and stored in the directory: /tmp/jobOutput/fokke_Nz6PWWJCjtT7YY3PJWDu5Q ********************************************************************************* hello]$ cat /tmp/jobOutput/fokke_Nz6PWWJCjtT7YY3PJWDu5Q/std.out Bonjour

Plateforme de Calcul pour les Sciences du Vivant Job Description Language (JDL) Basé sur Condor’s CLASSified ADvertisement language (ClassAd). ClassAd est un langage extensible. Construit sur des séquences d’attributs. Executable = “/bin/echo”; Arguments = “Bonjour”; StdError = “stderr.log”; StdOutput = “stdout.log”; OutputSandbox = {“stderr.log”, “stdout.log”};

Plateforme de Calcul pour les Sciences du Vivant Différents types d’attributs Deux grandes catégories d’attributs: –Ceux concernant le job  Définissent le job lui-même. –Ceux concernant les ressources  Utilisés par l’ordonnanceur (RB) pour définir la ressource utilisée pour l’exécution du job.  Permettent de définir les caractéristiques de calcul requises Utilisées par l’utilisateur pour construire des demandes précises ( librairies disponibles,etc ) Ces attributs sont définis à l’aide du préfixe “other.”  Définissent les caractéristiques liées aux données Ce sont : les données entrantes, l’élément de stockage où les données sont prises ou bien mises, les protocoles,…

Plateforme de Calcul pour les Sciences du Vivant Attributs de jobs Executable (obligatoire) –Le nom de la commande à exécuter. Arguments (option) –Les arguments de la commande à exécuter. StdInput, StdOutput, StdErr (option) –La définition des entrées/sorties/erreurs standards. Environment (option) –Ensemble de valeurs lié à l’environnement d’exécution. InputSandbox (option) –Liste des fichiers se trouvant sur l’UI qui seront transférés avec le job. –Ces fichiers seront copiés sur le CE cible. OutputSandbox (option) –Liste des fichiers générés par le job qui seront accessibles via l’output sandbox

Plateforme de Calcul pour les Sciences du Vivant Attributs de ressources Requirements –Besoins du job vis à vis des ressources de calcul. –Sont spécifiés à partir des attributs qui sont définis dans le système d’information de la grille. –S’ils ne sont pas définis dans le JDL, ce sont les valeurs définies par défaut dans l’UI qui sont utilisées  Default: other.GlueCEStateStatus == "Production" (Les ressources utilisables devront absolument présenter l’attribut demandé) Rank –C’est une préférence, concernant l’ordre de rangement des ressources qui remplissent les « requirements » –Si non spécifié, utilise la valeur définie sur l’UI  Default: - other.GlueCEStateFreeCPUs (le plus grand nombre de CPU libres)

Plateforme de Calcul pour les Sciences du Vivant Attributs de données InputData (option) –Référant aux données utilisées en entrée par le job. –PFNs et/ou LFNs. DataAccessProtocol (seulement si InputData est spécifié) –Le protocole ou la liste de protocoles de communication utilisables par l’application pour accéder aux INPUTDATA. OutputData (option) –Référant aux données de sorties qui seront récupérables

Plateforme de Calcul pour les Sciences du Vivant Exemple de fichier JDL Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/joda/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; InputData = “lfn:testbed ”; DataAccessProtocol = “gridftp”; Requirements = other.Architecture==“INTEL” && \ other.OpSys==“LINUX” && other.FreeCpus >=4; Rank = “other. GlueCEStateFreeCPUs”;

Plateforme de Calcul pour les Sciences du Vivant Commande de Job Soumission edg-job-submit [–r ] [-c ] [-o ] [--vo ] -r le job est directement envoyé par le RB sur le CE identifié par -c utilise le fichier de configuration afin de surcharger les valeurs par défaut de l’UI -o renvoi l’identifiant de job dans --vo la virtual organization sous laquelle le job doit être exécuté

Plateforme de Calcul pour les Sciences du Vivant Autres commandes du WMS UI edg-job-list-match Liste les ressources correspondantes à la description du job. Permet de connaître le résultat de l’ordonnancement sans soumettre le job. edg-job-cancel Annule le job. edg-job-status Affiche l’état du job. edg-job-get-output Récupère le contenu de OutputSandbox edg-job-get-logging-info Affiche des informations sur les diverses états pris par le job tout le long de son existence. Utilisé essentiellement pour le débogage.

Plateforme de Calcul pour les Sciences du Vivant Configuration d’une UI Les valeurs définissant une User Interface peuvent être modifiées par l’utilisateur si la configuration par défaut n’est pas satisfaisante Les principales caractéristiques d’une UI sont: –RB(s)  Liste des ressource broker qui seront utilisés. –Defaut JDL Requirements  other.GlueCEStateStatus == "Production" –Defaut JDL Rank  other.GlueCEStateFreeCPUs; –Virtual Organisation par défaut  Quel VO sera utilisé par défaut.

Plateforme de Calcul pour les Sciences du Vivant Le système d’ordonnancement L’ordonnanceur est le cœur du WMS. Il doit trouver la meilleure ressource où le job sera exécuté. Il interagit avec le système de management des données et le système d’information. Le CE choisi par le RB doit remplir les conditions requises par le job (environnement d’exécution, accès aux données,…) Si plus de un CE satisfait les contraintes, c’est celui proposant la meilleure condition pour le requirement rank qui est choisi.

Plateforme de Calcul pour les Sciences du Vivant Soumission de job Trois familles de scénarios sont possibles. –En utilisant le Ressources Broker, c’est à dire en excluant le cas ou l’on soumet le job directement au job manager d’un site. Scénario 1: Soumission directe  Le job est directement soumis au CE (spécifié par le paramètre –r de la commande edg-job-submit).  Le RB n’effectue aucune recherche de ressources.  Peut ( et généralement c’est le cas) générer des erreurs si on utilise l’attribut InputData.  L’utilisateur est responsable de la cohérence de son job.

Plateforme de Calcul pour les Sciences du Vivant Job Soumission, sans InputData Scénario 2: Soumission de job sans Requirements liés aux données  Aucun CE ni données entrantes ( input data) sont précisés  Le RB utilise l’algorithme de recherche de ressource qui comporte deux phases: Le RB contact le système d’information afin de déterminer quels CE peuvent satisfaire les demandes. Si plus de deux sont proposés alors on utilise l’attribut rank pour faire le choix.

Plateforme de Calcul pour les Sciences du Vivant Job soumission avec des données sur la grille Scénario 3: Le CE n’est pas spécifié et l’on a des données en entrée  Le RB contact le service de management des données afin de déterminer quels SE peuvent satisfaire les besoins (quels SE possèdent les données requises)  Le RB cherche le meilleur compromis (best effort) entre : Les CE où l’utilisateur a le droit de soumettre ces jobs. Les SE qui ont été déterminé préalablement.  La stratégie du RB est de soumettre les jobs au plus près des données.  Les deux phases suivantes sont les mêmes que dans le scénario précédent (uniquement pour les CE qui satisfont les requirements de données) Requirements check Rank computation

Plateforme de Calcul pour les Sciences du Vivant Erreurs de commande sur UI Les commandes utilisables aux niveaux de l’UI acceptent de nombreux paramètres, les erreurs associées sont: Argument * is not allowed (L’argument est inconnu) Argument * must be specified at the end of the command (on a oublié le fichier JDL ou bien l’identifiant du job à la fin de la commande) Argument * is missing for the “—output” option (le paramètre requis par un argument de la commande a été oublié) Argument “-all” cannot be specified with argument “—input” (Certains arguments ne peuvent pas être utilisés simultanément ) CEId format is: ; /jobmanager-. The provided CEID: “ has a wrong format. (le format de description du CE est mauvais)

Plateforme de Calcul pour les Sciences du Vivant Erreurs de RB Lors des appels au RB deux erreurs sont possible: Resource Broker “grid013g.cnaf.infn.it:7771” not available (la connexion au service du RB n’est pas possible, de nombreuses causes sont possibles) Unable to get LB address from RB “grid013g.cnaf.infn.it” (Le RB n’est pas capable de donner l'adresse du service de L&B associé)

Plateforme de Calcul pour les Sciences du Vivant Erreurs de fichiers JDL Lorsque les commandes de l’UI vérifient les fichiers JDL, des erreurs peuvent être signalées: Mandatory Attribute default error in the configuration file “/opt/edg/etc/UI_ConfigENV.cfg” (il n’y pas de valeur par défaut) Mandatory Attribute missing in JDL file “Executable” (l’exécutable n’est pas défini) Multiple “InputSandbox” attribute found in JDL file (l’attribut InputSandbox est multiple)

Plateforme de Calcul pour les Sciences du Vivant Renouvellement de proxy Pourquoi? –Pour éviter les erreurs provoquées par une expiration de proxy. WMS supporte un mécanisme de renouvellement de proxy basé sur l’utilisation d’un serveur de proxy. La procédure pour utiliser ce serveur est: 1.Créer un proxy grid-proxy-init 2.Enregistrer ce proxy dans le serveur de proxy :MyProxy myproxy-init –s [-t -c ] server nom du serveur de proxy cred nombre d’heures durant lesquelles le proxy reste valide dans le serveur proxy durée de vie des proxy renouvelés grid-proxy-init –hours command 3.Le proxy est AUTOMATIQUEMENT renouvelé par le WMS sans intervention de l’utilisateur

Plateforme de Calcul pour les Sciences du Vivant Commandes gLite Création d’un proxy: voms-proxy-init -vo Informations sur le proxy: voms-proxy-info -all Soumission de jobs: glite-wms-job-submit [–r ] [-c ] [-o ] [--vo ] Lister les CE pouvant faire tourner le job: glite-wms-job-list-match

Plateforme de Calcul pour les Sciences du Vivant Commandes gLite Récupérer le status d’un job: glite-wms-job-status [–i ] Annuler un job: glite-wms-job-cancel [–i ] Récupérer le résultat d’un job « done »: glite-wms-job-output [--dir ] [–i ] Retrouver les informations sur les jobs soumis: glite-wms-job-logging-info [–i ]