Descripción general de los clústeres de HPC con capacidades de administración de clústeres mejoradas

Para crear la infraestructura de aplicaciones estrechamente vinculadas que se escalan en 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.

Con H4D, 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 con acoplamiento alto.

Para crear estos clústeres de VMs de HPC con H4D, debes reservar bloques de capacidad en lugar de recursos individuales. Usar bloques de capacidad para tu clúster te permite tener capacidades de administración de clústeres mejoradas.

Los clústeres de HPC con instancias H4D se pueden crear con o sin capacidades de administración de clústeres mejoradas. Si no necesitas funciones mejoradas de administración de clústeres con tu clúster de HPC H4D, o si deseas crear clústeres de HPC con una serie de máquinas que no sea H4D, usa las siguientes instrucciones para crear instancias o clústeres de HPC:

Terminología de clústeres

Cuando trabajes con bloques de capacidad, se usarán 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 adapta 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.
Cluster Toolkit
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 Google Kubernetes Engine. Usas planos prediseñados 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.
Implementación densa
Es una solicitud de recursos que asigna los recursos de tu instancia de procesamiento cerca unos de otros físicamente 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
Una sola máquina de servidor física 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. Revisa los modelos de aprovisionamiento disponibles
  2. Elige una opción de consumo y obtén capacidad
  3. Elige una opción de implementación y un orquestador
  4. Elige la imagen del sistema operativo o del clúster
  5. Crea tu clúster

Modelos de aprovisionamiento para la creación de VM y clústeres

Cuando creas instancias de VM, puedes usar los modelos de aprovisionamiento que se describen en Modelos de aprovisionamiento de instancias de Compute Engine.

Para crear instancias de H4D estrechamente vinculadas, debes usar uno de los siguientes modelos de aprovisionamiento para obtener los recursos necesarios para crear instancias de procesamiento:

  • Vinculadas a la reserva: Puedes reservar recursos a un precio con descuento para una fecha y duración futuras. Al comienzo del período de reserva, puedes usar los recursos reservados para crear VMs o clústeres. Tienes acceso exclusivo a los recursos reservados durante el período de reserva.

  • Inicio flexible: Puedes solicitar recursos con descuento por hasta siete días. Compute Engine hace todo lo posible para programar el aprovisionamiento de los recursos solicitados tan pronto como estén disponibles. Tienes acceso exclusivo a los recursos obtenidos durante el período solicitado.

  • Spot: Según la disponibilidad, puedes obtener de inmediato recursos con grandes descuentos. Sin embargo, Compute Engine podría detener o borrar las instancias de VM en cualquier momento para recuperar capacidad.

Modelo de aprovisionamiento con reserva

El modelo de aprovisionamiento vinculado a la reserva vincula las instancias de VM que creaste a la capacidad que reservaste anteriormente. Cuando reservas capacidad, Compute Engine crea una reserva vacía. Luego, a la hora de inicio de la reserva, ocurre lo siguiente:

  • Compute Engine agrega los recursos reservados a la reserva. Tendrás acceso exclusivo a la capacidad reservada hasta la hora de finalización de la reserva.

  • Google Cloud te cobra por la capacidad reservada hasta el final del período de reserva, ya sea que uses la capacidad o no.

Luego, puedes usar los recursos reservados para crear VMs sin cargos adicionales. Solo pagas por los recursos que no se incluyen en la reserva, como los discos o las direcciones IP.

Puedes reservar recursos para tantas VMs como quieras y durante el tiempo que desees para una fecha futura. Luego, puedes usar los recursos reservados para crear y ejecutar VMs hasta el final del período de reserva. Si reservas recursos por un año o más, debes comprar y adjuntar un compromiso basado en recursos.

Para aprovisionar recursos con el modelo de aprovisionamiento vinculado a la reserva, consulta los siguientes recursos:

Puedes usar el aprovisionamiento vinculado a la reserva con instancias H4D. Para ello, especifica el modelo de aprovisionamiento vinculado a la reserva cuando crees VMs individuales, un clúster de HPC o un grupo de VMs.

Modelo de aprovisionamiento de inicio flexible

Para ejecutar cargas de trabajo de corta duración que requieren recursos asignados de forma densa, puedes solicitar recursos de procesamiento por hasta siete días con el inicio flexible. Siempre que haya recursos disponibles, Compute Engine creará la cantidad de VMs que solicitaste. Puedes detener las VMs de inicio flexible independientes, pero no las VMs de inicio flexible que crea un grupo de instancias administrado (MIG) a través de solicitudes de cambio de tamaño. Las VMs de inicio flexible existen hasta que las borras o hasta que Compute Engine las borra al final de su duración de ejecución.

El inicio flexible es ideal para las cargas de trabajo que pueden comenzar en cualquier momento. El modelo de aprovisionamiento de inicio flexible aprovisiona recursos desde un grupo de capacidad seguro, por lo que los recursos asignados se asignan de forma densa para minimizar la latencia de la red.

Cuando agregas VMs de inicio flexible a un grupo de instancias administrado (MIG) con solicitudes de cambio de tamaño, el MIG crea las VMs de una sola vez. Este enfoque te ayuda a evitar cargos innecesarios por la capacidad parcial que Compute Engine podría entregar mientras esperas la capacidad completa necesaria para iniciar tu carga de trabajo.

Puedes usar el aprovisionamiento de inicio flexible con instancias H4D, con cualquier modelo de implementación disponible.

Modelo de aprovisionamiento Spot

Para ejecutar cargas de trabajo tolerantes a errores, puedes obtener recursos de procesamiento de inmediato según la disponibilidad. Obtienes recursos al precio más bajo posible. Sin embargo, Compute Engine podría detener o borrar las VMs Spot creadas en cualquier momento para recuperar capacidad. Este proceso se denomina preemption.

Las VMs Spot son ideales para cargas de trabajo en las que se aceptan interrupciones, como las siguientes:

  • Procesamiento por lotes
  • Computación de alto rendimiento (HPC)
  • Análisis de datos
  • Integración continua e implementación continua (CI/CD)
  • Codificación de medios

Puedes usar VMs Spot con cualquier tipo de máquina, excepto los tipos de máquinas A4X, X4 y bare metal. La asignación densa depende de la disponibilidad de recursos. Para garantizar una asignación más cercana, puedes aplicar una política de posición de compactación a las VMs de Spot.

Puedes usar VMs Spot con las siguientes opciones de implementación densa:

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 que use capacidades 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 Reservas futuras de hasta 90 días (en modo de calendario) Inicio flexible Spot
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 Cargas de trabajo de corta duración que requieren recursos asignados de forma densa Cargas de trabajo tolerantes a errores
Vida útil En cualquier momento Hasta 90 días Hasta 7 días En cualquier momento, pero sujeto a prelanzamiento
Interrumpible No No No
Garantía de capacidad Muy alta Muy alta Mejor esfuerzo Mejor esfuerzo
Cuota Verifica que tengas suficiente cuota antes de crear instancias. No se cobra ninguna cuota Se cobra la cuota interrumpible. Se cobra la cuota interrumpible.
Precios
Asignación de recursos Dense Dense Dense Estándar (política de posición compacta opcional)
Modelo de aprovisionamiento Con reserva Con reserva Inicio flexible Spot
Método de creación

Para crear clústeres y VMs de HPC, debes hacer lo siguiente:

  1. Reserva capacidad a través de 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 clústeres y VMs de HPC, debes hacer lo siguiente:

  1. Crea una solicitud de reserva futura en el modo de calendario
  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á.

Puedes crear VMs de inmediato. Consulta Elige una opción de implementación.

Elige una opción de implementación

Las cargas de trabajo de computación de alto rendimiento (HPC) agregan recursos de procesamiento para obtener un rendimiento mayor que el de una sola estación de trabajo, servidor o computadora. HPC se usa para resolver problemas en la investigación académica, la ciencia, el diseño, la inteligencia empresarial y la simulación.

Para los clústeres de HPC con capacidades de administración de clústeres mejoradas, elige la serie de máquinas H4D. Si planeas usar una serie de máquinas diferente, sigue la documentación en Crea una instancia de VM lista para HPC en lugar de usar los métodos de implementación que se indican en esta página.

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.

Para elegir la opción más adecuada para crear tus VMs o clústeres para tu caso de uso, elige una de las siguientes:

Opción Caso de uso
Cluster Toolkit

Quieres usar software de código abierto que simplifique el proceso para implementar clústeres de Slurm y Google Kubernetes Engine (GKE). Cluster Toolkit está diseñado para ser altamente personalizable y extensible. Para obtener más información, consulta lo siguiente:

GKE Deseas tener la máxima flexibilidad para configurar tu clúster de Google Kubernetes Engine según las necesidades de tu carga de trabajo. Para obtener más información, consulta Ejecuta cargas de trabajo de HPC con H4D.
Usa Compute Engine

Quieres tener el control total de la capa de infraestructura para poder configurar tu propio orquestador. Para obtener más información, consulta lo siguiente:

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 usa 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 cualquiera de las opciones de implementación.

Capacidades de administración de clústeres mejoradas para tu clúster de HPC

Cuando creas instancias de H4D con recursos asignados de forma densa usando los métodos de implementación mencionados en Elige una opción de implementación, puedes usar capacidades mejoradas de administración de clústeres de HPC con tus instancias.

Para obtener más información sobre estas capacidades, consulta Administración mejorada de clústeres de HPC con instancias H4D.

¿Qué sigue?