Surveiller des VM TPU
Ce guide explique comment utiliser Cloud Monitoring pour surveiller vos VM TPU. Cloud Monitoring collecte automatiquement des métriques et des journaux à partir de votre TPU et de sa VM hôte. Ces données peuvent ensuite être utilisées pour surveiller l'état de votre TPU et de Compute Engine.
Les métriques vous permettent de suivre une quantité numérique au fil du temps (par exemple, l'utilisation du processeur, l'utilisation du réseau ou la durée d'inactivité des TensorCores), tandis que les journaux capturent les événements à un moment précis. Les entrées de journal sont écrites par votre propre code, par les servicesGoogle Cloud , par les applications tierces et par l'infrastructureGoogle Cloud . Vous pouvez aussi générer des métriques à partir des données présentes dans une entrée de journal en créant une métrique basée sur les journaux. Vous pouvez également définir des règles d'alerte en fonction des valeurs de métriques ou des entrées de journal.
Pour surveiller les TPU, vous pouvez aussi utiliser le planificateur de capacité (preview). Le planificateur de capacité vous permet de visualiser les données d'utilisation des TPU et données de prévision pour votre projet, votre dossier ou votre organisation. Ces données, qui sont mises à jour toutes les 24 heures, vous aident à analyser les tendances d'utilisation et à planifier vos futurs besoins en capacité. Pour en savoir plus, consultez Présentation du planificateur de capacité.
Accéder aux métriques de TPU
Compute Engine génère deux types de métriques TPU : les métriques d'exécution TPU et les métriques d'infrastructure de VM TPU. Vous pouvez obtenir les métriques de deux manières :
Bibliothèque de surveillance des TPU : obtenez des métriques d'exécution des TPU à partir du SDK LibTPU à l'aide de la bibliothèque de surveillance des TPU. Cela permet à vos applications d'obtenir des données de télémétrie en temps réel à partir de l'environnement invité. Pour en savoir plus, consultez la bibliothèque de surveillance des TPU.
Collecteur de télémétrie de l'IA : obtenez des métriques d'exécution et d'infrastructure de VM grâce au collecteur de télémétrie de l'IA. Le collecteur de télémétrie d'IA s'exécute dans la VM TPU et vous permet d'accéder aux métriques via Cloud Monitoring ou votre propre pipeline de surveillance basé sur Prometheus. Pour en savoir plus, consultez Collecteur de télémétrie de l'IA.
Métriques de TPU
Les métriquesGoogle Cloud pour Cloud TPU sont générées automatiquement par les VM Compute Engine et l'environnement d'exécution de Cloud TPU. Les métriques du tableau suivant sont générées par les VM Compute Engine.
Les chaînes "Type de métrique" de ce tableau doivent être précédées du préfixe compute.googleapis.com/. Ce préfixe a été omis dans les entrées du tableau. Lorsque vous interrogez une étiquette, utilisez le préfixe metric.labels (par exemple, metric.labels.LABEL="VALUE").
| Type de métrique Étape de lancement (Niveaux de la hiérarchie des ressources) Nom à afficher |
|
|---|---|
| Genre, type, unité Ressources surveillées |
Description Libellés |
instance/tpu/accelerator/duty_cycle
BÊTA
(projet)
Cycle d'utilisation de l'accélérateur |
|
GAUGE, DOUBLE, %
gce_instance |
Pourcentage de temps au cours de la période d'échantillonnage pendant lequel l'accélérateur effectuait activement un traitement. Les valeurs sont comprises entre 0 et 100.
accelerator_id : ID de l'accélérateur.
|
instance/tpu/accelerator/memory_bandwidth_utilization
BÊTA
(projet)
Utilisation de la bande passante de mémoire de l'accélérateur |
|
GAUGE, DOUBLE, %
gce_instance |
Pourcentage actuel de la bande passante de mémoire utilisée par l'accélérateur. Calculé en divisant la bande passante mémoire utilisée sur une période d'échantillonnage par la bande passante maximale acceptée sur la même période d'échantillonnage.
accelerator_id : ID de l'accélérateur.
|
instance/tpu/accelerator/memory_total
BÊTA
(projet)
Mémoire totale de l'accélérateur |
|
GAUGE, INT64, By
gce_instance |
Mémoire totale de l'accélérateur actuellement allouée, en octets.
accelerator_id : ID de l'accélérateur.
|
instance/tpu/accelerator/memory_used
BÊTA
(projet)
Mémoire de l'accélérateur utilisée |
|
GAUGE, INT64, By
gce_instance |
Mémoire totale de l'accélérateur actuellement utilisée, en octets.
accelerator_id : ID de l'accélérateur.
|
instance/tpu/accelerator/tensorcore_utilization
BÊTA
(projet)
Utilisation des cœurs Tensor de l'accélérateur |
|
GAUGE, DOUBLE, %
gce_instance |
Pourcentage actuel du Tensorcore utilisé. Ce nombre est calculé en divisant les opérations Tensorcore effectuées sur une période d'échantillonnage par le nombre d'opérations Tensorcore réalisable sur la même période d'échantillonnage.
accelerator_id : ID de l'accélérateur.
|
instance/tpu/active_chips
GA
(projet)
Nombre de puces TPU actives |
|
GAUGE, INT64, 1
gce_instance |
Nombre actuel de puces utilisées activement (c'est-à-dire non inactives).
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de la machine physique.
provisioning_model :
Modèle de provisionnement associé.
protection_tier : modèle de protection associé.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
is_exr:
(BOOL)
Indique si le chip fait partie d'une réservation étendue.
|
instance/tpu/chip_state
BÊTA
(projet)
Nombre d'états des puces TPU |
|
GAUGE, INT64, 1
gce_instance |
Nombre de puces TPU dans différents états (opérationnel, non opérationnel, inconnu, etc.).
state:
État du chip.
accelerator_type : type et génération de l'accélérateur.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
reservation_id : ID de la réservation de la machine physique.
is_exr:
(BOOL)
Indique si le chip fait partie d'une réservation étendue.
|
instance/tpu/infra_health
BÊTA
(projet)
État de l'instance de TPU |
|
GAUGE, INT64, 1
gce_instance |
Indique l'état général d'une instance TPU. Les libellés de métriques permettent d'identifier l'état de santé spécifique et les raisons des problèmes sur les instances TPU dégradées ou non opérationnelles. Ils se concentrent principalement sur l'état du matériel et du système TPU. Il peut s'écouler plusieurs minutes avant que les changements d'état de santé ne soient reflétés dans cette métrique. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 420 secondes.
health_status : état général de l'instance TPU. Valeurs possibles : HEALTHY (fonctionnement normal), UNHEALTHY (problème critique détecté), DEGRADED (problème ayant un impact sur les performances), UNKNOWN (état impossible à déterminer).
unhealthy_category :
Explication de l'état non sain de la VM. Ce libellé n'est renseigné que lorsque la valeur de la métrique est "Non sain".
machine_type : type de machine de l'instance (par exemple, ct6e-standard-4t-tpu).
machine_id : ID de la machine physique hébergeant la VM.
block_id : ID du bloc dans le cluster hébergeant la VM.
cluster_id : ID du cluster hébergeant la VM.
reservation_id : ID de la réservation de la machine physique.
subblock_id : ID du sous-bloc hébergeant la VM.
|
instance/tpu/runtime/uptime
BÊTA
(projet)
Temps d'activité de l'environnement d'exécution |
|
GAUGE, INT64, s
gce_instance |
Temps d'activité du ML Runtime depuis l'initialisation de la bibliothèque d'exécution (libtpu.so) par le job de ML. Pendant cette période, la bibliothèque d'exécution bloque les appareils TPU pour qu'ils soient utilisés par le job de ML.
ml_framework_name:
Nom du framework de ML.
ml_framework_version :
Version du framework de ML.
|
instance/tpu/scheduled_chips
GA
(projet)
Nombre de puces TPU planifiées |
|
GAUGE, INT64, 1
gce_instance |
Nombre actuel de puces allouées à une VM dont l'état est "SAIN" et qui n'est PAS DÉSACTIVÉE pour maintenance.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de la machine physique.
provisioning_model :
Modèle de provisionnement associé.
protection_tier : modèle de protection associé.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
is_exr:
(BOOL)
Indique si le chip fait partie d'une réservation étendue.
|
instance/tpu/utilized_chips
BÊTA
(projet)
Puces TPU utilisées |
|
GAUGE, DOUBLE, 1
gce_instance |
Capacité utilisée globale actuelle exprimée sous forme de nombre effectif de puces actives. Elle équivaut à la somme de l'utilisation fractionnaire (de 0,0 à 1,0) de tous les chips actifs.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de la machine physique.
provisioning_model :
Modèle de provisionnement associé.
protection_tier : modèle de protection associé.
block_id : ID du bloc dans le cluster hébergeant la VM.
subblock_id : ID du sous-bloc hébergeant la VM.
is_exr:
(BOOL)
Indique si le chip fait partie d'une réservation étendue.
|
quota/tpus_per_tpu_family/exceeded
ALPHA
(projet)
Erreur de dépassement de quota pour le nombre de TPU par famille de TPU |
|
DELTA, INT64, 1
compute.googleapis.com/Location |
Nombre de tentatives pour dépasser la limite de la métrique de quota compute.googleapis.com/tpus_per_tpu_family. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 150 secondes.
limit_name:
Nom de la limite.
tpu_family : dimension personnalisée de la famille de TPU.
|
quota/tpus_per_tpu_family/limit
ALPHA
(projet)
Nombre de TPU par famille de TPU. Limite de quota |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Limite actuelle de la métrique de quota compute.googleapis.com/tpus_per_tpu_family. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 150 secondes.
limit_name:
Nom de la limite.
tpu_family : dimension personnalisée de la famille de TPU.
|
quota/tpus_per_tpu_family/usage
ALPHA
(projet)
Nombre de TPU par famille de TPU. Utilisation du quota |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Utilisation actuelle de la métrique de quota compute.googleapis.com/tpus_per_tpu_family. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 150 secondes.
limit_name:
Nom de la limite.
tpu_family : dimension personnalisée de la famille de TPU.
|
tpu/multislice/accelerator/device_to_host_transfer_latencies
BÊTA
(projet)
Latences de transfert de l'appareil à l'hôte |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulée de la latence de transfert d'appareil à hôte pour chaque fragment de données. La latence commence lorsque la demande de transfert de données vers l'hôte est émise et se termine lorsqu'un accusé de réception est reçu indiquant que le transfert de données est terminé.
buffer_size :
Taille de la mémoire tampon.
|
tpu/multislice/accelerator/host_to_device_transfer_latencies
BÊTA
(projet)
Latences de transfert de l'hôte vers l'appareil |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative de la latence de transfert hôte à appareil pour chaque fragment de données du trafic multislice. Une latence commence lorsque la demande de transfert de données vers l'appareil est émise et se termine lorsqu'un accusé de réception est reçu indiquant que le transfert de données est terminé.
buffer_size :
Taille de la mémoire tampon.
|
tpu/multislice/network/collective_end_to_end_latencies
BÊTA
(projet)
Latences de bout en bout collectives |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative de la latence collective de bout en bout pour le trafic multitranche. Une latence commence lorsque la demande de collectif est émise et se termine lorsqu'un accusé de réception est reçu indiquant que le transfert de données est terminé.
input_size :
Taille d'entrée de l'opération collective.
collective_type : type de l'opération collective.
|
tpu/multislice/network/dcn_transfer_latencies
BÊTA
(projet)
Latences de transfert DCN |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative des latences de transfert réseau pour le trafic multislice. La latence commence lorsque la demande de transfert de données sur le DCN est émise et se termine lorsqu'un accusé de réception est reçu indiquant que le transfert de données est terminé.
buffer_size :
Taille de la mémoire tampon.
type :
Type.
|
tpu/multislice/network/grpc_client_call_latencies
BÊTA
(projet)
Latences des appels du client gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative des latences de transfert réseau pour que la bibliothèque gRPC puisse effectuer un RPC du point de vue de l'appelant.
buffer_size :
Taille de la mémoire tampon.
|
tpu/multislice/network/grpc_server_call_latencies
BÊTA
(projet)
Latences des appels de serveur gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative des latences de transfert réseau pour que le serveur gRPC termine un RPC du point de vue du transport.
buffer_size :
Taille de la mémoire tampon.
|
tpu/multislice/network/grpc_tcp_delivery_rates
BÊTA
(projet)
Taux de distribution TCP gRPC |
|
CUMULATIVE, DISTRIBUTION, Mb/s
gce_instance |
Distribution cumulative des débits de transfert de données des connexions TCP. Chaque échantillon correspond au dernier débit de transfert de données moyen pour une connexion TCP donnée au cours du dernier intervalle TCP ACK. Les exemples de débits de transfert de données sont extraits du noyau TCP Linux toutes les 20 secondes. Par conséquent, chaque connexion TCP crée environ trois échantillons par intervalle de 60 secondes. |
tpu/multislice/network/grpc_tcp_min_round_trip_times
BÊTA
(projet)
Temps d'aller-retour minimaux TCP gRPC |
|
CUMULATIVE, DISTRIBUTION, us
gce_instance |
Distribution cumulative des latences de transfert réseau minimales par connexion TCP. |
tpu/multislice/network/grpc_tcp_packets_retransmitted_count
BÊTA
(projet)
Nombre de paquets TCP gRPC retransmis |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets retransmis. |
tpu/multislice/network/grpc_tcp_packets_sent_count
BÊTA
(projet)
Nombre de paquets TCP gRPC envoyés |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets envoyés par TCP. |
tpu/slice/capacity/available_chips
GA
(projet)
Nombre de puces TPU disponibles |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
Nombre actuel de puces TPU de la réservation étendue qui sont activement disponibles et prêtes à l'emploi. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 360 secondes.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de la machine physique.
block_id : ID du bloc associé à la tranche.
subblock_id : ID du sous-bloc associé à la tranche.
provisioning_model :
Modèle de provisionnement associé.
protection_tier : modèle de protection associé.
|
tpu/slice/capacity/committed_chips
GA
(projet)
Nombre de puces TPU achetées |
|
GAUGE, INT64, 1
compute.googleapis.com/AcceleratorSlice |
Nombre actuel de puces TPU achetées pour la réservation étendue. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 360 secondes.
accelerator_type : type et génération de l'accélérateur.
reservation_id : ID de la réservation de la machine physique.
block_id : ID du bloc associé à la tranche.
subblock_id : ID du sous-bloc associé à la tranche.
provisioning_model :
Modèle de provisionnement associé.
protection_tier : modèle de protection associé.
|
instance/tpu/accelerator/core_temperature
BÊTA
(projet)
Température corporelle |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température du cœur du TPU.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/core_throttling_indicator
BÊTA
(projet)
Indicateur de limitation du cœur |
|
GAUGE, DOUBLE, 1
gce_instance |
Nombre de cycles d'horloge ignorés par seconde par rapport au nombre total de cycles d'horloge par cœur de TPU.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/hbm_power_draw
BÊTA
(projet)
Consommation électrique HBM |
|
GAUGE, DOUBLE, W
gce_instance |
Somme de la puissance sur le module HBM en watts (W).
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/hbm_temperature
BÊTA
(projet)
Température HBM |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température de la mémoire à haut débit (HBM) du TPU.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
hbm_id :
Identifiant du module de mémoire à haut débit (HBM). Ne comporte généralement que la valeur la plus élevée, par exemple : hbm_0.
|
instance/tpu/accelerator/hbm_uncorrectable_count
BÊTA
(projet)
Nombre d'erreurs HBM non corrigibles |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre d'erreurs non corrigibles au niveau de la HBM (fatales).
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/mxu_temperature
BÊTA
(projet)
Température MXU |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température de l'unité de multiplication matricielle (MXU) du TPU.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
die_id :
Index de l'emplacement de l'accélérateur. Ne comporte généralement que la valeur supérieure, par exemple : die_0.
|
instance/tpu/accelerator/network/ici_link_flaps
BÊTA
(projet)
Oscillations de lien ICI |
|
GAUGE, INT64, 1
gce_instance |
Fréquence des changements d'état (de "up" à "down" et inversement) sur un lien ICI.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/network/ici_link_health
BÊTA
(projet)
État du lien ICI |
|
GAUGE, INT64, 1
gce_instance |
Indicateur numérique (de 0 à 10) représentant l'état du lien ICI. Plus les valeurs sont élevées, plus l'instabilité de la liaison est importante (de légères fluctuations temporaires : 1 à 5 ; à une dégradation persistante des performances : 6 à 9). Une valeur de 10 représente une défaillance fatale de la liaison qui évince automatiquement les charges de travail actives.
port_id :
ID du port.
|
instance/tpu/accelerator/network/ici_packets_received_count
BÊTA
(projet)
Nombre de paquets ICI reçus |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets reçus par l'accélérateur TPU via ses liens d'interconnexion entre puces (ICI).
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/network/ici_packets_sent_count
BÊTA
(projet)
Nombre de paquets ICI envoyés |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets transmis par l'accélérateur TPU via ses liens d'interconnexion entre puces (ICI).
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/pcie_fatal_error_count
BÊTA
(projet)
Nombre d'erreurs fatales PCIe |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre d'erreurs PCIe fatales survenues au niveau de l'interface PCIe.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/pcie_nonfatal_error_count
BÊTA
(projet)
Nombre d'erreurs PCIe non fatales |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre d'erreurs PCIe non fatales se produisant au niveau de l'interface PCIe.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/power_draw
BÊTA
(projet)
Consommation électrique |
|
GAUGE, DOUBLE, W
gce_instance |
Puissance absorbée par l'accélérateur, mesurée en watts (W).
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/tray_power
BÊTA
(projet)
Alimentation du plateau |
|
GAUGE, DOUBLE, W
gce_instance |
Puissance totale consommée au niveau du plateau de TPU.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/accelerator/tray_temperature
BÊTA
(projet)
Température du bac |
|
GAUGE, DOUBLE, Cel
gce_instance |
Température du plateau du TPU.
accelerator_id :
ID de l'accélérateur. Les valeurs acceptables sont 0, 1, 2 et 3.
|
instance/tpu/failure_prediction_status
BÊTA
(projet)
État de dégradation des TPU |
|
GAUGE, INT64, 1
gce_instance |
Cette métrique indique la probabilité qu'une machine TPU passe à un état dégradé dans les cinq prochaines heures, comme le prédit notre algorithme propriétaire. Les libellés de valeur pour cette métrique sont NO_DEGRADATION_PREDICTED, DEGRADATION_PREDICTED et POSSIBLE_DEGRADATION_PREDICTED. Échantillonné toutes les 60 secondes. Après échantillonnage, les données ne sont pas visibles pendant un délai pouvant atteindre 540 secondes.
cluster_id : ID de cluster obscurci du cluster hébergeant la VM.
block_id : ID de bloc obscurci dans le cluster hébergeant la VM.
subblock_id :
ID de sous-bloc obscurci hébergeant la VM.
machine_id :
Nom de la machine obscurci hébergeant la VM.
reservation_id : ID de la réservation.
Value : état d'une machine TPU qui devrait passer à un état dégradé dans les cinq prochaines heures, selon notre algorithme propriétaire. Les valeurs possibles sont "NO_DEGRADATION_PREDICTED", "DEGRADATION_PREDICTED" et "POSSIBLE_DEGRADATION_PREDICTED".
|
tpu/capacity/available_chips
BÊTA
(projet)
Nombre de puces TPU disponibles |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Nombre actuel de puces TPU disponibles et prêtes à l'emploi.
accelerator_type :
Type et génération de l'accélérateur.
reservation_id : ID de la réservation de la machine physique.
provisioning_model :
Modèle de provisionnement associé.
protection_tier : modèle de protection associé.
is_exr :
Indique si la puce TPU fait partie d'une réservation étendue.
|
tpu/capacity/committed_chips
BÊTA
(projet)
Nombre de puces TPU achetées |
|
GAUGE, INT64, 1
compute.googleapis.com/Location |
Nombre actuel de puces TPU achetées.
accelerator_type :
Type et génération de l'accélérateur.
reservation_id : ID de la réservation de la machine physique.
provisioning_model :
Modèle de provisionnement associé.
protection_tier : modèle de protection associé.
is_exr :
Indique si la puce TPU fait partie d'une réservation étendue.
|
tpu/network/nic_packets_dropped_count_rx
BÊTA
(projet)
Nombre de paquets NIC supprimés (réception) |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets entrants ou sortants supprimés par la carte d'interface réseau de l'hôte, pour RX.
nic_id:
ID de l'interface réseau.
|
tpu/network/nic_packets_dropped_count_tx
BÊTA
(projet)
Nombre de paquets NIC supprimés (Tx) |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets entrants ou sortants supprimés par la carte d'interface réseau de l'hôte, pour TX.
nic_id:
ID de l'interface réseau.
|
tpu/network/nic_packets_received_count
BÊTA
(projet)
Nombre de paquets reçus par la carte réseau |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets reçus par la carte d'interface réseau.
nic_id:
ID de l'interface réseau.
|
tpu/network/nic_packets_sent_count
BÊTA
(projet)
Nombre de paquets envoyés par la carte réseau |
|
CUMULATIVE, INT64, 1
gce_instance |
Nombre total de paquets envoyés par la carte d'interface réseau.
nic_id:
ID de l'interface réseau.
|
Pour obtenir la liste complète des métriques générées par Compute Engine, consultez Métriques Compute Engine.
Collecteur de télémétrie de l'IA
Le collecteur de télémétrie d'IA collecte et publie les métriques TPU sous l'espace de noms compute.googleapis.com pour les TPU créés à l'aide de l'API Compute Engine.
Ces métriques sont des métriques système intégrées qui offrent une visibilité sur l'état et les performances.
L'architecture du collecteur de télémétrie d'IA est conçue comme un collecteur OpenTelemetry (OTEL) léger et spécialisé. Il utilise deux récepteurs principaux pour capturer les données :
- Récepteur de l'environnement d'exécution TPU : récupère les métriques d'exécution et de charge de travail (telles que le rapport cyclique et l'utilisation de la mémoire) directement à partir de l'environnement d'exécution TPU lorsqu'une charge de travail de machine learning est active.
- Récepteur hôte TPU : capture les métriques d'utilisation du matériel, telles que l'utilisation des TensorCores et de la bande passante mémoire, directement à partir de l'appareil, qu'une charge de travail soit en cours d'exécution ou non.
Le collecteur de télémétrie d'IA utilise ensuite des processeurs pour appliquer automatiquement les tags de ressources nécessaires (tels que project_id, instance_id et zone) et exporter la télémétrie de manière sécurisée directement vers Cloud Monitoring.
Le collecteur de télémétrie d'IA est préinstallé dans les images Ubuntu LTS optimisées pour les TPU de Google et s'exécute automatiquement au démarrage de la VM. Pour utiliser cette configuration, spécifiez le projet et la famille d'images d'accélérateur Google officiels lorsque vous créez une instance de VM TPU ou un modèle d'instance. Une fois la VM démarrée, le collecteur de télémétrie d'IA envoie automatiquement les métriques aux tableaux de bord Cloud Monitoring.
Si vous créez des images de système d'exploitation personnalisées, vous pouvez utiliser le collecteur de télémétrie de l'IA après avoir installé et exécuté l'image Docker ai-telemetry-collector. Pour en savoir plus, consultez Utiliser une image d'OS personnalisée.
Configuration
Le collecteur de télémétrie de l'IA envoie automatiquement des métriques aux tableaux de bord Cloud Monitoring et ne nécessite aucune étape de configuration supplémentaire. Toutefois, vous pouvez configurer le package Snap ou l'image Docker pour ajouter des destinations d'exportation externes, modifier les intervalles de collecte des métriques et inclure des options de débogage.
Vous pouvez remplacer la configuration par défaut par un nouveau fichier de configuration ou ajouter un fichier de configuration supplémentaire à la configuration par défaut existante. Lorsque vous ajoutez des configurations, les clés qui n'existent pas encore sont ajoutées et celles qui existent déjà sont écrasées. Toutefois, les tableaux et les listes ne sont pas additifs. Par conséquent, les nouvelles listes doivent inclure à la fois les valeurs existantes et les nouvelles.
Le fichier YAML suivant configure le collecteur de télémétrie d'IA pour envoyer des métriques à Prometheus, une boîte à outils Open Source de surveillance et d'alerte pour les systèmes. Il active également l'option de débogage, qui affiche les métriques d'impression dans la console.
exporters:
prometheus:
endpoint: 0.0.0.0:8889
service:
pipelines:
metrics:
exporters:
- prometheus # For more: https://prometheus.io/docs/introduction/overview/
- googlecloud # If you do not include this, you'll lose Google Cloud Monitoring
- debug # print metrics within the console
OS par défaut
Si vous utilisez les images Ubuntu LTS optimisées pour les TPU de Google, exécutez la commande Snap suivante pour ajouter le nouveau fichier de configuration à la configuration existante :
sudo snap set \
ai-telemetry-collector \
extra-flags="--config /home/username/additional-config.yaml"
Si vous souhaitez remplacer la configuration existante, utilisez le flag config-path au lieu de extra-flags :
sudo snap set \
ai-telemetry-collector \
config-path="/home/username/new-config.yaml"
La commande snap set doit déclencher un redémarrage automatique du collecteur de télémétrie de l'IA. Pour vérifier que le collecteur a redémarré et que vos configurations ont bien été appliquées, utilisez la commande suivante pour afficher les journaux :
sudo snap logs -f ai-telemetry-collector
OS personnalisé
Si vous utilisez un OS personnalisé, exécutez la commande Docker suivante pour ajouter le nouveau fichier de configuration à la configuration existante :
# First apply the default configs via `--config=/etc/ai-telemetry-collector/config.yaml`
# Then apply your additional config by volume mount.
docker run --privileged --net=host \
-v <path>/additional-config.yaml:/etc/ai-telemetry-collector/additional-config.yaml \
ai-telemetry-collector:latest \
--config=/etc/ai-telemetry-collector/config.yaml \
--config=/etc/ai-telemetry-collector/additional-config.yaml
Si vous souhaitez écraser et remplacer la configuration existante, utilisez la commande Docker suivante :
# Mount a volume (your config file) to `/etc/ai-telemetry-collector/config.yaml`
# The binary automatically picks up this file.
docker run --privileged --net=host \
-v <path>/my-config.yaml:/etc/ai-telemetry-collector/config.yaml \
ai-telemetry-collector:latest
Journaux d'audit
Les servicesGoogle Cloud génèrent des journaux d'audit qui enregistrent les activités d'administration et d'accès dans vos ressources Google Cloud . Pour en savoir plus, consultez la section Journaux d'audit Compute Engine.