Title: GRIDS
1GRIDS e-Ciencia
- Curso Postgrado CSIC
- 19 Junio 2006, Santander
- Ejecución de Trabajos en un Testbed
- Irma Díaz
- Consejo Superior de Investigaciones Científicas
- Instituto de Física de Cantabria, IFCA
- (Centro Mixto CSIC-Universidad de Cantabria)
- Santander ESPAÑA
2Uso de un Testbed Contenidos
- Introducción
- Testbed de CrossGrid
- Objetivos principales
- Distribución
- Recursos de cada institución
- Requisitos para la utilización del Testbed
- Acceso al Testbed
- Globus Proxy
- Ejemplo
- Preparación de un trabajo
- Job Description Language (JDL)
- Envío de trabajos
- Funcionamiento
- Comandos básicos
- Posibles problemas
- Ejemplos
3Testbed de Crossgrid
- Objetivos principales
- Proporcionar infraestructura de recursos
distribuidos - Dar soporte a la construcción del testbed en los
distintos centros a través de Europa - Controlar los servicios de red requeridos por el
testbed - Integrar el middleware y el software requerido
por las distintas aplicaciones - Asegurar un nivel de interoperabilidad con otros
testbed Grid (DataGrid, EGEE) - Coordinar las versiones de software facilitando
la documentación y soportes apropiados
4Testbed de Crossgrid
- Distribución
- Recursos de computación distribuidos a través de
Europa - 16 instituciones repartidas por 9 países
europeos
International Testbed Map
5Testbed de Crossgrid
- Los distintos centros del testbed proporcionaban
- Servicios Grid, basados en
- Globus
- EDG (DataGrid project)
- LCG (LHC Computing Grid)
- CrossGrid
- Miles de Gflops de poder de procesamiento y
varios Terabytes de almacenamiento distribuido
6Testbed de Crossgrid
- Recursos de cada institución
I
7Requisitos para la utilización del Testbed
- Cuenta en una máquina UI
- cgui.ifca.org
- Certificado de CrossGrid
- .globus
- usercert.pem Permiso de lectura para todos los
usuarios - userkey.pem Permiso de lectura para el usuario
- Organización Virtual (VO)
- cgtut
8Acceso al Testbed
- El acceso al Testbed se controla via proxy.
- proxy Credencial de tiempo limitado firmado por
la clave privada del usuario. - Comandos básicos
- grid-proxy-init (-hours) obtención del proxy, se
requiere la clave. - grid-proxy-info all da toda la información
relevante del proxy existente - grid-proxy-destroy borra el proxy de esa sesión
- grid-proxy-xxx help muestra como usar el
comando grid-proxy-xxx
9Globus proxy
- Ejemplos
- grid-proxy-init
- irma_at_gtbcg03 irma grid-proxy-init
- Your identity /CES/ODATAGRID-ES/OIFCA/CNIrma
Diaz Merino - Enter GRID pass phrase for this
identity - Creating proxy ..................................
Done - Your proxy is valid until Sat Jun 12 043514
2004 - grid-proxy-info
- irma_at_gtbcg03 irma grid-proxy-info -all
- subject /CES/ODATAGRID-ES/OIFCA/CNIrma
Diaz Merino/CNproxy - issuer /CES/ODATAGRID-ES/OIFCA/CNIrma
Diaz Merino - type full
- strength 512 bits
- path /tmp/x509up_u7023
- timeleft 115441
10Preparación de un Trabajo
- Para enviar un trabajo se debe especificar cierta
información - Caracteristicas del job
- Requerimientos y preferencias de recursos
- Datos necesarios
- Esta información se especifica en un archivo JDL
(Job Description Language) - El archivo ltjob.jdlgt
- Contiene toda la información necesaria para
desarrollar y ejecutar el trabajo. - Describe las entradas necesarias, genera las
salidas y los recursos requeridos para ejecutar
un trabajo.
11Preparación de un trabajo
- Atributos relevantes para definir un trabajo en
JDL
12Preparación de un trabajo
JobType Normal Executable
"gaussPar.exe" VirtualOrganisation
"cg"StdOutput "std.out"
StdError "std.err"
InputSandbox "gaussPar.exe"
OutputSandbox "std.out","std.err","his
tograms.xml" Requeriments
other.GlueCEUniqueID "gtbcg01.ifca.unican.es21
19/jobmanager-pbs-long" Arguments
10
13Envío de trabajos al Testbed
14Envío de trabajos al Testbed
- Comandos básicos
- edg-job-list-match ltjob.jdlgt lista de los
recursos del testbed que coincidan con los
requerimientos del job.
edg-job-list-mach job.jdl Connecting to host
rb.fzk.de, port 7772
COMPUTING ELEMENT IDs LIST The
following CE(s) matching your job requirements
have been found CEId
aocegrid.uab.es2119/jobman
ager-pbs-infinite aocegrid.uab.es2119
/jobmanager-pbs-long
aocegrid.uab.es2119/jobmanager-pbs-short
ce.grid.cesga.es2119/jobmanager-pbs-infini
te ce.grid.cesga.es2119/jobmanager-pbs
-long ce.grid.cesga.es2119/jobmana
ger-pbs-short ce100.fzk.de2119/jobm
anager-pbs-long
ce100.fzk.de2119/jobmanager-pbs-medium
ce100.fzk.de2119/jobmanager-pbs-short
cedar.crossgrid.man.poznan.pl2119/j
obmanager-pbs-cg
15Envío de trabajos al Testbed
- Comandos básicos
- edg-job-submit ltjob.jdlgt envía el trabajo, y
devuelve su identificador en forma URL, ltjobIDgt
edg-job-submit job.jdl Connecting to host
rb.fzk.de, port 7772 Logging to host rb.fzk.de,
port 9002
JOB SUBMIT OUTCOME The job has been
successfully submitted to the Network Server.
Use edg-job-status command to check job current
status. Your job identifier (edg_jobId) is -
https//rb.fzk.de9000/0MoXyUHTUUJeQKQn0AjCZw
16Envío de trabajos al Testbed
- Comandos básicos
- edg-job-status ltjobIDgt pregunta sobre el estado
del trabajo.
edg-job-status https//rb.fzk.de9000/Ur_cD_07Y
ouNXxGfIxgepA
BOOKKEEPING
INFORMATION Printing status info for the Job
https//rb.fzk.de9000/Ur_cD_07YouNXxGfIxgepA Curr
ent Status Waiting reached on Wed
Jun 16 121033 2004
BOOK
KEEPING INFORMATION Printing status info for the
Job https//rb.fzk.de9000/Ur_cD_07YouNXxGfIxgep
A Current Status Scheduled Status Reason
Job successfully submitted to Globus Destination
aocegrid.uab.es2119/jobmanager-pbs-long re
ached on Wed Jun 16 121527
2004
BOOKKEEPING INFORMATION Printing
status info for the Job https//rb.fzk.de9000/U
r_cD_07YouNXxGfIxgepA Current Status Running
Status Reason Job successfully submitted to
Globus Destination aocegrid.uab.es2119/job
manager-pbs-long reached on Wed Jun 16
121538 2004
BOOKKEEPING
INFORMATION Printing status info for the Job
https//rb.fzk.de9000/Ur_cD_07YouNXxGfIxgepA Curr
ent Status Done (Success) Exit code
139 Status Reason Job terminated
successfully Destination
aocegrid.uab.es2119/jobmanager-pbs-long reached
on Wed Jun 16 121549 2004
17Envío de trabajos al Testbed
- Comandos básicos
- edg-job-get-output ltjobIDgt recoge la salida del
trabajo ejecutado.
edg-job-get-output --dir /home/irma/tmp/jobOutpu
t/ https//rb.fzk.de9000/0MoXyUHTUUJeQKQn0AjCZw R
etrieving files from host rb.fzk.de
JOB GET
OUTPUT OUTCOME Output sandbox files for the
job - https//rb.fzk.de9000/0MoXyUHTUUJeQKQn0Aj
CZw have been successfully retrieved and stored
in the directory /home/irma/tmp/jobOutput/0MoXyU
HTUUJeQKQn0AjCZw
18Envío de trabajos al Testbed
- Comandos básicos
- edg-job-cancel ltjobIDgt cancela un trabajo.
edg-job-cancel https//rb01.lip.pt9000/qlfeDPEh
E1xogfhliH-R1A Are you sure you want to remove
specified job(s)? y/nn y
edg-job-cancel Success
The cancellation
request has been successfully submitted for the
following job(s) - https//rb01.lip.pt9000/qlfe
DPEhE1xogfhliH-R1A
19Envío de trabajos al Testbed
- Comandos básicos
- Facilidades
- edg-job-submit o fichero.txt ltjob.jdlgt con
está opción guardamos la URL del identificador en
el fichero y evitamos tener que escribirla o
copiar/pegar al usar el resto de comandos. - edg-job-status i fichero.txt al usar la
opción o al enviar el job, debemos usar la
opción i y el fichero para consultar el status o
recoger el job en lugar de usar el ltjobIDgt.
20Envío de trabajos al Testbed
- Comandos básicos
- Replica Manager
- Se utiliza para replicar archivos en distintos SE
del testbed, para ello se registran en el Replica
Catalog. - Es muy útil para los trabajos que necesitan de
archivos muy grandes, o de muchos archivos, para
ejecutarse, ya que usando el RM no hay que
introducirlos en el InputSandbox. - Cuando un trabajo necesita de uno de esos
archivos,especificando el logical file name de
dicho archivo, el RB se encarga de enviarle al CE
más cercano a la copia.
21Envío de trabajos al Testbed
- Posibles problemas
- Comando edg-job-submit
- No puede establecer un contexto seguro
-
- El usuario no ha sido incluido en la VO donde
trata de mandar el trabajo. Solución registrarse
en la correspondiente VO.
Error API_NATIVE_ERROR Error
while calling the NSClientmulti native api
AuthenticationException Falied to establish
secury context Error UI_NO_NS_CONTACT
Unable to contact any Network Server
22Envío de trabajos al Testbed
- Posibles problemas
- Comando edg-job-submit
- No encuentra el archivo de configuración
edg_wl_ui.conf - El archivo de configuración no está en el
directorio asignado por defecto. Solución buscar
el archivo en el sistema y usar la opción
config-vo para especificar su ubicación
Error UI_FILE_NOT_FOUND Unable to
find the file "/opt/edg/etc/dteam/edg_wl_ui.conf"
edg-job-submit -config-vo /opt/edg/etc/cg/edg_wl
_ui.conf job.jdl
23Envío de trabajos al Testbed
- Posibles problemas
- Comando edg-job-submit
- El Resource Broker no está disponible
-
-
-
- Solución enviar el trabajo varias veces
seguidas hasta que el RB responda
Connecting to host rb01.lip.pt, port 7772
Logging to host rb01.lip.pt, port 9002
Error API_NATIVE_ERROR Error while
calling the "LOGregist" native api Unable to
Register the Job https//rb01.lip.pt9000/R4xuo
0o-DSoj70XcSrmGYQ to the LB logger at
rb01.lip.pt9002 Resource temporarily
unavailable (Resource temporarily unavailable -
from locallogger)
24Envío de trabajos al Testbed
- Posibles problemas
- Comando edg-job-get-output
- No puede crear el directorio de salida
-
- Aparece cuando hay mas de un usuario loggeado en
el mismo UI, por defecto intenta guardar todas
las salidas en el mismo directorio y sólo tiene
acceso el usuario que lo haya creado. Solución
especificar el directorio en tu cuenta con la
opción -dir
edg-job-get-output https//rb01.lip.pt9000/XByR
R2h_b1vY8uiOijdmyA Error UI_CREATE_DIR
Unable to create the directory
"/tmp/jobOutput/XByRR2h_b1vY8uiOijdmyA
edg-job-get-output --dir ltpath_directorio_salida
gt \ https//rb01.lip.pt9000/XByRR2h_b1vY8uiOijdmy
A
25Más información
- JDL
- http//server11.infn.it/workload-grid/docs/DataGri
d-01-NOT-0101-0_6-Note.doc - .
- Tutorial
- http//grid.ifca.unican.es/crossgrid/wp4/Tutorial/
CG4-Tutorial.pdf
26Ejemplo Práctico
- Ejemplo 1 Hola.jdl
- Envío de un sencillo script que devuelve Hola
desde el Script en el fichero de salida standard
y Error desde el Script en el de error
standard. - Pasos a seguir
- Se crea el script, HolaScript.sh
-
-
!/bin/sh /bin/echo " Hola desde el Script
/bin/echo " Error desde el Script " 1gt2
27Ejemplo Práctico
- Ejemplo 1 Hola.jdl
- Se crea el archivo JDL apropiado para este
trabajo, Hola.jdl - Se comprueban los recursos disponibles del
Testbed para ejecutar este trabajo -
Executable "HolaScript.sh Virt
ualOrganisation "cg" StdOutput
"std.out" StdError
"std.err" InputSandbox
"HolaScript.sh" OutputSandbox
"std.out","std.err"
edg-job-list-match Hola.jdl
28Ejemplo Práctico
irma_at_gtbcg03 irma edg-job-list-match Hola.jdl
Connecting to host rb.fzk.de, port
7772
COMPUTING ELEMENT IDs LIST The following CE(s)
matching your job requirements have been found
CEId
aocegrid.uab.es2119/jobmanager-pbs-infinite
aocegrid.uab.es2119/jobmanager-pbs-lon
g aocegrid.uab.es2119/jobmanager-
pbs-short ce.grid.cesga.es2119/job
manager-pbs-infinite
ce.grid.cesga.es2119/jobmanager-pbs-long
ce.grid.cesga.es2119/jobmanager-pbs-short
ce100.fzk.de2119/jobmanager-pbs-lon
g ce100.fzk.de2119/jobmanager-
pbs-medium ce100.fzk.de2119/jobm
anager-pbs-short
cedar.crossgrid.man.poznan.pl2119/jobmanager-pbs-
cg cgnode00.di.uoa.gr2119/jobmanager-pbs-infi
nite cgnode00.di.uoa.gr2119/jobmanager-p
bs-long cgnode00.di.uoa.gr2119/jobma
nager-pbs-short
Lista de Computing Element disponibles para
ejecutar el trabajo.
cms.fuw.edu.pl2119/jobmanager-pbs-infinite
cms.fuw.edu.pl2119/jobmanager-pbs-long
cms.fuw.edu.pl2119/jobmanager-pbs-s
hort xgrid.icm.edu.pl2119/jobmana
ger-pbs-infinite xgrid.icm.edu.pl2119/
jobmanager-pbs-long
xgrid.icm.edu.pl2119/jobmanager-pbs-short
zeus24.cyf-kr.edu.pl2119/jobmanager-pbs-sh
ort cagnode45.cs.tcd.ie2119/jobmanager-
pbs-short cagnode45.cs.tcd.ie2119/jobm
anager-pbs-infinite cagnode45.cs.tcd.ie21
19/jobmanager-pbs-long
zeus24.cyf-kr.edu.pl2119/jobmanager-pbs-long
zeus24.cyf-kr.edu.pl2119/jobmanager-pbs-in
finite
29Ejemplo Práctico
- Ejemplo 1 Hola.jdl
- Se envía el trabajo al Resource Broker
-
irma_at_gtbcg03 irma edg-job-submit Hola.jdl
Connecting to host rb.fzk.de, port 7772 Logging
to host rb.fzk.de, port 9002
JOB SUBMIT OUTCOME
The job has been successfully submitted to the
Network Server. Use edg-job-status command to
check job current status. Your job identifier
(edg_jobId) is - https//rb.fzk.de9000/0MoXyUHT
UUJeQKQn0AjCZw
30Ejemplo Práctico
- Ejemplo 1 Hola.jdl
- Se comprueba el status del trabajo hasta que este
se ejecute. -
-
irma_at_gtbcg03 irma edg-job-status
https//rb.fzk.de9000/0MoXyUHTUUJeQKQn0AjCZw
BOOKKEEPING INFORMATION Printing status
info for the Job https//rb.fzk.de9000/0MoXyUHT
UUJeQKQn0AjCZw Current Status Done
(Success) Exit code 0 Status Reason
Job terminated successfully Destination
cgnode00.di.uoa.gr2119/jobmanager-pbs-long reache
d on Sat Jun 12 193600
2004
31Ejemplo Práctico
- Ejemplo 1 Hola.jdl
- Se recoge la salida. Para ello se especifica el
directorio donde queremos guardar los archivos
con la opción -dir path -
-
irma_at_gtbcg03 irma edg-job-get-output --dir
/home/irma/tmp/ \ https//rb.fzk.de9000/0MoXyUHTU
UJeQKQn0AjCZw Retrieving files from host
rb.fzk.de
JOB GET OUTPUT OUTCOME Output
sandbox files for the job - https//rb.fzk.de90
00/0MoXyUHTUUJeQKQn0AjCZw have been successfully
retrieved and stored in the directory
/home/irma/tmp/jobOutput/0MoXyUHTUUJeQKQn0AjCZw
32Ejemplo Práctico
- Ejemplo 1 Hola.jdl
- Por último se verifica que los archivos han sido
transferidos correctamente al UI, y que contienen
lo que deben. -
-
- irma_at_gtbcg03 irma ls -l tmp/jobOutput/XByRR2h_b
1vY8uiOijdmyA - -rw-r--r-- 1 irma xgrid 18 Jun 12
2146 std.err - -rw-r--r-- 1 irma xgrid 18 Jun 12
2146 std.out - irma_at_gtbcg03 0MoXyUHTUUJeQKQn0AjCZw more
std.out - Hola desde el Script
- irma_at_gtbcg03 0MoXyUHTUUJeQKQn0AjCZw more
std.err - Error desde el Script