Descripción general de los clústeres de HPC con funciones de gestión de clústeres mejoradas

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

Con H4D, Compute Engine añade compatibilidad para ejecutar cargas de trabajo de HPC masivas tratando un clúster completo de instancias de VM como un solo ordenador. Si usas la colocación de VMs con reconocimiento de la topología, puedes acceder a muchas instancias dentro de un único superbloque de redes y minimizar la latencia de la 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 acopladas.

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 disfrutar de funciones de gestión de clústeres mejoradas.

Los clústeres de HPC con instancias H4D se pueden crear con o sin funciones de gestión de clústeres mejoradas. Si no necesitas funciones de gestión de clústeres mejoradas con tu clúster de HPC H4D o quieres crear clústeres de HPC con una serie de máquinas distinta a H4D, sigue estas instrucciones para crear instancias o clústeres de HPC:

Terminología de clústeres

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

Bloques
Varios subbloques se interconectan con una estructura sin bloqueo, lo que proporciona una interconexión de gran ancho de banda. Se puede acceder a cualquier CPU del bloque en un máximo de dos saltos de red. El sistema expone los metadatos de los bloques y subbloques a los orquestadores para permitir una colocación óptima de los 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 en todo el mundo. La comunicación entre diferentes bloques solo añade un salto adicional, lo que mantiene un alto rendimiento y predictibilidad, incluso a gran escala. Los orquestadores también pueden acceder a los metadatos a nivel de clúster para colocar trabajos de forma inteligente y a gran escala.
Cluster Toolkit
Herramienta de código abierto ofrecida por Google que simplifica la configuración y el despliegue de clústeres que usan Slurm o Google Kubernetes Engine. Utilizas planos predefinidos para crear 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. A continuación, usa Terraform o Packer para ejecutar los comandos generados por Cluster Toolkit y desplegar el clúster.
Implementación densa
Una solicitud de recursos que asigna los recursos de tu instancia de computación muy cerca entre sí para minimizar los saltos de red y optimizar la latencia más baja.
Tejido de red
Una estructura de red proporciona conectividad de gran ancho de banda y baja latencia en todos los bloques y Google Cloud servicios de un clúster. Jupiter es la arquitectura de red de los centros de datos de Google, que aprovecha la red definida por software y los conmutadores de circuitos ópticos para desarrollar la red y optimizar su rendimiento.
Nodo u host
Una sola máquina de servidor física en el centro de datos. Cada host tiene asociados recursos de computación, como CPUs, memoria e interfaces de red. El número y la configuración de estos recursos de computación dependen de la familia de máquinas. Las instancias de VM se aprovisionan sobre un host físico.
Orchestrator
Un orquestador automatiza la gestión de tus clústeres. Con un orquestador, no tienes que gestionar cada instancia de VM del clúster. Un orquestador, como Slurm o Google Kubernetes Engine (GKE), gestiona tareas como la puesta en cola de trabajos, la asignación de recursos, el escalado automático (con GKE) y otras tareas de gestión de clústeres diarias.
Subbloques
Se trata de unidades básicas en las que un grupo de hosts se coloca físicamente en un mismo rack. Un switch Top-of-Rack (ToR) conecta estos hosts, lo que permite una comunicación de un solo salto extremadamente eficiente entre dos CPUs cualesquiera 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 seguir estos pasos:

  1. Revisar los modelos de aprovisionamiento disponibles
  2. Elegir una opción de consumo y obtener capacidad
  3. Elegir una opción de implementación y un orquestador
  4. Elige el sistema operativo o la imagen del clúster
  5. Crear un clúster

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

Cuando creas instancias de máquina virtual, puedes usar los modelos de aprovisionamiento que se describen en Modelos de aprovisionamiento de instancias de Compute Engine.

Para crear instancias de H4D estrechamente acopladas, debes usar uno de los siguientes modelos de aprovisionamiento para obtener los recursos necesarios para crear instancias de computación:

  • Vinculada a una reserva: puedes reservar recursos a un precio con descuento para una fecha y una duración futuras. Al inicio del periodo de reserva, puede usar los recursos reservados para crear VMs o clústeres. Tienes acceso exclusivo a los recursos reservados durante el periodo de reserva.

  • Inicio flexible: puedes solicitar recursos con descuento durante un máximo de siete días. Compute Engine hace todo lo posible para programar el aprovisionamiento de los recursos solicitados en cuanto estén disponibles. Tienes acceso exclusivo a los recursos obtenidos durante el periodo solicitado.

  • Acceso puntual: en función de la disponibilidad, puedes obtener recursos con grandes descuentos de inmediato. Sin embargo, Compute Engine puede detener o eliminar las instancias de VM en cualquier momento para recuperar capacidad.

Modelo de aprovisionamiento vinculado a reservas

El modelo de aprovisionamiento vinculado a reservas asocia las instancias de VM que has creado a la capacidad que has reservado anteriormente. Cuando reservas capacidad, Compute Engine crea una reserva vacía. A continuación, a la hora de inicio de la reserva, ocurre lo siguiente:

  • Compute Engine añade los recursos reservados a la reserva. Tienes acceso exclusivo a la capacidad reservada hasta la hora de finalización de la reserva.

  • Google Cloud te cobra por la capacidad reservada hasta que finalice el periodo de reserva, tanto si utilizas la capacidad como si no.

Después, puedes usar los recursos reservados para crear VMs sin costes 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 máquinas virtuales como quieras y durante el tiempo que quieras para una fecha futura. Después, puedes usar los recursos reservados para crear y ejecutar VMs hasta que finalice el periodo de reserva. Si reservas recursos durante un año o más, debes comprar y adjuntar un compromiso basado en recursos.

Para aprovisionar recursos mediante el modelo de aprovisionamiento vinculado a reservas, consulta lo siguiente:

Puedes usar el aprovisionamiento vinculado a reservas con instancias H4D especificando el modelo de aprovisionamiento vinculado a reservas al crear 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 requieran recursos asignados de forma densa, puedes solicitar recursos de computación durante un máximo de siete días mediante Inicio flexible. Siempre que haya recursos disponibles, Compute Engine creará el número de VMs que hayas solicitado. Puedes detener las VMs de inicio flexible independientes, pero no las VMs de inicio flexible que crea un grupo de instancias gestionadas (MIG) mediante solicitudes de cambio de tamaño. Las máquinas virtuales de inicio flexible existen hasta que las eliminas o hasta que Compute Engine las elimina al final de su duración.

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

Cuando añades VMs de inicio flexible a un grupo de instancias gestionado (MIG) mediante solicitudes de cambio de tamaño, el MIG crea todas las VMs a la vez. De esta forma, evitarás que se te cobren cargos innecesarios por la capacidad parcial que Compute Engine podría ofrecerte mientras esperas a que se te asigne la capacidad completa que necesitas para iniciar tu carga de trabajo.

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

Modelo de aprovisionamiento puntual

Para ejecutar cargas de trabajo tolerantes a fallos, puedes obtener recursos de computación inmediatamente en función de la disponibilidad. Obtienes recursos al precio más bajo posible. Sin embargo, Compute Engine puede detener o eliminar las Spot VMs creadas en cualquier momento para recuperar capacidad. Este proceso se denomina prelación.

Las máquinas virtuales Spot son ideales para cargas de trabajo en las que se pueden producir interrupciones, como las siguientes:

  • Procesamiento por lotes
  • Computación de alto rendimiento (HPC)
  • Analíticas de datos
  • Integración y despliegue continuos (CI/CD)
  • Codificación de contenido multimedia

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

Puedes usar máquinas virtuales de 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 de tu clúster. Para crear un clúster que use funciones de gestión de clústeres mejoradas, debes solicitar bloques de capacidad para una implementación densa.

En la siguiente tabla se resumen las principales diferencias entre las opciones de consumo de bloques de capacidad:

Opción de consumo Reservas futuras de bloques de capacidad Reservas futuras de hasta 90 días (en el modo 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 fallos
Duración En cualquier momento Hasta 90 días Hasta 7 días En cualquier momento, pero sujeto a prelación
Interrumpible No No No
Garantía de capacidad Muy alta Muy alta Lo antes posible Lo antes posible
Cuota Comprueba que tengas suficiente cuota antes de crear instancias. No se cobra ninguna cuota Se aplican cargos por la cuota de máquinas virtuales interrumpibles. Se aplican cargos por la cuota de máquinas virtuales interrumpibles.
Precios
Asignación de recursos Denso Denso Denso 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. Reservar capacidad a través de tu equipo de cuenta
  2. En la fecha y hora que elijas, podrás usar la capacidad reservada para crear clústeres de HPC. Consulta Elegir una opción de implementación.

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

  1. Crear una solicitud de reserva futura en el modo Calendario
  2. En la fecha y hora que elijas, podrás usar la capacidad reservada para crear clústeres de HPC. Consulta Elegir 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 inmediatamente. Consulta Elegir una opción de implementación.

Elegir una opción de despliegue

Las cargas de trabajo de computación de alto rendimiento (HPC) agregan recursos informáticos para obtener un rendimiento superior al de una sola estación de trabajo, servidor u ordenador. La HPC se utiliza para resolver problemas de investigación académica, ciencia, diseño, simulación e inteligencia empresarial.

Para los clústeres de HPC con funciones de gestión de clústeres mejoradas, elige la serie de máquinas H4D. Si tienes previsto usar otra serie de máquinas, sigue las instrucciones de la documentación sobre cómo crear una instancia de máquina virtual 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 la configuración de un orquestador para mejorar la gestión del clúster de HPC.

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

Opción Caso práctico
Cluster Toolkit

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

GKE Quieres tener la máxima flexibilidad a la hora de configurar tu clúster de Google Kubernetes Engine en función de las necesidades de tu carga de trabajo. Para obtener más información, consulta Ejecutar cargas de trabajo de HPC con H4D.
Usar Compute Engine

Quieres tener un 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 utilices para implementar tu clúster.

  • En el caso de los clústeres de GKE: usa una imagen de nodo de GKE, como Container-Optimized OS. Si usas Cluster Toolkit para desplegar 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 nodos, consulta Imágenes de nodos en la documentación de GKE.

  • En el caso de los clústeres de Compute Engine: puedes usar una de las siguientes imágenes:

  • Para clústeres de Slurm: Cluster Toolkit despliega el clúster de Slurm con una imagen de máquina virtual de HPC basada en Rocky Linux 8 que está optimizada para cargas de trabajo de HPC estrechamente acopladas.

Crear un clúster de HPC

Después de revisar el proceso de creación de clústeres y tomar decisiones preliminares sobre tu carga de trabajo, crea el clúster con cualquiera de las opciones de implementación.

Funciones de gestión de clústeres mejoradas para tu clúster de HPC

Cuando creas instancias H4D con recursos asignados de forma densa mediante los métodos de implementación que se mencionan en Elegir una opción de implementación, puedes usar funciones de gestión de clústeres de HPC mejoradas con tus instancias.

Para obtener más información sobre estas funciones, consulta el artículo Gestión mejorada de clústeres de HPC con instancias H4D.

Siguientes pasos