Acerca de la segmentación dinámica de GKE

En este documento, se describe el corte dinámico en Google Kubernetes Engine (GKE). El corte dinámico te permite configurar subbloques de TPU aprovisionados en diferentes topologías. Esta capacidad reduce la necesidad de volver a crear grupos de nodos, mejora la tolerancia a fallas, ya que permite la recuperación automática cuando se produce una falla, y optimiza el uso de los recursos.

El corte dinámico está destinado a ingenieros de aprendizaje automático (AA) y de plataformas que desean optimizar el uso de la TPU, reducir el tiempo de aprovisionamiento y mejorar la tolerancia a fallas para las cargas de trabajo de entrenamiento e inferencia a gran escala.

Antes de leer este documento, debes estar familiarizado con lo siguiente:

¿Qué es el corte dinámico?

El corte dinámico ofrece flexibilidad en la administración de la capacidad de Cloud TPU, ya que te permite desacoplar el aprovisionamiento de TPU. El corte dinámico implica el siguiente proceso:

  1. Aprovisiona recursos como unidades más pequeñas: Aprovisionas recursos como unidades llamadas subbloques. Un subbloque es la unidad de compilación lógica fundamental de la capacidad de Ironwood (TPU7x). Para Ironwood (TPU7x), un subbloque representa un grupo de 16 nodos de VMs de TPU con una topología 4x4x4 de chips TPU interconectados. En el contexto del modo All Capacity de TPU y el corte dinámico, un grupo de nodos se asigna directamente a un subbloque.
  2. Une subbloques: El corte dinámico une estos subbloques en cortes más grandes.

Beneficios del corte dinámico

El corte dinámico te ayuda a lograr lo siguiente:

  • Reduzca el tiempo de aprovisionamiento: el aprovisionamiento individual de subbloques conduce a un aprovisionamiento general más rápido, ya que minimiza el impacto de cualquier falla única.
  • Reduce el tiempo de recuperación: Si se produce una falla en el chip TPU, la unidad de falla más pequeña es un subbloque. El corte dinámico aísla los subbloques defectuosos para que las cargas de trabajo se puedan reprogramar en subbloques en buen estado más rápido que volver a aprovisionar un corte grande completo.
  • Cambia la forma de la capacidad: Si tienes requisitos de carga de trabajo diversos, no necesitas borrar y volver a crear grupos de nodos para los cambios de topología. En su lugar, puedes volver a configurar de forma dinámica los grupos de nodos aprovisionados para que coincidan con las formas especificadas.

Elementos clave del corte dinámico

El corte dinámico introduce los siguientes conceptos clave:

  • Aprovisionamiento incremental de grupos de nodos: El corte dinámico usa el aprovisionamiento incremental, que es un modelo de aprovisionamiento de grupos de nodos tolerante a errores. Este modelo convierte toda tu capacidad de TPU en grupos de nodos de 16 nodos de VMs de TPU.
  • Controlador de corte: Un controlador de recursos personalizados de Kubernetes que se ejecuta dentro de el plano de control de GKE que administra el corte dinámico. El controlador de corte administra el ciclo de vida de un recurso personalizado de corte, que representa un corte dinámico. El controlador de corte controla la creación, la supervisión continua y la eliminación del Slice. Cuando usas un programador, este dirige la creación y eliminación del recurso personalizado de corte.
  • Recurso personalizado de corte: Une de forma dinámica los subbloques según la topología de TPU solicitada. Este proceso se basa en la reconfiguración dinámica de la red OCS para conectar los grupos de nodo TPU, lo que ayuda a garantizar un rendimiento optimizado. Puedes inspeccionar el progreso o el estado de la formación de cortes dinámicos si inspeccionas los campos de estado del recurso personalizado de Slice.

Usa programadores para el corte dinámico

Para usar el corte dinámico, puedes usar cualquiera de las siguientes opciones:

¿Qué sigue?