Logo i-MATH
Envío de trabajos al Grid
| Imprimir |

 

Preparación del trabajo

En primer lugar, debemos conectarnos al User Interface (UI), que en nuestro caso es ui.egee.cesga.es.

Vamos a enviar al grid un trabajo muy sencillo, un script que devuelve el nombre del nodo y un listado de sus archivos. Para lanzar el trabajo son necesarios dos ficheros: el fichero que contiene el script (test.sh) y el fichero que describe el trabajo (test.jdl).

test.sh

#! /bin/bash /bin/hostname -f echo 'pwd' ls >output.txt

test.jdl

Executable = "test.sh"; StdOutput = "test.out"; StdError = "test.err"; InputSandbox = {"test.sh"}; OutputSandbox = {"test.out","test.err","output.txt"}; Requirements = (other.GlueCEInfoHostName == "ce.macc.unican.es");

Los ficheros *.jdl siempre serán de esta forma donde
- Executable indica el script que se quiere ejecutar
- StdOuptut el nombre del fichero donde se guardará la salida estándard del programa
- StdError el nombre del fichero donde se guardará la salida de error del programa
- InputSandbox deberá contener los nombres de todos los ficheros que haga falta copiar al nodo donde se va a ejecutar el trabajo
- OutputSandbox indica los ficheros que se quieren copiar de vuelta una vez que acabe el trabajo

Una vez creados los ficheros, el siguiente paso será crear un proxy (si aún no lo tenemos) válido para la VO imath.cesga.es utilizando el siguiente comando:

$ voms-proxy-init -voms imath.cesga.es

Arriba


Envío del trabajo

Para enviar el trabajo al grid, se debe ejecutar el siguiente comando:

$ edg-job-submit test.jdl

Este comando nos muestra una URL que es el descriptor de nuestro trabajo. A continuación podemos ver un ejemplo:

Selected Virtual Organisation name (from proxy certificate extension): imath.cesga.es Connecting to host test01.egee.cesga.es, port 7772 Logging to host test01.egee.cesga.es, 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://test01.egee.cesga.es:9000/wGU6yMtqBtMumS4LLF6GQ *********************************************************************************************

Debemos apuntar o guardar este identificador para poder ver más tarde el estado del trabajo y recuperar su salida. Una forma fácil de hacerlo es usando el parámetro -o con un nombre de fichero que será donde guarde este descriptor:

$ edg-job-submit -o test.jid test.jdl

Arriba


Comprobación del estado del trabajo

Con el siguiente comando podemos ver el estado de nuestro trabajo:

$ edg-job-status <identificador de trabajo>

sustituyendo <identificador de trabajo> por el identificador que nos había devuelto el comando anterior, o bien, si hemos optado por la opción de guardar el identificador en un fichero:

$ edg-job-status -i test.jid

En las siguientes líneas podemos ver un ejemplo de lo que devuelve el comando anterior:

************************************************************* BOOKKEEPING INFORMATION: Status info for the Job : https://test01.egee.cesga.es:9000/wGU6yMtqBtMumS4LLF6GQ Current Status: Done (Success) Exit code: 0 Status Reason: Job terminated successfully Destination: ce.macc.unican.es:2119/jobmanager-lcgpbs-imath reached on: Tue Sep 4 12:27:31 2007 *************************************************************

En este caso el estado es Done (Success) lo cual nos indica que nuestro trabajo ha finalizado correctamente y que podemos proceder a recoger la salida del trabajo.

Otros posibles estados son:
- Ready: El trabajo se ha enviado correctamente al Resource Broker.
- Scheduled: Se encuentra en la cola del CE.
- Running: Está ejecutándose en una máquina.

Arriba


Recuperación de la salida del trabajo

Para recoger la salida usaremos el comando:

$ edg-job-get-output <identificador de trabajo>

o bien, si hemos guardado el identificador en un fichero:

$ edg-job-get-output -i test.jid

Este comando descargará los ficheros de salida y los dejará en el directorio que nos indica:

********************************************************************************* JOB GET OUTPUT OUTCOME Output sandbox files for the job: - https://test01.egee.cesga.es:9000/wGU6yMtqBtMumS4LLF6GQ have been successfully retrieved and stored in the directory: /home/teresa/jobOutput/teresa_wGU6yMtqBtMumS4LLF6GQ *********************************************************************************

En este caso, nos devuelve tres ficheros. En el fichero output.txt estará el listado de la máquina. Los otros dos ficheros nos pueden valer para obtener información sobre como se ejecutó el trabajo.

Arriba


prueba