Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Monitoraggio dei nodi di Cloud TPU

Questa guida spiega come utilizzare Google Cloud Monitoring per monitorare i nodi Cloud TPU. Google Cloud Monitoring raccoglie automaticamente metriche e log da Cloud TPU e dal suo host Compute Engine. Questi dati possono essere utilizzati per monitorare l'integrità di Cloud TPU e Compute Engine.

Le metriche consentono di monitorare una quantità numerica nel tempo, ad esempio l'utilizzo della CPU, l'utilizzo della rete o l'utilizzo MXU. I log acquisiscono gli eventi in un momento specifico. Le voci di log vengono scritte dal tuo codice, dai servizi Google Cloud, dalle applicazioni di terze parti e dall'infrastruttura Google Cloud. Puoi anche generare metriche dai dati presenti in una voce di log creando una metrica basata su log. Puoi anche impostare i criteri di avviso in base ai valori delle metriche o alle voci di log.

Questa guida illustra Google Cloud Monitoring e spiega come:

  • Visualizza metriche di Cloud TPU
  • Configura i criteri di avviso per le metriche di Cloud TPU
  • Esegui query sui log di Cloud TPU
  • Crea metriche basate su log per la configurazione degli avvisi e la visualizzazione delle dashboard.

Prerequisiti

Questo documento presuppone alcune conoscenze di base di Google Cloud Monitoring. Devi aver creato una VM di Compute Engine e delle risorse Cloud TPU prima di iniziare a generare e utilizzare Google Cloud Monitoring. Per ulteriori dettagli, consulta la guida rapida di Cloud TPU.

Metriche

Le metriche di Google Cloud vengono generate automaticamente dalle VM di Compute Engine e dal runtime di Cloud Cloud TPU. Le seguenti metriche vengono generate dai nodi di Cloud TPU:

  • cpu/utilization
  • memory/usage
  • network/received_bytes_count
  • network/sent_bytes_count
  • tpu/mxu/utilization
  • tpu/tensorcore/idle_duration

Utilizzo CPU

La metrica cpu/utilization monitora l'utilizzo attuale della CPU sul worker di Cloud TPU, rappresentato come una percentuale. I valori sono generalmente compresi tra 0,0 e 100,0, ma potrebbero superare 100,0. Campionamento eseguito ogni 60 secondi. Potrebbero trascorrere fino a 180 secondi tra il momento in cui viene generato un valore e il momento in cui viene visualizzato.

Utilizzo memoria

La metrica memory/usage monitora la memoria attualmente utilizzata dalla VM Cloud TPU in byte. Questa metrica viene campionata ogni 60 secondi. Potrebbero trascorrere fino a 180 secondi tra il momento in cui viene generato un valore e il momento in cui viene visualizzato.

Numero di byte ricevuti dalla rete

La metrica network/received_bytes_count monitora il numero di byte cumulativi di dati ricevuti dalla VM Cloud TPU in un dato momento nella rete. Potrebbero trascorrere fino a 180 secondi tra il momento in cui viene generato un valore e il momento in cui viene visualizzato.

Conteggio byte inviati dalla rete

La metrica network/sent_bytes_count monitora il numero di byte cumulativi che la VM Cloud TPU ha inviato sulla rete in un determinato momento. Potrebbero trascorrere fino a 180 secondi tra il momento in cui viene generato un valore e il momento in cui viene visualizzato.

Durata inattività TensorCore

La metrica tpu/tensorcore/idle_duration monitora il numero di secondi di inattività di TensorCore di ciascun chip TPU. Questa metrica è disponibile per ogni chip su tutte le TPU in uso. Se è in uso un TensorCore, il valore di durata inattività viene reimpostato su zero. Quando TensorCore non è più in uso, il valore della durata di inattività inizia ad aumentare.

Il seguente grafico mostra la metrica tpu/tensorcore/idle_duration per una VM Cloud TPU v2-8 con un solo worker. Ogni worker ha quattro chip. In questo esempio, tutti e quattro i chip hanno gli stessi valori per tpu/tensorcore/idle_duration, quindi i grafici si sovrappongono a vicenda.

immagine

Utilizzo MXU

La metrica tpu/mxu/utilization monitora l'attuale utilizzo di MXU sul worker TPU, espresso in percentuale. I valori sono in genere numeri compresi tra 0,0 e 100,0. Campionamento eseguito ogni 60 secondi. Dopo il campionamento, i dati non sono visibili per un massimo di 180 secondi.

Per un elenco completo delle metriche generate da Cloud TPU, consulta le metriche di Cloud TPU.

Visualizzazione delle metriche

Puoi visualizzare le metriche utilizzando Metrics Explorer nella console Google Cloud.

In Metrics Explorer, fai clic su SELEZIONA UNA METRICA e cerca Cloud TPU Worker. Se l'opzione Mostra solo risorse e metriche attive è attiva, verranno visualizzate solo le metriche attualmente generate. Fai clic su Worker Cloud TPU per visualizzare le metriche disponibili.

Per accedere alle metriche puoi anche utilizzare le chiamate HTTP di curl:

Utilizza il pulsante Prova nella documentazione relativa ai progetti.timeSeries.query per recuperare il valore di una metrica entro il periodo di tempo specificato.

  1. Inserisci il nome nel seguente formato: projects/{project-name}
  2. Aggiungi una query alla sezione Richiesta. Di seguito è riportato un esempio di query per recuperare la metrica di durata inattiva per la zona specificata negli ultimi 5 minutifetch tpu_worker | filter zone = 'us-central2-b' | metric tpu.googleapis.com/tpu/tensorcore/idle_duration | within 5m"
  3. Fai clic su Esegui per recuperare i risultati del messaggio HTTP POST.

Il documento di monitoraggio del linguaggio di query in Monitoring contiene ulteriori informazioni su come personalizzare questa query.

Puoi creare criteri di avviso che indicano a Google Cloud Monitoring di inviare un avviso quando una condizione è soddisfatta.

Creazione di avvisi

I passaggi di questa sezione mostrano un esempio di come aggiungere un criterio di avviso per la metrica Durata di inattività di TensorCore. Ogni volta che questa metrica supera le 24 ore, Cloud Monitoring invia un'email all'indirizzo registrato.

  1. Vai alla console di Monitoring
  2. Nel riquadro di navigazione, fai clic su Avvisi.
  3. Fai clic su MODIFICA CANALI DI NOTIFICA.
  4. In Email, fai clic su AGGIUNGI NUOVO.
  5. Digita un indirizzo email e un nome visualizzato, quindi fai clic su SALVA
  6. Fai clic su CREA CRITERIO
  7. Fai clic su SELEZIONA UNA METRICA, seleziona Tensorcore Idle Duration e fai clic su APPLICA
  8. Fai clic su AVANTI e poi su Soglia.
  9. Per Attivazione avviso, seleziona Qualsiasi serie temporale viola
  10. In Posizione soglia, seleziona Sopra la soglia
  11. In Valore soglia, digita 86400000.
  12. Fai clic su AVANTI.
  13. In Canali di notifica seleziona il tuo canale di notifica email e fai clic su OK.
  14. Inserisci un nome per il criterio di avviso
  15. Fai clic su AVANTI e poi su CREA CRITERIO

Quando il valore di inattività di TensorCore supera le 24 ore, viene inviata un'email all'indirizzo specificato.

Logging

Le voci di log vengono scritte da servizi Google Cloud, servizi di terze parti, framework di ML o codice. Puoi visualizzare i log utilizzando il visualizzatore log o l'API Logs. Per saperne di più sul logging di Google Cloud, consulta Google Cloud Logging.

In Esplora log puoi selezionare un tipo di risorsa:

  • Cloud TPU Worker -> Zona -> ID nodo
  • Risorsa controllata -> Cloud TPU -> API (google.cloud.tpu.v1.Tpu.CreateNode, google.cloud.tpu.v1.Tpu.DeleteNode, google.cloud.tpu.v1.Tpu.UpdateNode)

I log worker Cloud TPU contengono informazioni su un worker Cloud TPU specifico in una zona specifica, ad esempio la quantità di memoria disponibile sul worker Cloud TPU (system_available_memory_GiB).

I log di risorse controllate contengono informazioni su quando è stata chiamata una specifica API Cloud TPU e su chi ha effettuato la chiamata. Ad esempio CreateNode, UpdateNode e DeleteNode.

I framework ML possono generare log in stdout e stderr. Questi log vengono controllati dalle variabili di ambiente e vengono letti dallo script di addestramento.

Il tuo codice può scrivere log in Google Cloud Logging. Per ulteriori informazioni, consulta Scrivere log standard e Scrivere log strutturati.

Visualizzazione dei log di Cloud TPU

  1. Vai al visualizzatore log di Google Cloud
  2. Fai clic sul menu a discesa Risorsa
  3. Fai clic su Cloud TPU Worker (Lavoratore TPU Cloud)
  4. Seleziona una zona
  5. Seleziona la Cloud TPU che ti interessa
  6. Fai clic su Applica. I log vengono visualizzati nei risultati della query

Per visualizzare i log delle risorse controllate:

  1. Vai al visualizzatore log di Google Cloud
  2. Fai clic sul menu a discesa Risorsa
  3. Fai clic su Risorsa controllata, quindi su Cloud TPU.
  4. Scegli l'API Cloud TPU che ti interessa
  5. Fai clic su Applica. I log vengono visualizzati nei risultati della query
  6. Scegli le API che iniziano con google.cloud.tpu.v1.Tpu

Esegui query sui log di Google Cloud

Quando visualizzi i log nella console Google Cloud, la pagina esegue una query predefinita. Puoi visualizzare la query selezionando l'opzione Show query. Puoi modificare la query predefinita o crearne una nuova. Per saperne di più, consulta Creare query in Esplora log.

Informazioni sull'output dei log per i log delle risorse controllate

Fai clic su una voce di log per espanderla e troverai un campo denominato protoPayload. Espandi protoPayload per visualizzare una serie di sottocampi:

  • logName: il nome del log
  • protoPayload -> @type: il tipo di log
  • resourceName: il nome della tua Cloud TPU
  • methodName: il nome del metodo chiamato (solo log di controllo)
  • request -> @type: il tipo di richiesta
  • request -> node: dettagli sul nodo Cloud TPU
  • request -> node_id: il nome della TPU
  • gravità: la gravità del log

Informazioni sull'output dei log per i log dei worker di Cloud TPU

Fai clic su una voce di log per espanderla e troverai un campo denominato jsonPayload. Espandi jsonPayload per visualizzare una serie di sottocampi:

  • accelerator_type: il tipo di acceleratore
  • consumer_project: il progetto in cui si trova Cloud TPU
  • evententry_timestamp: l'ora in cui è stato generato il log.
  • system_available_memory_GiB: la memoria disponibile sul worker di Cloud TPU (0~350 GB)

Creazione di metriche basate su log

Questa sezione descrive come creare metriche basate su log utilizzate per configurare dashboard e avvisi di monitoraggio. Per informazioni sulla creazione programmatica di metriche basate su log, consulta Creazione di metriche basate su log in modo programmatico utilizzando l'API REST di Cloud Logging.

L'esempio seguente utilizza il sottocampo system_available_memory_GiB per mostrare come creare una metrica basata su log per il monitoraggio della memoria disponibile del worker Cloud TPU.

  1. Vai a Esplora log
  2. Nella casella della query, inserisci la query seguente per estrarre tutte le voci di log con system_available_memory_GiB definite per il worker Cloud TPU principale:

    resource.type=tpu_worker
    resource.labels.project_id=your-project
    resource.labels.zone=your-tpu-zone
    resource.labels.node_id=your-tpu-name
    resource.labels.worker_id=0
    logName=projects/your-project/logs/tpu.googleapis.com%2Fruntime_monitor
    jsonPayload.system_available_memory_GiB:*
    
  3. Fai clic su Crea metrica per visualizzare l'editor delle metriche

  4. In Tipo di metrica, scegli Distribuzione

  5. Inserisci un nome, una descrizione facoltativa e l'unità di misura per la metrica. inserisci "matrix_unit_utilization_percent" e "utilizzo MXU" nei campi Nome e Descrizione, rispettivamente

  6. Il filtro viene precompilato con lo script inserito in Esplora log

  7. Fai clic su CREA METRICA.

  8. Fai clic su Esplora metriche per visualizzare la nuova metrica. La visualizzazione delle metriche potrebbe richiedere alcuni minuti

Creazione di metriche basate su log in modo programmatico utilizzando l'API REST di Cloud Logging

Puoi anche creare metriche basate su log tramite l'API Cloud Logging. Per saperne di più, consulta Creazione di una metrica di distribuzione.

Creazione di dashboard e avvisi utilizzando metriche basate su log

Le dashboard sono utili per visualizzare le metriche (previsto circa 2 minuti); gli avvisi sono utili per inviare notifiche quando si verificano errori. Per ulteriori informazioni, consulta Gestire le dashboard personalizzate e Creare criteri di avviso basati su metriche.

Creazione di dashboard

Per creare una dashboard in Cloud Monitoring per la metrica Durata inattività di Tensorcore:

  1. Vai alla console di Monitoring
  2. Nel pannello di navigazione, fai clic su Dashboard.
  3. Fai clic su CREA DASHBOARD, quindi su Aggiungi grafico.
  4. Scegli il grafico che vuoi aggiungere. Per questo esempio, scegli Linea
  5. Digita un titolo per la dashboard
  6. Fai clic sul pulsante sotto Risorsa e metrica
  7. Scorri l'elenco di risorse/metriche e seleziona Worker Cloud TPU -> Tpu -> Durata inattività Tensorcore
  8. Fai clic su Applica.
  9. Per filtrare i contenuti della dashboard, fai clic su CREA FILTRI DELLA DASHBOARD.
  10. Nel campo Etichetta, imposta project_id sul tuo progetto
  11. Fai clic su AGGIUNGI e imposta zona sulla zona in cui hai creato la TPU
  12. Aggiungi un altro filtro per node_id e specifica il tuo nome Cloud TPU