Job Soumission Emmanuel Medernach Yannick Legr CNRSIN2P3 - PowerPoint PPT Presentation

1 / 40
About This Presentation
Title:

Job Soumission Emmanuel Medernach Yannick Legr CNRSIN2P3

Description:

Pr sentation faite partir des transparents de Fokke Dijkstra et Eric Fede (CNRS/IN2P3) ... Annule le job. edg-job-status. Affiche l' tat du job. edg-job-get-output. R cup re le ... – PowerPoint PPT presentation

Number of Views:68
Avg rating:3.0/5.0
Slides: 41
Provided by: Fab172
Category:

less

Transcript and Presenter's Notes

Title: Job Soumission Emmanuel Medernach Yannick Legr CNRSIN2P3


1
Job Soumission Emmanuel Medernach Yannick
Legré (CNRS/IN2P3)
Cours ISIMA 3ème année F5 4 janvier 2005
www.eu-egee.org
Présentation faite à partir des transparents de
Fokke Dijkstra et Eric Fede (CNRS/IN2P3)
EGEE is a project funded by the European Union
under contract IST-2003-508833
2
Plan
  • Ordonnanceur de taches (Workload Management
    System)
  • Soumission de Job sur EGEE (LCG, Nordu grid)
  • Le cycle de vie du job
  • Préparation dun job
  • Exemple de base
  • Langage de description des jobs (JDL)
  • Job soumission et contrôle
  • Autres fonctions et divers

3
Le WMS
  • Les utilisateurs soumettent leur jobs via le
    Workload Management System
  • Le but du WMS est dordonnancer, distribuer et
    manager les ressources dune 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 doptimiser lutilisation des
    ressources de la grille ainsi que dexécuter les
    jobs aussi vite que possible

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

5
Job Submission Scenario (1/10)
Replica Location Service (RLS)
Information System (IS)
Resource Broker (RB)
Storage Element (SE)
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
6
Job Submission Scenario (2/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
Resource Broker (RB)
Storage Element (SE)
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
7
Job Submission Scenario (3/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
Resource Broker (RB)
Storage Element (SE)
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
8
Job Submission Scenario (4/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
waiting
Resource Broker (RB)
Storage Element (SE)
Job Status
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
9
Job Submission Scenario (5/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
waiting
ready
scheduled
Resource Broker (RB)
Storage Element (SE)
BrokerInfo
Job Status
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
10
Job Submission Scenario (6/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
waiting
ready
scheduled
Resource Broker (RB)
Storage Element (SE)
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
11
Job Submission Scenario (7/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
waiting
ready
scheduled
Resource Broker (RB)
Storage Element (SE)
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
12
Job Submission Scenario (8/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
waiting
ready
scheduled
Resource Broker (RB)
running
Storage Element (SE)
Logging Bookkeeping (LB)
Job Submission Service (JSS)
Computing Element (CE)
13
Job Submission Scenario (9/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
waiting
ready
scheduled
Resource Broker (RB)
running
Storage Element (SE)
done
Logging Bookkeeping (LB)
Job Submission Service (JSS)
outputready
Output Sandbox
Computing Element (CE)
14
Job Submission Scenario (10/10)
Job Status
submitted
Replica Location Service (RLS)
Information System (IS)
waiting
ready
scheduled
Output Sandbox
Resource Broker (RB)
running
Storage Element (SE)
Job Status
done
Logging Bookkeeping (LB)
Job Submission Service (JSS)
outputready
Computing Element (CE)
cleared
15
Préparation dun 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
  • Portable autant que possible
  • Sans liens absolus, path spécifiques et autres
    liens  rigides  ( comme le fait dutiliser
    HOME dans le  code )
  • Avoir des données dentrée (pas obligatoire)

16
Comment faire un Job Description
  • Version minimale ( helloworld.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/echoArguments
BonjourStdError stderr.logStdOutput
stdout.logOutputSandbox stderr.log,
stdout.log
17
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 LB 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
  • Le système retourne le nom dun répertoire
    temporaire (sur lUI) ou se trouvent nos fichiers
    de sortie

18
La soumission
  • fokke_at_mu7 hello grid-proxy-init
  • Your identity /Odutchgrid/Ousers/Osara/CNFokk
    e Dijkstra
  • Enter GRID pass phrase for this identity
  • Creating proxy ...................................
    .. Done
  • Your proxy is valid until Tue Jun 1 221146
    2004
  • fokke_at_mu7 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
  • - https//mu3.matrix.sara.nl9000/Nz6PWWJCjtT7YY3
    PJWDu5Q

JobId
19
Connaître le statut
  • fokke_at_mu7 hello edg-job-status
    https//mu3.matrix.sara.nl9000/Nz6PWWJCjtT7YY3PJW
    Du5Q

  • BOOKKEEPING INFORMATION
  • Status info for the Job https//mu3.matrix.sara.
    nl9000/Nz6PWWJCjtT7YY3PJWDu5Q
  • Current Status Done (Success)
  • Exit code 0
  • Status Reason Job terminated successfully
  • Destination mu6.matrix.sara.nl2119/jobman
    ager-pbs-long
  • reached on Tue Jun 1 081425 2004


20
Récupérer les sorties
  • fokke_at_mu7 hello edg-job-get-output
    https//mu3.matrix.sara.nl9000/Nz6PWWJCjtT7YY3PJW
    Du5Q
  • Retrieving files from host mu3.matrix.sara.nl (
    for https//mu3.matrix.sara.nl9000/Nz6PWWJCjtT7YY
    3PJWDu5Q )

  • JOB GET OUTPUT OUTCOME
  • Output sandbox files for the job
  • - https//mu3.matrix.sara.nl9000/Nz6PWWJCjtT7YY3
    PJWDu5Q
  • have been successfully retrieved and stored in
    the directory
  • /tmp/jobOutput/fokke_Nz6PWWJCjtT7YY3PJWDu5Q

  • fokke_at_mu7 hello cat /tmp/jobOutput/fokke_Nz6PWW
    JCjtT7YY3PJWDu5Q/std.out
  • Goede Morgen

21
Job Description Language (JDL)
  • Basé sur Condors CLASSified ADvertisement
    language (ClassAd).
  • ClassAd est un langage extensible.
  • Construit sur des séquences dattributs.

Executable /bin/echoArguments
BonjourStdError stderr.logStdOutput
stdout.logOutputSandbox stderr.log,
stdout.log
22
Différents types dattributs
  • Deux grandes catégories dattributs
  • Ceux concernant le job
  • Définissent le job lui-même.
  • Ceux concernant les ressources
  • Utilisés par lordonnanceur (RB) pour définir la
    ressource utilisée pour lexécution du job.
  • Permettent de définir les caractéristiques de
    calcul requises
  • Utilisées par lutilisateur pour construire des
    demandes précises ( librairies disponibles,etc )
  • Ces attributs sont définis à laide 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,

23
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é à lenvironnement
    dexécution.
  • InputSandbox (option)
  • Liste des fichiers se trouvant sur lUI 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 loutput sandbox

24
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 dinformation de la
    grille.
  • Sils ne sont pas définis dans le JDL, ce sont
    les valeurs définies par défaut dans lUI qui
    sont utilisées
  • Default other.GlueCEStateStatus "Production"
    (Les ressources utilisables devront absolument
    présenter lattribut demandé)
  • Rank
  • Cest une préférence, concernant lordre de
    rangement des ressources qui remplissent les
     requirements 
  • Si non spécifié, utilise la valeur définie sur
    lUI
  • Default - other.GlueCEStateFreeCPUs (le plus
    grand nombre de CPU libres)

25
Attributs de données
  • InputData (option)
  • Fait référence 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 lapplication pour
    accéder aux INPUTDATA.
  • OutputData (option)
  • Fait référence aux données de sorties qui seront
    récupérables

26
Exemple de fichier JDL
  • Executable gridTest
  • StdError stderr.log
  • StdOutput stdout.log
  • InputSandbox /home/joda/test/gridTest
  • OutputSandbox stderr.log, stdout.log
  • InputData lfntestbed0-00019
  • DataAccessProtocol gridftp
  • Requirements other.ArchitectureINTEL \
    other.OpSysLINUX other.FreeCpus gt4
  • Rank other.GlueHostBenchmarkSF00

27
Commande de Job Soumission
  • edg-job-submit r ltres_idgt -c ltconfig filegt
    -o ltoutput filegt --vo ltVO namegt ltjob.jdlgt
  • -r le job est directement envoyé par le RB sur le
    CE identifié par ltres_idgt
  • -c utilise le fichier de configuration ltconfig
    filegt afin de surcharger les valeurs par défaut
    de lUI
  • -o renvoi lidentifiant de job dans ltoutput
    filegt
  • --vo la virtual organization sous laquelle le job
    doit être exécuté

28
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
    lordonnancement 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 debuging.

29
Configuration dune UI
  • Les valeurs définissant une User Interface
    peuvent être modifiées par lutilisateur si la
    configuration par défaut nest pas satisfaisante
  • Les principales caractéristiques dune UI sont
  • RB(s)
  • Liste des ressource broker qui seront utilisés.
  • Default JDL Requirements
  • other.GlueCEStateStatus "Production"
  • Default JDL Rank
  • other.GlueCEStateFreeCPUs
  • Virtual Organisation par défaut
  • Quelle VO sera utilisé par défaut.

30
Le système dordonnancement
  • Lordonnanceur (RB) est le cur 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 dinformation.
  • Le CE choisi par le RB doit remplir les
    conditions requises par le job (environnement
    dexécution, accès aux données,)
  • Si plus de un CE satisfait les contraintes, cest
    celui proposant la meilleure condition pour le
    requirement rank qui est choisi.

31
Soumission de job
  • Trois familles de scénarios sont possibles.
  • En utilisant le Ressources Broker, cest à dire
    en excluant le cas ou lon soumet le job
    directement au job manager dun site.
  • Scénario 1 Soumission directe
  • Le job est directement soumis à un CE particulier
    (spécifié par le paramètre r de la commande
    edg-job-submit).
  • Le RB neffectue aucune recherche de ressources.
  • Peut générer des erreurs si on utilise lattribut
    InputData.
  • Lutilisateur est responsable de la cohérence de
    son job.

32
Job Soumission, sans InputData
  • Scénario 2 Soumission de job sans Requirements
    liés aux données
  • Aucun CE ni données en entrées (input data) sont
    précisés
  • Le RB utilise lalgorithme de recherche de
    ressources qui comporte deux phases
  • Le RB contacte le système dinformation afin de
    déterminer quels CE peuvent satisfaire les
    demandes.
  • Si plus de deux sont proposés alors on utilise
    lattribut rank pour faire le choix.

33
Job soumission avec des données sur la grille
  • Scénario 3 Le CE nest pas spécifié et lon a
    des données en entrée
  • Le RB contacte 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ù lutilisateur a le droit de soumettre
    ces jobs.
  • Les SE qui ont été déterminés 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

34
Erreurs de commande sur UI
  • Les commandes utilisables aux niveaux de lUI
    acceptent de nombreux paramètres, les erreurs
    associées sont
  • Argument is not allowed (Largument est
    inconnu)
  • Argument must be specified at the end of the
    command (on a oublié le fichier JDL ou bien
    lidentifiant 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 ltfull hostnamegtltport
    numbergt/jobmanager-ltservicegt. The provided CEID
    http//lx01.absolute.com10854/jobmanager has a
    wrong format. (le format de description du CE est
    mauvais)

35
Erreurs de RB
  • Lors des appels au RB deux erreurs sont
    possible
  • Resource Broker grid013g.cnaf.infn.it7771 not
    available (la connexion au service du RB nest
    pas possible, de nombreuses causes sont
    possibles)
  • Unable to get LB address from RB
    grid013g.cnaf.infn.it (Le RB nest pas capable
    de donner l'adresse du service de LB associé)

36
Erreurs de fichiers JDL
  • Lorsque les commandes de lUI 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 ny pas de valeur par défaut)
  • Mandatory Attribute missing in JDL file
    Executable (lexécutable nest pas défini)
  • Multiple InputSandbox attribute found in JDL
    file (lattribut InputSandbox est multiple)

37
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 lutilisation dun serveur de
    proxy. La procédure pour utiliser ce serveur est
  • Créer un proxy
  • grid-proxy-init
  • Enregistrer ce proxy dans le serveur de proxy
    MyProxy
  • myproxy-init s ltservergt -t ltcredgt -c ltproxygt
  • server nom du serveur de proxy
  • cred nombre dheures durant lesquelles le proxy
    reste valide dans le serveur
  • proxy durée de vie des proxy renouvelés
  • grid-proxy-init hours lthoursgt command
  • Le proxy est AUTOMATIQUEMENT renouvelé par le WMS
    sans intervention de lutilisateur

38
Job de type MPI
  • LCG-2
  • Support limité
  • Quelques sites peuvent tourner des jobs de type
    MPI
  • JobType
  • JobTypeMPICH
  • NodeNumber 8
  • Rajouter MPICH comme requirement

39
Autres types de Jobs
  • Intéractif
  • StdOutput, StdInput et StdError sont renvoyés à
    lutilisateur
  • A travers X windows

40
Informations utiles
  • The LCG-2 User Guide
  • https//edms.cern.ch/file/454439/1/LCG-2-UserGui
    de.pdf
  • ClassAd https//www.cs.wisc.edu/condor/classad
Write a Comment
User Comments (0)
About PowerShow.com