EJEMPLOS DE JDL Los trabajos que se envíen al GRID, deben ser escritos en formato JDL (Job Description Language). El JDL es usado para especificar las características del trabajo, las cuales serán usadas por el GRID durante el proceso de seleccionar el mejor recurso que satisfaga los requerimientos del trabajo. 1) Ejemplo de un JDL para ejecutar una instrucción (hostname.jdl) --------------------------------------------------------------------Type = "Job"; JobType = "Normal"; Executable = "/bin/hostname"; StdOutput = "hostname.out"; StdError = "hostname.err"; OutputSandbox = {"hostname.err","hostname.out"}; Arguments = "-f"; RetryCount = 7; --------------------------------------------------------------------donde: hostname.out es el archivo que contiene la salida hostname.err es el archivo que contiene la salida de errores 2) Ejemplo de un JDL para ejecutar una instrucción (hostname2.jdl) --------------------------------------------------------------------Type = "Job"; JobType = "Normal"; Executable = "start_hostname.sh"; StdOutput = "hostname.out"; StdError = "hostname.err"; InputSandbox = {"start_hostname.sh"}; OutputSandbox = {"hostname.err","hostname.out"}; RetryCount = 7; Arguments = "start_hostname.sh"; --------------------------------------------------------------------donde: hostname.out es el archivo que contiene la salida hostname.err es el archivo que contiene la salida de errores start_hostname.sh es el archivo ejecutable El archivo ejecutable start_hostname.sh es: --------------------------------------------------------------------#!/bin/sh sleep 5 hostname -f --------------------------------------------------------------------- 3) Ejemplo de un JDL para un trabajo GAUSSIAN (gaussian.jdl): --------------------------------------------------------------------Type = "Job"; JobType = "Normal"; Executable = "gaussian.csh"; StdOutput = "test001.out"; StdError = "gaussian.err"; InputSandbox={"gaussian.csh","test001.com"}; OutputSandbox = {"gaussian.err","test001.out"}; Requirements = Member("GAUSSIAN03",other.GlueHostApplicationSoftwareRunTimeEnviron ment); RetryCount = 3; --------------------------------------------------------------------Donde: gaussian.csh es el archivo ejecutable test001.com es el archivo de entrada test001.out es el archivo que contiene la salida gaussian.err es el archivo que contiene la salida de errores El archivo ejecutable gaussian.csh es: --------------------------------------------------------------------#!/bin/csh -f setenv g03root /usr/local source /usr/local/g03/bsd/g03.login g03 < test001.com > test001.out --------------------------------------------------------------------- 4) Ejemplo de un JDL para un trabajo SIESTA (siesta.jdl): --------------------------------------------------------------------Type = "Job"; JobType = "Normal"; Executable = "siesta.sh"; StdOutput = "agua.out"; StdError = "siesta.err"; InputSandbox={"siesta.sh","h2o.fdf","H.psf","O.psf"}; OutputSandbox = {"siesta.err","agua.tar.gz","agua.out"}; Requirements = Member("SIESTA2.0",other.GlueHostApplicationSoftwareRunTimeEnvironment); RetryCount = 3; --------------------------------------------------------------------Donde: siesta.sh es el archivo ejecutable h2o.fdf , H.psf y O.psf son los archivos de entrada agua.out y agua.tar.gz son los archivos de salida siesta.err es el archivo salida de errores El archivo ejecutable agua.sh es: --------------------------------------------------------------------#!/bin/bash siesta < h2o.fdf > agua.out tar -czvf agua.tar.gz *.* --------------------------------------------------------------------- CONTACTOS: Para cualquier consulta relacionada con el funcionamiento de la infraestructura de grid de CeCalCULA, puede enviar un correo a [email protected] o llamar al teléfono + 58 274 2524192 y pedir que le atienda alguna persona de soporte del proyecto GRID.