Job Description Language (JDL)

Slides:



Advertisements
Presentazioni simili
Introduzione alle griglie computazionali - a.a LEZIONE LEZIONE N. 9 WMS (Workload Management Service) JDL (Job Description Language) Matchmaking.
Advertisements

Introduzione Grid1 Introduzione ai Sistemi Grid. Introduzione Grid2 Generalità Un sistema Grid permette allutente di richiedere lesecuzione di un servizio.
FESR Consorzio COMETA Pier Paolo CORSO Giuseppe CASTGLIA Marco CIPOLLA Industry Day Catania, 30 Giugno 2011 Commercial applications.
CNAF 18/11/2004 Federica Fanzago INFN Padova a/grape... BAT... BATMAN...o? M.Corvo, F.Fanzago, N.Smirnov (INFN Padova) + tutte le persone che fanno i test.
FESR Consorzio COMETA - Progetto PI2S2 CORSIKA Domenico Torresi Consorzio Cometa 1st First International Grid School for Industrial.
Martedi 8 novembre 2005 Consorzio COMETA “Progetto PI2S2” FESR 1 Giuseppe Platania - Tutorial per Site Administrator Progetto PI2S2, Messina
Ancora sulla shell. Shell e comandi La shell e' un programma che interpreta i comandi dell'utente. I comandi possono essere dati da terminale, oppure.
TIER-2 E’ stato certificato in sequenza dal –CNAF –Alessandro De Salvo come ATLAS software manager in LCG –LCG group del CERN nella TestZone E’ costituito.
Introduzione ai servizi Grid e relativa sicurezza Università di Catania – Fac. Di Ingegneria Emilio Mastriani– Consorzio COMETA
Bologna Batch System (BBS). BBS e’ un sistema batch basato su Condor. L’utente sottomette i job da una macchina e il sistema li distribuisce sulle altre.
FESR Trinacria Grid Virtual Laboratory JSDL2JDL Converter Marco Pappalardo Annamaria Muoio TriGrid, Consorzio Cometa, INFN sezione di Catania.
Università degli studi di Cagliari Facoltà di Ingegneria Dipartimento di Ingegneria Elettronica Gruppo di Elettromagnetismo Metodo di Progettazione Automatica.
Overview del middleware gLite Guido Cuscela INFN-Bari II Corso di formazione INFN su aspetti pratici dell'integrazione.
IV Corso di formazione INFN per amministratori di siti GRID Tutorial di amministrazione DGAS Giuseppe Patania.
Martedi 8 novembre 2005 Consorzio COMETA “Progetto PI2S2” UNIONE EUROPEA Accesso all’infrastruttura Grid del Consorzio COMETA Grid Open Day alla Facoltà.
FESR Trinacria Grid Virtual Laboratory Porting su grid di *ROSETTA*, un metodo per la predizione di strutture proteiche Giuseppe La Rocca.
JOB MONITORING Donvito Giacinto INFN-Bari. OUTLINE ● Use-case ● Informazioni utilizzate e metodologie di raccolta per il job monitoring ● Informazioni.
Workload Management System (WMS) in gLite Guido Cuscela INFN - Bari II Corso di formazione INFN su aspetti pratici.
FESR Trinacria Grid Virtual Laboratory Workload Management System (WMS) Muoio Annamaria INFN - Catania Primo Workshop TriGrid VL Catania,
Offline Report Finale Grid! I Corso di formazione INFN su aspetti pratici dell'integrazione di applicazioni in GRID Domenico D’Urso Roberto.
FESR Consorzio COMETA - Progetto PI2S2 Job Description Language (JDL) Marcello Iacono Manno Consorzio COMETA Grid Tutorial per.
Script bash I file di comandi in Linux. BASH  Bourne Again Shell  Modalità interattiva o batch (file di comandi)  Ambiente di programmazione “completo”
FESR Catania, Trigrid Open Day, Trinacria Grid Virtual Laboratory PROGETTO “ISOSPIN” Supporters : AnnaMaria Muoio, Marcello IaconoManno.
FESR Consorzio COMETA - Progetto PI2S2 Componenti software della Infrastruttura Alberto Falzone NICE s.r.l.
INTRODUZIONE A MATLAB/OCTAVE MANOLO VENTURIN UNIVERSITÀ DEGLI STUDI DI PADOVA DIP. DI MATEMATICA PURA ED APPLICATA A. A. 2007/2008.
.  I tipi di dati non primitivi sono gli array, le struct e le union.  Gli array sono degli aggregati di variabili dello stesso tipo.  La dichiarazione.
Procedura di certificazione di un sito
Ambienti di Programmazione per il Software di Base
© 2007 SEI-Società Editrice Internazionale, Apogeo
Java World Introduzione.
Procedure per la richiesta di certificazione e per l'autenticazione
Java: concetti e costrutti base
Architettura del Workload Management System e Job Description Language
Introduzione al linguaggio C
Guido Cuscela INFN-Bari
7. Strutture di controllo Ing. Simona Colucci
Applicazioni Bioinformatiche in Ambiente Grid
Giuseppe Andronico 1 Marzo 2010 Riunione CCR
GridFlex: gestione di software
Come entrare in GILDA Riccardo Bruno INFN – Sez. CT
Esercizi finali Roberto Barbera Università di Catania e INFN
Metriche SE monitoring G.Donvito G.Cuscela INFN Bari
Drupal tipi di contenuto
Commenti Ogni riga che comincia con il simbolo # non viene letta dall’interprete per cui rappresenta un modo per commentare il listato # Questo è un esempio.
Job Application Monitoring (JAM)
Grid2Win : La Grid per Microsoft Windows
Panoramica sul middleware gLite
TIPI PRIMITIVI TIPI STRUTTURATI
Report 15/11/2007 Giovanni d’Angelo
PROGETTO “COMDO” Supporters : AnnaMaria Muoio, Marcello IaconoManno
Risultati del questionario sui servizi middleware aggiuntivi
2018/9/ /9/11 USER ENVIRONMENT 1 1.
PROGRAMMAZIONE BASH – ISTRUZIONE IF
PROGETTO “ISOSPIN” Supporters : AnnaMaria Muoio, Marcello IaconoManno
Tipi di Shell sh – Bourne shell csh – C shell ksh – Korn shell
GENIUS Grid Portal Lorenzo Neri INFN Catania
Java World Cicli e Array.
Corso Java Cicli e Array.
ABAP Objects ALV Grid Mantova, 30 dicembre 2018.
Programmazione e Laboratorio di Programmazione
Programmazione e Laboratorio di Programmazione
© 2007 SEI-Società Editrice Internazionale, Apogeo
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
APPUNTI SUL LINGUAGGIO C Esercizi su File e Alberi Binari
Metacaratteri Il carattere * indica un tipo ed un numero qualsiasi di caratteri Per copiare tutti i file che iniziano per “hemo” nella directory dir %
Java Introduzione.
Array e Stringhe Linguaggio C.
PowerShell di Windows PowerShell è un shell che mette a disposizione un prompt interattivo e un interprete a riga di comando , per le sue caratteristiche.
Programmazione e Laboratorio di Programmazione
Transcript della presentazione:

Job Description Language (JDL) Elisa Ingrà INFN – Catania, Italy Grid Tutorial per i Laboratori Nazionali del Sud, Catania, 25-26 Febbraio 2008

Contenuti Job Description Language File JDL Attributi Tipi di job Command Line Interface Sottomissione job Recupero output Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Job Description Language (JDL) Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

File JDL JDL è un linguaggio per la descrizione dei job E’ composto da un insieme di elementi testuali Nel caso più semplice si può scrivere come semplice sequenza di coppie Attribute-Valore I commenti hanno la sintassi simile ad alcuni linguaggi di programmazione più diffusi (C,C++,Perl) /* */ per più righe di codice // per una riga di codice In aggiunta, un segno di # a inizio riga identifica un commento Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

JDL Attributi Lista di Attributi assolutamente NON ESAUSTIVA Type Descrive se il JDL si riferisce a un “Job”,“DAG” o “Collection” JobType “Interactive”, “MPICH” . . . (se Type=“Normal”) Executable L’eseguibile da lanciare Arguments Lista di argomenti per l’eseguibile StdInput File locale da usare come standard input StdOutput and StdError File su quali redirigere lo standard output e lo standard error InputSandbox Lista di file allegati OutputSandbox Lista di file da recuperare al termine dell’esecuzione Requirements Espressione booleana che verifica se un CE è adatto Rank Espressione che valuta la bontà di un CE RetryCount Numero massimo di tentativi di risottomissione Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Tipi di Job Normal Interactive MPICH Partitionable Checkpointable – Un eseguibile batch Interactive – Richiede l’interazione dell’utente MPICH – Per sfruttare il framework MPI (Message Passing Interface) Partitionable – Può essere partizionato in più sotto-job Checkpointable – L’esecuzione può essere “marcata” in alcuni punti per essere ripresa più tardi Parametrici – Job simili che differiscono solo per alcuni attributi parametrici Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Esempio di Job “Normal” $> cat hostname.jdl Type = “Job”; JobType = “Normal”; Executable = “/bin/sh/”; Arguments = “start_hostname.sh”; StdError = “stderr.log”; StdOutput = “stdout.log”; InputSandbox = “start_hostname.sh”; OutputSandbox = {“stderr.log”,”stdout.log”}; RetryCount = 7; $> cat start_hostname.sh #!/bin/sh sleep 5 hostname –f E’ un job Normale L’eseguibile da lanciare con gli argomenti File sui quali redirigere lo standard error e lo standard output File da recuperare alla terminazione del job Massimo numero di tentativi di risottomissione Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Requirements e Rank Requirements = < espressione booleana > – Espressione booleana con sintassi C – Serve a verificare se il candidato CE soddisfa i requisiti – Dentro l’espressione, il CE viene indicato con other. – Eg: Requirements = other.GlueCEInfoLRMSType == "PBS“ && other.GlueCEInfoTotalCPUs > 2); Rank = < espressione floating point > – Funzione di fitness C-like che individua la bontà di una risorsa – Eg: Rank = other.GlueCEPolicyMaxRunningJobs - other.GlueCEStateRunningJobs Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Esempio: sphere.jdl $> cat sphere.jdl #author: giuseppe.larocca@ct.infn.it Type = "Job"; JobType = "Normal"; Executable = "/bin/sh"; MyProxyServer="lxshare0207.cern.ch"; StdOutput = "sphere.out"; StdError = "sphere.err"; InputSandbox = {"start_sphere.sh","sphere1.pov","sphere1.ini"}; OutputSandbox = {"sphere.out","sphere.err","final_sphere.gif"}; RetryCount = 7; Arguments = "start_sphere.sh"; Requirements = Member("POVRAY-3.5",other.GlueHostApplicationSoftwareRunTimeEnvironment); Seleziona solo i CE dove POVRAY è installato Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Example: pds2jpg-ASAR-Demo.jdl $> cat pds2jpg-ASAR-Demo.jdl [ VirtualOrganisation = "gilda"; Executable = "/bin/bash"; Arguments = "pds2jpg_ASAR_install.sh ASA_APG_1PXPDE20020819_093043_000000152008_00394_02452_0000"; StdOutput = "pds2jpg_ASAR.out"; StdError = "pds2jpg_ASAR.err"; OutputSandbox = { "ASA_APG_1PXPDE20020819_093043_000000152008_00394_02452_0000-b1.jpg", "ENVISAT_Product_courtesy_of_European_Space_Agency", "pds2jpg_ASAR.out", "pds2jpg_ASAR.err“ }; RetryCount = 3; JobType = "normal"; Type = "Job"; InputSandbox = {"./pds2jpg_ASAR_install.sh","./beam20.tar.gz"}; rank = (-other.GlueCEStateEstimatedResponseTime); requirements = (other.GlueCEStateStatus=="Production") ] Programma allegato al JDL Funzione fitness per definire la bontà di un CE Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Job Parametrici (1/2) Consistono nella sottomissione di un insieme di job uguali eccetto che per un parametro il cui valore cambia è possibile tracciare ciascun job separatamente è possibile tracciare tutti i job insieme come job parametrico una variabile speciale (_PARAM_) indica il valore variabile tra gli attributi _PARAM_ assume valori numerici generati automaticamente oppure stringhe tratte da una lista Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Job Parametrici (2/2) Parameters = < intero | lista di stringhe > un intero che indica il numero di passi o una lista di stringhe (ogni stringa indica il nome di uno dei passi) ParameterStart, ParameterStep = < Integer > ParameterStart indica il primo valore da assegnare ParameterStep indica il valore di incremento tra due successivi valori assunti da _PARAM_ NodesCollocation = < Boolean > se è “vero”, tutti i job sono inviati allo stesso CE Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Tipi di JDL (Attributo Type) Il linguaggio JDL permette di descrivere i seguenti tipi di job: – Job: Un job semplice (default) – DAG: un Direct Acyclic Graph di job dipendenti – Collection: Un insieme di job che hanno attributi comuni DAG e d c b a e d c b a Collection a JOB Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

DAG (1/2) I job di tipo DAG sono dei grafi con le seguenti caratteristiche: – ordine di esecuzione – dipendenze tra i vari job – utilizzano file di output di un job come input per un altro job Type=“dag”; nodes = [ a= [description = [ JobType=“Normal”; Executable=“e.exe”; InputSandBox={…}; ] b=[file=node.jdl;] Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

DAG (2/2) dependencies = < lista di liste of stringhe > • una lista che descrive le dipendenze, le stringhe sono i nomi dei nodi • formato: { { a, b }, { a, c }, { a, d } , { c, e }, { d, e } } esempio: dependencies = { { A, {B, C, D} }; // i nodi “B”, “C” e “D” dipendono da “A” { B, F } { {C, D}, E }; { E, F }; }; max_nodes_running = < intero > • un intero > 0 che indica il numero massimo di nodi che possono essere sottomessi simultaneamente dal DAGman Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Collection E’ un insieme di job – Possono avere alcuni attributi definiti in comune – Vengono lanciati in parallelo dal WMS [ Type = "collection"; InputSandbox = { "input_common1.txt","input_common2.txt" }; nodes = { [ JobType = "Normal"; NodeName = "node1"; Executable = "/bin/sh"; Arguments = "script_node1.sh"; InputSandbox = {"script_node1.sh", root.InputSandbox[0] }; StdOutput = "myoutput1"; StdError = "myerror1"; OutputSandbox = {"myoutput1","myerror1"}; ], JobType = "Normal"; . . . ] }; Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Job MPI Sfrutta il Framework MPI sui CE • Il WMProxy: – Seleziona tutti i CE candidati con tale framework – Filtra ulteriormente i CE che hanno WN a sufficienza • Attributi – JobType=“MPICH” – NodeNumber=10; // se si richiedono 10 processori [ Type = "Job"; JobType = "MPICH"; Executable = "cpi"; NodeNumber = 2; StdOutput = "cpi.out"; StdError = "cpi.err"; InputSandbox = {"cpi"}; OutputSandbox = {"cpi.err","cpi.out"}; RetryCount = 0; ] Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Command Line Interface Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

glite-wms-job-* commands • glite-wms-job-list-match – Reperisce la lista dei CE che soddisfano i requisiti per l’esecuzione • glite-wms-job-delegate-proxy – Delega il WMProxy ad usare i proprio proxy • glite-wms-job-submit – Sottomette un job alla griglia e ottiene un job id • glite-wms-job-status – Verifica lo stato del job interrogando il L&B • glite-wms-job-cancel – Annulla un job precedentemente sottomesso alla griglia • glite-wms-job-output – Recupera l’output del job una volta terminato (non necessariamente con successo) Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Example: hostname.jdl (1/4) $> glite-wms-job-submit -d emidio -o jobid hostname.jdl Selected Virtual Organisation name (from proxy certificate extension): gilda Connecting to host glite-rb.ct.infn.it, port 7772 Logging to host glite-rb.ct.infn.it, port 9002 =============== glite-job-submit Success================ The job has been successfully submitted to the Network Server. Use edg-job-status command to check job current status. Your job identifier is: - https://glite-rb.ct.infn.it:9000/Lb6LIhD93S7VYz1RVbCP8A The job identifier has been saved in the following file: /home/fscibi/gLite/Other/jobid ====================================================== $> cat jobid ###Submitted Job Ids### https://glite-rb.ct.infn.it:9000/Lb6LIhD93S7VYz1RVbCP8A Job id appena generato opzione “-o jobid” Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Example: hostname.jdl (2/4) $> glite-wms-job-status -i jobid ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : https://glite-rb.ct.infn.it:9000/Lb6LIhD93S7VYz1RVbCP8A Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: grid004.iucc.ac.il:2119/jobmanager-lcgpbs-short Submitted: Mon Apr 3 12:27:28 2006 CEST Job terminato Computing Element dove è stato eseguito il job Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Esempio: hostname.jdl (3/4) $> glite-wms-job-output -i jobid Retrieving files from host: glite-rb.ct.infn.it ( for https://glite-rb.ct.infn.it:9000/Lb6LIhD93S7VYz1RVbCP8A ) ********************************************************************************* JOB GET OUTPUT OUTCOME Output sandbox files for the job: - https://glite-rb.ct.infn.it:9000/Lb6LIhD93S7VYz1RVbCP8A have been successfully retrieved and stored in the directory: /tmp/glite/glite-ui/fscibi_Lb6LIhD93S7VYz1RVbCP8A $> glite-wms-job-output -i jobid --dir <dirname> Directory di default dove è scaricato l’output Per specificare una diversa directory Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Esempio: hostname.jdl (4/4) glite-wms-job-status -v 3 -i jobid ************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : https://glite-rb.ct.infn.it:9000/Lb6LIhD93S7VYz1RVbCP8A Current Status: Cleared Status Reason: user retrieved output sandbox Destination: grid004.iucc.ac.il:2119/jobmanager-lcgpbs-short Submitted: Mon Apr 3 12:27:28 2006 CEST --- - stateEnterTimes = Submitted : Mon Apr 3 12:27:28 2006 CEST Waiting : Mon Apr 3 12:27:37 2006 CEST Ready : Mon Apr 3 12:27:42 2006 CEST Scheduled : Mon Apr 3 12:28:01 2006 CEST Running : Mon Apr 3 12:28:55 2006 CEST Done : Mon Apr 3 12:30:37 2006 CEST Cleared : Mon Apr 3 15:36:39 2006 CEST Aborted : --- Cancelled : --- Unknown : --- Variazioni di stato del job Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Esempio: sphere.jdl $> glite-wms-job-list-match sphere.jdl Selected Virtual Organisation name (from proxy certificate extension): gilda Connecting to host glite-rb.ct.infn.it, port 7772 *************************************************************************** COMPUTING ELEMENT IDs LIST The following CE(s) matching your job requirements have been found: *CEId* dgt01.ui.savba.sk:2119/jobmanager-lcgpbs-infinite dgt01.ui.savba.sk:2119/jobmanager-lcgpbs-long dgt01.ui.savba.sk:2119/jobmanager-lcgpbs-short egee008.cnaf.infn.it:2119/blah-pbs-infinite egee008.cnaf.infn.it:2119/blah-pbs-long egee008.cnaf.infn.it:2119/blah-pbs-short fenrir.uniandes.edu.co:2119/blah-pbs-infinite fenrir.uniandes.edu.co:2119/blah-pbs-long Lista dei CE adatti all’esecuzione del job Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Links • JDL user manual - https://edms.cern.ch/file/555796/1/EGEE-JRA1-TEC-55796JDL-Attributes-v0-7.doc • Simple Job submissions with WMProxy - https://grid.ct.infn.it/twiki/bin/view/PI2S2/SimpleJobSubmission • Submission of DAGs, collections and parametric - http://grid.ct.infn.it/twiki/bin/view/PI2S2/WmProxyUse Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008

Domande Catania, Grid Turorial per I Laboratori Nazionali del Sud, 25-27/02/2008