Récupération en cas de défaillance des instances TPU
Pour que vos charges de travail continuent de s'exécuter, Compute Engine récupère les instances et les tranches TPU en cas de défaillance matérielle ou d'application.
Le comportement de récupération en cas d'échec dépend de votre mode de capacité :
- Mode de capacité gérée (réservations à la demande, démarrage flexible et standards) : Compute Engine récupère automatiquement les instances et les tranches de TPU en les redémarrant sur du matériel en bon état.
- Mode "Toute capacité" (réservations en mode "Toute capacité") : vous gérez la récupération des tranches de TPU. Les défaillances matérielles sont réparées sur l'hôte existant sans que les instances soient automatiquement déplacées vers un nouveau matériel.
Exigences concernant la récupération des tranches multi-hôtes
Les tranches de TPU multi-hôte nécessitent que toutes les instances de la tranche soient récupérées ou reprogrammées ensemble. Que Compute Engine gère automatiquement la récupération en mode capacité gérée ou que vous récupériez manuellement les tranches en mode toute capacité, vous ne pouvez pas reprogrammer des instances individuelles dans une tranche.
Les instances d'une tranche multi-hôte sont connectées par une interconnexion entre puces (ICI) et, dans certains cas, par un commutateur de circuit optique (OCS). Lorsque vous provisionnez une tranche multihôte, Compute Engine crée des instances de TPU et active le réseau ICI. Vous spécifiez la topologie réseau du slice en définissant la topologie de l'accélérateur dans votre règle de charge de travail. Lorsqu'une charge de travail démarre, LibTPU, la couche logicielle TPU de base, initialise la topologie du réseau. Par défaut, le compilateur XLA mappe ensuite statiquement les opérations du modèle à cette topologie.
Si une instance ou un lien réseau échoue, le matériel physique ne correspond plus à la topologie mappée. Par conséquent, le compilateur XLA ne peut pas exécuter la charge de travail tant que le système n'a pas reconfiguré la topologie réseau en recréant ou en replanifiant toutes les instances du slice.
Reprise après échec en mode capacité gérée
En mode de capacité gérée (y compris les réservations à la demande, à démarrage flexible et standards), Compute Engine récupère automatiquement les instances et les tranches de TPU en cas de défaillance matérielle ou d'hôte en les redémarrant sur du matériel en bon état.
Récupération automatique d'une tranche de TPU à hôte unique
Les tranches à hôte unique sont des instances TPU indépendantes. Par défaut, Compute Engine récupère automatiquement les instances défaillantes en les redémarrant sur du matériel en bon état. Ce comportement est contrôlé par le paramètre de redémarrage automatique, qui est activé par défaut lors de la création d'instances, à l'exception des VM Spot. Si vous désactivez le redémarrage automatique, une défaillance d'instance entraîne le passage de l'instance à l'état TERMINATED. Pour en savoir plus, consultez Redémarrage automatique.
Compute Engine récupère automatiquement une instance défaillante dans les cas suivants :
- Un délai avant expiration ou une erreur de l'hôte causés par la non-réponse de la machine physique, l'arrêt, le redémarrage ou la panne de courant de l'hôte
- Événements de maintenance de l'hôte physique initiés par vous ou Google
- Défaillance de l'interconnexion entre puces (ICI) au sein d'un hôte
- Plantage de la VM
Compute Engine ne récupère pas automatiquement les instances en cas d'arrêt planifié, y compris dans les cas suivants :
- Suppression d'instance
- Suppression ou expiration de la réservation
- Préemption des VM Spot
Réparation initiée par le MIG dans les tranches à hôte unique
Dans un MIG avec des tranches à hôte unique, si une instance TPU d'une tranche à hôte unique passe à l'état TERMINATED en raison de défaillances matérielles ou d'événements externes tels que la préemption de VM Spot, le MIG répare l'instance par défaut.
Lors d'une réparation, le MIG recrée l'instance avec le même nom. Vous pouvez désactiver ce mécanisme de réparation si vous désactivez les réparations.
Vous pouvez également configurer une vérification de l'état basée sur l'application dans un MIG avec des tranches à hôte unique. Si la vérification de l'état détecte que votre application ne répond pas, le MIG marque l'instance comme non opérationnelle et l'autorépare en la recréant.
Pour en savoir plus, consultez À propos de la réparation des VM pour la haute disponibilité et Configurer une vérification de l'état et une autoréparation des applications.
Récupération automatique d'une tranche multihôte
Pour les TPU en mode géré utilisant les modèles de consommation à la demande, à démarrage flexible ou de réservation, Compute Engine récupère automatiquement les instances défaillantes dans une tranche multihôte.
Lors de la récupération, Compute Engine identifie un ensemble de machines TPU pouvant former la topologie réseau, redémarre toutes les instances de la tranche ensemble sur ces machines et reconfigure le réseau. Ce processus minimise les temps d'arrêt en recréant la topologie sur le matériel sain disponible, plutôt que d'attendre les réparations du matériel.
Processus de récupération et états des tranches
Lors de la récupération automatique, la tranche passe par les états suivants :
- La tranche passe à l'état
REACTIVATING. - Toutes les instances de la tranche passent à l'état
REPAIRING, mais pas nécessairement en même temps. - Compute Engine redémarre toutes les instances du groupe ensemble sur du matériel en bon état.
Pour en savoir plus sur les états des tranches de TPU, consultez États de la topologie des accélérateurs.
Scénarios nécessitant une récupération manuelle des tranches en mode de capacité gérée
Compute Engine ne peut pas récupérer automatiquement une tranche multihôte dans les scénarios suivants :
- Préemption des VM Spot : si une instance de la tranche est préemptée, Compute Engine met fin à toutes les instances de la tranche, et la tranche passe à l'état
FAILED. - Interruptions déclenchées par l'utilisateur : si vous arrêtez ou supprimez une instance de TPU, ou si vous arrêtez une instance depuis le système d'exploitation, la tranche passe à l'état
FAILED. La tranche reste à l'étatFAILEDjusqu'à ce que vous la recréiez.
Dans ce cas, vous devez récupérer manuellement la tranche.
Reprise après échec en mode Toute capacité
En mode "Toute la capacité", vous êtes responsable de la gestion du processus de récupération de la tranche TPU. Contrairement au mode de capacité gérée, Compute Engine ne relocalise pas automatiquement les instances TPU ou les tranches multi-hôtes défaillantes vers un nouveau matériel physique. Google répare le matériel défaillant sous-jacent sur l'hôte existant. Vous êtes responsable de la replanification des tranches non opérationnelles sur le matériel de secours opérationnel que vous avez mis de côté dans votre réservation.
Défaillance de l'hôte et réparation d'un hôte défectueux
En cas de défaillance d'un hôte ou si vous signalez un hôte de VM comme défectueux, le processus de réparation de l'hôte fonctionne comme suit :
- La VM concernée passe à l'état
REPAIRINGpendant la réparation du matériel physique. - Une fois le matériel sous-jacent réparé, la VM repasse à l'état
RUNNINGsur le même hôte. Toutefois, si la VM appartient à une tranche multi-hôte, la tranche reste à l'état "ÉCHEC". Vous devez récupérer manuellement la tranche.
Pour en savoir plus, consultez Signaler et réparer les hôtes TPU défectueux en mode "Toute capacité".
Maintenance corrective
Lors d'événements de maintenance urgents ou lorsque vous lancez manuellement un événement de maintenance :
- Les VM passent de l'état
RUNNINGà l'étatREPAIRING. - Une fois la maintenance terminée, les VM reviennent à l'état
RUNNINGsur le même hôte.
Pour en savoir plus, consultez Gérer les événements de maintenance en mode "Toute la capacité".
Scénarios de défaillance des tranches multi-hôtes
En mode "Toute la capacité", Compute Engine ne récupère pas automatiquement une tranche multihôte. Une tranche passe à l'état FAILED dans les scénarios suivants :
- Échec de l'ICI : les VM restent à l'état
RUNNING, mais l'état du slice passe à l'étatFAILED. - Préemption des VM Spot : si une instance de la tranche est préemptée, Compute Engine met fin à toutes les instances de la tranche, et la tranche passe à l'état
FAILED. - Interruptions déclenchées par l'utilisateur : si vous arrêtez ou supprimez une instance de TPU, ou si vous arrêtez une instance depuis le système d'exploitation, la tranche passe à l'état
FAILED.
Lorsqu'une tranche passe à l'état FAILED, vous devez récupérer manuellement la tranche en replanifiant toutes les instances de la tranche.
Récupérer manuellement une tranche TPU
Lorsqu'une tranche de TPU en mode "Capacité gérée" ou "Toute la capacité" est à l'état FAILED, vous devez la récupérer manuellement en replanifiant toutes les instances de la tranche à l'aide de l'une des méthodes suivantes :
- Redimensionnez le MIG à la taille cible
0, puis augmentez-le à la taille requise. - Supprimez le MIG et recréez le slice.
Étapes suivantes
Pour vérifier la récupération après échec des TPU, vérifiez les états suivants :