Post on 11-Jun-2020
Introduzione alle griglie computazionali - a.a. 2006-07 1
LEZIONELEZIONE N. 7
• WMS (Workload Management Service)• JDL (Job Description Language)• Matchmaking• 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. 2006-07 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. 2006-07 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. 2006-07 4
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. 2006-07 5
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. 2006-07 6
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. 2006-07 7
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. 2006-07 8
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. 2006-07 9
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. 2006-07 10
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. 2006-07 11
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. 2006-07 12
Comandi della Comandi della UserUser InterfaceInterface• 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
• edg-job-get-logging-infovisualizza la sequenza completa delle transizioni di stato di un job(utilizzato per debugging)
Introduzione alle griglie computazionali - a.a. 2006-07 13
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 e Data Management 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. 2006-07 14
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. 2006-07 15
MatchmakingMatchmaking (3/3)(3/3)
3. job submission con indicazione di risorse di storage
- il Resource Broker effettua il matchmaking
interroga il Data Management Service per ottenere l’elenco degliStorage Element che contengono i file richiesti
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. 2006-07 16
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. 2006-07 17
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. 2006-07 18
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. 2006-07 19
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. 2006-07 20
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. 2006-07 21
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. 2006-07 22
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. 2006-07 23
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. 2006-07 24
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. 2006-07 25
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. 2006-07 26
SUBMITTED
WAITING
READY
SCHEDULED
RUNNING
DONE(ok)DONE(failed)
OUTPUTREADY
CLEARED
ABORTEDDONE(cancelled)
Job statusJob status
Introduzione alle griglie computazionali - a.a. 2006-07 27
Job Job submissionsubmission (1/10)(1/10)
Introduzione alle griglie computazionali - a.a. 2006-07 28
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 8.x";Rank = other.FreeCPUs;
Introduzione alle griglie computazionali - a.a. 2006-07 29
Job Job submissionsubmission (3/10)(3/10)
Introduzione alle griglie computazionali - a.a. 2006-07 30
Job Job submissionsubmission (4/10)(4/10)
Introduzione alle griglie computazionali - a.a. 2006-07 31
Job Job submissionsubmission (5/10)(5/10)
Introduzione alle griglie computazionali - a.a. 2006-07 32
Job Job submissionsubmission (6/10)(6/10)
Introduzione alle griglie computazionali - a.a. 2006-07 33
Job Job submissionsubmission (7/10)(7/10)
Introduzione alle griglie computazionali - a.a. 2006-07 34
Job Job submissionsubmission (8/10)(8/10)
Introduzione alle griglie computazionali - a.a. 2006-07 35
Job Job submissionsubmission (9/10)(9/10)
Introduzione alle griglie computazionali - a.a. 2006-07 36
Job Job submissionsubmission (10/10)(10/10)
Introduzione alle griglie computazionali - a.a. 2006-07 37
RiferimentiRiferimenti
“The European DataGrid User’s Guide”→ http://marianne.in2p3.fr
European DataGrid WP1 web site→ http://www.infn.it/workload-grid
(WMS User & Admin Guide and JDL docs)
ClassAd→ http://www.cs.wisc.edu/condor/classad