Compatibilidad con varios nodos principales de SageMaker HyperPod - Amazon SageMaker AI

Compatibilidad con varios nodos principales de SageMaker HyperPod

Puede crear varios nodos (principales) de controlador en un único clúster de SageMaker HyperPod Slurm; uno funcionará como nodo principal del controlador y los demás como nodos de controlador de respaldo. El nodo de controlador principal se encarga de controlar los nodos (de trabajo) de computación y de gestionar las operaciones de Slurm. Los nodos de controlador de respaldo supervisan constantemente el nodo de controlador principal. Si el nodo de controlador principal falla o deja de responder, uno de los nodos de controlador de respaldo pasará automáticamente a ser el nuevo nodo de controlador principal.

Configurar varios nodos de controlador en los clústeres de SageMaker HyperPod Slurm ofrece varias ventajas clave. Elimina el riesgo de que se produzca un fallo en uno de los nodos de controlador al proporcionar nodos principales de controlador, admite la conmutación automática por error a los nodos de controlador de respaldo con una recuperación más rápida y le permite administrar sus propias bases de datos de contabilidad y la configuración de Slurm de forma independiente.

Conceptos clave

A continuación se proporcionan detalles sobre los conceptos relacionados con varios nodos (principales) de controlador de SageMaker HyperPod para los clústeres de Slurm.

Nodo de controlador

Un nodo de controlador es una instancia de Amazon EC2 dentro de un clúster que ejecuta los servicios esenciales de Slurm para administrar y coordinar las operaciones del clúster. En concreto, aloja el Slurm controller daemon (slurmctld) y el Slurm database daemon (slurmdbd). A un nodo de controlador también se le denomina nodo principal.

Nodo de controlador principal

Un nodo de controlador principal es el nodo de controlador activo y que controla en ese momento en un clúster de Slurm. Slurm lo identifica como el nodo de controlador principal responsable de administrar el clúster. El nodo de controlador principal recibe y ejecuta los comandos de los usuarios para controlar y asignar recursos en los nodos de computación para ejecutar los trabajos.

Nodo de controlador de respaldo

Un nodo de controlador de respaldo es un nodo de controlador inactivo y en espera en un clúster de Slurm. Slurm lo identifica como un nodo de controlador de respaldo que en esos momentos no administra el clúster. El nodo de controlador de respaldo ejecuta el Slurm controller daemon (slurmctld) en modo de espera. Todos los comandos de controlador que se ejecutan en los nodos de controlador de respaldo se propagarán al nodo de controlador principal para su ejecución. Su objetivo principal es supervisar continuamente el nodo de controlador principal y asumir sus responsabilidades en caso de que el nodo de controlador principal falle o deje de responder.

Nodo de computación

Un nodo de computación es una instancia de Amazon EC2 dentro de un clúster que aloja el Slurm worker daemon (slurmd). La función principal del nodo de computación es ejecutar los trabajos asignados por el Slurm controller daemon (slurmctld) que se ejecuta en el nodo de controlador principal. Cuando se programa un trabajo, el nodo de computación recibe instrucciones del Slurm controller daemon (slurmctld) para llevar a cabo las tareas y los cálculos necesarios para ese trabajo dentro del propio nodo. Al nodo de computación también se le denomina nodo de trabajo.

Funcionamiento

En el siguiente diagrama se muestra cómo los diferentes servicios de AWS trabajan conjuntamente para admitir la arquitectura de varios nodos (principales) de controlador para los clústeres de SageMaker HyperPod Slurm.

Diagrama de arquitectura de varios nodos principales de SageMaker HyperPod

Los servicios de AWS que trabajan conjuntamente para admitir la arquitectura de varios nodos (principales) de controlador de SageMaker HyperPod son los siguientes.

Servicios de AWS que trabajan conjuntamente para admitir la arquitectura de varios nodos de controlador de SageMaker HyperPod
Servicio Descripción
IAM (AWS Identity and Access Management) Define dos roles de IAM para controlar los permisos de acceso: un rol para el grupo de instancias del nodo de computación y otro para el grupo de instancias del nodo de controlador.
Amazon RDS para MariaDB Almacena los datos contables de Slurm, que contienen los registros de trabajos y los datos de medición.
AWS Secrets Manager Almacena y administra las credenciales a las que puede acceder Amazon FSx para Lustre.
Amazon FSx para Lustre Almacena las configuraciones y el estado de tiempo de ejecución de Slurm.
Amazon VPC Proporciona un entorno de red aislado en el que se implementa el clúster de HyperPod y sus recursos.
Amazon SNS Envía notificaciones a los administradores cuando hay cambios de estado (el controlador de Slurm está ON o OFF) relacionados con el nodo de controlador principal.

El propio clúster de HyperPod consta de nodos de controlador (principal y de respaldo) y nodos de computación. Los nodos de controlador ejecutan los componentes del controlador de Slurm (SlurmCtld) y de la base de datos (SlurmDBd), que administran y supervisan la carga de trabajo en todos los nodos de computación.

Los nodos de controlador acceden a las configuraciones de Slurm y al estado de tiempo de ejecución almacenados en el sistema de archivos de Amazon FSx para Lustre. Los datos contables de Slurm se almacenan en la base de datos de Amazon RDS para MariaDB. AWS Secrets Manager proporciona acceso seguro a las credenciales de la base de datos para los nodos de controlador.

Si se produce un cambio de estado (el controlador de Slurm está ON o OFF) en los nodos de controlador de Slurm, Amazon SNS envía notificaciones al administrador para que tome medidas adicionales.

Esta arquitectura de varios nodos de controlador elimina el único punto de error de un único nodo de controlador (principal), permite una recuperación rápida y automática de la conmutación por error y le otorga control sobre la base de datos de contabilidad y las configuraciones de Slurm.