Orphaned Spack Packages

28 Jul 2023 (modified: 01 Aug 2023)InvestinOpen 2023 OI Fund SubmissionEveryoneRevisionsBibTeX
Funding Area: Critical shared infrastructure / Infraestructura compartida critica
Problem Statement: Spack es un administrador de paquetes para supercomputadoras. Para los paises en vías de desarrollo resulta fundamental ya que con un cluster con instalación mínima (sistema operativo, compilador, administrador de colas) cada usaria/o puede hace su propio despliegue de la infraestructura de trabajo que necesita. Además el flujo del trabajo científico en general es tan dependiente de las versiones de los paquetes y sus dependencias que esto se conoce popularmente como "dependency hell". Spack soluciona ambos problemas. Sin embargo, cuando se empieza a usar Spack es común encontrarse con paquetes desatendidos, que solo han recibido commits generales que tienen que ver con licencias, emprolijado de código, y en general cambios estructurales en el repositorio. El trabajo apunta a detectar aquellos paquetes desatendidos de Spack y darles soporte a través de un equipo de estudiantes avanzados de Ciencias de la Computación y disciplinas afines al HPC. Dentro de todos los paquetes desatendidos se hará especial énfasis en aquellos que resulten relevantes en Argentina y en el Cono Sur, ya que nuestro público objetivo con las científicas y científicos que desarrollan su trabajo con herramientas de HPC, pero que no disponen del tiempo para sumergirse dentro de la arquitectura de Spack y realizar los cambios necesarios.
Proposed Activities: Duración: 1 año m1,2: Tareas: Elegir un experto/a en Spack. Elegir un/a contadora y un/a comunicadora para tareas de apoyo. Elegir un grupo de 2 estudiantes avanzados de distintos puntos del país, atendiendo a la paridad de género. Guiarlos en los conocimientos básicos sobre Spack. Tomar un paquete administrado por Spack que esté desatendido y actualizarlo ligeramente para comprender el ciclo de trabajo. Recursos: 1 experta en Spack, 1 contador/a, 1 comunicador/a, 2 estudiantes avanzados con afinidad al HPC. m2-3: Tareas: Realizar un relevamiento sistemático de los paquetes desatendidos. Realizar un relevamiento en los centros de ciencia que hacen uso de HPC para saber que paquetes usan. Priorizar los paquetes desatendidos según este último relevamiento. Publicar un informe con los resultados del relevamiento. Recursos: 1 experta en Spack, 1 contador/a, 1 comunicador/a, 2 estudiantes avanzados con afinidad al HPC. m4-10: Tareas: Trabajar en el conjunto de paquetes desatendidos seleccionados y priorizados. Realizar los *merge request* (MR) al proyecto Spack y hacer el seguimiento necesario hasta que los MR sean mezclados con la rama de desarrollo. Afinar los criterios de selección y prioridad atendiendo a las posibilidades que el equipo tenga. Recursos: 1 experta en Spack, 1 contador/a, 1 comunicador/a, 2 estudiantes avanzados con afinidad al HPC. m11-12: Tarea: Escribir un informe detallando el trabajo y hacerlo conocer fundamentalmente dentro de la comunidad que usa HPC en Argentina. Recursos: 1 experta en Spack, 1 contador/a, 1 comunicador/a, 2 estudiantes avanzados con afinidad al HPC.
Openness: El trabajo será abierto en todas sus fases: * Recolección de datos, se publicarán las encuestas y los datasets debidamente anonimizados. * Análisis de datos recolectados y publicación de informe. * MR en el github de Spack. * Informe final. Se involucrará a comunidades vecinas con afinidades culturales, socioeconómicas y con las cuales existen lazos como las de Chile, Uruguay, Colombia, etc.
Challenges: El principal desafío es identificar de manera precisa donde poner los meses m4-10 de trabajo. Este proceso puede y debe ser refinado a medida que los paquetes se vayan procesando y es por eso que la tarea de la experta/o en Spack será continua también en esta etapa. Los desafíos técnicos no son menores, pero creemos que son solucionables ya que el grupo que propone este trabajo tiene ya muchos MR aceptados dentro de Spack y no es capaz de hacer más solo por falta recursos económicos para dirigir su esfuerzo.
Neglectedness: Aunque Spack es financiado de manera indirecta por el LLNL en EEUU, no se conoce de financiamientos que apunten a lo que se propone en este trabajo. Justamente la definición de los paquetes que queremos ponerles atención son aquellos que son omitidos por los grandes laboratorios de EEUU y los centros de HPC de Europa, pero que resultan necesarios para el Sur Global. Hicimos un pedido de financiamiento por un proyecto similar a CZI en 2022, pero no pasamos la primera fase de selección. En este pedido tuvimos el aval del líder del proyecto Todd Gamblin, y a partir de eso entramos en contacto con el. Lo invitamos a dar y dió seminarios específicos sobre Spack. Luego de hacer un análisis del último commit relevante de `spack/var/spack/repos/builtin/packages/*/package.py`, obtuvimos el siguente desglose para la rama `develop` * 7292 paquetes administrados. * 4355 paquetes sin actualización en 2023. * 2221 paquetes sin actualización en 2023 y 2022. * 1017 paquetes sin actualización en 2023, 2022 y 2021. * 438 paquetes sin actualización en 2023, 2022, 2021 y 2020. Si definimos al último grupo como paquetes desatendidos, hay un 6% de paquetes que requieren de mantenimiento. Datos en https://cs.famaf.unc.edu.ar/~nicolasw/spack_packages.csv
Success: Marcadores primarios * Cota mínima de 12 paquetes actualizados y que además éstos resulten relevantes a la comunidad. * Que este núcleo pequeño pero fuerte de desarrolladoras/es de esta herramienta pueda diseminar sus conocimientos en la región y se conviertan en referentes de la herramienta. Marcadores secundarios * Mas conocimiento y reconocimiento de la herramienta Spack en la región. * Mejorar el nivel de uso de los clusters de computación en la región.
Total Budget: 18720
Budget File: pdf
Affiliations: Si. Está asociada al CCAD-UNC, Centro de Computación de Alto Desempeño de la Universidad Nacional de Córdoba, Argentina.
LMIE Carveout: Si, ya que vivimos en Argentina. Los salarios están muy deprimidos respecto al dólar estadounidense y el trabajo remoto hace que muy pocas iniciativas locaes puedan progresar
Team Skills: Tenemos más de 10 años trabajando en HPC local, con una mirada centrada en nuestra región, con foco en como funciona la cultura científica local y con un impulso grande para genrar un HPC Latinoamericano, porque creemos que el Cargo Cult es un problema muy grave que tienen nuestras comunidades científicas. Tenemos experiencia en instalación completa de clusters, en generar demanda de HPC atendiendo adecuadamente a nuestros usuarios. Hemos aportado más de 50 parches al repositorio de Spack. Difundimos en la medida de lo posible esta herramienta ya que resulta clave para lograr un mejor aprovechamiento de nuestros pocos recursos de cómputo.
Submission Number: 58
Loading