Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 9 WMS (Workload...

Post on 01-May-2015

217 views 0 download

Transcript of Introduzione alle griglie computazionali - a.a. 2005-061 LEZIONE LEZIONE N. 9 WMS (Workload...

Introduzione alle griglie computazionali - a.a. 2005-06 1

LEZIONELEZIONE N. 9

• WMS (Workload Management Service)• JDL (Job Description Language)• Matchmaking• Job submission

Introduzione alle griglie computazionali Introduzione alle griglie computazionali

Università degli Studi di Napoli Federico IICorso di Laurea in Informatica – III Anno

Introduzione alle griglie computazionali - a.a. 2005-06 2

Workload Management Service Workload Management Service (1/2)(1/2)

Lo scopo del WMS e’ lo scheduling distribuito dei job inambiente Grid

funzionalita’ offerte

• job submission• job execution• job status monitoring• output retrieve

Introduzione alle griglie computazionali - a.a. 2005-06 3

Workload Management Service Workload Management Service (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. 2005-06 4

Job Description Language Job Description Language (1/8)(1/8)

informazioni da specificare per l’esecuzione di un Grid-job

• requirement fisici del job (spazio disco, memoria, ...)

• requirement logici del job (environment, ...)

• data requirement (logical file name, ...)

e’ possibile specificare questi parametri utilizzando il JDL(Job Description Language)

Introduzione alle griglie computazionali - a.a. 2005-06 5

Job Description Language Job Description Language (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. 2005-06 6

Job Description Language Job Description Language (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. 2005-06 7

Job Description Language Job Description Language (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. 2005-06 8

Job Description Language Job Description Language (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. 2005-06 9

Job Description Language Job Description Language (6/8)(6/8)

computing resource attributes

• Requirements- requirement del job rispetto alle risorse di computing

- vengono specificati utilizzando i nomi degli attributi definiti nell’Information Service

• Rank- specifica una preferenza rispetto ad un insieme di risorse che soddisfano i requirement richiesti

- viene specificato utilizzando i nomi degli attributi definiti nell’Information Service

Introduzione alle griglie computazionali - a.a. 2005-06 10

Job Description Language Job Description Language (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. 2005-06 11

Job Description Language Job Description Language (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. 2005-06 12

Comandi della User InterfaceComandi della User Interface

• edg-job-list-matchlista delle risorse che soddisfano i requirement specificati nel file JDL(il RB effettua il matchmaking senza sottomettere il job)

• edg-job-submit

sottomette job su una delle risorse che soddisfano i requirement specificati nel file JDL• edg-job-cancel

cancellazione di un job• edg-job-status

visualizza lo stato di un job• edg-job-get-output

effettua lo stage-out dei file specificati tramite l’attributo OutputSandbox• edg-job-get-logging-info

visualizza la sequenza completa delle transizioni di stato di un job(utilizzato per debugging)

Introduzione alle griglie computazionali - a.a. 2005-06 13

Matchmaking Matchmaking (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 piu’ Computing Element soddisfano i requirement alloraviene scelto il Computing Element con Rank piu’ alto

Introduzione alle griglie computazionali - a.a. 2005-06 14

Matchmaking Matchmaking (2/3)(2/3)

scenari possibili

1. direct job submission- l’utente specifica il Computing Element su cui deve essere sottomesso il job- il Resource Broker non effettua il matchmaking

1. job submission senza requirement su storage resource- 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 piu’ Computing Element soddisfano i requirement allora vienescelto il Computing Element con Rank piu’ alto

(segue)

Introduzione alle griglie computazionali - a.a. 2005-06 15

Matchmaking Matchmaking (3/3)(3/3)

1. job submission con requirement su storage resource

- 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. 2005-06 16

Job submission Job submission (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. 2005-06 17

Job submission Job submission (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. 2005-06 18

Job submission Job submission (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. 2005-06 19

Job submission Job submission (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. 2005-06 20

Job submission Job submission (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. 2005-06 21

Job submission Job submission (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

scheduled

Input Sandbox

running

StorageElement(SE)

Job Status

Introduzione alle griglie computazionali - a.a. 2005-06 22

Job submission Job submission (7/10)(7/10)

UIJDL

Logging &Bookkeeping(LB)

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. 2005-06 23

Job submission Job submission (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. 2005-06 24

Job submission Job submission (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. 2005-06 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 submission Job submission (10/10)(10/10)Job Status

Introduzione alle griglie computazionali - a.a. 2005-06 26

SUBMITTED

WAITING

READY

SCHEDULED

RUNNING

DONE(ok)DONE(failed)

OUTPUTREADY

CLEARED

ABORTEDDONE(cancelled)

Job statusJob status

Introduzione alle griglie computazionali - a.a. 2005-06 27

Job submission Job submission (1/10)(1/10)

Introduzione alle griglie computazionali - a.a. 2005-06 28

Job submission Job submission (2/10)(2/10)

dg-job-submit myjob.jdlMyjob.jdl

Executable = "$(CMS)/exe/sum.exe";InputData = "LF: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 6.2";Rank = other.FreeCPUs;

Introduzione alle griglie computazionali - a.a. 2005-06 29

Job submission Job submission (3/10)(3/10)

Introduzione alle griglie computazionali - a.a. 2005-06 30

Job submission Job submission (4/10)(4/10)

Introduzione alle griglie computazionali - a.a. 2005-06 31

Job submission Job submission (5/10)(5/10)

Introduzione alle griglie computazionali - a.a. 2005-06 32

Job submission Job submission (6/10)(6/10)

Introduzione alle griglie computazionali - a.a. 2005-06 33

Job submission Job submission (7/10)(7/10)

Introduzione alle griglie computazionali - a.a. 2005-06 34

Job submission Job submission (8/10)(8/10)

Introduzione alle griglie computazionali - a.a. 2005-06 35

Job submission Job submission (9/10)(9/10)

Introduzione alle griglie computazionali - a.a. 2005-06 36

Job submission Job submission (10/10)(10/10)

Introduzione alle griglie computazionali - a.a. 2005-06 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