SlideShare uma empresa Scribd logo
1 de 12
Baixar para ler offline
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


      Para começar a utilizar os recursos é necessária a criação do
      proxy:
       [pepe@access ~]$ source /OSG/client-1.2.3/setup.sh
       [pepe@access ~]$ grid-proxy-init
       Your identity: /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal
       Enter GRID pass phrase for this identity:
       Creating proxy .................................................... Done
       Your proxy is valid until: Tue Dec 15 07:14:19 2009
       [pepe@access ~]$ grid-proxy-info
       subject : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal/CN=268359979
       issuer   : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal
       identity : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal
       type     : Proxy draft (pre-RFC) compliant impersonation proxy
       strength : 512 bits
       path     : /tmp/x509up_u666
       timeleft : 11:59:53




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




      Primeiros passos...
      [pepe@access ~]globusrun -a -r ce.grid.unesp.br
      GRAM Authentication test successful
      [pepe@access ~]$time globus-job-run ce.grid.unesp.br/jobmanager-fork /bin/hostname
      ce.grid.unesp.br
      real        0m2.349s
      user        0m0.102s
      sys        0m0.078s
      [pepe@access ~]$time globus-job-run ce.grid.unesp.br/jobmanager-condor /bin/hostname
      node081
      real        1m5.648s
      user        0m0.114s
      sys        0m0.068s




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



      Podemos usar um script como executável:
      [pepe@access ~]$ cat myjob
      #!/bin/bash
      echo $PWD
      hostname -f
      env
      [pepe@access ~]$ globus-job-submit ce.grid.unesp.br/jobmanager-fork -s ./myjob.sh
      https://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/uscms001
      ce.grid.unesp.br
      GLOBUS_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




      Submissão de jobs mais complexos pode ser feitas com o
      condor     . Criamos um arquivo para ser submetido:
       [pepe@access ~]$ cat submit_grid
       executable = env-test.pl
       globusscheduler = ce.grid.unesp.br/jobmanager-condor
       universe = globus
       environment = foo=bar; zot=qux
       output = env-test.$(Process).out
       log = env-test.$(Process).log
       queue
       environment = foo=bar; zot=qux
       queue
       environment = foo=bar; zot=qux
       queue
       [pepe@access ~]$ cat env-test.pl
       #!/usr/bin/env perl
       foreach $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




      E fazemos a submissão do job, usando o comando abaixo:
       [pepe@access ~]$ condor_submit submit_grid
       Submitting 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.br
        ID      OWNER            SUBMITTED     RUN_TIME ST PRI SIZE CMD
         43.0   pepe          12/14 19:19 0+00:00:00 I 0      0.0 env-test.pl
         43.1   pepe          12/14 19:19 0+00:00:00 I 0      0.0 env-test.pl
         43.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.br
        ID      OWNER          STATUS MANAGER HOST                  EXECUTABLE
         43.0   pepe         UNSUBMITTED condor   ce.grid.unesp.br    /home/pepe/env-te
         43.1   pepe         UNSUBMITTED condor   ce.grid.unesp.br    /home/pepe/env-te
         43.2   pepe         UNSUBMITTED condor   ce.grid.unesp.br    /home/pepe/env-te
       [pepe@access ~]$ condor_rm pepe
       User pepe's job(s) have been marked for removal.




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




      Jobs MPI rodam sobre o condor:
      [pepe@access ~]$cat grid-mpi-hpl.cmd
      universe=globus
      GlobusScheduler=ce.grid.unesp.br:/jobmanager-condor
      globusrsl = (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_em64t
      arguments = ./xhpl_em64t
      log        = grid-mpi-hpl.log
      output     = grid-mpi-hpl.out
      error      = grid-mpi-hpl.error
      transfer_input_files = xhpl_em64t,HPL.dat
      WhenToTransferOutput = ON_EXIT
      #should_transfer_files = no
      queue




                Marco Dias e Gabriel Winckler   Submissão de Jobs no GridUNESP
OSG_GRID: Diretório onde reside o worker node client ou
pacotes para o usar o grid são instalados.




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




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




OSG_WN_TMP: Diretório disponível para scratch nos
nós de processamento. Local em cada node.
       Marco Dias e Gabriel Winckler   Submissão de Jobs no GridUNESP
Globus-WS




     Podemos enviar o job utilizando ainda o Globus-WS
      [pepe@access ~]$ cat rsl_unesp
      job
       executablemy_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
          filefile:///${GLOBUS_USER_HOME}/my_whoami/file
         /deletion
        /fileCleanUp
      /job


     Submetemos o job dessa forma:
      [pepe@access ~]$globusrun-ws -F https://ce.grid.unesp.br:9443 -submit -f rsl_unesp -S
      Submitting job...Done.
         Job ID: uuid:4a92c06c-b371-11d9-9601-0002a5ad41e5
         Termination time: 12/14/2009 20:58 GMT
         Current job state: Active
         Current job state: CleanUp
         Current job state: Done
         Destroying job...Done.




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


     Existem algumas formas de manusear arquivos tanto no
     storage    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
       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


     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


     É possível ainda interagir dentro do diretório para qual seu DN
     é mapeado
      [pepe@access ~]$ uberftp ce.grid.unesp.br
      220 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.error
      UberFTP get simple.3.error
      simple.3.error: 0.049000 Seconds (0.000 B/s)
      UberFTP quit
      221 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 seu
      computador 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

Mais conteúdo relacionado

Destaque

Customer training booklet
Customer training bookletCustomer training booklet
Customer training bookletAmbalika Dey
 
Microsoft Power Point Презентация для рабоч
Microsoft  Power Point   Презентация для рабочMicrosoft  Power Point   Презентация для рабоч
Microsoft Power Point Презентация для рабочkuchepatov
 
Atualização Deployment - Hardware e Middleware - Rogério Iope
Atualização Deployment - Hardware e Middleware - Rogério IopeAtualização Deployment - Hardware e Middleware - Rogério Iope
Atualização Deployment - Hardware e Middleware - Rogério IopeNúcleo de Computação Científica
 
Technology And Nursing: Past, Present and Future Perspectives
Technology And Nursing: Past, Present and Future PerspectivesTechnology And Nursing: Past, Present and Future Perspectives
Technology And Nursing: Past, Present and Future Perspectivesguestd5e795
 
FNR : Arbitrary length small domain block cipher proposal
FNR : Arbitrary length small domain block cipher proposalFNR : Arbitrary length small domain block cipher proposal
FNR : Arbitrary length small domain block cipher proposalSashank Dara
 
Cryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public CloudsCryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public CloudsSashank Dara
 
Nur3563 group project sol1 2
Nur3563 group project sol1 2Nur3563 group project sol1 2
Nur3563 group project sol1 2JLANurse
 
Mad River:HWC’s 2009 State of the Watersheds Report (3of8)
Mad River:HWC’s 2009 State of the Watersheds Report (3of8)Mad River:HWC’s 2009 State of the Watersheds Report (3of8)
Mad River:HWC’s 2009 State of the Watersheds Report (3of8)Deane Rimerman
 
Introducing Profiles International
Introducing Profiles InternationalIntroducing Profiles International
Introducing Profiles InternationalJim_Sirbasku
 

Destaque (16)

Customer training booklet
Customer training bookletCustomer training booklet
Customer training booklet
 
User Centric Web
User Centric WebUser Centric Web
User Centric Web
 
Atualização Deployment - Rede - Rogério Iope
Atualização Deployment - Rede - Rogério IopeAtualização Deployment - Rede - Rogério Iope
Atualização Deployment - Rede - Rogério Iope
 
Pandas
PandasPandas
Pandas
 
Certification Authority - Sergio Lietti
Certification Authority - Sergio LiettiCertification Authority - Sergio Lietti
Certification Authority - Sergio Lietti
 
Softwares no Cluster - Ney Lemke
Softwares no Cluster - Ney LemkeSoftwares no Cluster - Ney Lemke
Softwares no Cluster - Ney Lemke
 
Microsoft Power Point Презентация для рабоч
Microsoft  Power Point   Презентация для рабочMicrosoft  Power Point   Презентация для рабоч
Microsoft Power Point Презентация для рабоч
 
Core Data
Core DataCore Data
Core Data
 
Osg - Horst Severini
Osg - Horst SeveriniOsg - Horst Severini
Osg - Horst Severini
 
Atualização Deployment - Hardware e Middleware - Rogério Iope
Atualização Deployment - Hardware e Middleware - Rogério IopeAtualização Deployment - Hardware e Middleware - Rogério Iope
Atualização Deployment - Hardware e Middleware - Rogério Iope
 
Technology And Nursing: Past, Present and Future Perspectives
Technology And Nursing: Past, Present and Future PerspectivesTechnology And Nursing: Past, Present and Future Perspectives
Technology And Nursing: Past, Present and Future Perspectives
 
FNR : Arbitrary length small domain block cipher proposal
FNR : Arbitrary length small domain block cipher proposalFNR : Arbitrary length small domain block cipher proposal
FNR : Arbitrary length small domain block cipher proposal
 
Cryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public CloudsCryptography Challenges for Computational Privacy in Public Clouds
Cryptography Challenges for Computational Privacy in Public Clouds
 
Nur3563 group project sol1 2
Nur3563 group project sol1 2Nur3563 group project sol1 2
Nur3563 group project sol1 2
 
Mad River:HWC’s 2009 State of the Watersheds Report (3of8)
Mad River:HWC’s 2009 State of the Watersheds Report (3of8)Mad River:HWC’s 2009 State of the Watersheds Report (3of8)
Mad River:HWC’s 2009 State of the Watersheds Report (3of8)
 
Introducing Profiles International
Introducing Profiles InternationalIntroducing Profiles International
Introducing Profiles International
 

Semelhante a Submissão de Jobs - Marco Dias

Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanElton Minetto
 
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsTDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsDiego Castro
 
Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Wellington Silva
 
Zabbix monitorando o zimbra collaboration 8.8 (1)
Zabbix   monitorando o zimbra collaboration 8.8 (1)Zabbix   monitorando o zimbra collaboration 8.8 (1)
Zabbix monitorando o zimbra collaboration 8.8 (1)PAULO R. DEOLINDO JUNIOR
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Aécio Pires
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresasRafael Gomes
 
Replicação e tuning do Firebird na nuvem
Replicação e tuning do Firebird na nuvemReplicação e tuning do Firebird na nuvem
Replicação e tuning do Firebird na nuvemSaveincloud
 
isk-daemon: busca visual de imagens para todos
isk-daemon: busca visual de imagens para todosisk-daemon: busca visual de imagens para todos
isk-daemon: busca visual de imagens para todosRicardo Cabral
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Cristiano Rafael Steffens
 
Mercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio OlivéMercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio OlivéTchelinux
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Construindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerConstruindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerWellington Marinho
 
Busca Visual
Busca VisualBusca Visual
Busca Visualgsroma
 
Técnicas de Refactorización (EN ESPANOL)
Técnicas de Refactorización (EN ESPANOL)Técnicas de Refactorización (EN ESPANOL)
Técnicas de Refactorización (EN ESPANOL)Rodrigo Branas
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Fabrízio Mello
 
IT security - Fail2ban, fail2sql e googlemaps (PT Language)
IT security  - Fail2ban, fail2sql e googlemaps (PT Language)IT security  - Fail2ban, fail2sql e googlemaps (PT Language)
IT security - Fail2ban, fail2sql e googlemaps (PT Language)Carlos Domingues
 
Curso de Node.js e MongoDB - 10
Curso de Node.js e MongoDB - 10Curso de Node.js e MongoDB - 10
Curso de Node.js e MongoDB - 10Luiz Duarte
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoFreedom DayMS
 

Semelhante a Submissão de Jobs - Marco Dias (20)

Entre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando GearmanEntre na fila. Processamento distribuído usando Gearman
Entre na fila. Processamento distribuído usando Gearman
 
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal AppsTDC 2015 - Execução em Background e Live Tiles em Universal Apps
TDC 2015 - Execução em Background e Live Tiles em Universal Apps
 
Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)Docker do básico a orquestração (PHPeste2016)
Docker do básico a orquestração (PHPeste2016)
 
Zabbix monitorando o zimbra collaboration 8.8 (1)
Zabbix   monitorando o zimbra collaboration 8.8 (1)Zabbix   monitorando o zimbra collaboration 8.8 (1)
Zabbix monitorando o zimbra collaboration 8.8 (1)
 
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
Instalação do Squid3 através da compilação do código fonte no Ubuntu 12.04/14...
 
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresasDockerizando aplicações em uma fintech  o bom, o mau e o feio as surpresas
Dockerizando aplicações em uma fintech o bom, o mau e o feio as surpresas
 
Replicação e tuning do Firebird na nuvem
Replicação e tuning do Firebird na nuvemReplicação e tuning do Firebird na nuvem
Replicação e tuning do Firebird na nuvem
 
Gulp
GulpGulp
Gulp
 
isk-daemon: busca visual de imagens para todos
isk-daemon: busca visual de imagens para todosisk-daemon: busca visual de imagens para todos
isk-daemon: busca visual de imagens para todos
 
Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)Simpósio Unicruz: OpenCV + Python (parte 1)
Simpósio Unicruz: OpenCV + Python (parte 1)
 
Python Para Maemo
Python Para MaemoPython Para Maemo
Python Para Maemo
 
Mercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio OlivéMercurial - Douglas Schilling Landgraf e Fábio Olivé
Mercurial - Douglas Schilling Landgraf e Fábio Olivé
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Construindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e DockerConstruindo um data warehouse com Pentaho e Docker
Construindo um data warehouse com Pentaho e Docker
 
Busca Visual
Busca VisualBusca Visual
Busca Visual
 
Técnicas de Refactorización (EN ESPANOL)
Técnicas de Refactorización (EN ESPANOL)Técnicas de Refactorización (EN ESPANOL)
Técnicas de Refactorización (EN ESPANOL)
 
Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010Oficina postgresql avançado_consegi2010
Oficina postgresql avançado_consegi2010
 
IT security - Fail2ban, fail2sql e googlemaps (PT Language)
IT security  - Fail2ban, fail2sql e googlemaps (PT Language)IT security  - Fail2ban, fail2sql e googlemaps (PT Language)
IT security - Fail2ban, fail2sql e googlemaps (PT Language)
 
Curso de Node.js e MongoDB - 10
Curso de Node.js e MongoDB - 10Curso de Node.js e MongoDB - 10
Curso de Node.js e MongoDB - 10
 
Aplicações rápidas para a Web com Django
Aplicações rápidas para a Web com DjangoAplicações rápidas para a Web com Django
Aplicações rápidas para a Web com Django
 

Submissão de Jobs - Marco Dias

  • 1. 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
  • 2. Criação do Proxy Para começar a utilizar os recursos é necessária a criação do proxy: [pepe@access ~]$ source /OSG/client-1.2.3/setup.sh [pepe@access ~]$ grid-proxy-init Your identity: /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal Enter GRID pass phrase for this identity: Creating proxy .................................................... Done Your proxy is valid until: Tue Dec 15 07:14:19 2009 [pepe@access ~]$ grid-proxy-info subject : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal/CN=268359979 issuer : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal identity : /C=BR/O=UNESP/OU=ncc.unesp.br/CN=Pepe Legal type : Proxy draft (pre-RFC) compliant impersonation proxy strength : 512 bits path : /tmp/x509up_u666 timeleft : 11:59:53 Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 3. Submetendo usando Globus Primeiros passos... [pepe@access ~]globusrun -a -r ce.grid.unesp.br GRAM Authentication test successful [pepe@access ~]$time globus-job-run ce.grid.unesp.br/jobmanager-fork /bin/hostname ce.grid.unesp.br real 0m2.349s user 0m0.102s sys 0m0.078s [pepe@access ~]$time globus-job-run ce.grid.unesp.br/jobmanager-condor /bin/hostname node081 real 1m5.648s user 0m0.114s sys 0m0.068s Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 4. Submetendo usando Globus Podemos usar um script como executável: [pepe@access ~]$ cat myjob #!/bin/bash echo $PWD hostname -f env [pepe@access ~]$ globus-job-submit ce.grid.unesp.br/jobmanager-fork -s ./myjob.sh https://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/uscms001 ce.grid.unesp.br GLOBUS_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
  • 5. Usando o condor-g Submissão de jobs mais complexos pode ser feitas com o condor . Criamos um arquivo para ser submetido: [pepe@access ~]$ cat submit_grid executable = env-test.pl globusscheduler = ce.grid.unesp.br/jobmanager-condor universe = globus environment = foo=bar; zot=qux output = env-test.$(Process).out log = env-test.$(Process).log queue environment = foo=bar; zot=qux queue environment = foo=bar; zot=qux queue [pepe@access ~]$ cat env-test.pl #!/usr/bin/env perl foreach $key (sort keys(%ENV)) { print "$key = $ENV{$key}n" } exit 0; Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 6. Usando o condor-g E fazemos a submissão do job, usando o comando abaixo: [pepe@access ~]$ condor_submit submit_grid Submitting 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.br ID OWNER SUBMITTED RUN_TIME ST PRI SIZE CMD 43.0 pepe 12/14 19:19 0+00:00:00 I 0 0.0 env-test.pl 43.1 pepe 12/14 19:19 0+00:00:00 I 0 0.0 env-test.pl 43.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.br ID OWNER STATUS MANAGER HOST EXECUTABLE 43.0 pepe UNSUBMITTED condor ce.grid.unesp.br /home/pepe/env-te 43.1 pepe UNSUBMITTED condor ce.grid.unesp.br /home/pepe/env-te 43.2 pepe UNSUBMITTED condor ce.grid.unesp.br /home/pepe/env-te [pepe@access ~]$ condor_rm pepe User pepe's job(s) have been marked for removal. Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 7. Condor e MPI Jobs MPI rodam sobre o condor: [pepe@access ~]$cat grid-mpi-hpl.cmd universe=globus GlobusScheduler=ce.grid.unesp.br:/jobmanager-condor globusrsl = (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_em64t arguments = ./xhpl_em64t log = grid-mpi-hpl.log output = grid-mpi-hpl.out error = grid-mpi-hpl.error transfer_input_files = xhpl_em64t,HPL.dat WhenToTransferOutput = ON_EXIT #should_transfer_files = no queue Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 8. OSG_GRID: Diretório onde reside o worker node client ou pacotes para o usar o grid são instalados. OSG_APP: Diretório disponível para o job poder instalar seus binários ou aplicações especícas. OSG_DATA: Diretório disponível para o job poder guardar dados e fazer stage , compartilhado por todo o cluster. OSG_WN_TMP: Diretório disponível para scratch nos nós de processamento. Local em cada node. Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 9. Globus-WS Podemos enviar o job utilizando ainda o Globus-WS [pepe@access ~]$ cat rsl_unesp job executablemy_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
  • 10. 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 filefile:///${GLOBUS_USER_HOME}/my_whoami/file /deletion /fileCleanUp /job Submetemos o job dessa forma: [pepe@access ~]$globusrun-ws -F https://ce.grid.unesp.br:9443 -submit -f rsl_unesp -S Submitting job...Done. Job ID: uuid:4a92c06c-b371-11d9-9601-0002a5ad41e5 Termination time: 12/14/2009 20:58 GMT Current job state: Active Current job state: CleanUp Current job state: Done Destroying job...Done. Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 11. SRM e GridFTP Existem algumas formas de manusear arquivos tanto no storage 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 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 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 É possível ainda interagir dentro do diretório para qual seu DN é mapeado [pepe@access ~]$ uberftp ce.grid.unesp.br 220 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.error UberFTP get simple.3.error simple.3.error: 0.049000 Seconds (0.000 B/s) UberFTP quit 221 Goodbye. Marco Dias e Gabriel Winckler Submissão de Jobs no GridUNESP
  • 12. 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 seu computador 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