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

En este documento, se describen los parámetros de configuración de AI Hypercomputer que debes tener en cuenta antes de crear instancias y clústeres de Compute Engine. Revisar las opciones de configuración disponibles ayuda a optimizar el rendimiento de 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. 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:

  • Vinculados a reservas: 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 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 que creaste con la capacidad que reservaste con anterioridad. Cuando reservas capacidad, Compute Engine crea una reserva vacía. Luego, en la hora de inicio de la reserva, ocurre lo siguiente:

  • Compute Engine agrega la cantidad de instancias reservadas 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, sin importar si usas 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 creas 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 de procesamiento y clústeres. Si usas Cluster Toolkit para implementar tus clústeres, el esquema 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 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 de 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 consola de Google Cloud , 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 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 usen 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 en función de 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 de Spot cuando creas 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 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 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 reservas

Si usas el modelo de aprovisionamiento vinculado a la reserva cuando creas instancias de procesamiento de GPU agrupadas o clústeres, las máquinas que recibes se implementan automáticamente en bloques de hosts asignados de forma densa. Esta implementación ofrece los siguientes beneficios:

  • Herramientas de redes sin bloqueo para una conectividad de instancias coherente de alto ancho de banda y baja latencia con 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 organizadores

  • 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 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 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 entre uno de los siguientes modos operativos de reserva: modo administrado o modo de capacidad total.

Modo administrado

En el modo administrado, Google Cloud administra de forma automática 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 usar 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 obtengas más capacidad.

  • Reinicios automáticos 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 los bloques: Puedes ver la topología, el estado y el estado de mantenimiento de las reservas y los bloques de reserva individuales. También puedes recibir notificaciones de mantenimiento y, de forma 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 un límite de frecuencia por reserva.

Modo All capacity

En el modo de capacidad total, eres responsable de administrar el proceso de recuperación de una instancia de procesamiento. Debes iniciar el mantenimiento de forma manual después de que se produzcan errores de host o informes de host defectuosos. A diferencia del modo administrado, también puedes ver y comenzar el mantenimiento de tus 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 de capacidad total 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 falle su host.

  • Reinicios manuales de instancias: eres responsable del proceso de recuperación de una instancia. Cuando se requiere el 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, 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 tener con acoplamiento bajo y tener una programación de mantenimiento independiente (independiente).

Programación de mantenimiento agrupado

El tipo de programación de mantenimiento agrupado ayuda a alinear todas las instancias que ejecutan la misma carga de trabajo con la misma frecuencia de mantenimiento planificado, sin importar cuándo Compute Engine aprovisione una instancia de procesamiento. Este mantenimiento con acoplamiento alto te permite optimizar el rendimiento de tu trabajo, ya que te brinda un control total sobre la capacidad usada y sin usar.

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.

  • Quieres ejecutar cargas de trabajo de entrenamiento o de procesamiento altamente paralelizadas.

Programación de mantenimiento independiente

Este tipo de programación de mantenimiento independiente 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 independientes.

Próximos pasos