Entorno Virtual para computación distribuida Galaxy + Pulsar

Descripción del componente

Pulsar

Para optimizar la infraestructura del Entorno Virtual Galaxy + Pulsar, y posibilitar el uso de recursos de computación distribuidos, en lugar de tener que instalar varios nodos centrales Galaxy, la instalación local de este componente tan solo requiere de la instalación de un nodo Pulsar local

GalaxyProject-Pulsar es un sistema de ejecución distribuida que permite a Galaxy ejecutar trabajos en sistemas remotos. Con Pulsar, los datos de entrada y los diferentes scripts y archivos de configuración se pueden transferir al sistema remoto, donde se ejecuta el trabajo de análisis y los resultados se transfieren nuevamente al servidor Galaxy, eliminando la necesidad de un sistema de archivos compartido.

Las principales ventajas de utilizar un nodo Pulsar para la ejecución distribuida de trabajos son:

  • Escalabilidad: Pulsar permite a Galaxy descargar tareas computacionales a recursos remotos.

  • Gestión de recursos: Ayuda a gestionar los recursos computacionales distribuyendo las tareas en función de la disponibilidad y los requisitos de los recursos.

arch

   

Instalación de Pulsar

La implementación de pulsar para el proyecto IMPaCT-Data se realiza a partir de su repositorio principal.

La documentación oficial se encuentra en:

Implementación para IMPaCT-Data

El modelo de implementación seleccionada para IMPaCT-Data es la modalidad basada en Colas de Mensajes usando AMPQS. Esta modalidad permite que el nodo Pulsar funcione en infraestructuras protegidas tras un firewall, y todas las transacciones de red se inician desde el nodo Pulsar y no se requiere abrir puertos externos.

La ejecución por defecto en IMPaCT-Data se basa en la ejecución local de imágenes de Apptainer (Singularity) distribuidas mediante CVMFS (ver documentación asociada) o herramientas instalables automaticamente via conda.

Para otros modelos de ejecución se requiren configurationes adicionales.

Requisitos software

Pre-requisitos para ejecución de herramientas

Instalación y Configuración para IMPaCT-Data. Instalación en host.

Aunque es posible utilizar un entorno Conda, se recomienda la instalación de la distribución de Pypi, por su simplicidad de ejecución.

mkdir pulsar
cd pulsar
python3 -m venv venv
. venv/bin/activate
pip install pulsar-app kombu pycurl 

Instalación via contenedor (experimental)

Se ha desarrollado un contenedor para la ejecución de pulsar, con identicas prestaciones.

git clone https://gitlab.bsc.es/impact-data/impd-pulsar-docker.git pulsar 
cd pulsar
docker compose build 

Preparación del entorno de configuración

git clone https://gitlab.bsc.es/impact-data/impd-pulsar-config.git config `

Debe generarse una structura de archivos como: config |- app.yml.sample |- local_env.sh |- container_resolvers_conf.yml |- certs

local_env.sh se ejecuta antes que pulsar y permite añadir variables de entorno específica is es necesario. app.yml es el principal punto de configuración. En particular debe configurarse app.yml.sample con las credenciales y certificados de acceso generadas por al administrador de IMPaCT-Data.

Ejecución CLI

pulsar -c config --mode webless

Ejecucion docker compose

docker compose up -d

Contacto

Para cualquier duda durante el periodo de uso y validación de los componentes de la Implementación de Referencia de IMPaCT-Data (Mayo, 2026), podéis poneros en contacto con: