Ce document décrit le découpage dynamique dans Google Kubernetes Engine (GKE). Le découpage dynamique vous permet de configurer des sous-blocs TPU provisionnés dans différentes topologies. Cette fonctionnalité réduit la nécessité de recréer des pools de nœuds, améliore la tolérance aux pannes en permettant une récupération automatique en cas de défaillance et optimise l'utilisation des ressources.
Le découpage dynamique est destiné aux ingénieurs en IA/ML et aux administrateurs de plate-forme qui souhaitent optimiser l'utilisation des TPU, réduire le temps de provisionnement et améliorer la tolérance aux pannes pour les charges de travail d'entraînement et d'inférence à grande échelle.
Avant de lire ce document, vous devez connaître les éléments suivants :
- Les TPU dans GKE.
- TPU Cluster Director Le découpage dynamique est une fonctionnalité TPU activée par TPU Cluster Director.
- Toutes les réservations en mode "All Capacity" Les fonctionnalités de découpage dynamique sont disponibles exclusivement sur les TPU qui utilisent le mode "All Capacity".
Qu'est-ce que le découpage dynamique ?
Le découpage dynamique offre une flexibilité dans la gestion de la capacité Cloud TPU en vous permettant de dissocier le provisionnement des TPU. Le découpage dynamique implique le processus suivant :
- Provisionner des ressources en tant qu'unités plus petites : vous provisionnez des ressources en tant qu'unités
appelées sous-blocs. Un sous-bloc est l'unité de base logique de la capacité Ironwood (TPU7x).
Pour Ironwood (TPU7x), un sous-bloc représente un groupe de 16 nœuds de VM TPU avec une topologie
4x4x4de puces TPU interconnectées. Dans le contexte du mode "All Capacity" et du découpage dynamique des TPU, un pool de nœuds correspond directement à un sous-bloc. - Assembler des sous-blocs : le découpage dynamique assemble ces sous-blocs en tranches plus grandes.
Avantages du découpage dynamique
Le découpage dynamique vous permet d'obtenir les avantages suivants :
- Réduire le temps de provisionnement : le provisionnement individuel des sous-blocs permet un provisionnement global plus rapide , car il minimise l'impact de toute défaillance unique.
- Réduire le temps de récupération : en cas de défaillance d'une puce TPU, la plus petite unité de défaillance est un sous-bloc. Le découpage dynamique isole les sous-blocs défectueux afin que les charges de travail puissent être reprogrammées sur des sous-blocs sains plus rapidement que le reprovisionnement d'une tranche entière.
- Remodeler la capacité : si vous avez des exigences de charge de travail diverses, vous n'avez pas besoin de supprimer et de recréer des pools de nœuds pour les modifications de topologie. Au lieu de cela, vous pouvez reconfigurer dynamiquement les pools de nœuds provisionnés pour qu'ils correspondent aux formes spécifiées.
Éléments clés du découpage dynamique
Le découpage dynamique introduit les concepts clés suivants :
- Provisionnement incrémentiel des pools de nœuds : le découpage dynamique utilise le provisionnement incrémentiel, qui est un modèle de provisionnement tolérant aux pannes des pools de nœuds. Ce modèle convertit toute votre capacité TPU en pools de nœuds de 16 nœuds de VM TPU.
- Contrôleur de tranche : contrôleur de ressource personnalisée Kubernetes s'exécutant dans le plan de contrôle GKE qui gère le découpage dynamique. Le contrôleur de tranche gère le cycle de vie d'une ressource personnalisée de tranche, qui représente une tranche dynamique. Le contrôleur de tranche gère la création, la surveillance continue et la suppression de la tranche. Lorsque vous utilisez un planificateur, celui-ci dirige la création et la suppression de la ressource personnalisée de tranche.
- Ressource personnalisée de tranche : assemble dynamiquement des sous-blocs en fonction de la topologie TPU demandée. Ce processus repose sur la reconfiguration dynamique du réseau OCS pour connecter les pools de nœuds TPU, ce qui permet d'optimiser les performances. Vous pouvez inspecter la progression ou l'état de la formation de tranches dynamiques en inspectant les champs d'état de la ressource personnalisée de tranche.
Planificateurs pour le découpage dynamique
Vous pouvez configurer Kueue et la planification tenant compte de la topologie (TAS, Topology Aware Scheduling) pour créer automatiquement une ressource personnalisée de tranche. Vous pouvez également utiliser votre propre planificateur pour gérer les ressources personnalisées de tranche.
Étape suivante
- Découvrez comment utiliser le découpage dynamique avec Kueue et TAS.
- En savoir plus sur TPU Cluster Director.