Apptainer (anteriormente Singularity ) es un programa informático gratuito y de código abierto que realiza virtualización a nivel de sistema operativo, también conocida como contenerización . [ 4 ]
Uno de los principales usos de Apptainer es llevar contenedores y reproducibilidad al mundo de la computación científica y la computación de alto rendimiento (HPC). [ 5 ]
La necesidad de reproducibilidad requiere la capacidad de usar contenedores para mover aplicaciones de un sistema a otro. [ 6 ]
Mediante los contenedores Apptainer, los desarrolladores pueden trabajar en entornos reproducibles de su elección y diseño, y estos entornos completos pueden copiarse y ejecutarse fácilmente en otras plataformas. [ 7 ]
En 2021, la comunidad del proyecto de código abierto Singularity votó para cambiar su nombre a Apptainer y también pasó a formar parte de la Linux Foundation ; [ 8 ] también en 2021, la empresa Sylabs bifurcó el proyecto original Singularity y lanzó SingularityCE . [ 9 ]

Historia
Apptainer comenzó como el proyecto de código abierto Singularity en 2015, cuando un equipo de investigadores del Laboratorio Nacional Lawrence Berkeley , liderado por Gregory Kurtzer, desarrolló la versión inicial escrita en el lenguaje de programación C y la publicó [ 13 ] bajo la licencia BSD . [ 14 ]
A finales de 2016, muchos desarrolladores de diferentes centros de investigación unieron fuerzas con el equipo del Laboratorio Nacional Lawrence Berkeley para impulsar el desarrollo de Singularity. [ 15 ]
Singularity atrajo rápidamente la atención de instituciones científicas con gran capacidad de computación en todo el mundo: [ 16 ]
- El Centro de Computación para la Investigación de la Universidad de Stanford implementó Singularity en sus clústeres XStream [ 17 ] [ 18 ] y Sherlock [ 19 ].
- Los Institutos Nacionales de Salud instalaron Singularity en Biowulf, [ 20 ] su clúster Linux de más de 95 000 núcleos/30 PB [ 21 ]
- Varios sitios del Open Science Grid Consortium, incluido Fermilab, comenzaron a adoptar Singularity; [ 22 ] para abril de 2017, Singularity se había implementado en el 60% de la red Open Science Grid. [ 23 ]
Durante dos años consecutivos, en 2016 y 2017, Singularity fue reconocida por los editores de HPCwire como "Una de las cinco nuevas tecnologías a tener en cuenta". [ 24 ] [ 25 ] En 2017, Singularity también obtuvo el primer lugar en la categoría "Mejor herramienta o tecnología de programación HPC". [ 25 ]
A partir de 2018,Según los datos ingresados de forma voluntaria en un registro público, se estimó que la base de usuarios de Singularity era mayor de 25 000 instalaciones [ 26 ] e incluía usuarios en instituciones académicas como la Universidad Estatal de Ohio y la Universidad Estatal de Michigan , así como en los principales centros de computación de alto rendimiento como el Centro de Computación Avanzada de Texas , el Centro de Supercomputación de San Diego y el Laboratorio Nacional de Oak Ridge .
En febrero de 2018, la empresa Sylabs [ 27 ] , fundada por el autor de Singularity, anunció [ 28 ] que proporcionaría soporte comercial para Singularity. En octubre de ese año, Sylabs lanzó la versión 3.0.0 [ 29 ] , que era una reescritura en el lenguaje de programación Go .
Separación de Apptainer/Singularidad
En mayo de 2020, Gregory Kurtzer dejó Sylabs, pero conservó el liderazgo del proyecto de código abierto Singularity. [ 33 ] En mayo de 2021, Sylabs creó una bifurcación del proyecto [ 9 ] y la denominó SingularityCE. [ 34 ] [ 35 ] En noviembre de 2021, el proyecto de código abierto Singularity se unió a la Linux Foundation [ 36 ] y pasó a llamarse Apptainer . [ 37 ]
Características
Apptainer puede admitir interconexiones de alto rendimiento de forma nativa, como InfiniBand [ 38 ] y la arquitectura Intel Omni-Path (OPA). [ 39 ]
De forma similar a la compatibilidad con dispositivos InfiniBand e Intel OPA, Apptainer puede admitir cualquier dispositivo conectado a PCIe dentro del nodo de cómputo, como aceleradores gráficos . [ 40 ]
Apptainer también tiene soporte nativo para la biblioteca Open MPI mediante el uso de un enfoque de contenedor MPI híbrido donde OpenMPI existe tanto dentro como fuera del contenedor. [ 38 ]
Estas características hacen que Apptainer sea cada vez más útil en áreas como el aprendizaje automático , el aprendizaje profundo y la mayoría de las cargas de trabajo intensivas en datos, donde las aplicaciones se benefician de las características de alto ancho de banda y baja latencia de estas tecnologías. [ 41 ]
Integración
Los sistemas HPC tradicionalmente ya cuentan con sistemas de gestión de recursos y planificación de tareas , por lo que los entornos de ejecución de contenedores deben integrarse en el gestor de recursos del sistema existente.
El uso de otras soluciones de contenedores empresariales como Docker en sistemas HPC requeriría modificaciones al software. [ 42 ] Los contenedores Docker se pueden convertir automáticamente en archivos Apptainer independientes que luego se pueden enviar a los administradores de recursos HPC. [ 43 ]
Apptainer se integra perfectamente con muchos gestores de recursos [ 44 ], entre ellos:
- HTCondor [ 45 ]
- Oracle Grid Engine (SGE)
- SLURM (Utilidad simple de Linux para la gestión de recursos)
- TORQUE (Administrador de recursos y colas de código abierto de Terascale)
- PBS Pro (PBS Profesional)
- HashiCorp Nomad (un orquestador de cargas de trabajo simple y flexible)
- IBM Spectrum LSF [ 46 ]
Véase también
Referencias
- ↑ "Versiones · apptainer/apptainer" . github.com . Consultado el 29 de junio de 2022 .
- ^ "Administrador + GoLang" . GitHub . Consultado el 3 de diciembre de 2021 .
- ↑ "Licencia Apptainer" . Linux Foundation . Consultado el 3 de diciembre de 2021 a través de GitHub .
- ↑ "Presentación sobre la singularidad en FOSDEM 17" . archive.fosdem.org .
- ↑ Kurtzer, Gregory M.; Sochat, Vanessa; Bauer, Michael W. (2017). "Singularity: Scientific Containers for Mobility of Compute" . PLOS ONE . 12 (5) e0177459. Bibcode : 2017PLoSO..1277459K . doi : 10.1371/journal.pone.0177459 . PMC 5426675. PMID 28494014 .
- ↑ "Singularity, un contenedor para HPC" . admin-magazine.com. 24 de abril de 2016.
- ↑ "Manual de Singularity: Movilidad de Computación" . Guía del Usuario de Singularity - Versión 2.5.2 .
- ↑ "Anuncio de la comunidad" . 30 de noviembre de 2021.
- 1 2 "Sylabs bifurcación de Singularity" . Recuperado el 29 de junio de 2022 .
{{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace ) - ↑ "Versiones · apptainer/singularity" . github.com . Consultado el 29 de junio de 2022 .
- ↑ "Singularity+GoLang" . GitHub . Consultado el 3 de diciembre de 2021 .
- ↑ "Licencia de Singularidad" . Equipo de Singularidad . Consultado el 3 de diciembre de 2021 a través de GitHub .
- ↑ "Sylabs introduce los contenedores de singularidad en la computación de alto rendimiento comercial" . top500.org .
- ↑ "Licencia de Singularidad" . singularity.lbl.gov . Equipo de Singularidad. 19 de marzo de 2018. Consultado el 19 de marzo de 2018 .
- ↑ "Cambios en el archivo AUTHORS.md del código fuente de Singularity realizados en abril de 2017" . GitHub .
- ↑ "La empresa derivada de código abierto del Laboratorio Berkeley está al servicio de la ciencia" . 7 de junio de 2017.
- ↑ "Manual de usuario en línea de XStream, sección sobre Singularidad" . xstream.stanford.edu .
- ↑ "Descripción general del clúster XStream" . Archivado del original el 24 de octubre de 2020. Consultado el 10 de abril de 2018 .
- ↑ "Sherlock: Novedades, Contenedores y Herramientas de Aprendizaje Profundo" . Centro de Computación para la Investigación de Stanford .
- ↑ "Manual de usuario en línea de HPC del NIH, sección sobre Singularidad" . hpc.nih.gov .
- ↑ "Sistemas HPC de los NIH" . hpc.nih.gov .
- ↑ "Singularidad en el OSG" .
- ↑ "Singularidad en CMS: Más de un millón de contenedores atendidos" (PDF) .
- ↑ "HPCwire revela los ganadores de los premios Readers' and Editors' Choice Awards 2016 en la conferencia SC16 en Salt Lake City" . HPCwire .
- 1 2 "HPCwire revela los ganadores de los premios Readers' and Editors' Choice Awards 2017 en la conferencia SC17 en Denver" . HPCwire .
- ↑ "Registro voluntario de instalaciones de Singularity" .
- ↑ "Página principal de Sylabs" . Consultado el 29 de junio de 2022 .
- ↑ "Sylabs sale del sigilo para llevar la tecnología de contenedores Singularity a la computación de alto rendimiento empresarial" (Comunicado de prensa). 8 de febrero de 2018. Consultado el 29 de junio de 2022 .
- ↑ "Singularity 3.0.0" . GitHub .
- ↑ "Versiones · sylabs/singularity" . github.com . Consultado el 29 de junio de 2022 .
- ↑ "SingularityCE+GoLang" . GitHub . Consultado el 3 de diciembre de 2021 .
- ↑ "Licencia SingularityCE" . Equipo de Singularity . Consultado el 3 de diciembre de 2021 a través de GitHub .
- ↑ "Traslado del repositorio de Singularity y actualizaciones de la empresa" . Consultado el 29 de junio de 2022 .
- ↑ "SingularityCE" . Consultado el 30 de junio de 2022 .
- ↑ "SingularityCE" . 28 de octubre de 2022 – vía GitHub.
- ↑ "¡Singularity se ha unido a la Fundación Linux!" . Consultado el 29 de junio de 2022 .
- ↑ "Sitio web de Apptainer" . Consultado el 15 de febrero de 2023 .
- 1 2 "Tutorial avanzado de Intel: Contenedores HPC y Singularidad – Tutorial avanzado – Intel" (PDF) .
- ↑ "Nota de aplicación de Intel: Creación de contenedores para Intel Omni-Path Fabrics utilizando Docker y Singularity" (PDF) .
- ↑ "Manual de Singularity: Un ejemplo con GPU" .
- ↑ Tallent, Nathan R.; Gawande, Nitin; Siegel, Charles; Vishnu, Abhinav; Hoisie, Adolfy (2018). "Evaluación de interconexiones GPU en nodo para cargas de trabajo de aprendizaje profundo". Sistemas de computación de alto rendimiento. Modelado, evaluación comparativa y simulación del rendimiento . Notas de clase en ciencias de la computación. Vol. 10724. págs. 3–21 . doi : 10.1007/978-3-319-72971-8_1 . ISBN 978-3-319-72970-1. S2CID 1674152 .
- ↑ Jonathan Sparks, Cray Inc. (2017). "Contenedores HPC en uso" (PDF) .
- ↑ "Singularidad y Docker" . Consultado el 3 de diciembre de 2021 .
- ↑ "Soporte para sistemas HPC tradicionales existentes" .
- ↑ "Manual de la versión estable de HTCondor: Soporte para singularidades" . Archivado del original el 4 de febrero de 2020. Consultado el 4 de febrero de 2020 .
- ↑ IBM Spectrum LSF con Singularity
Lecturas adicionales
- Actas de la 10ª Conferencia Internacional sobre Computación en la Nube y de Utilidad: ¿Está la tecnología de contenedores basada en singularidades preparada para ejecutar aplicaciones MPI en nubes de computación de alto rendimiento?
- Singularity prepara la versión 3.0 y se acerca al millón de contenedores atendidos diariamente.
- Dell HPC: Contenerización de aplicaciones HPC con Singularity
- Conferencia de desarrolladores de Intel HPC 2017: Introducción a la computación de alto rendimiento, contenedores HPC y Singularity.
- HPCwire revela los ganadores de los premios Readers' and Editors' Choice Awards 2017 en la conferencia SC17 en Denver: Singularity premiado en la categoría de Mejor herramienta o tecnología de programación HPC.
Enlaces externos
- Sitio web oficial

- Sylabs SingularityCE
- Singularity@HPCng en Wayback Machine (archivado el 29/11/2021)
- Versión original de Singularity en GitHub hasta la v3.8.7 del 16 de marzo de 2022 (incluye versiones C anteriores a la 3.0).
- Software gratuito programado en Go.
- Contenedores Linux
- Tecnología de sistemas operativos
- Seguridad del sistema operativo
- Software que utiliza la licencia Apache.
- Software que utiliza la licencia BSD.
- Software de virtualización
- Software de virtualización para Linux
- Proyectos de la Fundación Linux