La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

FP62004Infrastructures6-SSA-026409 www.eu-eela.org E-infrastructure shared between Europe and Latin America Jobs Especiales Moisés Hernández Duarte UNAM.

Presentaciones similares


Presentación del tema: "FP62004Infrastructures6-SSA-026409 www.eu-eela.org E-infrastructure shared between Europe and Latin America Jobs Especiales Moisés Hernández Duarte UNAM."— Transcripción de la presentación:

1 FP62004Infrastructures6-SSA E-infrastructure shared between Europe and Latin America Jobs Especiales Moisés Hernández Duarte UNAM FES Cuautitlán Tutorial en grid, visualización, y cómputo de alto rendimiento Ciudad de México, Octubre 23 al 26 de 2007 Basada en la presentación de Claudio Cherubino en el 4º Tutorial EELA

2 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Agenda Jobs MPI en gLite DAG (Directed Acyclic Graph) Colección de Jobs Jobs Paramétricos

3 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Un vistazo a MPI La ejecución de jobs paralelos es una característica esencial para las aplicaciones informáticas modernas. La biblioteca mas utilizada para soportar jobs paralelos es MPI (Message Passing Interface) En la actualidad, los jobs paralelos pueden ser ejecutados sólo en un Computing Element (CE) específico; –Aún cuando existen varios proyectos relacionados con la posibilidad de ejecutar jobs paralelos en Worker Nodes (WNs) que pertenezcan a diferentes CEs.

4 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Requerimientos & configuraciones Para garantizar que el job MPI pueda ejecutarse, deben satisfacerse los requerimientos siguientes: –El software MPICH debe estar instalado y colocado en la variable de ambiente PATH de cada WN perteneciente al CE. –Para su ejecución, algunas aplicaciones MPI requieren un sistema de archivos compartido entre los WNs. La variable VO_ _SW_DIR deberá contener el nombre de un directorio en caso de sistema de arhcivos compartido (SHARED). La variable VO_ _SW_DIR deberá contener. si no hay sistema de archivos compartido (NO SHARED).

5 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Desde el punto de vista del usuario, los jobs que serán ejecutados como MPI se especifican estableciendo el atributo JDL JobType en MPICH además de especificar el atributo NodeNumber. Ejem.: … JobType = MPICH; NodeNumber = 4; … Este atributo define el número de CPUs requerido para la aplicación

6 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Cuando se incluyen los dos atributos previos en el archivo JDL, la User Interface (UI) automaticamente agrega la siguiente expresión: a la expresión Requirements del archivo JDL con la intensión de encontrar el mejor recurso donde el job pueda ser ejecutado. (other.GlueCEInfoTotalCPUs >= NodeNumber) && Member (MPICH,other.GlueHostApplicationSoftwareRunTimeEnvironment)

7 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Crear el archivo mpi-test.jdl dentro de $HOME/gLite/Other y colocar el siguiente código dentro del archivo: [ Type = "Job"; JobType = "MPICH"; Executable = cpi"; NodeNumber = 2; StdOutput = cpi.out"; StdError = cpi.err"; InputSandbox = {"cpi"}; OutputSandbox = {cpi.err",cpi.out"}; RetryCount = 0; ] Ejercicio MPI

8 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Envío de jobs MPI [glite-tutor] /home/jmoises > glite-job-submit -o id mpi-test.jdl Selected Virtual Organisation name (from proxy certificate extension): gilda Connecting to host glite-rb.ct.infn.it, port 7772 Logging to host glite-rb.ct.infn.it, port 9002 ========== glite-job-submit Success ====================== The job has been successfully submitted to the Network Server. Use glite-job-status command to check job current status. Your job identifier is: - https://glite-rb.ct.infn.it:9000/bsrbbzbcXZWSzU3iUYlm6g The job identifier has been saved in the following file: /home/jmoises/id ==========================================================

9 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Estado y Salida MPI Consultar el estado del job ejecutando el comando siguiente: [glite-tutor] /home/jmoises > glite-job-status -i id ……………………………………………. Cuando el estado del job es DONE, puedes obtener la salida con el comando siguiente: [glite-tutor] /home/jmoises > glite-job-output -i id ……………………………………………

10 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de LCG-2 User Guide Manuals Series –https://edms.cern.ch/file/454439/LCG-2-UserGuide.pdf MPI en la web…

11 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Workload Manager Proxy

12 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Un vistazo a WMProxy WMProxy (Workload Manager Proxy) –Es un servicio nuevo que brinda acceso a la funcionalidad Workload Management System (WMS) de gLite a través de una interfaz simple basada en Web Services. –Ha sido diseñada para manejar eficientemente un gran número de peticiones para envío y control de jobs en el WMS. –La interfaz del servicio cumple con los estándares de Web Services y la arquitectura SOA, en particular se apega al WS-I desarrollado en C++ utilizando gsoap 2.7.6b.

13 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Nuevos tipos de petición El soporte para nuevos tipos descansa fuertemente en convertidores JDL, recientemente desarrolados y en el soporte de envío DAG –Todas las conversiones JDL se realizan en el servidor –Un único envío para varios jobs Todos los nuevos tipos de petición pueden ser monitoreados y controlados a través de un sólo manejador (el id de la petición) –Sin embargo a cada sub-job se le puede controlar y hacer seguimiento en forma independiente a través de su propio id. Comandos/APIs de cliente WMS más Inteligentes –Permite envíos de DAGs, colecciones de jobs y jobs paramétricos explotando el concepto de cajón compartido –Permite generación y envío automático de colecciones y DAGs desde conjuntos de archivos JDL localizados en directorios especificados por el usuario en la UI

14 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de WMProxy : envío & monitoreo Para el envío de jobs con WMProxy, es obligatorio delegar credenciales: Los comandos de envío/monitoreo son ligeramente diferentes, pero la mayoría de las viejas opciones están soportadas glite-wms-job-delegate-proxy -d del_ID glite-wms-job-submit -d del_ID collection.jdl glite-wms-job-status jobID glite-wms-job-output \ https://glite-rb.ct.infn.it:9000/LHIIGaCVdl7Olm sz0jpI_g

15 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de El job DAG Un job DAG es un conjunto de jobs donde la entrada, salida o ejecución de uno o más jobs puede depender de otros jobs Las dependencias están representadas a través de Directed Acyclic Graphs, donde los nodos son jobs, y las flechas identifican las dependencias nodeA nodeBnodeC NodeF nodeD

16 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Estructura JDL

17 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Atributo: Nodes

18 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Atributo: Dependencies

19 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de DAG jdl [ type = "dag"; max_nodes_running = 4; nodes = [ nodeA = [ file ="nodes/nodeA.jdl" ; ]; nodeB = [ file ="nodes/nodeB.jdl" ; ]; nodeC = [ file ="nodes/nodeC.jdl" ; ]; nodeD = [ file ="nodes/nodeD.jdl"; ]; dependencies = { {nodeA, nodeB}, {nodeA, nodeC}, { {nodeB,nodeC}, nodeD } } ]; ] La descripción del nodo también puede hacerse aquí, en lugar de utilizar archivos separados

20 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Colección de Job Una colección de jobs es un conjunto independiente de éstos, que el usuario desea enviar y monitorear a través de una sóla petición Los jobs de una colección se envían como nodos DAG sin dependencias El JDL es una lista que describe los sub-jobs [ Type = "collection"; VirtualOrganisation = gilda"; nodes = { [ ], … }; ]

21 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Scattered Input Sandboxes El Cajón de entrada (Input Sandbox) puede contener –Rutas de archivo en la máquina UI –URI apuntando archivos en un servidor gridFTP/HTTPS remoto InputSandbox = { "gsiftp://neo.datamat.it:2811/var/prg/sim.exe", "https://ghemon.cnaf.infn.it:8443/data/idat_1", "file:///home/pacio/myconf }; También se puede especificar una URI básica que se aplique a todos los archivos sandbox InputSandboxBaseURI = "gsiftp://matrix.datamat.it:2811/var"; Sólo los archivos locales ( file:// ) se suben al nodo WMS Los archivos apuntados por las URIs son directamente descargados en el WN por el JobWrapper justo antes de iniciar el job

22 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Scattered Output Sandboxes El JDL ha sido enriquecido con nuevos atributos para especificar los destinos de los archivos listados en la lista de atributos de la OutputSandbox OutputSandbox = {"jobOutput", "run1/event1", "jobError"}; OutputSandboxDestURI = { "gsiftp://matrix.datamat.it/var/jobOutput", "https://grid003.ct.infn.it:8443/home/cms/event1", "gsiftp://matrix.datamat.it/var/jobError"}; También se puede definir una URI básica que se aplique a todos los archivos sandbox files OutputSandboxBaseDestURI = "gsiftp://neo.datamat.it/home/run1/"; Los archivos son copiados por el JobWrapper al destino especificado, cuando el job completa su ejecución, sin transitar por el nodo WMS

23 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Job collection example [ type = "collection"; InputSandbox = {"date.sh"}; RetryCount = 0; nodes = { [ file ="jobs/job1.jdl" ; ], [ Executable = "/bin/sh"; Arguments = "date.sh"; Stdoutput = "date.out"; StdError = "date.err"; OutputSandbox ={"date.out", "date.err"}; ] ], [ file ="jobs/job3.jdl" ; ] }; ] Todos los nodos compartirán esta Input Sandbox

24 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Jobs Paramétricos Un job paramétrico es aquel en el que uno o mas de sus atributos son parametrizados El valor de los atributos varía de acuerdo al parámetro El monitoreo/manejo del Job se realiza siempre a través de un jobID único, como si el job fuera sencillo [ JobType = "Parametric"; Executable = "/bin/sh"; Arguments = "md5.sh input_PARAM_.txt"; InputSandbox = {"md5.sh", "input_PARAM_.txt"}; StdOutput = "out_PARAM_.txt"; StdError = "err_PARAM_.txt"; Parameters = 4; ParameterStart = 1; ParameterStep = 1; OutputSandbox = {"out_PARAM_.txt", "err_PARAM_.txt"}; ]

25 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Jobs Paramétricos / 2 El parámetro puede ser también una lista de cadenas InputSandbox (si existe) debe ser coherent con los parámetros [ui-test] /home/giorgio/param > cat param2.jdl [ JobType = "Parametric"; Executable = /bin/cat"; Arguments = input_PARAM_.txt; InputSandbox = "input_PARAM_.txt"; StdOutput = "myoutput_PARAM_.txt"; StdError = "myerror_PARAM_.txt"; Parameters = {earth,moon,mars}; OutputSandbox = {myoutput_PARAM_.txt}; ] [ui-test] /home/giorgio/param > ls inputEARTH.txt inputMARS.txt inputMOON.txt param2.jdl

26 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Referencias JDL attributes specification for WM proxy – https://edms.cern.ch/document/590869/1 https://edms.cern.ch/document/590869/1 WMProxy quickstart – wm/wmproxy_client_quickstart.shtml wm/wmproxy_client_quickstart.shtml WMS user guides – https://edms.cern.ch/document/572489/1 https://edms.cern.ch/document/572489/1

27 E-infrastructure shared between Europe and Latin America FP62004Infrastructures6-SSA Tutorial para Usuarios, Ciudad de México, 23 y 24 de Octubre de Gracias... !


Descargar ppt "FP62004Infrastructures6-SSA-026409 www.eu-eela.org E-infrastructure shared between Europe and Latin America Jobs Especiales Moisés Hernández Duarte UNAM."

Presentaciones similares


Anuncios Google