Seleccionar idioma

Infraestructura Federada Heterogénea de Computación y Almacenamiento para PUNCH4NFDI

Análisis de los conceptos Compute4PUNCH y Storage4PUNCH para federar diversos recursos de HPC, HTC y almacenamiento en instituciones de investigación alemanas.
computingpowertoken.net | PDF Size: 0.5 MB
Calificación: 4.5/5
Tu calificación
Ya has calificado este documento
Portada del documento PDF - Infraestructura Federada Heterogénea de Computación y Almacenamiento para PUNCH4NFDI

1. Introducción

El consorcio PUNCH4NFDI (Partículas, Universo, Núcleos y Hadrones para la Infraestructura Nacional de Datos de Investigación), financiado por la Fundación Alemana para la Investigación (DFG), representa aproximadamente a 9.000 científicos de las comunidades de física de partículas, astrofísica, astropartículas, hadrones y física nuclear. Integrado en la iniciativa más amplia de la NFDI, su objetivo principal es establecer una plataforma de datos científicos federada y FAIR (Localizable, Accesible, Interoperable, Reutilizable). Esta plataforma pretende proporcionar acceso sin fisuras a los diversos recursos de computación y almacenamiento de las instituciones participantes, abordando los desafíos comunes planteados por los volúmenes de datos que crecen exponencialmente y los algoritmos de análisis computacionalmente intensivos. Este documento se centra en los conceptos arquitectónicos—Compute4PUNCH y Storage4PUNCH—diseñados para federar la infraestructura de investigación heterogénea de Alemania.

2. Infraestructura Federada Heterogénea de Computación – Compute4PUNCH

Compute4PUNCH aborda el desafío de utilizar eficazmente una amplia gama de recursos aportados en especie, incluyendo sistemas de Computación de Alto Rendimiento (HPC), Computación de Alto Rendimiento (HTC) y Cloud, distribuidos por toda Alemania. Estos recursos varían en arquitectura, sistemas operativos, pilas de software y políticas de acceso. El principio de diseño central es crear un sistema de superposición unificado con una intrusión mínima en los proveedores de recursos operativos existentes.

2.1. Arquitectura Central e Integración

La federación se construye alrededor de HTCondor como sistema por lotes central de superposición. Los recursos heterogéneos se integran dinámicamente utilizando el meta-planificador de recursos COBalD/TARDIS. COBalD/TARDIS actúa como un intermediario inteligente, pilotando trabajos hacia backends adecuados (por ejemplo, clústeres Slurm, Kubernetes) en función de la disponibilidad de recursos, los requisitos del trabajo y las políticas. Esto crea un único grupo de recursos lógico a partir de sistemas físicamente dispares.

2.2. Acceso de Usuario y Entorno de Software

Los puntos de entrada del usuario se proporcionan a través de nodos de inicio de sesión tradicionales y un servicio JupyterHub. Una Infraestructura de Autenticación y Autorización (AAI) basada en tokens estandariza el acceso. La complejidad del entorno de software se gestiona mediante tecnologías de contenedores (por ejemplo, Docker, Singularity/Apptainer) y el Sistema de Archivos de Máquina Virtual del CERN (CVMFS), que distribuye repositorios de software escalables y de solo lectura a los nodos de computación a nivel global.

3. Infraestructura Federada de Almacenamiento – Storage4PUNCH

Storage4PUNCH tiene como objetivo federar sistemas de almacenamiento proporcionados por la comunidad, basados principalmente en las tecnologías dCache y XRootD, que están bien establecidas en la Física de Altas Energías (HEP). La federación emplea espacios de nombres y protocolos comunes (como xrootd, WebDAV) para presentar una capa de acceso a datos unificada. El concepto también evalúa la integración de soluciones de caché y servicios de gestión de metadatos para mejorar la localidad de los datos y su capacidad de descubrimiento en toda la federación.

4. Implementación Técnica y Componentes

4.1. Autenticación y Autorización (AAI)

Una AAI basada en tokens (probablemente aprovechando los estándares OAuth 2.0/OpenID Connect, similares a WLCG IAM o INDIGO IAM) proporciona una experiencia de inicio de sesión único. Asigna identidades de la comunidad a permisos de recursos locales, abstraiendo los sistemas de autenticación locales heterogéneos (por ejemplo, Kerberos, claves SSH).

4.2. Meta-Planificación de Recursos: COBalD/TARDIS

COBalD (el Coordinador) y TARDIS (el Sistema de Integración Dinámica de Recursos Adaptativo y Transparente) trabajan en conjunto. COBalD toma decisiones de planificación de alto nivel, mientras que TARDIS gestiona el ciclo de vida de los "pilotos" o "trabajos de marcador de posición" en los recursos objetivo. Este desacoplamiento permite la aplicación flexible de políticas (por ejemplo, coste, equidad, prioridad) y la adaptación dinámica a los estados fluctuantes de los recursos. La planificación puede modelarse como un problema de optimización, minimizando una función de coste $C_{total} = \sum_{i}(w_i \cdot T_i) + \lambda \cdot R$, donde $T_i$ es el tiempo de respuesta del trabajo $i$, $w_i$ es su peso de prioridad, $R$ representa el coste de uso del recurso y $\lambda$ es un parámetro de equilibrio.

4.3. Capa de Datos y Software

CVMFS es fundamental para la distribución de software. Utiliza un modelo de almacenamiento direccionable por contenido y un almacenamiento en caché agresivo (con servidores Estrato 0/1 y cachés locales Squid) para entregar repositorios de software de manera eficiente. Es probable que la federación emplee una jerarquía de estratos CVMFS, con un estrato 0 central del repositorio PUNCH y espejos de estrato 1 institucionales. El acceso a los datos sigue un modelo federado similar, donde los elementos de almacenamiento (SE) publican sus endpoints en un directorio global (como Rucio o un simple servicio REST), permitiendo a los clientes resolver las ubicaciones de los datos de manera transparente.

5. Estado del Prototipo y Experiencias Iniciales

El documento indica que los prototipos tanto de Compute4PUNCH como de Storage4PUNCH están operativos. Se han ejecutado aplicaciones científicas iniciales, proporcionando retroalimentación valiosa sobre el rendimiento, la usabilidad y los puntos problemáticos de integración. Aunque el extracto no proporciona números de referencia específicos, la ejecución exitosa implica que se ha validado la funcionalidad básica del sistema por lotes de superposición, la integración de la AAI y la entrega de software a través de CVMFS. Estas experiencias están guiando los refinamientos en la configuración de políticas, el manejo de errores y la documentación del usuario.

6. Ideas Clave y Análisis Estratégico

Idea Central: PUNCH4NFDI no está construyendo un nuevo superordenador; está diseñando un "tejido de federación" que une pragmáticamente los recursos fragmentados existentes. Este es un cambio estratégico desde una infraestructura monolítica hacia una agregación de recursos ágil y definida por software, reflejando tendencias en la nube comercial pero adaptada a las limitaciones y la cultura de la academia financiada con fondos públicos.

Flujo Lógico: La arquitectura sigue una lógica clara y basada en dependencias: 1) Unificar la Identidad (AAI) para resolver el problema del "quién", 2) Abstraer los Recursos (COBalD/TARDIS + HTCondor) para resolver el problema del "dónde", y 3) Desacoplar el Entorno (Contenedores + CVMFS) para resolver el problema del "con qué". Esta abstracción por capas es ingeniería de sistemas de libro de texto, que recuerda al éxito de la Worldwide LHC Computing Grid (WLCG), pero aplicada a un conjunto de recursos más diverso.

Fortalezas y Debilidades: La principal fortaleza es su modelo de adopción no disruptivo. Al utilizar tecnologías de superposición y respetar la autonomía de los sitios, reduce la barrera de entrada para los proveedores de recursos, un factor de éxito crucial para los consorcios. Sin embargo, este es también su talón de Aquiles. La sobrecarga de rendimiento de la meta-planificación y la complejidad inherente de la depuración en sistemas heterogéneos administrados de forma independiente pueden ser significativas. El mandato de "interferencia mínima" puede limitar la capacidad de implementar características avanzadas como el acoplamiento profundo almacenamiento-computación o el aprovisionamiento dinámico de red, limitando potencialmente las ganancias de eficiencia. En comparación con un sistema centralizado y construido a propósito, como el Borg de Google o un clúster de Kubernetes, la federación siempre tendrá una mayor latencia y una menor previsibilidad de utilización.

Ideas Accionables: Para otros consorcios que consideren este camino: 1) Invertir fuertemente en monitorización y observabilidad desde el primer día. Herramientas como Grafana/Prometheus para la infraestructura y APM (Application Performance Monitoring) para los trabajos de usuario son no negociables para gestionar la complejidad. 2) Estandarizar en un conjunto reducido de imágenes base de contenedores para reducir la carga de mantenimiento de CVMFS. 3) Desarrollar un modelo de soporte claro y escalonado que distinga los problemas a nivel de federación de los problemas locales del sitio. La verdadera prueba no será la viabilidad técnica—la comunidad HEP ya lo ha demostrado—sino la sostenibilidad operativa y la satisfacción del usuario a gran escala.

7. Análisis Técnico en Profundidad

Modelo Matemático para la Planificación de Recursos: El sistema COBalD/TARDIS puede conceptualizarse como la resolución de un problema de optimización con restricciones. Sea $J$ el conjunto de trabajos, $R$ el conjunto de recursos y $S$ el conjunto de estados de los recursos (por ejemplo, inactivo, ocupado, drenado). El planificador pretende maximizar una función de utilidad $U$ que considera la prioridad del trabajo $p_j$, la eficiencia del recurso $e_{j,r}$ y el coste $c_r$: $$\max \sum_{j \in J} \sum_{r \in R} x_{j,r} \cdot U(p_j, e_{j,r}, c_r)$$ sujeto a las restricciones: $$\sum_{j} x_{j,r} \leq C_r \quad \forall r \in R \quad \text{(Capacidad del Recurso)}$$ $$\sum_{r} x_{j,r} \leq 1 \quad \forall j \in J \quad \text{(Asignación del Trabajo)}$$ $$x_{j,r} \in \{0,1\} \quad \text{(Variable de Decisión Binaria)}$$ donde $x_{j,r}=1$ si el trabajo $j$ está asignado al recurso $r$. TARDIS gestiona dinámicamente la viabilidad de las asignaciones basándose en el estado en tiempo real $S$.

Resultados Experimentales y Descripción de Diagramas: Aunque el extracto del PDF proporcionado no contiene gráficos de rendimiento específicos, una evaluación típica incluiría diagramas que comparan:
1. Rendimiento de Trabajos en el Tiempo: Un gráfico de líneas que muestra el número de trabajos completados por hora en el grupo federado frente a los clústeres de recursos individuales, demostrando el beneficio de la agregación.
2. Mapa de Calor de Utilización de Recursos: Una visualización en cuadrícula que muestra el porcentaje de CPUs/GPUs utilizados en diferentes proveedores de recursos (KIT, DESY, Bielefeld, etc.) durante una semana, destacando la efectividad del balanceo de carga.
3. CDF de Latencia de Inicio del Trabajo: Un gráfico de la Función de Distribución Acumulativa que compara el tiempo desde la entrega del trabajo hasta el inicio de la ejecución en el sistema federado frente a la entrega directa a un sistema por lotes local, revelando la sobrecarga de la meta-planificación.
4. Rendimiento de Acceso a Datos: Un gráfico de barras que compara las velocidades de lectura/escritura para datos accedidos localmente, desde un elemento de almacenamiento federado dentro de la misma región y desde un elemento federado remoto, ilustrando el impacto del almacenamiento en caché y la red.

8. Marco de Análisis y Modelo Conceptual

Estudio de Caso: Análisis Federado de Datos de Sondeo Astronómico
Escenario: Un grupo de investigación en la Thüringer Landessternwarte Tautenburg necesita procesar 1 PB de datos de imágenes del Sloan Digital Sky Survey (SDSS) para identificar cúmulos de galaxias, una tarea computacionalmente intensiva que requiere ~100.000 horas de CPU.
Proceso a través de Compute4PUNCH/Storage4PUNCH:
1. Autenticación: El investigador inicia sesión en el JupyterHub de PUNCH utilizando sus credenciales institucionales (a través de la AAI basada en tokens).
2. Entorno de Software: Su kernel de Jupyter notebook se ejecuta desde una imagen de contenedor alojada en CVMFS, que contiene todos los paquetes de astronomía necesarios (Astropy, SExtractor, etc.).
3. Definición y Entrega del Trabajo: Define un trabajo de barrido de parámetros en el notebook. El notebook utiliza una biblioteca cliente de PUNCH para entregar estos como un DAG (Grafo Acíclico Dirigido) de HTCondor al grupo federado.
4. Emparejamiento de Recursos y Ejecución: COBalD/TARDIS evalúa los requisitos del trabajo (CPU, memoria, posiblemente GPU) y los pilota hacia espacios disponibles en, por ejemplo, grupos HTC en KIT, colas HPC en la Universidad de Bielefeld y nodos cloud en DESY. Los trabajos leen los datos de entrada a través del espacio de nombres federado XRootD desde la ubicación de almacenamiento más cercana, posiblemente aprovechando una caché.
5. Agregación de Resultados: Los archivos de salida se escriben de nuevo en el almacenamiento federado. El investigador monitorea el progreso a través de un panel web unificado y finalmente agrega los resultados en su notebook para el análisis.
Este caso demuestra la integración sin fisuras de la identidad, la computación, el almacenamiento y la gestión de software.

9. Aplicaciones Futuras y Hoja de Ruta de Desarrollo

La infraestructura PUNCH4NFDI sienta las bases para varias aplicaciones avanzadas:
1. Entrenamiento Federado de Aprendizaje Automático: El grupo de recursos heterogéneo, incluyendo posibles clústeres de GPU, podría soportar marcos de entrenamiento de ML distribuidos como PyTorch o TensorFlow a través de fronteras institucionales, abordando necesidades de entrenamiento que preservan la privacidad donde los datos no pueden centralizarse.
2. Análisis y Visualización Interactiva: Mejorar el servicio JupyterHub con herramientas de visualización interactiva escalables y con respaldo de backend (por ejemplo, widgets de Jupyter conectados a clústeres Dask en la federación) para la exploración de grandes conjuntos de datos.
3. Integración con Nubes Externas y Centros HPC: Extender el modelo de federación para incorporar créditos de nube comercial (por ejemplo, AWS, GCP) o centros nacionales de supercomputación (por ejemplo, JUWELS en JSC) a través de una capa común de facturación/contabilidad, creando una verdadera nube híbrida para la ciencia.
4. Integración de Metadatos y Data Lake: Ir más allá de la simple federación de archivos hacia una arquitectura de data lake integrada, donde la capa de almacenamiento se acople con un catálogo de metadatos unificado (por ejemplo, basado en Rucio o iRODS), permitiendo el descubrimiento de datos y el seguimiento de la procedencia entre comunidades.
5. Workflow-as-a-Service: Ofrecer servicios de plataforma de alto nivel como REANA (Plataforma de Análisis Reproducible) o Apache Airflow sobre la infraestructura federada, permitiendo a los científicos definir y ejecutar pipelines de análisis complejos y reproducibles sin gestionar la infraestructura subyacente.

La hoja de ruta de desarrollo probablemente se centrará en consolidar el servicio de producción, expandir el grupo de recursos, integrar herramientas de gestión de datos más sofisticadas y desarrollar APIs y SDKs fáciles de usar para reducir la barrera de adopción para usuarios no expertos.

10. Referencias

  1. Consorcio PUNCH4NFDI. (2024). Documento de Posición de PUNCH4NFDI. [Documento Interno del Consorcio].
  2. Thain, D., Tannenbaum, T., & Livny, M. (2005). Distributed computing in practice: the Condor experience. Concurrency - Practice and Experience, 17(2-4), 323-356. https://doi.org/10.1002/cpe.938
  3. Blomer, J., et al. (2011). Distribution of software in the CernVM file system with Parrot. Journal of Physics: Conference Series, 331(4), 042009. https://doi.org/10.1088/1742-6596/331/4/042009
  4. Giffels, M., et al. (2022). COBalD and TARDIS – Dynamic resource overlay for opportunistic computing. EPJ Web of Conferences, 251, 02009. https://doi.org/10.1051/epjconf/202225102009
  5. Colaboración dCache. (2023). dCache: A distributed storage data caching system. Recuperado de https://www.dcache.org/
  6. Colaboración XRootD. (2023). XRootD: High performance, scalable fault tolerant access to data. Recuperado de http://xrootd.org/
  7. Wilkinson, M. D., et al. (2016). The FAIR Guiding Principles for scientific data management and stewardship. Scientific Data, 3, 160018. https://doi.org/10.1038/sdata.2016.18
  8. Verma, A., et al. (2015). Large-scale cluster management at Google with Borg. Proceedings of the Tenth European Conference on Computer Systems (EuroSys '15). https://doi.org/10.1145/2741948.2741964