Revisa la configuración de la instancia de procesamiento y del clúster

En este documento, se describen las configuraciones de AI Hypercomputer que se deben tener en cuenta antes de crear instancias y clústeres de Compute Engine. Revisar las configuraciones disponibles ayuda a garantizar un rendimiento óptimo para tus cargas de trabajo, así como a minimizar los tiempos de inactividad y los problemas de rendimiento.

Factores de configuración para la creación de instancias de procesamiento y clústeres

Antes de crear instancias de procesamiento y clústeres para ejecutar tus cargas de trabajo, considera qué configuración usar:

  1. El modelo de aprovisionamiento

  2. Las herramientas de implementación de clústeres

  3. Si usas el modelo de aprovisionamiento vinculado a la reserva, también debes tener en cuenta los siguientes factores:

Modelos de aprovisionamiento

Según la opción de consumo que elijas para crear instancias de procesamiento o clústeres, puedes usar uno de los siguientes modelos de aprovisionamiento para obtener los recursos necesarios para crear instancias:

  • Con 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 instancias 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 en cuanto 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 en cualquier momento para recuperar capacidad.

Modelo de aprovisionamiento vinculado a la reserva

El modelo de aprovisionamiento vinculado a la reserva vincula las instancias de procesamiento creadas 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, sucede lo siguiente:

  • Compute Engine agrega a la reserva la cantidad de instancias reservadas. 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 el final del período de reserva, ya sea que uses la capacidad o no.

Luego, puedes usar los recursos reservados para crear instancias sin cargos adicionales. Solo pagas por los recursos que no están incluidos en la reserva, como discos o direcciones IP.

Para especificar el modelo de aprovisionamiento vinculado a la reserva cuando creas instancias de procesamiento o MIG, haz lo siguiente:

  • En la Google Cloud console, en la lista Modelo de aprovisionamiento, selecciona Con reserva.

  • En Google Cloud CLI, incluye la marca --provisioning-model=RESERVATION_BOUND en el comando.

  • En la API de Compute Engine, incluye el "provisioningModel": "RESERVATION_BOUND" campo en el cuerpo de la solicitud.

Para obtener más información sobre cómo configurar estos parámetros cuando creas instancias o MIG después de reservar capacidad, consulta Descripción general de la creación de instancias de procesamiento y clústeres. Si usas Cluster Toolkit para implementar tus clústeres, el plano del clúster establece el modelo de aprovisionamiento por ti.

Modelo de aprovisionamiento de inicio flexible

El modelo de aprovisionamiento de inicio flexible te permite crear VMs de inicio flexible independientes o agregar VMs de inicio flexible a un grupo de instancias administrado (MIG) cuando la capacidad solicitada esté disponible. Cuando agregas VMs de inicio flexible a un MIG mediante solicitudes de cambio de tamaño, el MIG crea las instancias 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 total necesaria para iniciar tu carga de trabajo. El modelo de aprovisionamiento de inicio flexible aprovisiona recursos desde un grupo de capacidad seguro, lo que ayuda a aumentar tus posibilidades de obtener recursos de alta demanda, como las GPUs.

Para especificar el modelo de aprovisionamiento de inicio flexible cuando creas una instancia independiente o una plantilla de instancias para un MIG, haz lo siguiente:

  • En la Google Cloud console, en la lista Modelo de aprovisionamiento, selecciona Inicio flexible.

  • En gcloud CLI, incluye la marca --provisioning-model=FLEX_START en el comando.

  • En la API de Compute Engine, incluye el "provisioningModel": "FLEX_START" campo en el cuerpo de la solicitud.

Para obtener más información sobre la creación de instancias o clústeres que usan el modelo de aprovisionamiento de inicio flexible, consulta los siguientes documentos:

Modelo de aprovisionamiento Spot

El modelo de aprovisionamiento Spot te permite crear instancias de procesamiento con grandes descuentos según la disponibilidad. Sin embargo, Compute Engine podría detener o borrar las instancias creadas en cualquier momento para recuperar capacidad. Este proceso se denomina interrupción.

Para especificar el modelo de aprovisionamiento Spot cuando creas instancias o MIG, haz lo siguiente:

  • En la Google Cloud console, en la lista Modelo de aprovisionamiento, selecciona Spot.

  • En gcloud CLI, incluye la marca --provisioning-model=SPOT en el comando.

  • En la API de Compute Engine, incluye el "provisioningModel": "SPOT" campo en el cuerpo de la solicitud.

Para obtener más información sobre cómo configurar estos parámetros cuando creas instancias o MIG, consulta Descripción general de la creación de instancias de procesamiento y clústeres.

Herramientas de implementación de clústeres

Cluster Toolkit es una herramienta de implementación de código abierto que se recomienda para crear clústeres acelerados por GPU. Cluster Toolkit puede implementar clústeres de Google Kubernetes Engine (GKE) o Slurm.

Como alternativa, puedes elegir aprovisionar tus grupos de instancias de procesamiento con uno de los siguientes métodos y, luego, incorporar tu propio programador de cargas de trabajo según sea necesario:

Tipos de implementación de bloque de reserva

Si usas el modelo de aprovisionamiento vinculado a la reserva cuando creas instancias de procesamiento o clústeres de A4X Max, A4X, A4, A3 Ultra, A3 Mega y A3 High (8 GPUs), las máquinas que recibes se implementan automáticamente en bloques de hosts asignados de forma densa. Esta implementación ofrece los siguientes beneficios:

  • Redes sin bloqueo para una conectividad de instancias coherente de alto ancho de banda y baja latencia mediante el uso de la estructura de red de aprendizaje automático (AA) dinámico de Google.

  • Acceso a la topología de red que proporciona una vista jerárquica de la proximidad relativa entre las instancias. Esta función es útil para casos de uso avanzados de programación de trabajos.

  • Ubicación detallada y adaptada a la topología cuando usas orquestadores.

  • Control de usuario detallado sobre los programas de mantenimiento para maximizar la programación de trabajos y el tiempo de actividad, y minimizar los tiempos de inactividad.

Modo operativo de la reserva

Si usas el modelo de aprovisionamiento vinculado a la reserva, entonces el tipo de máquina que reservas determina el modo operativo de la reserva para tu capacidad reservada. Cada modo define cómo responder a los errores de host o a los informes de host defectuosos, así como tu nivel de visibilidad y control sobre la infraestructura de la reserva.

Cada modo operativo de la reserva define lo siguiente:

  • Quién administra la recuperación: tú o Google Cloud.

  • Qué capacidad usas para la recuperación: solo tu capacidad reservada o la capacidad dentro o fuera de tus reservas.

  • Tu nivel de control de ubicación: si puedes ver e iniciar el mantenimiento antes de la hora planificada para los subbloques de reserva específicos para un control detallado.

Cuando reservas capacidad para crear instancias de procesamiento o clústeres, debes elegir entre uno de los siguientes modos operativos de la reserva: modo administrado o modo All Capacity.

Modo administrado

En el modo administrado, Google Cloud administra automáticamente el proceso de mantenimiento y recuperación de tus instancias de procesamiento después de errores de host o informes de host defectuosos. Este enfoque es ideal cuando tu carga de trabajo requiere alta estabilidad y prefieres un proceso automatizado para minimizar los tiempos de inactividad.

El modo administrado tiene las siguientes características:

  • Solo usa la capacidad reservada para la recuperación: Compute Engine solo usa tu capacidad reservada para reiniciar instancias. Si no hay capacidad disponible en tus reservas, Compute Engine solo reinicia las instancias después de que obtienes más capacidad.

  • Reinicios automáticos de instancias: Google Cloud maneja todo el proceso de recuperación de una instancia. Cuando se requiere mantenimiento del host, Compute Engine migra automáticamente tus instancias a otras máquinas disponibles dentro de tu reserva y reinicia las instancias.

  • Administración y visibilidad de bloques: Puedes ver la topología, el estado y el estado de mantenimiento de las reservas individuales y los bloques de reserva. También puedes recibir notificaciones de mantenimiento y, de manera opcional, iniciar el mantenimiento antes de la hora programada para estos recursos.

  • Posibles límites de frecuencia de la API: Las llamadas a la API de informe de host defectuoso pueden tener límites de frecuencia por reserva.

Modo All Capacity

En el modo All Capacity, eres responsable de administrar un proceso de recuperación de instancias de procesamiento. Debes iniciar el mantenimiento de forma manual después de errores de host o informes de host defectuosos. A diferencia del modo administrado, también puedes ver e iniciar el mantenimiento de tus subbloques de reserva. Estas funciones te brindan un control completo y detallado sobre el proceso de mantenimiento y recuperación de tus instancias.

El modo All Capacity tiene las siguientes características:

  • Usa la capacidad reservada y no reservada para la recuperación: Puedes usar tus recursos reservados, así como cualquier recurso que esté disponible fuera de tu reserva, para ayudarte a migrar y reiniciar una instancia cuando falla su host.

  • Reinicios manuales de instancias: Eres responsable del proceso de recuperación de una instancia. Cuando se requiere mantenimiento del host debido a un error de host o un informe de host defectuoso, Compute Engine detiene tu instancia. Solo puedes reiniciar la instancia después de que se complete el mantenimiento.

  • Administración y visibilidad de bloques y subbloques: puedes ver la topología, el estado y el estado de mantenimiento de las reservas individuales, los bloques de reserva y los subbloques de reserva. También puedes recibir notificaciones de mantenimiento y, de manera opcional, iniciar el mantenimiento antes de la hora programada para estos recursos.

  • Sin límites de frecuencia de la API: No hay límites de frecuencia cuando realizas llamadas a la API de informe de host defectuoso.

Tipos de programación del mantenimiento

Si usas el modelo de aprovisionamiento vinculado a la reserva, entonces Cluster Director proporciona opciones para programar el mantenimiento del host para las instancias de procesamiento en ejecución en tu clúster. Cuando reservas capacidad, puedes especificar si deseas agrupar instancias y tener una programación de mantenimiento sincronizada (agrupada) o si las instancias pueden estar con acoplamiento bajo y tener una programación de mantenimiento independiente (independiente).

Programación de mantenimiento agrupada

El tipo de programación de mantenimiento agrupada ayuda a garantizar que, sin importar cuándo Compute Engine aprovisione una instancia de procesamiento, todas las instancias que ejecutan la misma carga de trabajo tengan la misma frecuencia de mantenimiento planificada. Este mantenimiento estrechamente acoplado te permite optimizar el rendimiento de tu trabajo, ya que te brinda un control completo sobre tu capacidad usada y no usada.

Un tipo de programación de mantenimiento agrupada es útil en los siguientes casos:

  • Tu entorno usa un programador de trabajos, como Slurm o GKE.

  • Deseas ejecutar entrenamiento o otras cargas de trabajo de procesamiento altamente paralelizadas.

Programación de mantenimiento independiente

Este tipo de programación de mantenimiento independiente les da a las instancias diferentes programas de mantenimiento. Esta configuración es ideal si deseas ejecutar inferencia o entrenamiento de escala limitada en el que las cargas de trabajo se ejecutan de manera más eficiente cuando tienen programas de mantenimiento separados.

Próximos pasos