Descripción general de la creación de clústeres de HPC


Para crear la infraestructura de aplicaciones estrechamente vinculadas que se ajustan a varios nodos, puedes crear un clúster de instancias de máquina virtual (VM). En esta guía, se proporciona una descripción general de alto nivel de las consideraciones y los pasos clave para configurar un clúster de instancias de máquina virtual (VM) para cargas de trabajo de computación de alto rendimiento (HPC) con una asignación densa de recursos.

Compute Engine ofrece varias formas de crear una gran cantidad de instancias de VM que están conectadas a la misma red, pero no requieren una asignación densa de recursos. Por ejemplo, puedes usar cualquiera de los siguientes métodos, que se explican en otras secciones de la documentación de Compute Engine:

También puedes crear una secuencia de comandos que incluya los comandos para crear instancias individuales y asociar políticas de colocación compactas con las instancias para reducir la latencia.

Con H4D (vista previa), Compute Engine agrega compatibilidad para ejecutar cargas de trabajo de HPC masivas tratando un clúster completo de instancias de VM como una sola computadora. El uso de la colocación de VMs que tiene en cuenta la topología te permite acceder a muchas instancias dentro de un solo superbloque de redes y minimiza la latencia de red. También puedes configurar Cloud RDMA en estas instancias para maximizar el rendimiento de la comunicación entre nodos, lo que es fundamental para las cargas de trabajo de HPC estrechamente vinculadas.

Para crear estos clústeres de VMs de HPC con H4D, debes reservar bloques de capacidad en lugar de recursos individuales. El uso de bloques de capacidad para tu clúster proporciona las siguientes funciones adicionales para implementar y administrar estos entornos a gran escala:

  • Colocación de instancias de VM que tiene en cuenta la topología
  • Sistemas de reservas avanzados para proteger y administrar la capacidad
  • Grupos de instancias administrados (MIG) mejorados diseñados para conjuntos grandes y codependientes de instancias de VM.
  • Controles y programación de mantenimiento avanzados que brindan más control sobre cuándo y cómo se realiza el mantenimiento en las instancias de VM, lo que es fundamental para las cargas de trabajo sensibles a las interrupciones y de larga duración. Esto incluye funciones como el mantenimiento activado por el cliente y el mantenimiento agrupado para bloques de recursos.

Terminología de clústeres

Cuando trabajas con bloques de capacidad, se usan los siguientes términos:

Bloques
Varios subbloques se interconectan con un tejido sin bloqueo, lo que proporciona una interconexión de alto ancho de banda. Se puede acceder a cualquier CPU dentro del bloque en un máximo de dos saltos de red. El sistema expone metadatos de bloques y subbloques a los orquestadores para permitir la colocación óptima de trabajos.
Clústeres
Varios bloques se interconectan para formar un clúster que se puede escalar a miles de CPUs para ejecutar cargas de trabajo de HPC a gran escala. Cada clúster es único a nivel global. La comunicación entre diferentes bloques agrega solo un salto adicional, lo que mantiene un alto rendimiento y previsibilidad, incluso a gran escala. Los metadatos a nivel del clúster también están disponibles para los orquestadores para la colocación inteligente de trabajos a gran escala.
Implementación densa
Una solicitud de recursos que asigna tus recursos de acelerador cerca físicamente entre sí para minimizar los saltos de red y optimizar la latencia más baja.
Estructura de red
Una estructura de red proporciona conectividad de baja latencia y ancho de banda alto en todos los bloques y Google Cloud servicios de un clúster. Jupiter es la arquitectura de red de centros de datos de Google que aprovecha las red definida por software y los conmutadores de circuitos ópticos para evolucionar la red y optimizar su rendimiento.
Nodo o host
Es un solo servidor físico en el centro de datos. Cada host tiene sus propias interfaces de red, memoria y CPU de recursos de procesamiento asociados. La cantidad y la configuración de estos recursos de procesamiento dependen de la familia de máquinas. Las instancias de VM se aprovisionan sobre un host físico.
Organizador
Un orquestador automatiza la administración de tus clústeres. Con un orquestador, no tienes que administrar cada instancia de VM en el clúster. Un orquestador, como Slurm o Google Kubernetes Engine (GKE), controla tareas como la administración de colas de trabajos, la asignación de recursos, el ajuste de escala automático (con GKE) y otras tareas diarias de administración de clústeres.
Subbloques
Estas son unidades básicas en las que un grupo de hosts se ubica físicamente en un solo rack. Un conmutador Top-of-Rack (ToR) conecta estos hosts, lo que permite una comunicación de un solo salto extremadamente eficiente entre dos CPU cualesquiera dentro del subbloque. Cloud RDMA facilita esta comunicación directa.

Descripción general del proceso de creación de clústeres con VMs H4D

Para crear clústeres de HPC en bloques de capacidad reservados, debes completar los siguientes pasos:

  1. Elige una opción de consumo y obtén capacidad
  2. Elige una opción de implementación y un orquestador
  3. Elige la imagen del sistema operativo o del clúster
  4. Crea tu clúster

Elige una opción de consumo y obtén capacidad

Las opciones de consumo determinan cómo se obtienen los recursos para tu clúster. Para crear un clúster con funciones de administración mejoradas, debes solicitar bloques de capacidad para una implementación densa.

En la siguiente tabla, se resumen las diferencias clave entre las opciones de consumo para los bloques de capacidad:

Opción de consumo Reservas futuras para bloques de capacidad Flex-start (vista previa)
Características de la carga de trabajo Cargas de trabajo distribuidas a gran escala y de larga duración que requieren recursos asignados de forma densa Cargas de trabajo de corta duración que requieren recursos asignados de forma densa
Vida útil En cualquier momento Hasta 7 días
Interrumpible No No
Cuota Verifica que tengas suficiente cuota antes de crear instancias. Se cobra la cuota interrumpible.
Precios
Asignación de recursos Dense Dense
Modelo de aprovisionamiento Con reserva Flex-start (vista previa)
Método de creación Para crear clústeres y VMs de HPC, debes hacer lo siguiente:
  1. Reserva capacidad comunicándote con tu equipo de cuentas.
  2. En la fecha y hora que elijas, podrás usar la capacidad reservada para crear clústeres de HPC. Consulta Elige una opción de implementación.
Para crear VMs, selecciona una de las siguientes opciones:

Cuando la capacidad solicitada esté disponible, Compute Engine la aprovisionará.

Elige una opción de implementación

Según el nivel de control que necesites sobre la implementación del clúster, elige entre una implementación altamente administrada o una menos administrada que te brinde más control sobre tu infraestructura. Algunas de las opciones de implementación disponibles incluyen la instalación y configuración de un orquestador para mejorar la administración del clúster de HPC.

Altamente administrado

Si quieres que Google implemente y configure tu infraestructura, usa Cluster Toolkit o Google Kubernetes Engine (GKE).

  • Cluster Toolkit: Es una herramienta de código abierto que ofrece Google y que simplifica la configuración y la implementación de clústeres que usan Slurm o GKE. Usas planos predefinidos para compilar una carpeta de implementación basada en el plano. Puedes modificar los planos o la carpeta de implementación para personalizar las implementaciones y tu pila de software. Luego, usas Terraform o Packer para ejecutar los comandos que genera Cluster Toolkit para implementar el clúster.

    Si deseas obtener un instructivo sobre este método de implementación, consulta Crea un clúster de HPC de Slurm habilitado para RDMA.

  • GKE: Es un servicio administrado de Kubernetes y una plataforma de organización de contenedores de código abierto. GKE ofrece funciones como el ajuste de escala automático y la alta disponibilidad. Estas funciones hacen que GKE sea una buena opción para implementar y administrar cargas de trabajo de HPC, incluida su capacidad para organizar aplicaciones alojadas en contenedores, la compatibilidad con hardware especializado y la compatibilidad con el ecosistema de Google Cloud. Puedes implementar clústeres de GKE directamente o con Cluster Toolkit. Puedes elegir entre la edición Standard o Autopilot de Google Kubernetes Engine (GKE).

    Para obtener más información sobre este método de implementación, consulta Ejecuta cargas de trabajo de HPC con H4D.

Menos administración, más control

Para tener un control más detallado sobre tus clústeres y el software instalado en ellos, crea un clúster de Compute Engine con uno de los siguientes métodos:

Puedes usar estos métodos si quieres usar un organizador que no sea Slurm o GKE. Después de crear las VMs, debes instalar manualmente en ellas el software clave que necesite tu carga de trabajo de HPC. También puedes usar una secuencia de comandos de inicio para verificar automáticamente la instalación del software y, si es necesario, instalarlo cuando se inicie la VM.

Elige la imagen del sistema operativo

La imagen del sistema operativo (SO) que elijas dependerá del servicio que uses para implementar tu clúster.

  • Para los clústeres en GKE: Usa una imagen de nodo de GKE, como Container-Optimized OS. Si usas Cluster Toolkit para implementar tu clúster de GKE, se usará una imagen de Container-Optimized OS de forma predeterminada. Para obtener más información sobre las imágenes de nodo, consulta Imágenes de nodo en la documentación de GKE.

  • Para clústeres en Compute Engine: Puedes usar una de las siguientes imágenes:

  • Para clústeres de Slurm: Cluster Toolkit implementa el clúster de Slurm con una imagen de VM de HPC basada en Rocky Linux 8 que está optimizada para cargas de trabajo de HPC con acoplamiento alto.

Crea tu clúster de HPC

Después de revisar el proceso de creación del clúster y tomar decisiones preliminares para tu carga de trabajo, crea el clúster con una de las siguientes opciones:

¿Qué sigue?