La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Www.eu-eela.eu E-science grid facility for Europe and Latin America Grupo Grid Universidad de Los Andes JDL.

Presentaciones similares


Presentación del tema: "Www.eu-eela.eu E-science grid facility for Europe and Latin America Grupo Grid Universidad de Los Andes JDL."— Transcripción de la presentación:

1 www.eu-eela.eu E-science grid facility for Europe and Latin America Grupo Grid Universidad de Los Andes JDL

2 2 Overview Contenido JDL - Job Description Language Sintaxis del JDL JDL - Atributos JDL - Ejemplos

3 3 Job Description Language

4 4 JDL Job Description Language (JDL)En LCG el Job Description Language (JDL) es usado para describir los trabajos a ejecutar en el Grid El JDL es usado para especificar las características del trabajo, las cuales serán usadas durante el proceso de seleccionar el recurso que satisfaga los requerimientos del trabajo

5 5 JDL (2) CLASSified Advertisement language (ClassAd)El JDL esta basado en el CLASSified Advertisement language (ClassAd). –Un ClassAd es una secuencia de atributos separados por punto y coma (;) –Un ClassAd es altamente flexible y puede ser usado para representar servicios arbitrarios

6 6 Sintaxis del JDL Un atributo es un par (clave, valor), donde cada valor puede ser un entero, una cadena de caracteres, un lógico, etc. = ; Los comentarios deben ser precedidos por el carácter numeral (#) o seguir la sintaxis del C++ EL JDL es sensitivo a caracteres en blanco y tabuladores

7 7 Sintaxis del JDL (2) En el caso de valores que sean cadenas de caracteres, éstas deben ir entre comillas dobles precedidas de un backslash (\) Arguments= \Hello World!\ 10; Caracteres especiales, tales como &, |,, sólo son permitidos si son especificados dentro de una cadena entre comillas y precedida por un triple backslash (\\\) Arguments = -f file1\\\&file2 El carácter no es permitido en un JDL

8 8 JDL - Atributos JobType (opcional) –Normal (simple, secuencial) –Interactive –MPICH –Checkpointable –Partitionable –o combinación de ellos Ejemplos: JobType=Interactive; JobType={MPICH,Checkpointable}; Interactive + MPICH no es permitido

9 9 JDL - Atributos Executable (obligatorio) –Es el nombre del comando, script o programa que será enviado a ejecutarse en el grid. –El usuario puede especificar un ejecutable que se encuentre en un CE remoto –El usuario puede especificar un ejecutable local, el cual será enviado desde el UI al WN Ejemplos: Executable={/opt/EGEODE/GC/egeode.sh}; Executable={egeode.sh}; InputSandbox={/home/yubiryn/egeode/egeode.sh}

10 10 JDL - Atributos Arguments (opcional) –Es una cadena donde se especifican todos los argumentos que necesita el trabajo para ser ejecutado Ejemplo: Si tenemos un ejecutable llamado sum que debe ser invocado con la siguiente línea de comandos: $sum N1 N2 –output resultados.out Se describe así dentro de un archivo jdl Executable=sum; Arguments={N1 N2 –output resultados.out};

11 11 JDL - Atributos Environment (opcional) –Lista las variables de ambiente necesarias para que el trabajo se ejecute adecuadamente Ejemplo: Environment={JAVABIN=/usr/local/java};

12 12 JDL - Atributos StdInput (opcional) –Entrada estándar del trabajo StdOutput (opcional) –Salida estándar del trabajo StdError (opcional) –Error estándar del trabajo Ejemplos: StdOutput = "message.txt"; StdError = "stderror";

13 13 JDL - Atributos InputSandbox (opcional) –Lista de los archivos, ubicados en el disco local del UI, necesarios para ejecutar el trabajo –Los archivos listados serán automáticamente transferidos al recurso remoto Ejemplo: InputSandbox={my-script.sh,/tmp/cc.sh};

14 14 JDL - Atributos OutputSandbox (opcional) –Lista de los archivos generados por el trabajo y que deben ser recuperados al finalizar la ejecución Ejemplo: OutputSandbox={std.out,std.err,imagen.png};

15 15 JDL - Atributos VirtualOrganisation (opcional) –Nombre de la VO en la cual el usuario que envía el trabajo esta trabajando actualmente Ejemplo: VirtualOrganisation={gilda};

16 16 JDL - Atributos Requirements (opcional) –Requerimientos sobre los recursos de computo que necesita el trabajo –Los requerimientos son especificados usando los atributos GLUE de los recursos publicados en el Information Service –Si los requerimientos no son especificados, entonces se considera el valor definido por omisión en la configuración del UI Default.Requirements=other.GlueCEStateStatus==Production; Ejemplo: Requirements=other.GlueCEUniqueID==grid006.cecalc.ula.ve:2119/j obmanager-pbs-infinite; Requirements=Member(ALICE-3.07.01, other.GlueHostApplicationSoftwareRunTimeEnvironment);

17 17 JDL - Atributos Rank (opcional) –Expresión en punto flotante usada para clasificar los CEs que cumplen con los requerimientos –La expresión Rank puede contener los atributos que describen al CE en el Information System (IS) –La evaluación de la expresión Rank es realizada por el Resource Broker durante la fase de match-making –Mientras mas alto sea el valor numérico, mejor es el Rank –Si no se especifica, entonces se considera el valor por omisión definido en la configuración del UI Default.Rank=other.GlueCEStateFreeCPUs;

18 18 JDL - Atributos InputData (opcional) –Es una lista que representa los Logical File Names (LFNs) o Grid Unique Identifiers (GUIDs) necesarios como entradas del trabajo –La lista es usada por el Resource Broker para encontrar el CE, desde el cual los archivos especificados puedan ser accedidos de manera mas eficiente y planificar el trabajo para que se ejecute allí Ejemplo: InputData={lfn:cmstestfile,guid:135b7b23-4a6a-11d7-87e7- 9d101f8c8b70};

19 19 JDL - Atributos DataAccessProtocol (obligatorio si el InputData ha sido especificado) –El protocolo o lista de protocolos con los que las aplicaciones pueden acceder los archivos listados en el InputData en un SE dado –No todos lo SEs soportan/ofrecen el mismo conjunto de protocolos (gridftp, file, rfio …) Ejemplo: DataAccessProtocol={file,gridftp};

20 20 JDL - Atributos OutputData (opcional) –Este atributo permite al usuario pedir el registro y carga automática del conjunto de datos producidos por el trabajo en el Worker Node (WN) dentro de un Storage Element (SE) –Contiene los siguientes atributos: OutputFile StorageElement LogicalFileName

21 21 JDL - Atributos OutputFile (obligatorio si OutputData ha sido especificado) –Representa el nombre del archivo de salida, generado por el trabajo en el WN, el cual tiene que ser registrado y cargado automáticamente por el WMS dentro de un SE StorageElement (opcional) –Representa el URI del Storage Element donde el archivo de salida especificado en el atributo OutputFile será cargado por el WMS LogicalFileName (opcional) –Representa el LFN que el usuario quiere asociar al archivo de salida al colocarlo en el catalogo.

22 22 JDL - Atributos StorageIndex (obligatorio si el InputData o el OutputData han sido especificados) –Representa el URL del StorageIndex Service a contactar para resolver el nombre de los archivos especificados en el InputData o en el OutputData Ejemplo: StorageIndex=https://glite.org:9443/StorageIndex;

23 23 JDL - Atributos OutputSE (opcional) –Representa el URI del Storage Element (SE) donde el usuario quiere almacenar la data de salida –Este atributo es usado por el Resource Broker para encontrar el CE mas cercano al SE especificado y planificar la ejecución del trabajo allí Ejemplo: OutputSE=grid003.cecalc.ula.ve;

24 24 JDL - Ejemplo Ejemplo 1 JobType="normal"; Executable = "/bin/echo"; Arguments = "Hello World"; StdOutput = "message.txt"; StdError = "stderror"; OutputSandbox = {"message.txt", "stderror"};

25 25 JDL - Ejemplo Ejemplo 2 JobType="normal"; Executable = test.sh; StdOutput = std.out; StdError = std.err; InputSandbox = {test.sh}; OutputSandbox = {std.out,std.err};

26 26 JDL - Ejemplo Ejemplo 3 Type = "Job"; JobType = "Normal"; Executable = "/bin/bash"; StdOutput = std.out"; StdError = std.err"; InputSandbox = {yourscript.sh"}; OutputSandbox = {std.err",std.out"}; Arguments = "yourscript.sh";

27 27 JDL - Ejemplo Ejemplo 4 El recurso tiene que usar PBS como LRMS y tener al menos 2 CPUs Requirements=other.GlueCEInfoLRMSType==PBS && other.GlueCEInfoTotalCPUs>1 ; (Note que los nombres de los atributos estan precedidos por other., esto es un remanente de la sintaxis de ClassAd en la cual se basa el JDL)

28 28 JDL - Ejemplo Ejemplo 5 El recurso debe tener el software especificado (esta información es publicada en el ambiente del recurso) Requirements=Member(CMSIM-133, other.GlueHostApplicationSoftwareRunTimeEnvi ronment); El RunTimeEnvironment es un atributo de multiple valor El operador Member retorna true si el valor dado está en la lista del RunTimeEnvironment

29 29 JDL - Ejemplo Ejemplo 6 El trabajo tiene que ejecutarse en un CE en el dominio del cern.ch Requirements=(RegExp(cern.ch, other.GlueCEUniqueID));

30 30 JDL - Ejemplo Ejemplo 7 El trabajo no tiene que ejecutarse en un CE en el dominio del cern.ch Requirements=(!RegExp(cern.ch, other.GlueCEUniqueID));

31 31 JDL - Ejemplo Ejemplo 8 El recurso debe tener dos paquetes instalados (VO-alice-Alien y VO-alice-Alien-v4-01-Rev-01) y el trabajo debe poder ejecutarse por más de 86000 segundos Requirements = Member(VO-alice-Alien, other.GlueHostApplicationSoftwareRunTimeEnvironment) && Member(VO-alice-Alien-v4-01-Rev-01, other.GlueHostApplicationSoftwareRunTimeEnvironment) && (other.GlueCEPolicyMaxWallClockTime > 86000);

32 32 JDL - Ejemplo Ejemplo 9 El trabajo requiere al menos 25 minutos de tiempo de CPU y 100 minutos de tiempo real Requirements = other.MaxCPUTime>=1500 && other.MaxWallClockTime>=6000; (Note que el tiempo esta dado en segundos)

33 33 Preguntas …


Descargar ppt "Www.eu-eela.eu E-science grid facility for Europe and Latin America Grupo Grid Universidad de Los Andes JDL."

Presentaciones similares


Anuncios Google