Soumission de jobs C. Loomis / M. Jouvin (LAL-Orsay)

Slides:



Advertisements
Présentations similaires
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Data management David Bouvet IN2P3-CC Clermont.
Advertisements

EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Soumission de jobs David Bouvet IN2P3-CC.
EGEE-II INFSO-RI Enabling Grids for E-sciencE EGEE and gLite are registered trademarks Quelques commandes de la grille David Bouvet.
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.
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.
Nombre de job slot par machine Server_priv/node. Node1 np=2 Règle de 1 core = 1 job slot = 2 Go. Sur un bi-processeur bi-core on annonce alors np=4 Pas.
Fabio HERNANDEZ Responsable Grid Computing Centre de Calcul de l'IN2P3 - Lyon Lyon, 30 avril 2004 Déploiement LCG-2 au CC-IN2P3 Etat d’avancement.
Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
Quattor Status Guillaume PHILIPPON. Résumé EMI 2 / 3 DPM Changement de nom de profile SPMA 3 Aquillon Stratuslab Organisation de la communauté Quattor.
GCstar Gestionnaire de collections personnelles Christian Jodar (Tian)
LES FONCTIONS D'UN SYSTEME D'EXPLOITATION ● Le système d'exploitation contrôle entièrement les ressources matérielles locales. ● Il est responsable de.
Le système Raid 5 Table des matières Qu'est ce que le RAID ? Les objectifs Le raid 5 Les avantages et les inconvénients Les composants d’un Raid.
INFSO-RI Enabling Grids for E-sciencE Les projets EGEE et LCG C. Loomis (LAL-Orsay) EGEE Tutorial (Marseille) 3-4 octobre 2006.
EGEE is a project funded by the European Union under contract IST Soumission de jobs Tutorial Grille (LCG/EGEE) E.Fede (CNRS/IN2P3/LAPP)
Michel Jouvin LAL/Orsay
Mesure SAP Guide rapide pour réaliser une mesure de système
Javadoc et débogueur Semaine 03 Version A17.
Introduction aux grilles de calcul et au projet EGI
Principes de programmation (suite)
Profils d’emplois JT du 24 septembre 2001
Chapitre 12 Surveillance des ressources et des performances
GENIUS – GANGA Alternative à la CLI
C. Loomis (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 2 février 2007
Soumission de jobs Tutorial Grille (LCG/EGEE)
GRIF : Grille pour la Recherche en
Etat des services grid de production
12 mars 2004, Lyon Reunion CAF F.Chollet 1
Surveillance des services grille par NAGIOS
Pierre Girard LCG-France Tier
Fonctionnement de la grille
Soumission de jobs de calcul
Etat des lieux des VO Boxes LHC
David Bouvet, David Weissenbach Observatoire de Meudon, 01-02/02/2011
Initiation à l'infrastructure
Introduction à OJS Utilisé pour Naviguer sur OJS
Déploiement d’un LCG CE
Statut du T2 Île de France
Daniel JOUVENOT Laboratoire de l’Accélérateur Linéaire (LAL–ORSAY)
CeMEB La plateforme MBB
David Bouvet IN2P3-CC Annecy - 27/09/2007
Formation et tutorial DIRAC
David Bouvet LCG France T2 T3 – LPNHE
JJS (Java Job Submission) Soumission de jobs sur grille
Auteurs : David Bouvet, David Weissenbach
Tutorial Utilisateurs EGEE
CeMEB La plateforme MBB
CREAM-CE et SGE.
Chapitre 7 Configuration de l'environnement du bureau
Exercices: Système d’Information
Atelier régulation de la production dans un contexte grille
Windows Server 2012 Objectifs
Programmation en C++ C++ de base
Comparaison RB et gLite WMS
Tutorial Utilisateurs EGEE
Infrastructure Opérationnelle d’EGEE
“Laisser sa trace dans un fichier”
Introduction à la Grille
Support de formation Administrateur Temps & activités
Transition vers l’assignation automatique des stages à la résidence
Prévention de désastre et récupération
Middleware : Status et Evolution
Infrastructure Opérationnelle d’EGEE2
Michel Jouvin Comité des utilisateurs 14 Mai 2007
LUSTRE Integration to SRM
Intégration GRIF Michel Jouvin Comité Technique GRIF 28 Novembre 2005.
TP N°1 : GUI en NetBeans Module R & C Université de Jijel
Transcription de la présentation:

Soumission de jobs C. Loomis / M. Jouvin (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 5 Juin 2008

Agenda Les différents composants de la gestion de jobs Les principales commandes Job Description Language (JDL) Soumission de Jobs

Workload Management System Essaie d’optimiser l’utilisation des ressources et d’exécuter les jobs des utilisateurs le plus rapidement possible Est composé des noeuds suivants : UI (User Interface) : point d’accès pour les utilisateurs WMS : le broker des ressources de la grille, responsable de trouver les « meilleures » ressources où soumettre les jobs. Anciennement appelé RB (Resource Broker) LB (Logging and Bookeeping) : stocke les infos concernant les états successifs. BDII (Information Index) : un serveur LDAP qui collecte les informations concernant les ressources grille. Il est utilisé par le RB pour sélectionner les ressources Soumission de Jobs

Soumission d’un job Site 1 Information Replica Catalog Catalogs System User Interface Resource Broker Information System Replica Catalogs 1. submit 2. query 3. query 4. submit 5. retrieve 6. retrieve publish status User Interface Catalog Storage Element Computing Site 1 Site 2 0. create proxy Soumission de Jobs

L’Interface Utilisateur UI : machine “en dehors” de la grille qui contient les outils pour interagir avec la grille Acquérir un proxy Soumission et gestion des jobs Transfert et gestion des données Soumission de jobs : transition entre 2 générations de RB/WMS gLite WMS : le service de production, déployé depuis 6 mois Commandes : glite-wms-job-xxx LCG RB : le plus déployé actuellement, peu de fonctionnalités avancées, performances limitées, en voie de disparition Commandes : edg-job-xxx Commandes incompatibles Les options sont généralement les mêmes (sauf nouveautés) Commandes glite-job-xxx ne sont plus supportées Soumission de Jobs

Principales Commandes glite-wms-job-submit [-d|-a] (edg-job-submit) Soumets un job Retourne le jobID glite-wms-job-status (edg-job-status) Donne le statut du job glite-wms-job-output (edg-job-get-output) Récupère les fichiers spécifiés dans l’attribut OutputSandbox glite-wms-job-cancel (edg-job-cancel) Annule un job Glite-wms-job-delegation-proxy –d identifier Crée un delegation proxy à utiliser lors du submit glite-wms-job-list-match (edg-job-list-match) Liste les ressources compatible avec la description du job Effectue le matchmaking sans soumettre le job glite-wms-job-logging-info (edg-job-get-logging-info) Donne des informations de logging sur les jobs soumis (tout les événements répertoriés par les divers composants du WMS) API C, C++ et Java disponibles pour toutes ces fonctions Soumission de Jobs

La Soumission Les commandes de soumission utilisent un fichier de description de job (JDL) On ne soumet pas directement son programme L’application peut être préinstallée sur la grille La soumission retourne un job identifier Indispensable de le conserver pour pouvoir récupérer des informations et les résultats Option –o permet de l’écrire dans un fichier Utiliser l’option –i dans les autres commandes Le fichier peut contenir une liste de jobid (pas écrasé à chaque fois) Proxy delegation (WMS) : nécessaire pour interagir avec le WMS (WMProxy) Automatique : option –a, effectuée lors soumission Explicite : glite-wms-job-delegate-proxy + -d à la soumission Plus performant si on soumet plusieurs jobs Soumission de Jobs

Suivi du Job et Résultats Pendant le job, on peut suivre son exécution avec la commande glite-wms-job-status Utiliser l’option ‘–i jobids_file’ si le jobid enregistré dans un fichier (-o lors de la soumission) On peut utiliser ‘watch –n seconds..’ pour avoir un suivi “temps réel” Attention à ne pas utiliser des intervalles trop courts (minimum 30s) Ne pas utiliser pour des jobs longs ou pour un grand nombre de jobs ‘—all’ permet de voir le status de tous les jobs de l’utilisateur Récupération du status détaillé : glite-wms-job-logging-info [-v 2] Récupération des résultats (stdout/stderr, output sandbox) : glite-wms-job-output A l’initiative de l’utilisateur Conservé environ 3 semaines sur le RB/WMS Soumission de Jobs

Exemple d’un fichier JDL JDL : Job Description Language le programme et ses arguments les fichiers d’entrés et de sorties les « Requirements » et « Rank » Utilise une syntaxe «Condor ClassAd » Executable = “gridTest”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = {“/home/joda/test/gridTest”}; OutputSandbox = {“stderr.log”, “stdout.log”}; InputData = “lfn:testbed0-00019”; DataAccessProtocol = “gridftp”; Requirements = other.Architecture==“INTEL” && other.OpSys==“LINUX” && other.FreeCpus >=4; Rank = “other.GlueHostBenchmarkSF00”; attribut job attribut données attributs ressources Soumission de Jobs

Les attributs JDL Job Ressources Défini le job lui-même pris en compte par le WMS et utilisé par l’algorithme de matchmaking ressources de calcul ressources de données et de stockage Soumission de Jobs

La définition des jobs Executable (obligatoire) Arguments (optionnel) le nom de la commande Arguments (optionnel) arguments de la ligne de commande du job StdInput, StdOutput, StdError (optionnel) standard input/output/error du job Environment (optionnel) liste de variables d’environnement InputSandbox (optionnel) liste de fichiers sur le disque local de l’UI nécessaire lors de l’exécution du job les fichiers listés sont envoyés depuis l’UI sur le CE OutputSandbox (optionnel) liste des fichiers, générés par le job, qui seront récupérés Taille maximum généralement limitée à 10 ou 100 MB Soumission de Jobs

Attributs pour les ressources Requirements besoin du job en ressource de calcul spécifié en utilisant les attributs des ressources publiées dans le système d’information si non spécifié, la valeur par défaut définie dans le fichier de configuration de l’UI est considérée LCG CE : ne sont pas passés au batch scheduler Rank exprime la préférence (comment classer les ressources qui ont rempli les conditions de l’attributs Requirements) Soumission de Jobs

Attributs pour les données InputData (optionnel) Fait référence aux données utilisées en entrée d’un job : ces données sont publiées dans le catalogue LFC et stockées sur un SE PFN et/ou LFN A ne pas confondre avec l’input sandbox… DataAccessProtocol (obligatoire si InputData specifié) Le protocole ou la liste des protocoles avec lesquels l’application est susceptible d’accéder aux InputData sur un SE donné OutputSE (optionnel) Le hostname du SE sur lequel sera copié OutputData Le WMS utilise cet attribut pour choisir un CE qui est compatible avec le job et proche du SE (notion de closeSE) OutputData (optionnel) Données en sortie qui seront enregistrées à la fin du job A ne pas confondre avec l’output sandbox… Soumission de Jobs

Job Collections But : faire une seule soumission pour plusieurs jobs Collection arbitraire : 1 JDL par job Option ‘--collection directory’ DAG (Direct Acyclic Graph) : enchainement de jobs Option ‘--dag directory’ Jobs paramétriques : 1 job avec plusieurs valeurs pour 1 paramètre Obsolète : remplacé par les job collections Pour DAG et collections, le répertoire contient le JDL des sous-jobs Paramètre ‘JDL file’ ne doit pas être utilisé Un seul job id pour l’ensemble des jobs permettant de vérifier le status, récupérer les outputs, arrêter… Output : 1 répertoire par sous-job + 1 fichier ids_nodes.map décrivant l’association entre les sous-jobs et les répertoires Status de la collection reflète celui de l’ensemble des jobs Soumission de Jobs

Job Perusal But : permettre d’examiner les fichiers produits par un job pendant son exécution Peut s’appliquer à tout fichier Requiert 2 lignes supplémentaires dans le JDL : PerusalFileEnable = true; PerusalTimeInterval = 120; # In seconds, not too low Définition et récupération des fichiers à examiner : glite-wms-job-perusal [--set|--get|--unset] –f file jobid --set définit les fichiers à examiner --get récupère la différence avec la version précédente --all force la récupération de tous les fichiers --nodisplay stocke le fichier plutot que de l’afficher --unset : annule l’examen (la récupération périodique) du fichier A utiliser avec modération : peut avoir un impact important sur les performance du WMS Soumission de Jobs

Lcg-ManageVOTag –host CE –vo voname … VO Software Area Chaque VO dispose d’un espace spécifique pour installer ses applications sur un CE Espace partagé par le CE et ses WNs Référencé à travers une variable d’environnement : VO_VONAME_SW_DIR VONAME est le nom de la VO avec les ‘.’ remplacés par des ‘_’ Droit d’écriture restreint au seul VO Software Manager Accessible en lecture à tout le monde (toutes les VOs) Software Manager définit avec un rôle VOMS (au choix de la VO) Mise à jour de la SW area effectuée en soumettant des jobs avec le rôle Software Manager Contenu de la SW area peut être publié en définissant des tags depuis 1 UI ou 1 WN (job) Lcg-ManageVOTag –host CE –vo voname … Soumission de Jobs

Conclusions Le grille fonctionne comme un grand système de batch Le composant principal est le WMS. Son rôle est de trouver la meilleure ressource à partir des contraintes (Requirements et Rank) données par l’utilisateur Il utilise le système d’information, SRM (stockage), etc. Un nouveau WMS est en cours de déploiement : « Bulk » soumission Jobs paramètriques, job collections, DAG jobs… Swallow resubmission, Fuzzy Ranking… VOMS proxy renewal (y compris les attributs VOMS) Performance très supérieure au LCG RB (> 20 kjobs/jour/WMS) Pas la seule solution : Autres brokers comme GridWay, DIRAC, PanDA… « Workflow managers » comme TAVERNA, MOTEUR, … Soumission de Jobs