IngridPtWiki:Computação Grid:Utilizadores

De IngridPtWiki

Tabela de conteúdo

Nota de agradecimento

É importante notar que todas as publicações que contenham resultados obtidos no âmbito de recursos disponibilizados pela INCD, contenham a seguinte nota de agradecimento:

Please note that we kindly ask our users to acknowledge INCD in their publications, talks, etc. This way we'll increase the chances of getting future funding, thus, providing more and better services and resources to our users. For that, we suggest the use of following text:

"This work was produced with the support of INCD http://www.incd.pt funded by FCT and UE under project LISBOA-01-0145-FEDER-022153"

Introdução

Antes de iniciar as suas actividades como utilizador no campo da computação grid, é conveniente adquirir conhecimentos sobre a arquitectura e os processos de interacção com o sistema. Os tutoriais disponíveis na área de documentação providenciam uma excelente base de trabalho inicial.

Requisitos de acesso a uma infra-estrutura Grid

Pedido de Acesso

Ver REGISTO de UTILIZADORES



Obter um certificado digital

Para que um utilizador tenha acesso a qualquer infra-estrutura Grid, nacional ou internacional, é a obtenção de um certificado digital X509. Os certificados são emitidos pela LIPCA - Autoridade de Certificação Portuguesa operada pelo LIP, e apenas são disponibilizados para entidades académicas ou relacionadas. O uso dos mesmos está restrito ao descrito no documento CP/CPS, como seja pesquisa académica e actividades educativas. O procedimento para obter um certificado está detalhado na página pública da LIPCA [1].

De forma sucinta, o requerente deve:

  • ser membro de uma organização académica portuguesa ou centro de pesquisa académica.
  • preencher o formulário disponível em [2]
  • Entregar o formulário anterior (versão em papel) na sua Autoridade de Registo (RA);
    • Caso a instituição do utilizador ainda não tenha uma RA, e nem deseje formar uma, entregar o formulário nas instalações do LIP (Lisboa ou Coimbra) fazendo-se acompanhar de um documento comprovativo da filiação a uma organização académica portuguesa ou centro de pesquisa académica.
  • Entrar na "Interface Pública" correspondente à sua Autoridade de Registo [3], e preencher o formulário electrónico;
    • Caso a instituição do utilizador ainda não tenha uma RA, e nem deseje formar uma, usar a "Interface Pública" Lisboa ou Coimbra (escolher a que mais se adequa geográficamente ao utilizador)
  • no acto da emissão do certificado, o requerente receberá um email da LIPCA com instruções (link) de como aceder ao seu certificado digital
    • O utilizador deve usar o mesmo browser utilizado quando requereu o certificado
  • Consultar vídeo: Pedir certificado online


Registo na VO

O passo seguinte consiste no registo numa Organização Virtual (VO) de acordo com os objectivos científicos do utilizador. O utilizador deve:

  • Verificar se possui o seu certificado instalado no browser;
  • Consultar a lista de VOs:
  • Seleccionar a VO à qual pretende aderir na interface web do servidor de VOMS, e proceder ao registo;
  • Após o registo, o utilizador recebe um email de confirmação do seu endereço electrónico;
  • Caso a confirmação seja bem sucedida, o pedido segue para o administrador da VO para aprovação;
  • Caso o pedido tenha sido aprovado pelo administrador da VO, o requerente recebe um email de confirmação, e fica automaticamente habilitado a utilizar todos os recursos disponíveis no contexto da VO.
  • Consultar vídeo: Registo numa VO


Instalação do certificado digital

O passo final para que um utilizador comece a interagir com qualquer infra-estrutura Grid é a instalação do certificado digital, no formato .pem, na User Interface. Para tal, o utilizador deve:

  • Fazer backup do certificado digital a partir do browser;
    • No caso do Firefox, esta operação é realizada fazendo:
      • Edit -> Preferences -> View Certificates
      • Escolher o certificado a guardar
      • Backup
      • Escolher a localização onde guardar o certificado (em formato .p12)
      • Save
      • Introduzir a password do "Software Security Device"
      • Introduzir uma password robusta como passphrase do certificado.
    • Consultar video: Backup do certificado digital (firefox)
  • Converter o certificado digital do formato .p12 para o formato .pem (tenha em atenção que o conjunto de chaves privada/publica devem manter a nomenclatura userkey.pem/usercert.pem). Deve realizar a conversão em máquinas com uma versão de openssl superior à 1.0.0 beta5.
[username@machine ~]$ openssl pkcs12 -nocerts -in usercert.p12 -out userkey.pem
Enter Import Password:
MAC verified OK
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:

[username@machine ~]$ touch userkey.pem; chmod 400 userkey.pem
[username@machine ~]$ touch usercert.pem; chmod 644 usercert.pem
[ username@machine~]$ openssl pkcs12 -clcerts -nokeys -in usercert.p12 -out usercert.pem
Enter Import Password:
MAC verified OK
 
[username@machine ~]$ ll user*.pem
-rw-r--r-- 1 username users 1830 2009-11-09 20:21 usercert.pem
-r-------- 1 username users 1131 2009-11-09 20:21 userkey.pem
  • Copiar as chaves publicas e privadas do utilizador para a UI, debaixo de uma directoria ~/.globus
[username@machine ~]$ scp user*.pem username@ui01.ncg.ingrid.pt:~/.globus/
username@ui01.ncg.ingrid.pt's password: 
usercert.pem                                                                     100% 1830     1.8KB/s   00:00    
userkey.pem                                                                      100% 1131     1.1KB/s   00:00
  • Garantir sempre que as permissões das chaves publicas e privadas são as correctas
[username@ui01.ncg.ingrid.pt~]$ cd .globus; chmod 644 usercert.pem; chmod 400 userkey.pem


Operações de autorização

A interacção com qualquer infra-estrutura Grid é realizada a partir de comandos de linha instalados numa UI. O utilizador deve, portanto, ter acesso via ssh a esse serviço. Para requerer uma conta/password nos serviços UI disponíveis no âmbito da INCD, por favor contacte o suporte técnico.

Credencial (proxy) de acesso à infra-estrutura

[username@machine ~]$ ssh -l username ui01.ncg.ingrid.pt
username@ui01.ncg.ingrid.pt's password: 
Last login: Mon Nov  2 17:25:14 2009 from elnet-111.lip.pt

[username@ui01 ~]$ voms-proxy-init --voms iber.vo.ibergrid.eu
Cannot find file or dir: /home/ingrid/username/.glite/vomses
Enter GRID pass phrase:
Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
Creating temporary proxy ........................................................................ Done
Contacting  voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done
Creating proxy ...................................................................................................................................... Done
Your proxy is valid until Tue Nov 10 07:17:56 2009

Informação sobre a credencial gerada

[username@ui01 ~]$ voms-proxy-info --all
subject   : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy
issuer    : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
identity  : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
type      : proxy
strength  : 1024 bits
path      : /tmp/x509up_u500
timeleft  : 11:59:50
=== VO iber.vo.ibergrid.eu extension information ===
VO        : iber.vo.ibergrid.eu
subject   : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
issuer    : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt
attribute : /iber.vo.ibergrid.eu/Role=NULL/Capability=NULL
attribute : /iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL
timeleft  : 11:59:50
uri       : voms01.ncg.ingrid.pt:40003

Lista de atributos (ROLES) de uma dada VO

[username@ui01 ~]$ voms-proxy-list --voms iber.vo.ibergrid.eu
Cannot find file or dir: /home/ingrid/username/.glite/vomses
Enter GRID pass phrase:
Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
Creating temporary proxy ..................................................................... Done
Contacting  voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done
Available attributes:
/iber.vo.ibergrid.eu/Role=NULL/Capability=NULL
/iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL
/iber.vo.ibergrid.eu/Role=Production/Capability=NULL
/iber.vo.ibergrid.eu/Role=SW-Admin/Capability=NULL
/iber.vo.ibergrid.eu/Role=VO-Admin/Capability=NULL

Inicializar credencial com um atributo (ROLE) diferente do pré-definido para a VO

[username@ui01 ~]$ voms-proxy-init --voms iber.vo.ibergrid.eu:/iber.vo.ibergrid.eu/Portugal
Cannot find file or dir: /home/ingrid/username/.glite/vomses
Enter GRID pass phrase:
Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
Creating temporary proxy ....................................... Done
Contacting  voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done
Creating proxy .................................. Done
Your proxy is valid until Tue Nov 10 07:23:02 2009

Finalizar sessão

[username@ui01 ~]$ voms-proxy-destroy; voms-proxy-info 
Couldn't find a valid proxy.

Operações com servidores MyProxy

Os servidores de MyProxy são utilizados sempre que é necessaŕio executar tarefas de computação longas, e de maior duração do que o proxy gerado permite. Neste contexto, é necessário guardar o "proxy" no servidor MyProxy, e o serviço WMS responsabiliza-se por revalidar o proxy do utilizador 30 minutos antes de ele expirar, permitindo que a tarefa de execução se complete com sucesso.

Para revalidar uma credencial através do servidor MyProxy é necessário ter um proxy valido (a revalidação é feita em contexto de quase expiração). Para demonstrar o procedimento, inicializamos uma credencial de 8 horas, que após revalidação, fica com um limite temporal de 12 horas. Note que a extensão da VO é perdida neste processo de revalidação.

Armazenar credencial no servidor de MyProxy

[username@ui01 ~]$ voms-proxy-init --voms iber.vo.ibergrid.eu -vomslife 8:0 -hours 8:0
Cannot find file or dir: /home/ingrid/username/.glite/vomses
Enter GRID pass phrase:
Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
Creating temporary proxy ...................................... Done
Contacting  voms01.ncg.ingrid.pt:40003 [/C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt] "iber.vo.ibergrid.eu" Done
Creating proxy ...................................................................... Done
Your proxy is valid until Tue Nov 10 19:39:13 2009
[username@ui01 ~]$ myproxy-init -d -s px01.ncg.ingrid.pt --voms iber.vo.ibergrid.eu
Your identity: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
Enter GRID pass phrase for this identity:
Creating proxy ................................. Done
Proxy Verify OK
Your proxy is valid until: Tue Nov 17 11:25:37 2009
Enter MyProxy pass phrase:
Verifying - Enter MyProxy pass phrase:
A proxy valid for 168 hours (7.0 days) for user /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name now exists on px01.ncg.ingrid.pt.

Credenciais armazenadas no servidor de MyProxies

[username@ui01 ~]$ myproxy-info -d -s px01.ncg.ingrid.pt
username: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
owner: /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
 timeleft: 167:59:29  (7.0 days)

Revalidar uma credencial através do servidor MyProxy

[username@ui01 ~]$ voms-proxy-info --all
subject   : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy
issuer    : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
identity  : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
type      : proxy
strength  : 1024 bits
path      : /tmp/x509up_u500
timeleft  : 7:59:54
=== VO iber.vo.ibergrid.eu extension information ===
VO        : iber.vo.ibergrid.eu
subject   : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
issuer    : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt
attribute : /iber.vo.ibergrid.eu/Role=NULL/Capability=NULL
attribute : /iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL
timeleft  : 7:59:53
uri       : voms01.ncg.ingrid.pt:40003

[username@ui01 ~]$ myproxy-logon -d -s px01.ncg.ingrid.pt
Enter MyProxy pass phrase:
A credential has been received for user /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name in /tmp/x509up_u500.

[username@ui01 ~]$ voms-proxy-info --all
subject   : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy/CN=proxy/CN=proxy
issuer    : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy/CN=proxy
identity  : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name/CN=proxy/CN=proxy
type      : proxy
strength  : 1024 bits
path      : /tmp/x509up_u500
timeleft  : 11:59:57
=== VO iber.vo.ibergrid.eu extension information ===
VO        : iber.vo.ibergrid.eu
subject   : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name
issuer    : /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=voms01.ncg.ingrid.pt
attribute : /iber.vo.ibergrid.eu/Role=NULL/Capability=NULL
attribute : /iber.vo.ibergrid.eu/Portugal/Role=NULL/Capability=NULL
timeleft  : 11:59:57
uri       : voms01.ncg.ingrid.pt:40003

Destruir credenciais armazenadas no servidor de MyProxies

[username@ui01 ~]$ myproxy-destroy -d -s px01.ncg.ingrid.pt
Default MyProxy credential for user /C=PT/O=LIPCA/O=LIP/OU=Lisboa/CN=User Name was successfully removed.

Operações com o sistema de informação

Obter os CEs suportando a VO

 [username@ui01 ~]$ lcg-infosites --vo iber.vo.ibergrid.eu ce
 #CPU	Free	Total Jobs	Running	Waiting	ComputingElement
 ----------------------------------------------------------
   4	   4	   0	          0	   0	ce02.up.pt:8443/cream-sge-ibergrid
 848	 824	   0	          0	   0	ce03.ific.uv.es:8443/cream-pbs-short
  22	  22	   0	          0	   0	grid001.fc.up.pt:8443/cream-sge-ibergrid
   3	   1	   1	          1	   0	ce01.rediris.es:8443/cream-pbs-ibergrid
 848	 824	   0	          0	   0	ce03.ific.uv.es:8443/cream-pbs-ibiberL
  36	  36	   0	          0	   0	ce01.up.pt:2119/jobmanager-lcgsge-ibergrid
 432	  99	   0	          0	   0	ce01.lip.pt:8443/cream-sge-ibergrid_x86_64
 466	 392	   0	          0	444444	ce01.macc.unican.es:2119/jobmanager-lcgpbs-grid
 416	 406	   0	          0	444444	ce.iaa.csic.es:2119/jobmanager-lcgpbs-geniber
  22	  22	   0	          0	   0	grid001.fe.up.pt:2119/jobmanager-lcgsge-ibergrid
 820	 292	 528	        528	   0	lcg02.ciemat.es:2119/jobmanager-lcgpbs-medium
  14	  14	   0	          0	   0	cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber
   6	   6	   0	          0	   0	golp-ce.ist.utl.pt:2119/jobmanager-lcgpbs-ibergrid
  12	  12	   1	          0	   1	ce.cp.di.uminho.pt:2119/jobmanager-lcgpbs-ibergrid
 188	  59	   0	          0	   0	ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid
 248	 248	   0	          0	   0	ce-iber.bifi.unizar.es:2119/jobmanager-lcgpbs-iber
 333	 333	   1	          0	   1	ce2.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu
 333	 333	   1	          0	   1	ce3.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu
   8	   8	   0	          0	   0	ce.egee.di.uminho.pt:8443/cream-pbs-ibergrid
 204	  19	   0	          0	   0	ce01.igfae.usc.es:8443/cream-pbs-iber
1456	 482	   0	          0	   0	gridce02.ifca.es:8443/cream-sge-iber
1456	 500	   0	          0	   0	gridce01.ifca.es:8443/cream-sge-iber
 168	   2	   1	          0	   1	grid008.gridc.lip.pt:8443/cream-pbs-ibergrid
 168	   1	   1	          0	   1	grid006.gridc.lip.pt:2119/jobmanager-lcgpbs-ibergrid
 116	 116	   0	          0	   0	ce-sge-ngi.ceta-ciemat.es:2119/jobmanager-lcgsge-iber
   8	   4	   0	          0	   0	axon-g01.ieeta.pt:2119/jobmanager-lcgpbs-ibergrid
1024	   0	   0	          0	   0	ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid
 278	 488	   0	          0	   0	nureddunace.uib-csic.es:8443/cream-sge-egi
1456	   0	   0	          0	   0	egeece03.ifca.es:2119/jobmanager-sge-iber

Obter Storage Elements suportando a VO

[username@ui01 ~]$ lcg-infosites --vo iber.vo.ibergrid.eu se
Avail Space(Kb) Used Space(Kb)  Type	SEs
----------------------------------------------------------
26252202        7084236         n.a 	se.iaa.csic.es
511338166       570921424       n.a 	hades.up.pt
197697211       16946295        n.a 	se01.macc.unican.es
28838844497     6802672386      n.a 	se01-tic.ciemat.es
197697211       16946295        n.a 	se01.macc.unican.es
91848424        21562282        n.a 	se.cp.di.uminho.pt
257478542       1175061421      n.a 	se2.egee.cesga.es
28838844497     6802672386      n.a 	se01-tic.ciemat.es
7109599         3040861         n.a 	cmgse.mieres.uniovi.es
75161927        n.a             n.a 	srm01.lip.pt
1865082162      103528067       n.a 	dpm-iber.bifi.unizar.es
138315780       3024162         n.a 	srmv2.ific.uv.es
231928234       n.a             n.a 	srm.ciemat.es
4992755814      379860926       n.a 	golp-se.ist.utl.pt
934286499       50219942        n.a 	se.igfae.usc.es
1073741791      32              n.a 	storm.ifca.es
1073741791      32              n.a 	storm.ifca.es
99857981        8               n.a 	storm.gridc.lip.pt
164411232       157654564       n.a 	griddpm01.ifca.es
164411232       157654564       n.a 	griddpm01.ifca.es
1099463204      48431           n.a 	se-ngi.ceta-ciemat.es
1069893699      3848124         n.a 	srm01.ncg.ingrid.pt
43174807504     4809252894      n.a 	nureddunase.uib-csic.es
87855436        102381440       n.a 	axon-g05.ieeta.pt

Submissão de tarefas

Preparar o ficheiro JDL para a submissão da tarefa

A submissão de tarefas é realizada através de um ficheiro JDL (Job Description Language). Este ficheiro consiste num conjunto de variáveis ("key=value") com a descrição da tarefa a executar. O exemplo seguinte mostra a estrutura de um ficheiro JDL tipico.

[username@ui01 ~]$ cat sleep.jdl 
# Declarar o executavel para execução remota
Executable      = "sleep.sh";
# Argumentos para o executável
Arguments = "60";
# Declarar o ficheiro de standard output (produzido quando o executável correr remotamente)
StdOutput       = "sleep.out";
# Declarar o ficheiro de standard error (produzido quando o executável correr remotamente)
StdError        = "sleep.err";
# Numero de tentativas caso as submissões falhem sucessivamente
RetryCount      = 0;
# Ficheiros que quero enviar para execução / leitura (disponivel da dir local)
InputSandbox    = {"sleep.sh"};
# Ficheiros que quero obter depois da aplicação executar
OutputSandbox   = {"sleep.out","sleep.err"};

Neste exemplo específico, o executável é um simples script bash mas poderia ser um qualquer binário compilado pelo utilizador.

[username@ui01 ~]$ cat sleep.sh 
#!/bin/bash
uname -a; whoami; pwd
echo "==============="
env|sort
cat /proc/cpuinfo
echo "==============="
echo "Sleeping for $1 seconds"
sleep $1
exit '

Visualizar hipóteses de execução

[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl  
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
==========================================================================
		     COMPUTING ELEMENT IDs LIST 
The following CE(s) matching your job requirements have been found:
	*CEId*
- axon-g01.ieeta.pt:2119/jobmanager-lcgpbs-ibergrid
- ce-iber.bifi.unizar.es:2119/jobmanager-lcgpbs-iber
- ce-sge-ngi.ceta-ciemat.es:2119/jobmanager-lcgsge-iber
- ce.egee.di.uminho.pt:8443/cream-pbs-ibergrid
- ce01.igfae.usc.es:8443/cream-pbs-iber
- ce01.lip.pt:8443/cream-sge-ibergrid_x86_64
- ce01.rediris.es:8443/cream-pbs-ibergrid
- ce01.up.pt:2119/jobmanager-lcgsge-ibergrid
- ce02.up.pt:8443/cream-sge-ibergrid
- ce03.ific.uv.es:8443/cream-pbs-ibiberL
- ce03.ific.uv.es:8443/cream-pbs-short
- cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber
- cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber
- egeece03.ifca.es:2119/jobmanager-sge-iber
- golp-ce.ist.utl.pt:2119/jobmanager-lcgpbs-ibergrid
- grid001.fc.up.pt:8443/cream-sge-ibergrid
- grid001.fe.up.pt:2119/jobmanager-lcgsge-ibergrid
- grid006.gridc.lip.pt:2119/jobmanager-lcgpbs-ibergrid
- grid008.gridc.lip.pt:8443/cream-pbs-ibergrid
- gridce01.ifca.es:8443/cream-sge-iber
- gridce02.ifca.es:8443/cream-sge-iber
- lcg02.ciemat.es:2119/jobmanager-lcgpbs-medium
- nureddunace.uib-csic.es:8443/cream-sge-egi
- ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid
- ce3.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu
- ce2.egee.cesga.es:2119/jobmanager-lcgsge-GRID_iberibeu
- ce.cp.di.uminho.pt:2119/jobmanager-lcgpbs-ibergrid
- ce.iaa.csic.es:2119/jobmanager-lcgpbs-geniber
- ce.iaa.csic.es:2119/jobmanager-lcgpbs-geniber
- ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid
- ce01.macc.unican.es:2119/jobmanager-lcgpbs-grid
==========================================================================

Submissão da tarefa

[username@ui01 ~]$ glite-wms-job-submit -a sleep.jdl 
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
====================== wms-job-submit Success ======================

The job has been successfully submitted to the WMProxy
Your job identifier is:

https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A

==========================================================================

Obter o estado da tarefa

[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
======================= wms-job-status Success =====================
BOOKKEEPING INFORMATION:

Status info for the Job : https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
Current Status:     Scheduled 
Status Reason:      Job successfully submitted to Globus
Destination:        cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber
Submitted:          Mon Jan 31 23:39:17 2011 WET
==========================================================================
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
======================= wms-job-status Success =====================
BOOKKEEPING INFORMATION:

Status info for the Job : https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
Current Status:     Running 
Status Reason:      Job successfully submitted to Globus
Destination:        cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber
Submitted:          Mon Jan 31 23:39:17 2011 WET
==========================================================================

Obter informação detalhada sobre o estado da tarefa

[username@ui01 ~]$ glite-wms-job-logging-info -v [0|1|2|3] https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A

Obter resultados da execução

[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
======================= wms-job-status Success =====================
BOOKKEEPING INFORMATION:

Status info for the Job : https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
Current Status:     Done (Success)
Logged Reason(s):
   - 
   - Job terminated successfully
Exit code:          0
Status Reason:      Job terminated successfully
Destination:        cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber
Submitted:          Mon Jan 31 23:39:17 2011 WET
==========================================================================
[username@ui01 ~]$ glite-wms-job-output https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
================================================================================
			JOB GET OUTPUT OUTCOME
Output sandbox files for the job:
https://wms01.ncg.ingrid.pt:9000/3c0ExVvKbauWI1RSQCMk7A
have been successfully retrieved and stored in the directory:
/tmp/jobOutput/username_3c0ExVvKbauWI1RSQCMk7A
================================================================================
[username@ui01 ~]$ ll /tmp/jobOutput/username_3c0ExVvKbauWI1RSQCMk7A
total 8
-rw-r--r-- 1 username csys    0 Feb  1 00:14 sleep.err
-rw-r--r-- 1 username csys 5813 Feb  1 00:14 sleep.out

Manipulação de dados

Manipulação dos metadados no catálogo de ficheiros

Iniciar variável de ambiente para aceder ao catalogo de ficheiros

[username@ui01 ~]$ export LFC_HOST=lfc01.ncg.ingrid.pt

Listar os conteúdos do catálogo de ficheiros

[username@ui01 ~]$ lfc-ls /grid/iber.vo.ibergrid.eu
CROSS-Fire-lmiranda
abenitez
crossFire
file-lfc-probe-lfc01.ncg.ingrid.pt
fmartine
generated
jpina
jpinho
lbellot
lmiranda
lucero
mattia
mpiJava.tar
parameters.txt
rodon
tiagosa

Criar uma directoria no catálogo de ficheiros

[username@ui01 ~]$ lfc-mkdir /grid/iber.vo.ibergrid.eu/username

Copiar um ficheiro do filesystem local para um SE, registando-o no catálogo de ficheiros

[username@ui01 ~]$ lcg-cr -v --vo iber.vo.ibergrid.eu -d srm01.ncg.ingrid.pt -l lfn:/grid/iber.vo.ibergrid.eu/username/test-`date +%s`.txt file:/home/ingrid/csys/username/sleep.sh
Using grid catalog type: lfc
Using grid catalog : lfc01.ncg.ingrid.pt
Checksum type: None
SE type: SRMv2
Destination SURL : srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
Source SRM Request Token: ca3cbb3e-2a9a-4994-8717-42b87d240cc2
Source URL: file:/home/ingrid/csys/username/sleep.sh
File size: 159
VO name: iber.vo.ibergrid.eu
Destination specified: srm01.ncg.ingrid.pt
Destination URL for copy: gsiftp://gftp01.ncg.ingrid.pt:2811//lustre/ncg.ingrid.pt/data3/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
# streams: 1
         159 bytes      0.76 KB/sec avg      0.76 KB/sec inst
Transfer took 2090 ms
Using LFN: lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt
Using GUID: guid:aae518f6-e074-44b3-9287-50ac19e5ef35
Registering LFN: /grid/iber.vo.ibergrid.eu/username/test-1296518563.txt (aae518f6-e074-44b3-9287-50ac19e5ef35)
Registering SURL: srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 (aae518f6-e074-44b3-9287-50ac19e5ef35)
guid:aae518f6-e074-44b3-9287-50ac19e5ef35

Criar uma nova replica do ficheiro anterior num outro SE

[username@ui01 ~]$ lcg-rep -v --vo iber.vo.ibergrid.eu -d storm.gridc.lip.pt srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
Using grid catalog type: UNKNOWN
Using grid catalog : lfc01.ncg.ingrid.pt
VO name: iber.vo.ibergrid.eu
Checksum type: None
Trying SURL srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 ...
Source SE type: SRMv2
Source SRM Request Token: 03edd573-32fc-4b79-a706-7c98dcda3681
Destination SE type: SRMv2
Destination SRM Request Token: 24eb73f9-3a55-4ad8-bbe5-de9201748cf3
Source URL: srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
File size: 159
Destination specified: storm.gridc.lip.pt
Source URL for copy: gsiftp://gftp01.ncg.ingrid.pt:2811//lustre/ncg.ingrid.pt/data3/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
Destination URL: gsiftp://gridftp1.gridc.lip.pt:2811//gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f
# streams: 1
           0 bytes      0.00 KB/sec avg      0.00 KB/sec inst
Transfer took 1190 ms
Using LFN: lfn:(null)
Using GUID: guid:aae518f6-e074-44b3-9287-50ac19e5ef35
Registering SURL: srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f (aae518f6-e074-44b3-9287-50ac19e5ef35)
Destination URL registered in file catalog: srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f

Listar replicas

[username@ui01 ~]$ lcg-lr -v --vo iber.vo.ibergrid.eu lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt
Using grid catalog type: lfc
Using grid catalog : lfc01.ncg.ingrid.pt
srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f (aae518f6-

Apagar uma replica

[username@ui01 ~]$ lcg-del -v --vo iber.vo.ibergrid.eu srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802
VO name: iber.vo.ibergrid.eu
SE type: SRMv2
[guid:aae518f6-e074-44b3-9287-50ac19e5ef35] srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 - DELETED
[guid:aae518f6-e074-44b3-9287-50ac19e5ef35] srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4034a935-8d7a-48f4-914f-16f2634d4802 - UNREGISTERED

Apagar todas as replicas

[username@ui01 ~]$ lcg-del -v --vo iber.vo.ibergrid.eu -a lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt
VO name: iber.vo.ibergrid.eu
SE type: SRMv2
[lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt] srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f - DELETED
[guid:aae518f6-e074-44b3-9287-50ac19e5ef35] srm://storm.gridc.lip.pt/gstore/ibergrid/generated/2011-02-01/fileb490747b-756c-4106-af4f-1b993a1ccc5f - UNREGISTERED
[guid:aae518f6-e074-44b3-9287-50ac19e5ef35] lfn:/grid/iber.vo.ibergrid.eu/username/test-1296518563.txt - UNREGISTERED

Operações avançadas de submissão e manipulação de dados

Submissão de tarefas restringindo os CEs aptos para execução de acordo com uma aplicação / software desejado

O software instalado nas máquinas de execução é publicado pelos "Computing Elements" nas varáveis GlueHostApplicationSoftwareRunTimeEnvironment. Assim, para submeter tarefas a Computing Elements com o software R-2.11.0-1 instalado, o utilizador deve incluir o seguinte requisito no seu ficheiro JDL:

Requirements = Member("VO-iber.vo.ibergrid.eu-R-2_11_0-1",other.GlueHostApplicationSoftwareRunTimeEnvironment);
[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl 
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
==========================================================================
		     COMPUTING ELEMENT IDs LIST 
The following CE(s) matching your job requirements have been found:

	*CEId*
- ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid
==========================================================================

Submissão de tarefas para um CE específico

Incluir no ficheiro JDL o seguinte requisito:

Requirements = other.GlueCEUniqueID == "ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid";
[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl 
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
========================================================================== 
		     COMPUTING ELEMENT IDs LIST 
The following CE(s) matching your job requirements have been found:

	*CEId*
- ce04.ncg.ingrid.pt:2119/jobmanager-lcgsge-ibergrid
==========================================================================

Ranking dos CE de acordo com o número de CPUs livres

Ao incluir no ficheiro JDL o requisito seguinte, o primeiro site elegível para execução será o que apresentar maior número de CPUs livres.

Rank = other.GlueCEStateFreeCPUs;

Escolher um CE de acordo com ficheiros guardados num SE associado

Note que a inclusão destes atributos no JDL, não realiza a copia do ficheiro do SE para as máquinas de execução, esta é uma tarefa que deve ser realizada pelo utilizador (ver ponto seguinte).

DataRequirements = {
               [
                 InputData = {"lfn:/grid/iber.vo.ibergrid.eu/username/test-1296571168.txt"};
                 DataCatalogType = "DLI";
                 DataCatalog = "http://lfc01.ncg.ingrid.pt:8085";
               ]
       };
DataAccessProtocol = {"gsiftp"};
[username@ui01 ~]$ glite-wms-job-list-match -a sleep.jdl 
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server

==========================================================================
		     COMPUTING ELEMENT IDs LIST 
The following CE(s) matching your job requirements have been found:
	*CEId*
- ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid
==========================================================================

Copia de ficheiros de input armazenados num SE a partir de uma tarefa em execução

Se o utilizador necessitar de copiar ficheiros de input armazenados num SE e a partir de uma tarefa em execução, deve ser o utilizador a assumir essa responsabilidade. O exemplo seguinte enquandra-se no contexto descrito em que a script scriptInputData.sh (a executar remotamente) realiza a cópia.

[username@ui01 ~]$ cat scriptInputData.jdl 
Executable = "/bin/sh";
Arguments = "scriptInputData.sh lfn:/grid/iber.vo.ibergrid.eu/username/test-1296571168.txt";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = "scriptInputData.sh";
OutputSandbox = {"std.out","std.err"};
DataRequirements = {
               [
                 InputData = {"lfn:/grid/iber.vo.ibergrid.eu/username/test-1296571168.txt"};
                 DataCatalogType = "DLI";
                 DataCatalog = "http://lfc01.ncg.ingrid.pt:8085";
               ]
      };
DataAccessProtocol = {"gsiftp"};
RetryCount = 0;
[username@ui01 ~]$ cat scriptInputData.sh 
#!/bin/sh

# Set the proper environment
export LFC_HOST=lfc01.ncg.ingrid.pt
export LCG_GFAL_INFOSYS=topbdii01.ncg.ingrid.pt:2170
export LCG_CATALOG_TYPE=lfc

# Download the file from the SE to the WN where this job runs
# note that the LFN is passed as input to this script
lcg-cp -v --vo iber.vo.ibergrid.eu $1 file:`pwd`/local_file

echo "########################################"
ls -la local_file
echo "########################################"

Submissão da tarefa:

[username@ui01 ~]$ glite-wms-job-submit -a scriptInputData.jdl
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
====================== wms-job-submit Success ======================
The job has been successfully submitted to the WMProxy
Your job identifier is:
https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg
==========================================================================
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg
======================= wms-job-status Success =====================
BOOKKEEPING INFORMATION:
Status info for the Job : https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg
Current Status:     Done (Success)
Logged Reason(s):
    - 
    - Job terminated successfully
Exit code:          0
Status Reason:      Job terminated successfully
Destination:        ce01-tic.ciemat.es:2119/jobmanager-lcgpbs-ibergrid
Submitted:          Tue Feb  1 15:02:27 2011 WET
==========================================================================

O standard error e standard output recebidos após o termino da tarefa mostram que o ficheiro foi copiado do SE para o WN:

[username@ui01 ~]$ glite-wms-job-output https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
================================================================================
			JOB GET OUTPUT OUTCOME
Output sandbox files for the job:
https://wms01.ncg.ingrid.pt:9000/FAz-rPDY0gWdcrYUL9-jhg
have been successfully retrieved and stored in the directory:
/tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg
================================================================================
[username@ui01 ~]$ ll /tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg
total 8
-rw-r--r-- 1 username csys 911 Feb  1 15:41 std.err
-rw-r--r-- 1 username csys 312 Feb  1 15:40 std.out
[username@ui01 ~]$ cat /tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg/std.err
Using grid catalog type: LFC
Using grid catalog : lfc01.ncg.ingrid.pt
VO name: iber.vo.ibergrid.eu
Checksum type: None
Trying SURL srm://se01-tic.ciemat.es/dpm/ciemat.es/home/iber.vo.ibergrid.eu/generated/2011-02-01/file58c82d74-01a0-42bf-a035-76a69d2a9504 ...
Source SE type: SRMv2
Source SRM Request Token: 3b21832c-8123-447b-b723-680a7322aa43
Source URL: /grid/iber.vo.ibergrid.eu/username/test-1296571168.txt
File size: 159
Source URL for copy: gsiftp://se01-tic.ciemat.es/se01-tic.ciemat.es:/storage24/iber.vo.ibergrid.eu/2011-02-01/file58c82d74-01a0-42bf-a035-76a69d2a9504.1241311.0
Destination URL: file:/local/home/iber-ibergrid23/globus-tmp.ciewn086.9789.0/https_3a_2f_2fwms01.ncg.ingrid.pt_3a9000_2fFAz-rPDY0gWdcrYUL9-jhg/local_file
# streams: 1
            0 bytes      0.00 KB/sec avg      0.00 KB/sec inst
Transfer took 1000 ms
[username@ui01 ~]$ cat /tmp/jobOutput/username_FAz-rPDY0gWdcrYUL9-jhg/std.out 
########################################
-rw-r--r-- 1 iber-ibergrid23 iber-ibergrid 159 Feb  1 16:06 local_file
########################################

Cópia de ficheiros de output armazenado a partir de uma tarefa em execução para um SE

Se o utilizador necessitar de copiar ficheiros de output, gerados pela tarefa em execução, para um SE em particular, deve ser ele a garantir que isso acontece. O exemplo seguinte enquandra-se no contexto descrito em que a script scriptOutpupData.sh (a executar remotamente) realiza a cópia:

[username@ui01 ~]$ cat scriptOutputData.jdl 
Executable = "/bin/sh";
Arguments = "scriptOutputData.sh";
StdOutput = "std.out";
StdError = "std.err";
InputSandbox = "scriptOutputData.sh";
OutputSandbox = {"std.out","std.err"};
RetryCount = 0;
[username@ui01 ~]$ cat scriptOutputData.sh 
#!/bin/sh

output_file="output_file-`date +%s`.txt"
uname -a > $output_file
echo "I am doing some stuff" >> $output_file

# Set the proper environment
export LFC_HOST=lfc01.ncg.ingrid.pt
export LCG_GFAL_INFOSYS=topbdii01.ncg.ingrid.pt:2170
export LCG_CATALOG_TYPE=lfc

# Upload the file to the SE from the WN where this job runs
lcg-cr -v --vo iber.vo.ibergrid.eu -d srm01.ncg.ingrid.pt -l lfn:/grid/iber.vo.ibergrid.eu/username/$output_file file:`pwd`/$output_file 

Submissão da tarefa de execução:

[username@ui01 ~]$ glite-wms-job-submit -a scriptOutputData.jdl 
Connecting to the service https://wms01.ncg.ingrid.pt:7443/glite_wms_wmproxy_server
====================== wms-job-submit Success ======================
The job has been successfully submitted to the WMProxy
Your job identifier is:
https://wms01.ncg.ingrid.pt:9000/MR7Cmd69xhd9pnkea84HAw
==========================================================================
[username@ui01 ~]$ glite-wms-job-status https://wms01.ncg.ingrid.pt:9000/MR7Cmd69xhd9pnkea84HAw
======================= wms-job-status Success =====================
BOOKKEEPING INFORMATION:
Status info for the Job : https://wms01.ncg.ingrid.pt:9000/MR7Cmd69xhd9pnkea84HAw
Current Status:     Done (Success)
Logged Reason(s):
   - 
   - Job terminated successfully
Exit code:          0
Status Reason:      Job terminated successfully
Destination:        cmgce.mieres.uniovi.es:2119/jobmanager-lcgpbs-iber
Submitted:          Tue Feb  1 15:26:27 2011 WET
==========================================================================

Confirmação de que o ficheiro foi efectivamente transferido para o SE de destino:

[username@ui01 ~]$ lfc-ls /grid/iber.vo.ibergrid.eu/username/
/grid/iber.vo.ibergrid.eu/username/output_file-1296575015.txt
[username@ui01 ~]$ lcg-lr -v --vo iber.vo.ibergrid.eu lfn:/grid/iber.vo.ibergrid.eu/username/output_file-1296575015.txt
Using grid catalog type: lfc
Using grid catalog : lfc01.ncg.ingrid.pt
srm://srm01.ncg.ingrid.pt/ibergrid/iber/generated/2011-02-01/file4e4bf6a5-c92d-4187-bfc3-b9282168620f

Submissões MPI

Frequently Asked questions / Manuais

Ferramentas pessoais
Suporte