Submissão de Jobs - Marco Dias
-
Upload
nucleo-de-computacao-cientifica -
Category
Technology
-
view
1.043 -
download
2
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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