Portal de Eventos, Conferencia Internacional BIREDIAL-ISTEC 2015

Tamaño de la fuente: 
Implementación de sword para la ingestión masiva de datos en el Repositorio LAGOdata del proyecto LAGO
Luis Alejandro Torres Niño

Última modificación: 12/11/2015

Resumen


El proyecto LAGO (Latin American Giant Observatory) es una colaboración iberoamericana de más de 80 investigadores en el área de astropartículas motivada por la experiencia del Observatorio Pierre Auger en Argentina. LAGO para la fecha, posee una red de 10 detectores de agua Cherenkov localizados en diferentes latitudes a lo largo del continente suramericano. Normalmente, cada detector genera 150 GB de datos/mes y en todo el proyecto puede llegar a generar 1.5 TB/mes. Referente al tema de generación de datos, el proyecto puede producir alrededor 50GB/sitio de datos simulados mediante la utilización de CORSIKA (COsmic Ray SImulation for KAscade), un software para simular de forma detallada lluvias de partículas cósmicas de altas energías. Esta gran cantidad de datos son preservados en el repositorio del proyecto denominado LAGOData, siendo este parte de un proyecto más ambicioso denominado LAGOVirtual, en donde además de los servicios de almacenamiento, catalogación y búsqueda de datos, contendrá herramientas de análisis y simulación.

Para los investigadores LAGO se ha hecho fundamental catalogar y preservar de forma adecuada los datos producidos por los detectores en búsqueda de cumplir con los objetivos del proyecto. El análisis en tiempo real de los datos puede llegar a ser bastante complejo y llevar largos periodos de tiempo dependiendo de lo que se busque en ellos y aún más si son correlacionados entre varias instalaciones. Esta situación fue la que conllevó a la creación del primer repositorio de la comunidad además del hecho de poder intercambiar y compartir una gran cantidad de ellos  entre las diferentes instituciones participantes ubicadas en una gran variedad de países.

Referente al primer repositorio de datos, en el 2010 se adapta a las necesidades básicas de LAGO el software de código abierto DSpace en donde sus primeros prototipos solo contenían adaptaciones en su interfaz gráfica y la creación de un pequeño esquema de metadatos para describir ciertas características importantes para los investigadores involucrados en el proyecto. Actualmente, el repositorio de datos LAGOData esta soportado en la versión 4.3 de DSpace y en donde no solo se ha modificado su interfaz gráfica basada en Bootstrap 3, sino que se han realizado modificaciones en varios archivos de configuración para implementar el sistema PID (persistent identifiers) de GRNET, permitiendo asignar y resolver un identificador único a cada archivo de datos ingerido en el repositorio.

Siendo LAGOData una modificación de Dspace, se cuenta con sus ventajas y desventajas, entre la que mayor destaca es su imposibilidad de ingerir múltiples archivos a través de su workflow en la interfaz gráfica. A razón de esta gran desventaja el proyecto realiza en primera medida un script con el cual es posible realizar ingestiones masivas de datos implementando las herramientas batch proporcionadas por Dspace. Posteriormente esta rutina fue rescrita en una rutina Java en donde se toma cada archivo de datos, se extraen la información necesaria para establecer los metadatos y se crea lo que se conoce como el formato simple de archivos (Simple Archive Format). En esta rutina se utiliza tanto el esquema de datos DublinCore como el esquema de metadatos personalizados necesarios en el proyecto LAGO, el cual proporciona información acerca de las configuraciones de los detectores y de los parámetros de captura de los datos.

Por otra parte y a pesar del ahorro de tiempo que produjo la rutina desarrollada en Java en las tareas de catalogación e ingestión, los procesos de recolección de los datos impedían que el repositorio de datos se mantuviera actualizado y con los datos más recientes que en muchos de los casos son de vital importancia en diferentes investigaciones. Por este motivo, se decide brindarle “inteligencia” a los detectores, permitiéndoles realizar ingestiones directamente al repositorio sin la necesidad de alguien en medio que realizara estas tareas. SWORD (Simple Web-service Offering Repository Deposit) es la herramienta que permitiría al proyecto interconectar sus detectores y automatizar los procesos escritos anteriormente.

Con el planteamiento anterior, se desarrolla un nuevo cliente para el servidor SWORD instalado en LAGOData proporcionado por DSpace. Durante el desarrollo de la herramienta, se encontraron diferentes inconvenientes en cuanto a los alcances de SWORD para esquemas diferentes al DublinCore, impidiendo la utilización del esquema personalizado de metadatos. Como solución a este, muchos de los metadatos personalizados pudieron ser relacionados con el esquema DublinCore. Otro inconveniente presente al desarrollar la herramienta fue registrado al tener que ingerir archivos de datos con un tamaño considerable, presentado por la configuración de Java tanto en el cliente como en el servidor. Al sobrellevar estas dos problemáticas, el cliente SWORD le proporcionó a cada uno de los detectores la capacidad de autenticarse al repositorio e ingerir los datos que cada uno de ellos iba produciendo. Finalmente y con el fin de brindarle autonomía completa a cada detector, se crea un rutina de monitoreo mediante la cual se detecta la generación de nuevos datos y se activa al cliente para generar e ingerir los datos a LAGOData.

Como trabajo futuro el proyecto LAGO realizará otras modificaciones a DSpace para permitirle la descarga múltiple de archivos de datos empaquetados en un único archivo y por otra parte buscar una alternativa viable que le permita a SWORD manejar otros esquemas de metadatos, requisito importante para búsquedas avanzadas de ciertos parámetros de los datos brutos y simulados del proyecto LAGO.


Para poder ver los trabajos, es necesario registrarse en la conferencia