Sistema de análisis distribuido de ATLAS (ADA)
Farida Fassi / Mª Dolores Jordán
IFIC
Farida Fassi/M.D. Jordán 2/20
Contenido
Introducción al sistema Modelo de ADA Componentes
Dataset Transformación trabajo
AJDL (Abstract Job Description Language)
Arquitectura de ADA El entorno de usuario Servicio de catálogos Servicios de análisis
DIAL, ATPROD y ARDA Componentes de DIAL
Transformaciones
Farida Fassi/M.D. Jordán 3/20
Introducción (1)
ADA es un sistema de análisis de datos que permite hacer uso de las tecnologías GRID
su ámbito de aplicación es la física de Altas Energías
Toma de otros proyectos las herramientas necesarias para identificar algunos de sus componentes
Proporciona a los usuarios mecanismos para: acceder fácilmente a los datos seleccionar datos relevantes para un determinado análisis realizar el análisis y el procesamiento de dichos datos
Permite el análisis en un entorno donde los usuarios, los
datos y el procesamiento están distribuidos geográficamente
Farida Fassi/M.D. Jordán 4/20
Introducción (2)
¿En qué se basa ADA? Está basada en una colección de Servicios WEB (High level
services), donde el usuario interacciona con el sistema mediante una interfaz (AJDL) bien integrada con el entorno de análisis, y que permite:
ocultar los detalles y la complejidad del middleware
del que hace uso ADA
facilitar el uso del sistema permetiendo: el envío de los trabajos y su monitorización el acceso a los catálogos, a los ficheros y al software necesario para las aplicaciones.
Farida Fassi/M.D. Jordán 5/20
Modelo de ADA (1)
Componentes Dataset
describe los datos proporciona al usuario información para:
localizar datos conocer su tipo, y el número de sucesos que contiene
Transformación permite la manipulación y la explotación de los datasets describe una operación que actúa sobre un dataset produciendo un nuevo dataset
Farida Fassi/M.D. Jordán 6/20
Modelo de ADA (2)
Está dividida en: Aplicación especifica los ejecutables y las librerías compartidas
Tarea especifica la configuración del
usuario para una aplicación
Trabajo: ejemplo particular de transformación que actúa
sobre un dataset.
Farida Fassi/M.D. Jordán 7/20
Modelo de ADA (3)
AJDL (Abstract Job Definition Language)
AJDL son clases de C++ con métodos para escribir y leer desde ficheros XML Interfaz que define los componentes del modelo de ADA permite al usuario, desde su entorno, comunicarse con el servicio de análisis y de catálogos. proporciona una implementación genérica de los servicios de ADA de modo que éstos se pueden usar con:
Datasets Transformación (aplicación + tarea) Trabajo JobConfiguration (la configuración de un trabajo) Scheduler (servidor que lleva a cabo el procesamiento de los trabajos)
Farida Fassi/M.D. Jordán 8/20
Arquitectura de ADA (1)
Se estructura en tres niveles:
Entorno de usuario Servicios de análisis y de catálogos Sistema de procesamiento de los trabajos
Permite realizar el análisis en un entorno donde los usuarios, los datos y el procesamiento están distribuidos geográficamente.
Farida Fassi/M.D. Jordán 9/20
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
G U I andc o m m and l inec l ie nts
H igh le ve l s e rvic e sfo r c atalo ging andjo b s ubm is s io n andm o nito r ing
W o rklo adm anage m e nts ys te m s
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Arquitectura de ADA (2)
Farida Fassi/M.D. Jordán 10/20
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g Lite
AM I w s
AJ D L
Entorno de usuario (1)
Proporciona al usuario los medios para comunicarse con los servicios de ADA Permite al usuario:
acceder fácilmente a los datos monitorizar el progreso de los trabajos obtener un resultado parcial o completo de los trabajos
Facilita al usuario los recursos para examinar y crear los componentes de AJDL, en especial datasets, transformaciones y trabajos
Farida Fassi/M.D. Jordán 11/20
Entorno de usuario (2)
Está desarrollado por: GANGA implementado en Python
(http://ganga.web.cern.ch/ganga/)
ROOT implementado en C++
(http://root.cern.ch/root/)R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Farida Fassi/M.D. Jordán 12/20
Servicio de Catálogos (1)
Proporciona un repositorio para los componentes (objetos de C++) del AJDL Permite a los usuarios:
asignar metadata (atributos de nombre) a dichos objetos
Registrar la procedencia de los datasets monitorizar el progreso de los trabajos
Tres tipos de catálogos:Repositorio para todo tipo de AJDL
Almacena descripciones de objetos XML asociándoles un identificador (ID)
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Farida Fassi/M.D. Jordán 13/20
Servicio de Catálogos (2)
Catálogo de selección para datasets Asocia metadata con los ID’s de los objetos
Catálogo de réplicas para datasets Asocia un ID lógico con una colección de ID’s de réplicas
Actualmente se usa AMI
como servicio de catálogos
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Farida Fassi/M.D. Jordán 14/20
Servicios de Análisis (1) Objetivo
Proporcionar al usuario los mecanismos necesarios para llevar a cabo el análisis de los datos
métodos para la instalación de transformaciones,
el envío de los trabajos y su monitorización.
Procedimiento Recibe una petición de trabajo desde AJDL Crea el correspondiente trabajo asignándole un identificador Envía el trabajo para su ejecución al sistema de procesamiento
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Farida Fassi/M.D. Jordán 15/20
Servicios de Análisis (2)
Actualmente ADA posee tres servicios de análisis: DIAL ATPROD ARDA
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Farida Fassi/M.D. Jordán 16/20
DIAL (Distributed Interactive Analysis of Large datasets) (1)
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Demuestra la viabilidad del análisis distribuido e interactivo de grandes cantidades de datos, y el no-interactivo de los mismos
análisis interactivo colas rápidas de LSF análisis no-interactivo colas lentas de Condor
Su componente principal es el Scheduler que: recibe una petición del usuario (transformación + dataset) divide el dataset en sub-datasets por cada sub-dataset crea un sub-trabajo los envía al sistema de procesamiento para su ejecución concatena los diferentes resultados dando el resultado final
Farida Fassi/M.D. Jordán 17/20
DIAL (2)
In tera ctive a na ly sise .g . R O O T , JA S , ...
D IA L
D istr ibu ted p rocessing ru nn ing da ta -specific a pp lica tion
D a ta s e t S c he d u le r A A AJ o b
Proporciona al usuario el análisis interactivo procesando los trabajos de forma distribuida entre diferentes: sitios, granjas y nodos
Farida Fassi/M.D. Jordán 18/20
Componentes de DIAL
Transformación
Farida Fassi/M.D. Jordán 19/20
ATPROD y ARDA
ATPROD Sistema de producción de datos de ATLAS ADA permite a los usuarios producir, simular y reconstruir muestras de datos utilizando ATPROD El uso de ATPROD en ADA aún está en fase de desarrollo ARDA (gLite ver presentación de Álvaro)coordina las actividades de los proyectos del LHC para tener un sistema de análisis común basado en el middleware de gLite permite el envío de trabajos al sistema de gestión de los trabajos (WMS/gLite)
R O O T P Y T H O N
A M I D B S D IA L A S A T P R O D A S A R D A A S
LS F , C O N D O R gLite W M SA T P R O D
AJ D L
s h S Q L g L ite
AM I w s
AJ D L
Farida Fassi/M.D. Jordán 20/20
Transformaciones ADA soporta un amplio rango de transformaciones, pero se centra en aquellas que permiten el análisis, la generación, la simulación, y la reconstrucción de datos
Para satisfacer la estrategia de ADA, una
transformación se lleva a cabo en dos pasos:
1) toma los ficheros de la tarea y las librerías y realiza la compilación Build_task 2) coge el dataset de entrada y el build_task para su procesamiento, produciendo un nuevo dataset Run_task
Build y Run son ficheros de bash
Actualmente ADA posee los siguientes
transformaciones: aodhisto, atlasdev, atlasopt y esd2aod