LEZIONE N. 7people.na.infn.it/.../Lezione_07_aa_2007-08.pdf · LEZIONE N. 7 • WMS (Workload...
Transcript of LEZIONE N. 7people.na.infn.it/.../Lezione_07_aa_2007-08.pdf · LEZIONE N. 7 • WMS (Workload...
Introduzione alle griglie computazionali - a.a. 2007-08 1
LEZIONELEZIONE N. 7
• WMS (Workload Management Service)• Matchmaking• JDL (Job Description Language)• Job submission
Introduzione alle griglie Introduzione alle griglie computazionali computazionali
Università degli Studi di Napoli Federico IICorso di Laurea in Informatica – III Anno
Introduzione alle griglie computazionali - a.a. 2007-08 2
WorkloadWorkload Management Management ServiceService (1/2)(1/2)
Lo scopo del WMS e’ la distribuzione dei job (scheduling) tra le risorse di calcolo disponibili in ambiente Grid
funzionalita’ offerte
• Assegnazione delle risorse ai job• Sottomissione dei job • Monitoring dello stato• Recupero dell’output
Introduzione alle griglie computazionali - a.a. 2007-08 3
WorkloadWorkload Management Management ServiceService (2/2)(2/2)
componenti
• User interface (UI)punto di accesso a Grid per gli utenti
• Resource Broker (RB)servizio di scheduling distribuito
• Job Submission Service (JSS)servizio di job submission
• Logging and Bookkeeping Service (LB)servizio di job monitoring
Introduzione alle griglie computazionali - a.a. 2007-08 4
Job Job submissionsubmission (1/10)(1/10)
UIJDL
Logging &Bookkeeping(LB)
ResourceBroker (RB)
Job SubmissionService (JSS)
StorageElement(SE)
ComputingComputingElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
Introduzione alle griglie computazionali - a.a. 2007-08 5
Job Job submissionsubmission (2/10)(2/10)
UIJDL
Logging &Bookkeeping(LB)
ResourceBroker (RB)
Job SubmissionService (JSS)
StorageElement(SE)
ComputingComputingElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
Job SubmitEvent
Input Sandbox
submitted
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 6
Job Job submissionsubmission (3/10)(3/10)
UIJDL
Logging &Bookkeeping(LB)
ResourceBroker (RB)
Job SubmissionService (JSS)
ComputingComputingElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
submitted
waiting
StorageElement(SE)
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 7
Job Job submissionsubmission (4/10)(4/10)
UIJDL
Logging &Bookkeeping(LB)
ResourceBroker (RB)
Job SubmissionService (JSS)
ComputingComputingElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
submitted
waiting
ready
StorageElement(SE)
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 8
Job Job submissionsubmission (5/10)(5/10)
UIJDL
Logging &Bookkeeping(LB)
ResourceBroker (RB)
Job SubmissionService(JSS)
ComputingComputingElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
submitted
waiting
ready
BrokerInfo
scheduled
StorageElement(SE)
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 9
Job Job submissionsubmission (6/10)(6/10)
UIJDL
Logging &Bookkeeping(LB)
ResourceBroker (RB)
Job SubmissionService (JSS)
ComputingComputingElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
submitted
waiting
ready
scheduledInput Sandbox
running
StorageElement(SE)
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 10
Job Job submissionsubmission (7/10)(7/10)
UIJDL
LogginBookkeeping(LB)
g &
ResourceBroker (RB)
Job SubmissionService (JSS)
ComputingComputingElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
submitted
waiting
ready
scheduled
Job Status
running
StorageElement(SE)
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 11
Job Job submissionsubmission (8/10)(8/10)
UIJDL
Logging &Bookkeeping
ResourceBroker
Job SubmissionService
StorageElement (SE)ComputingComputing
Element (CE)Element (CE)
Information Service
ReplicaCatalogue(RC)
submitted
waiting
ready
scheduled
running
Job Status
done
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 12
Job Job submissionsubmission (9/10)(9/10)
UIJDL
Logging &Bookkeeping
ResourceBroker
Job SubmissionService
StorageElement (SE)ComputingComputing
Element (CE)Element (CE)
Information Service
ReplicaCatalogue(RC)
submitted
waiting
ready
scheduled
running
done
Job Status
outputready
Output Sandbox
Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 13
UIJDL
Logging &Bookkeeping(LB)
ResourceBroker (RB)
Job SubmissionService (JS)
StorageElement(SE)
ComputeComputeElement (CE)Element (CE)
Information Service (IS)
ReplicaCatalogue(RC)
Output Sandbox
cleared
submitted
waiting
ready
scheduled
running
done
outputready
Job Job submissionsubmission (10/10)(10/10)Job Status
Introduzione alle griglie computazionali - a.a. 2007-08 14
Job Job DescriptionDescription LanguageLanguage (1/8)(1/8)
informazioni da specificare per l’esecuzione di un Grid-job
• requisiti “fisici” del job (spazio disco, memoria, ...)
• requisiti “logici” del job (sistema operativo, librerie, sw ...)
• Dati di input e output (logical file name, ...)
e’ possibile specificare questi parametri utilizzando il JDL(Job Description Language)
Introduzione alle griglie computazionali - a.a. 2007-08 15
Job Job DescriptionDescription LanguageLanguage (2/8)(2/8)
caratteristiche
• basato su Condor ClassAd (CLASSified ADvertisement language)
• un ClassAd e’ una sequenza di coppie (attributo, valore)
[attr1 = value1attr2 = value2...attrn = valuen
]
Introduzione alle griglie computazionali - a.a. 2007-08 16
Job Job DescriptionDescription LanguageLanguage (3/8)(3/8)
categorie di attributi
• job attributedefiniscono le caratteristiche del job
• resource attributecomputing resource attribute
specificano i requirement in termini di risorse di computingutilizzano il prefisso “other.”
storage resource attributespecificano i requirement in termini di risorse di storage(protocollo di accesso, logical file name, ...)
Introduzione alle griglie computazionali - a.a. 2007-08 17
Job Job DescriptionDescription LanguageLanguage (4/8)(4/8)
job attributes
• Executablenome del file che contiene il codice eseguibile
• Argumentsargomenti da fornire all’eseguibile
• StdInput, StdOutput, StdErrnomi dei file che conterranno standard input / output / error del job
• Environmentlista di attributi relativi all’environment
(segue)
Introduzione alle griglie computazionali - a.a. 2007-08 18
Job Job DescriptionDescription LanguageLanguage (5/8)(5/8)
job attributes
• InputSandboxlista di file locali (rispetto alla UI) necessari all’esecuzione del job
• OutputSandboxlista di file (generati dal job) da recuperare dopo l’esecuzione del job
Introduzione alle griglie computazionali - a.a. 2007-08 19
Job Job DescriptionDescription LanguageLanguage (6/8)(6/8)
computing resource attributes
• Requirements- requirement del job rispetto alle risorse di computing
- vengono specificati utilizzando i nomi degli attributi definitinell’Information Service
• Rank- specifica una preferenza rispetto ad un insieme di risorse che soddisfano
i requirement richiesti
- viene specificato utilizzando i nomi degli attributi definitinell’Information Service
Introduzione alle griglie computazionali - a.a. 2007-08 20
Job Job DescriptionDescription LanguageLanguage (7/8)(7/8)
storage resource attributes
• InputDataPFN (Physical File Name) o LFN (Logical File Name)da utilizzare come input del job
• ReplicaCatalognome del Replica Catalog da utilizzare per la risoluzione PFN → LFN
• DataAccessProtocolprotocollo da utilizzare per accedere al PFN
• OutputSEnome dello Storage Element da utilizzare per la copia dei file di output del job
Introduzione alle griglie computazionali - a.a. 2007-08 21
Job Job DescriptionDescription LanguageLanguage (8/8)(8/8)
esempio di JDL file
Executable = “gridTest”;StdError = “stderr.log”;StdOutput = “stdout.log”;InputSandbox = {“home/joda/test/gridTest”};OutputSandbox = {“stderr.log”, “stdout.log”};InputData = “LF:testbed0-00019”;ReplicaCatalog = “ldap://sunlab2g.cnaf.infn.it:2010/
lc=test, rc=WP2 INFN Test, dc=infn, dc=it”;
DataAccessProtocol = “gridftp”;Requirements = other.Architecture == “INTEL” &&
other.OpSys == “LINUX” && other.FreeCpus >= 4;
Rank = “other.MaxCpuTime”;
Introduzione alle griglie computazionali - a.a. 2007-08 22
MatchmakingMatchmaking (1/3)(1/3)
Resource Broker
• il suo compito e’ quello di individuare la risorsa di computing“migliore” su cui sottomettere il job dell’utente
• interagisce con Information Service
• il Computing Element selezionato deve soddisfarei requirement specificati nella descrizione del job (JDL file)
• se più Computing Element soddisfano i requirement alloraviene scelto il Computing Element con rank più alto
Introduzione alle griglie computazionali - a.a. 2007-08 23
MatchmakingMatchmaking (2/3)(2/3)
scenari possibili
1. sottomissione diretta dei job - l’utente specifica il Computing Element su cui deve essere sottomesso il job- il Resource Broker non effettua il matchmaking
2. sottomissione di job senza requirement sullo storage - il Resource Broker effettua il matchmaking
interroga l’Information Service per ottenere l’elenco delle risorseche soddisfano i requirement e le credenziali dell’utente
se più Computing Element soddisfano i requirement allora vienescelto il Computing Element con Rank più alto
(segue)
Introduzione alle griglie computazionali - a.a. 2007-08 24
MatchmakingMatchmaking (3/3)(3/3)
3. job submission con indicazione di risorse di storage
- il Resource Broker effettua il matchmaking
interroga l’Information Service per ottenere l’elenco delle risorseche soddisfano i requirement e le credenziali dell’utente
seleziona (dalla lista di Computing Element ottenuta) i ComputingElement “vicini” agli Storage Element ottenuti al passo 1
se il risultato della selezione consiste in piu’ Computing Element allora viene scelto il Computing Element con Rank piu’ alto
Introduzione alle griglie computazionali - a.a. 2007-08 25
Comandi della Comandi della UserUser InterfaceInterfaceScenario 1Scenario 1-- sottomissione direttasottomissione diretta
• lcg-infosites --vo atlas ceUso direttamente l’Information system per conoscere le risorse disponibili.
[doria@atlasui01 ~]$ lcg-infosites --vo atlas cevalor del bdii: egee-bdii.cnaf.infn.it:2170#CPU Free Tot Jobs Running Waiting ComputingElement----------------------------------------------------------129 1 0 0 0 ce.phy.bg.ac.yu:2119/jobmanager-pbs-atlas115 15 148 100 48 lcgce01.cpp.ualberta.ca:2119/jobmanager-lcgpbs-atlas 70 64 0 0 0 atlasce01.na.infn.it:2119/jobmanager-lcgpbs-atlas
• globus-job-submit <CE> </path/executable> <args>Sottometto un eseguibile direttamente ad una coda di un CE.Ottengo un ID del job, che userò per monitorare lo stato e per riprendere l’output del CE
Introduzione alle griglie computazionali - a.a. 2007-08 26
Comandi della Comandi della UserUser InterfaceInterfaceScenario 2/3 Scenario 2/3 –– sottomissione tramitesottomissione tramite ResurceResurce BrokerBroker• edg-job-submit xxx.jdl
sottomette il job descritto nel file JDL
• edg-job-list-match xxx.jdllista delle risorse che soddisfano i requirement specificati nel file JDL (il RB effettua il matchmaking senza sottomettere il job)
• edg-job-cancelcancellazione di un job
• edg-job-statusvisualizza lo stato di un job
• edg-job-get-outputeffettua lo stage-out dei file specificati tramite l’attributo OutputSandbox
Introduzione alle griglie computazionali - a.a. 2007-08 27
Job statusJob statusSubmitted: Il job è stato creato sulla UI manon ancora sottomesso
Waiting: Il job è in fase diprocessamento da parte del WMProxy
Ready: Il job è statoprocessato ma non inviato alCE destinazione
Scheduled: Il job è nel CE incoda in attesa di essereeseguito
Running: Il job sta girandosul Computing Element
Done: Il job haterminato la suaesecuzione
Aborted: Il job èstato abortito dalWMS
Cancelled: Il job èstato annullatodall’utente
Cleared: Il job haterminato e l’output èstato scaricato
Introduzione alle griglie computazionali - a.a. 2007-08 28
Servizio diServizio di LoggingLogging && BookkeepingBookkeeping (LB)(LB)
Tiene traccia delle azioni dell’utente
Tiene traccia delle variazioni di stato dei job
L’utente interagisce con il servizio LB atraverso i comandi:
• globus-job-status
• edg-job-status
• edg-job-get-logging-infovisualizza la sequenza completa delle transizioni di stato di un job(utilizzato per debugging)
Introduzione alle griglie computazionali - a.a. 2007-08 29
Job Job submissionsubmission (1/10)(1/10)
Introduzione alle griglie computazionali - a.a. 2007-08 30
Job Job submissionsubmission (2/10)(2/10)edg-job-submit myjob.jdl
myjob.jdlExecutable = "$(CMS)/exe/sum.exe";InputData = “lfn:testbed0-00019";ReplicaCatalog = "ldap://sunlab2g.cnaf.infn.it:2010/rc=WP2 INFN Test Replica Catalog,dc=sunlab2g, dc=cnaf, dc=infn, dc=it";DataAccessProtocol = "gridftp";InputSandbox = {"/home/user/WP1testC","/home/file*”, "/home/user/DATA/*"};OutputSandbox = {“sim.err”, “test.out”, “sim.log"};Requirements = other.Architecture == "INTEL"
&& other.OpSys== "LINUX Red Hat 9.x";Rank = other.FreeCPUs;
Introduzione alle griglie computazionali - a.a. 2007-08 31
Job Job submissionsubmission (3/10)(3/10)
Introduzione alle griglie computazionali - a.a. 2007-08 32
Job Job submissionsubmission (4/10)(4/10)
Introduzione alle griglie computazionali - a.a. 2007-08 33
Job Job submissionsubmission (5/10)(5/10)
Introduzione alle griglie computazionali - a.a. 2007-08 34
Job Job submissionsubmission (6/10)(6/10)
Introduzione alle griglie computazionali - a.a. 2007-08 35
Job Job submissionsubmission (7/10)(7/10)
Introduzione alle griglie computazionali - a.a. 2007-08 36
Job Job submissionsubmission (8/10)(8/10)
Introduzione alle griglie computazionali - a.a. 2007-08 37
Job Job submissionsubmission (9/10)(9/10)
Introduzione alle griglie computazionali - a.a. 2007-08 38
Job Job submissionsubmission (10/10)(10/10)
Introduzione alle griglie computazionali - a.a. 2007-08 39
Combined CE and WMS User and Reference Guide → https://edms.cern.ch/file/572489/1/WMS-guide.pdf
Workload Management System User and Reference Guide→ https://edms.cern.ch/file/572489/1/EGEE-JRA1-TEC-572489-WMS-guide-v0-2.pdf
Logging and Bookkeeping User and Reference Guide → https://edms.cern.ch/file/571273/1/LB-guide.pdf
JDL Attributes Specification → https://edms.cern.ch/file/555796/1/EGEE-JRA1-TEC-555796-JDL-Attributes-v0-8.pdf
“LCG-2 User Guide” capitolo 6 - Workload Management→ https://edms.cern.ch/file/454439//LCG-2-UserGuide.html
RiferimentiRiferimentiI paragrafi introduttivi delle seguenti “User and Reference Guide” possono essere un buon punto di partenza per lo studio degli argomenti.