En este documento, se describe la segmentación dinámica en Google Kubernetes Engine (GKE). La segmentación dinámica 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.
La segmentación dinámica está diseñada para ingenieros de IA/AA y administradores 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 y de inferencia a gran escala.
Antes de leer este documento, debes estar familiarizado con lo siguiente:
- TPUs en GKE.
- Cluster Director de TPU. La segmentación dinámica es una función de TPU habilitada por Cluster Director de TPU.
- Reservas en el modo All Capacity Las funciones de segmentación dinámica están disponibles exclusivamente en las TPUs que usan el modo All Capacity.
¿Qué es la segmentación dinámica?
La segmentación dinámica ofrece flexibilidad en la administración de la capacidad de Cloud TPU, ya que te permite desacoplar el aprovisionamiento de TPU. La segmentación dinámica incluye el siguiente proceso:
- 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
4x4x4de chips TPU interconectados. En el contexto del modo All Capacity de TPU y la segmentación dinámica, un grupo de nodos se asigna directamente a un subbloque. - Une los subbloques: La segmentación dinámica une estos subbloques en segmentos más grandes.
Beneficios de la segmentación dinámica
La segmentación dinámica 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 de TPU, la unidad de falla más pequeña es un subbloque. La segmentación dinámica 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 segmento grande completo.
- Cambia 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 de la segmentación dinámica
La segmentación dinámica introduce los siguientes conceptos clave:
- Aprovisionamiento incremental de grupos de nodos: La segmentación dinámica usa el aprovisionamiento incremental, que es un modelo de aprovisionamiento tolerante a fallas de grupos de nodos. Este modelo convierte toda tu capacidad de TPU en grupos de nodos de 16 nodos de VMs de TPU.
- Controlador de segmentos: Un controlador de recursos personalizados de Kubernetes que se ejecuta dentro de el plano de control de GKE que administra la segmentación dinámica. El controlador de segmentos administra el ciclo de vida de un recurso personalizado de segmentos, que representa un segmento dinámico. El controlador de segmentos 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 Slice.
- Recurso personalizado de segmentos: 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 segmentos dinámicos si inspeccionas los campos de estado del recurso personalizado de Slice.
Programadores para la segmentación dinámica
Puedes configurar Kueue y la programación compatible con la topología (TAS) para crear automáticamente un recurso personalizado de Slice. También puedes usar tu propio programador para administrar recursos personalizados de Slice.
¿Qué sigue?
- Obtén información para usar la segmentación dinámica con Kueue y TAS.
- Obtén más información sobre Cluster Director de TPU.