Gestión de cargas de trabajo de Slurm para Kubernetes.
Descripción
Slinky, un proyecto de código abierto desarrollado por SchedMD (que ahora forma parte de NVIDIA), permite una interoperabilidad fluida entre Slurm y Kubernetes. Presenta herramientas que permiten a los usuarios ejecutar y gestionar clústeres de Slurm en entornos de Kubernetes basados en casi cualquier clúster acelerado por GPU, lo que proporciona una amplia compatibilidad con hardware diseñada para los centros de datos heterogéneos de la actualidad. Tanto si se trata de gestionar cargas de trabajo de computación de alto rendimiento (HPC) como de operar en entornos nativos de la nube, Slinky ayuda a reunir lo mejor de ambos enfoques para lograr una gestión y programación eficientes de los recursos.
Slinky es un kit de herramientas de código abierto para integrar Slurm con Kubernetes, lo que lo hace ideal para escenarios de computación híbrida y ofrece flexibilidad y facilidad de uso tanto para usuarios de HPC como de IA nativa de la nube.
Tecnología
Los principales componentes del kit de herramientas de Slinky incluyen Slurm Operator y Slurm Bridge. Slurm Operator ejecuta clústeres de Slurm completos en la infraestructura de Kubernetes y gestiona el ciclo de vida completo de los daemons de Slurm como pods. Slurm Bridge lleva la planificación de Slurm a las cargas de trabajo nativas de Kubernetes, permitiendo que Slurm actúe como planificador de Kubernetes para pods.
Slurm Operator es fundamental para la funcionalidad de Slinky. Gestiona correctamente el escalado de los nodos Slurm en Kubernetes. Slinky incorpora Slurm Operator para utilizar aspectos de Slurm, como la asignación de trabajos, la contabilidad, las dependencias, la distribución equitativa y la programación prioritaria.
Slurm Bridge aporta una programación rápida e inteligente de cargas de trabajo en un clúster de Kubernetes. Slinky utiliza Slurm Bridge para admitir la ubicación conjunta de cargas de trabajo de Slurm y Kubernetes, aportando las ventajas de la programación y el escalado de Slurm a ambas plataformas.
Slinky es totalmente de código abierto e independiente del hardware, lo que proporciona una transparencia y flexibilidad completas para la gestión de recursos y la planificación de trabajos en Kubernetes. Implemente Slinky, contribuya a su crecimiento e intégrelo a la perfección en su pila de infraestructura.
¡Échele un vistazo en GitHub y únase a la comunidad!
Ventajas
Slinky es ideal para organizaciones que ejecutan entrenamiento de IA y cargas de trabajo de GPU a gran escala, simulaciones científicas o tareas de uso intensivo de datos, junto con aplicaciones modernas y nativas de la nube. Elimina la necesidad de mantener clústeres independientes, lo que simplifica la gestión de las cargas de trabajo y aumenta la eficiencia.
Ejecute cargas de trabajo de Slurm y Kubernetes en el mismo grupo de nodos sin duplicar la infraestructura. Slinky elimina la necesidad de particionar los clústeres entre equipos de HPC y nativos de la nube, permitiendo que ambos operen en hardware compartido bajo una única capa de planificación.
Slinky utiliza la programación sensible a la topología de Slurm para colocar cargas de trabajo distribuidas en los nodos que están físicamente más próximos en la estructura de la red. Esto minimiza la sobrecarga de comunicación para el entrenamiento de IA a gran escala y las cargas de trabajo HPC, donde la latencia entre nodos afecta directamente al rendimiento.
Dado que Slinky ejecuta Slurm en Kubernetes, los clústeres se benefician de las herramientas nativas de Kubernetes para el autoescalado, la observabilidad y la gestión del ciclo de vida. Los equipos pueden adoptar las capacidades de programación de primera clase de Slurm al mismo tiempo que continúan trabajando con sus herramientas y flujos de trabajo de Kubernetes existentes.
Slinky está diseñado para ejecutarse en casi cualquier clúster acelerado por GPU, desde superordenadores locales hasta los principales proveedores de servicios en la nube. Este enfoque independiente del hardware proporciona a las organizaciones la flexibilidad para implementar políticas de programación coherentes en entornos de centros de datos heterogéneos sin depender de un proveedor.
¡Descárguelo en GitHub y únase a la comunidad!
Manténgase al día sobre nuevas versiones y obtenga asistencia directa del equipo de ingeniería.
Acceda a notas de la versión y guías de inicio rápido para Slinky.