1 / 14

Sistema de producción de datos de ATLAS

Sistema de producción de datos de ATLAS. Julio Lozano Bahilo Universidad de Granada. Introducción. Objetivo :

gwylan
Download Presentation

Sistema de producción de datos de ATLAS

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Sistema de producción de datos de ATLAS Julio Lozano Bahilo Universidad de Granada

  2. Introducción • Objetivo : • Automatización de las tareas necesarias para efectuar la generación, simulación y reconstrucción masiva de datos de ATLAS (DC2) empleando los recursos disponibles gracias a la tecnología GRID • Optimización del uso de las CPUs y elementos de almacenamiento • Estudio exhaustivo en condiciones extremas del middleware y del hardware: estabilidad del sistema, capacidad de almacenamiento, ancho de banda, etc … • Arquitectura : • Sistema modular lo más simple y flexible posible: • Repositorio con trabajos a ejecutar y todo tipo de información acerca de los ficheros de entrada, de salida y de su estado de ejecución Julio Lozano Bahilo 1/13

  3. Introducción • Agente que se comunica con dicho repositorio, extrayendo la información precisa para crear los trabajos (jobs) y actualiza la información presente en él • Agente que intercambia información con el agente previo y envia los trabajos al GRID; por ello depende del “sabor” GRID • Sistema de acceso uniforme a los datos empleado por el agente que gestiona la ejecución de los trabajos. Transfiere los ficheros de entrada necesarios y copia los archivos producidos a un elemento de almacenamiento Julio Lozano Bahilo 2/13

  4. Esquema de producción prodDB DMS Don Quijote Windmill super super super super super jabber jabber Legacy jabber jabber jabber LCG exe LCG exe NG exe G3 exe LSF exe Dulcinea Capone Lexor RLS RLS RLS LCG NG Grid3 LSF Julio Lozano Bahilo 3/13

  5. Base de datos ProdDB Servidor Oracle en el CERN : comunicación via queries SQL Consta de diferentes tablas : TASK Colección de trabajos asociados a una misma transformación JOBTRANS JOBDEFINITION LOGICALFILE Información sobre los ficheros generados : LFN y GUID de los ficheros de datos y el log • Transformación : • versión del software • generación/simulación/reconstrucción • tipo de datos Definición abstracta del trabajo, incluyendo todos los parámetros necesarios para su ejecución : transformación, ficheros de entrada y salida, etc … JOBEXECUTION Estado de cada intento de ejecución del trabajo e información adicional : supervisor, ejecutor, CE, mensaje de error en caso de fallo Julio Lozano Bahilo 4/13

  6. Supervisor • Windmill • Tanto el supervisor como el ejecutor son paquetes escritos en Python y corren en un UI ( User Interface ) • Funcionalidad del supervisor : • Gestionar los trabajos residentes en la base de datos : • Extraer su definición y traspasarla al ejecutor en formato XML ( tabla jobdefinition ) • Obtener información acerca del estado de los trabajos enviados a GRID a través del ejecutor y actualizar la base de datos ( tablas jobexecution y jobdefinition ) • Verificar la correcta finalización de los trabajos accediendo a través de Don Quijote al RLS • Un fichero de configuración determina diversos parámetros de operación del supervisor. Alguno de ellos está relacionado con las máquinas empleadas: Julio Lozano Bahilo 5/13

  7. Supervisor • servidor jabber • Y otros con el tiempo de espera para que el supervisor realice las operaciones pertinentes: • petición de nuevos trabajos • información de tabajos en espera • estado actual de procesos en ejecución • información de trabajos finalizados tiempos a optimizar Julio Lozano Bahilo 6/13

  8. Centros GRID Centros GRID Supervisor Via de comunicación jabber supervisores ejecutores 1. lexor 2. dulcinea 3. capone 4. legacy 5. rocinante numJobsWanted executeJobs getExecutorData getStatus killJob Windmill Don Quijote (gestión de datos) Base de datos de producción Julio Lozano Bahilo 7/13

  9. Supervisor • Windmill • La comunicación con el ejecutor se hace en base a 5 mensajes codificados en XML a través de un servidor jabber : • numJobsWanted • el supervisor pide al ejecutor que haga una estimación del numero de CPUs disponibles en maquinas que cumplen los requisitos apropiados ( versión del software, CPU MHzs, memoria RAM ) • executeJobs • transmite la definición del trabajo al ejecutor para su posterior envío a un CE • getExecutorData • obtiene el identificador único de los trabajos enviados a GRID • getStatus • recibe información acerca del estado del trabajo y si ha acabado, ordena al ejecutor que registre los ficheros de salida • killJob Julio Lozano Bahilo 8/13

  10. Ejecutor • Lexor • Al igual que el supervisor, está implementado en Python. Se ejecuta en un UI. • Requiere de una credencial para enviar los trabajos y esa credencial se debe guardar en un Proxy Server para que la credencial guardada localmente sea renovada antes de que expire ( WN RB  PS ) • El ejecutor depende del sabor GRID dado que utiliza el middleware asociado a cada proyecto: LCG-2 ( basado en EDG ) en nuestro caso • Funcionalidad del ejecutor : • Suministrar información al supervisor : • Numero de CPUs disponibles ( contacta BDII ) • Estado de los trabajos en ejecución • Estado de los trabajos finalizados Julio Lozano Bahilo 9/13

  11. Ejecutor • Enviar los trabajos a ejecución : • Traducir la descripción del trabajo de XML a JDL • Enviar trabajo a RB para ejecución en CE • Un fichero de configuración determina las máquinas a utilizar ( RB, BDII, Proxy Server ), el número máximo de trabajos en ejecución y permite restringir los centros donde corren los trabajos • El script que se ejecuta en un WN ( Worker Node ) realiza los siguientes pasos: • Verifica la instalación del software del experimento • Copia el paquete de la transformación a efectuar • Copia los ficheros de entrada a través de DQ • Ejecuta el programa del experimento para generar/simular/reconstruir los sucesos • Copia los ficheros de salida a un SE mediante DQ Julio Lozano Bahilo 10/13

  12. XML job description Job Description Language Ejecutor El ejecutor para la infra-estructura GRID de LCG es Lexor. Intercambia mensajes de tipo XML via jabber con el supervisor y envía los trabajos a ejecución Supervisor Lexor cliente jabber XML parser gestor de trabajos Workload Management System API El ejecutor también recupera la información sobre el estado del trabajo y si acaba correctamente registra los ficheros de salida. Transmite la información al ejecutor via XML igualmente Julio Lozano Bahilo 11/13

  13. SQL ldap EDG WMS API job wrapper Flujo de tareas jobdefinition jobexecution BDII ProdDB UI UI Supervisor Serv. jabber Ejecutor numJobsWanted getExecutorData executeJobs getStatus RLS DQ SE CE RB Julio Lozano Bahilo 12/13

  14. Comentarios • Ejemplo de empleo de tecnología GRID aplicada a la producción, procesado y almacenado de datos en AA.EE. • Se ha sometido la infraestructura GRID ( tanto middleware como hardware y personal humano ) a un continuo esfuerzo para mejorar las prestaciones del sistema • Empleo de diferentes tecnologías para implementar un sistema en cuya base tenemos la tecnología GRID • GRID está ‘vivo y coleando’ y va dando frutos visibles Julio Lozano Bahilo 13/13

More Related