C. Loomis (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 2 février 2007 Soumission de jobs C. Loomis (LAL-Orsay) Tutorial EGEE Utilisateur (LAL) 2 février 2007
Agenda Grille EGEE : grand système de batch Job Description Language (JDL) Commandes
Workload Mgt. System (WMS) 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 RB (Resource Broker) : le broker des ressources de la grille, responsable de trouver les « meilleures » ressources où soumettre les jobs. LB (Logging and Bookeeping) : stocke les infos concernant le job pour des requêtes utilisateurs. 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 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
Commandes sur une UI edg-job-submit (glite-job-submit) Soumets un job Retourne le jobID edg-job-status (glite-job-status) Donne le statut du job edg-job-get-output (glite-job-output) Récupère les fichiers spécifiés dans l’attribut OutputSandbox edg-job-cancel (glite-job-cancel) Annule un job edg-job-list-match (glite-job-list-match) Liste les ressources compatible avec la description du job Effectue le matchmaking sans soumettre le job edg-job-logging-info (glite-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) Très utile pour débuguer
Exemplaire 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 » dans une syntaxe « 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
Les attributs JDL Job Ressources Défini le job lui-même pris en compte par le RB et utilisé par l’algorithme de matchmaking ressources de calcul ressources de données et de stockage
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
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 Rank exprime la préférence (comment ranger les ressources qui ont déjà rempli les conditions de l’attributs Requirements)
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 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 RB 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
Recapitulation Le WMS fonctionne comme un grand système de batch Le RB est le composant principal du WMS. Son rôle est de trouver la meilleure ressource avec les contraints (Requirements et Rank) données par l’utilisateur Il utilise le système d’information, SRM (stockage), etc. Un nouveau WMS va fournir plus : « Bulk » soumission Jobs avec les paramètres Meilleur performance Pas la seule solution : Autres brokers comme GridWay, DIRAC, … « Workflow managers » comme TAVERNA, MOTEUR, …