La necesidad de reproducibilidad requiere la capacidad de utilizar contenedores para mover aplicaciones de un sistema a otro. [6]
Al utilizar contenedores de Singularity, los desarrolladores pueden trabajar en entornos reproducibles de su elección y diseño, y estos entornos completos se pueden copiar y ejecutar fácilmente en otras plataformas. [7]
En 2021, el proyecto de código abierto Singularity se dividió en dos proyectos llamados Apptainer y SingularityCE.
A finales de 2016, muchos desarrolladores de diferentes instalaciones de investigación unieron fuerzas con el equipo del Laboratorio Nacional Lawrence Berkeley para promover el desarrollo de Singularity. [10]
La singularidad atrajo rápidamente la atención de instituciones científicas de todo el mundo que utilizan mucha informática: [11]
El Centro de Computación de Investigación de la Universidad de Stanford implementó Singularity en sus clústeres XStream [12] [13] y Sherlock [14]
Varios sitios del Open Science Grid Consortium, incluido Fermilab, comenzaron a adoptar Singularity; [17] en abril de 2017, Singularity se implementó en el 60% de la red Open Science Grid. [18]
Durante dos años consecutivos, en 2016 y 2017, los editores de HPCwire reconocieron a Singularity como "Una de las cinco nuevas tecnologías a tener en cuenta". [19] [20]
En 2017, Singularity también ganó el primer lugar en la categoría "Mejor herramienta o tecnología de programación HPC". [20]
En febrero de 2018, se anunció [23] que la empresa Sylabs [22] , fundada por el autor de Singularity, proporcionaría apoyo comercial a Singularity. En octubre de ese año, Sylabs lanzó la versión 3.0.0 [24] que fue una reescritura en el lenguaje de programación Go .
División Apptainer / Singularidad
En mayo de 2020, Gregory Kurtzer dejó Sylabs pero mantuvo el liderazgo del proyecto de código abierto Singularity. [25] En mayo de 2021, Sylabs hizo una bifurcación del proyecto [26] y lo llamó SingularityCE. [27] [28] En noviembre de 2021, el proyecto de código abierto Singularity se unió a la Fundación Linux [29] y pasó a llamarse Apptainer . [30]
Características
Singularity es capaz de admitir interconexiones nativas de alto rendimiento, como InfiniBand [31] e Intel Omni-Path Architecture (OPA). [32]
De manera similar a la compatibilidad con dispositivos InfiniBand e Intel OPA, Singularity puede admitir cualquier dispositivo conectado a PCIe dentro del nodo de computación, como aceleradores gráficos . [33]
Singularity también tiene soporte nativo para la biblioteca Open MPI mediante la utilización de un enfoque de contenedor MPI híbrido donde OpenMPI existe tanto dentro como fuera del contenedor. [31]
Estas características hacen que Singularity 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 con uso intensivo de datos, donde las aplicaciones se benefician del alto ancho de banda y las características de baja latencia de estas tecnologías. [34]
El uso de otras soluciones de contenedores empresariales como Docker en sistemas HPC requeriría modificaciones en el software. [35]
Los contenedores Docker se pueden convertir automáticamente en archivos de singularidad independientes que luego se pueden enviar a los administradores de recursos de HPC. [36]
Singularity se integra perfectamente con muchos administradores de recursos [37], incluidos:
^ "Lanzamientos · apptainer / singularidad". github.com . Consultado el 29 de junio de 2022 .
^ "Singularidad + GoLang". GitHub . Consultado el 3 de diciembre de 2021 .
^ "Licencia de singularidad". Apptainer.org . Equipo de Singularidad . Consultado el 3 de diciembre de 2021 .
^ "Presentación de singularidad en FOSDEM 17". archive.fosdem.org .
^ Kurtzer, Gregorio M.; Sochat, Vanessa; Bauer, Michael W. (2017). "Singularidad: contenedores científicos para la movilidad informática". MÁS UNO . 12 (5): e0177459. Código Bib : 2017PLoSO..1277459K. doi : 10.1371/journal.pone.0177459 . PMC 5426675 . PMID 28494014.
^ "Singularity, un contenedor para HPC". admin-revista.com. 24 de abril de 2016.
^ "Manual de singularidad: movilidad de la computación". Guía del usuario de Singularity - Versión 2.5.2 .
^ "Sylabs lleva los contenedores singulares a la HPC comercial". top500.org .
^ "Licencia de singularidad". singularidad.lbl.gov . Equipo de Singularidad. 19 de marzo de 2018 . Consultado el 19 de marzo de 2018 .
^ "Cambios en el archivo AUTHORS.md en el código fuente de Singularity realizados en abril de 2017". GitHub .
^ "La derivación de código abierto de Berkeley Lab sirve a 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 desde el 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 de Investigación de Stanford .
^ "Manual de usuario en línea de NIH HPC, sección sobre Singularidad". hpc.nih.gov .
^ "Sistemas HPC del 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". Cable HPC .
^ ab "HPCwire revela los ganadores de los premios Readers' and Editors' Choice Awards 2017 en la conferencia SC17 en Denver". Cable HPC .
^ "Registro voluntario de instalaciones de Singularidad".
^ "Página de inicio de Sylabs" . Consultado el 29 de junio de 2022 .
^ "Sylabs emerge del sigilo para llevar la tecnología de contenedores singulares a la informática de rendimiento empresarial" (Presione soltar). 8 de febrero de 2018 . Consultado el 29 de junio de 2022 .
^ "Singularidad 3.0.0". GitHub .
^ "Movimiento del repositorio de Singularity y actualizaciones de la empresa" . Consultado el 29 de junio de 2022 .
^ "Bifurcación de la singularidad de Sylabs" . Consultado el 29 de junio de 2022 .
^ "SingularidadCE" . Consultado el 30 de junio de 2022 .
^ "SingularidadCE". 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 del contratista" . Consultado el 15 de febrero de 2023 .
^ ab "Tutorial avanzado de Intel: Singularidad y contenedores HPC - 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 singularidad: un ejemplo de GPU".
^ Talento, Nathan R.; Gawande, Nitin; Siegel, Carlos; Vishnu, Abhinav; Hoisie, Adolfy (2018). "Evaluación de interconexiones de GPU en el nodo para cargas de trabajo de aprendizaje profundo". Sistemas informáticos de alto rendimiento. Modelado de rendimiento, evaluación comparativa y simulación . Apuntes de conferencias sobre informática. vol. 10724, págs. 3–21. doi :10.1007/978-3-319-72971-8_1. ISBN978-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 HPC tradicional existente".
^ "Manual de versión estable de HTCondor: soporte de singularidad". Archivado desde el original el 4 de febrero de 2020 . Consultado el 4 de febrero de 2020 .
Otras lecturas
Actas de la décima conferencia internacional sobre servicios públicos y computación en la nube: ¿Está lista la tecnología de contenedores basada en singularidades para ejecutar aplicaciones MPI en nubes HPC?
Singularity prepara la versión 3.0, se acerca al millón de contenedores servidos diariamente
Dell HPC: creación de contenedores de aplicaciones HPC con singularidad
Conferencia de desarrolladores Intel HPC 2017: Introducción a la singularidad y los contenedores HPC de la informática de alto rendimiento
HPCwire revela los ganadores de los premios Readers' and Editors' Choice Awards 2017 en la conferencia SC17 en Denver: Singularidad premiada en la categoría Mejor herramienta de programación o tecnología HPC