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

En este documento, se describen las configuraciones de AI Hypercomputer que debes 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 o clústeres de procesamiento, puedes usar uno de los siguientes modelos de aprovisionamiento para obtener los recursos necesarios para crear instancias:

  • 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 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 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 recursos con grandes descuentos de inmediato. Sin embargo, Compute Engine podría detener o borrar instancias en cualquier momento para recuperar capacidad.

Modelo de aprovisionamiento con 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, ocurre lo siguiente:

  • Compute Engine agrega la cantidad reservada de instancias 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 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 se incluyen en la reserva, como los discos o las direcciones IP.

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

  • En la consola de Google Cloud , en la lista Modelo de aprovisionamiento, selecciona Vinculado a la reserva.

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

  • En la API de Compute Engine, incluye el campo "provisioningModel": "RESERVATION_BOUND" 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 y clústeres de Compute. 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 independientes con inicio flexible o agregar VMs con inicio flexible a un grupo de instancias administrado (MIG) cuando la capacidad solicitada esté disponible. Cuando agregas VMs de inicio flexible a un MIG con 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 completa 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 las probabilidades de obtener recursos de alta demanda, como las GPUs.

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

  • En la consola de Google Cloud , en la lista Modelo de aprovisionamiento, selecciona Flex-start.

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

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

Para obtener más información sobre cómo crear 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 de instancias interrumpibles 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 preemption.

Para especificar el modelo de aprovisionamiento de instancias interrumpibles cuando crees instancias o MIG, haz lo siguiente:

  • En la consola de Google Cloud , 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 campo "provisioningModel": "SPOT" 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 y clústeres de Compute.

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.

También puedes 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 bloques de reserva

Si usas el modelo de aprovisionamiento vinculado a la reserva cuando creas instancias o clústeres de procesamiento 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 con el tejido de red dinámico de aprendizaje automático (AA) 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.

  • Colocación detallada y con reconocimiento de la topología cuando usas orquestadores.

  • Control detallado del usuario 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, el tipo de máquina que reserves determinará 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 capacidad dentro o fuera de tus reservas.

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

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

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 reiniciará las instancias después de que obtengas más capacidad.

  • Reinicio automático de instancias: Google Cloud controla 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 las reinicia.

  • Administración y visibilidad de bloques: Puedes ver la topología, el estado y el 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: Es posible que las llamadas a la API de informes de host defectuoso tengan un límite 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 que se produzcan errores del host o se reciban informes de host defectuosos. A diferencia del modo administrado, también puedes ver y comenzar el mantenimiento de los subbloques de reserva. Estas funciones te brindan un control total y detallado sobre el proceso de mantenimiento y recuperación de tus instancias.

El modo All Capacity tiene las siguientes funciones:

  • 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.

  • Reinicio manual de instancias: Eres responsable del proceso de recuperación de una instancia. Cuando se requiere mantenimiento del host debido a un error o a un informe de host defectuoso, Compute Engine detiene la 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 Report faulty host.

Tipos de programación del mantenimiento

Si usas el modelo de aprovisionamiento vinculado a la reserva, 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 las instancias y tener una programación de mantenimiento sincronizada (agrupadas) o si las instancias pueden estar con acoplamiento bajo y tener una programación de mantenimiento independiente (independientes).

Programación de mantenimiento agrupado

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

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

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

  • Deseas ejecutar cargas de trabajo de entrenamiento o de otro tipo de procesamiento altamente paralelizado.

Programación independiente del mantenimiento

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

Próximos pasos