Submissão de Jobs - Marco Dias

12

Transcript of Submissão de Jobs - Marco Dias

Page 1: Submissão de Jobs - Marco Dias

Submissão de Jobs no GridUNESP

Marco Dias e Gabriel Winckler

SPRACE-NCC

16 de dezembro de 2009

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 2: Submissão de Jobs - Marco Dias

Criação do Proxy

I Para começar a utilizar os recursos é necessária a criação doproxy:[pepe@access ~]$ source /OSG/client-1.2.3/setup.sh[pepe@access ~]$ grid-proxy-initYour identity: /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe LegalEnter GRID pass phrase for this identity:Creating proxy .................................................... DoneYour proxy is valid until: Tue Dec 15 07:14:19 2009[pepe@access ~]$ grid-proxy-infosubject : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal/CN=268359979issuer : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legalidentity : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legaltype : Proxy draft (pre-RFC) compliant impersonation proxystrength : 512 bitspath : /tmp/x509up_u666timeleft : 11:59:53

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 3: Submissão de Jobs - Marco Dias

Submetendo usando Globus

I Primeiros passos...[pepe@access ~]globusrun -a -r ce.grid.unesp.brGRAM Authentication test successful[pepe@access ~]$time globus-job-run ce.grid.unesp.br/jobmanager-fork /bin/hostnamece.grid.unesp.brreal 0m2.349suser 0m0.102ssys 0m0.078s[pepe@access ~]$time globus-job-run ce.grid.unesp.br/jobmanager-condor /bin/hostnamenode081real 1m5.648suser 0m0.114ssys 0m0.068s

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 4: Submissão de Jobs - Marco Dias

Submetendo usando Globus

I Podemos usar um script como executável:[pepe@access ~]$ cat myjob#!/bin/bashecho $PWDhostname -fenv[pepe@access ~]$ globus-job-submit ce.grid.unesp.br/jobmanager-fork -s ./myjob.shhttps://ce.grid.unesp.br:38019/5557/1260827558/[pepe@access ~]$ globus-job-status https://ce.grid.unesp.br:38019/5557/1260827558/DONE[pepe@access ~]$ globus-job-get-output https://ce.grid.unesp.br:38019/5557/1260827558//home/uscms001ce.grid.unesp.brGLOBUS_LOCATION=...OSG_WN_TMP=...OSG_SITE_WRITE=...LD_LIBRARY_PATH=...[pepe@access ~]$ globus-job-clean https://ce.grid.unesp.br:38019/5557/1260827558/

WARNING: Cleaning a job means:- Kill the job if it still running, and- Remove the cached output on the remote resource

DONE

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 5: Submissão de Jobs - Marco Dias

Usando o condor-g

I Submissão de jobs mais complexos pode ser feitas com ocondor . Criamos um arquivo para ser submetido:[pepe@access ~]$ cat submit_gridexecutable = env-test.plglobusscheduler = ce.grid.unesp.br/jobmanager-condoruniverse = globusenvironment = foo=bar; zot=quxoutput = env-test.$(Process).outlog = env-test.$(Process).logqueueenvironment = foo=bar; zot=quxqueueenvironment = foo=bar; zot=quxqueue[pepe@access ~]$ cat env-test.pl#!/usr/bin/env perlforeach $key (sort keys(%ENV)){

print "$key = $ENV{$key}\n"}exit 0;

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 6: Submissão de Jobs - Marco Dias

Usando o condor-g

I E fazemos a submissão do job, usando o comando abaixo:[pepe@access ~]$ condor_submit submit_gridSubmitting job(s).......Logging submit event(s).......3 job(s) submitted to cluster 43.[pepe@access ~]$ condor_q-- Submitter: access.grid.unesp.br : <200.145.46.37:33018> : access.grid.unesp.brID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD43.0 pepe 12/14 19:19 0+00:00:00 I 0 0.0 env-test.pl43.1 pepe 12/14 19:19 0+00:00:00 I 0 0.0 env-test.pl43.2 pepe 12/14 19:19 0+00:00:00 I 0 0.0 env-test.pl

3 jobs; 3 idle, 0 running, 0 held[pepe@access ~]$ condor_q -globus-- Submitter: access.grid.unesp.br : <200.145.46.37:33018> : access.grid.unesp.brID OWNER STATUS MANAGER HOST EXECUTABLE43.0 pepe UNSUBMITTED condor ce.grid.unesp.br /home/pepe/env-te43.1 pepe UNSUBMITTED condor ce.grid.unesp.br /home/pepe/env-te43.2 pepe UNSUBMITTED condor ce.grid.unesp.br /home/pepe/env-te

[pepe@access ~]$ condor_rm pepeUser pepe's job(s) have been marked for removal.

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 7: Submissão de Jobs - Marco Dias

Condor e MPI

I Jobs MPI rodam sobre o condor:[pepe@access ~]$cat grid-mpi-hpl.cmduniverse=globusGlobusScheduler=ce.grid.unesp.br:/jobmanager-condorglobusrsl = (condor_submit=(universe parallel)(machine_count 16))executable = /opt/condor-7.2.4/bin/condor-impi.sh#arguments = /opt/intel/Compiler/11.0/083/mkl/benchmarks/mp_linpack/bin_intel/em64t/xhpl_em64targuments = ./xhpl_em64tlog = grid-mpi-hpl.logoutput = grid-mpi-hpl.outerror = grid-mpi-hpl.errortransfer_input_files = xhpl_em64t,HPL.datWhenToTransferOutput = ON_EXIT#should_transfer_files = noqueue

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 8: Submissão de Jobs - Marco Dias

I OSG_GRID: Diretório onde reside o worker node client oupacotes para o usar o grid são instalados.

I OSG_APP: Diretório disponível para o job poder instalarseus binários ou aplicações especí�cas.

I OSG_DATA: Diretório disponível para o job poder guardardados e fazer � stage� , compartilhado por todo o cluster.

I OSG_WN_TMP: Diretório disponível para �scratch� nosnós de processamento. Local em cada node.

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 9: Submissão de Jobs - Marco Dias

Globus-WS

I Podemos enviar o job utilizando ainda o Globus-WS[pepe@access ~]$ cat rsl_unesp<job><executable>my_whoami</executable><directory>${GLOBUS_USER_HOME}</directory><stdout>${GLOBUS_USER_HOME}/stdout</stdout><stderr>${GLOBUS_USER_HOME}/stderr</stderr><fileStageIn><transfer><sourceUrl>

gsiftp://ce.grid.unesp.br:2811/usr/bin/whoami</sourceUrl><destinationUrl>

gsiftp://ce.grid.unesp.br:2811/${GLOBUS_USER_HOME}/my_whoami</destinationUrl>

</transfer></fileStageIn><fileStageOut><transfer>

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 10: Submissão de Jobs - Marco Dias

Globus-WS

<sourceUrl>gsiftp://ce.grid.unesp.br:2811/${GLOBUS_USER_HOME}/stdout

</sourceUrl><destinationUrl>

gsiftp://ce.grid.unesp.br:2811/tmp/teste</destinationUrl>

</transfer></fileStageOut><fileCleanUp><deletion><file>file:///${GLOBUS_USER_HOME}/my_whoami</file>

</deletion></fileCleanUp>

</job>

I Submetemos o job dessa forma:[pepe@access ~]$globusrun-ws -F https://ce.grid.unesp.br:9443 -submit -f rsl_unesp -SSubmitting job...Done.

Job ID: uuid:4a92c06c-b371-11d9-9601-0002a5ad41e5Termination time: 12/14/2009 20:58 GMTCurrent job state: ActiveCurrent job state: CleanUpCurrent job state: DoneDestroying job...Done.

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 11: Submissão de Jobs - Marco Dias

SRM e GridFTP

I Existem algumas formas de manusear arquivos tanto nostorage quanto para pequenos arquivos:[pepe@access ~]$globus-url-copy file:////bin/bash gsiftp://ce.grid.unesp.br:2811/tmp/teste[pepe@access ~]$globus-url-copy -dbg -vb -nodcau gsiftp://spraid01.sprace.org.br//mdias/LoadTest07_SPRACE_51 \gsiftp://dts02.grid.unesp.br:2811/store/testexq1

[pepe@access ~]$globus-url-copy -vb -p 10 -dbg file:////bin/bash \gsiftp://dts02.grid.unesp.br:2811/store/testexq

I O protocolo srm permite comandos como srmmkdir, srmrm,etc.[pepe@access ~]$ srmcp -2 --debug=true file:////bin/bash \srm://se.grid.unesp.br:8443/srm/v2/server\?SFN=/store/testex

I É possível ainda interagir dentro do diretório para qual seu DNé mapeado[pepe@access ~]$ uberftp ce.grid.unesp.br220 ce.grid.unesp.br GridFTP Server 2.7 (gcc32dbg, 1204845443-63) [VDT patched 4.0.7] ready.230 User uscms001 logged in.UberFTP> ls-rw-r--r-- 1 uscms001 uscms 0 Dec 14 15:34 simple.3.errorUberFTP> get simple.3.errorsimple.3.error: 0.049000 Seconds (0.000 B/s)UberFTP> quit221 Goodbye.

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP

Page 12: Submissão de Jobs - Marco Dias

References

[1] Um bom tutorial sobre o condor:http://www.cs.wisc.edu/condor/tutorials/intl-grid-school-3/

[2]É possível que o usuário instale o pacote OSG-Client em seucomputador pessoal e submeta jobs para o GridUNESP:https://twiki.grid.iu.edu/bin/view/ReleaseDocumentation/ClientInstallationGuide

[3]Exemplos de uso do srm:https://twiki.grid.iu.edu/bin/view/Documentation/StorageSrmcpUsing

Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP