Raccogliere e visualizzare le metriche DCGM


Puoi monitorare l'utilizzo, le prestazioni e l'integrità della GPU configurando GKE per inviare le metriche di NVIDIA Data Center GPU Manager (DCGM) a Cloud Monitoring.

Quando abiliti le metriche DCGM, GKE installa lo strumento DCGM-Exporter, installa i driver GPU gestiti da Google ed esegue il deployment di una risorsa ClusterPodMonitoring per inviare metriche a Google Cloud Managed Service per Prometheus.

Puoi anche configurare DCGM autogestito se vuoi personalizzare il set di metriche DCGM o se hai un cluster che non soddisfa i requisiti per le metriche DCGM gestite.

Che cos'è il DCGM

NVIDIA Data Center GPU Manager (DCGM) è un set di strumenti di NVIDIA che consente di gestire e monitorare le GPU NVIDIA. DCGM offre una visione completa dell'uso, delle prestazioni e dell'integrità delle GPU.

  • Le metriche di utilizzo della GPU indicano l'attività della GPU monitorata e se viene utilizzata efficacemente per le attività di elaborazione. Sono incluse le metriche per elaborazione dei core, memoria, I/O e utilizzo dell'energia.
  • Le metriche delle prestazioni della GPU si riferiscono all'efficacia e all'efficienza con cui una GPU può eseguire un'attività di calcolo. Sono incluse le metriche per velocità orologio e temperatura.
  • Le metriche GPU I/0 come NVlink e PCIe misurano la larghezza di banda del trasferimento dei dati.

Prima di iniziare

Prima di iniziare, assicurati di aver eseguito le seguenti attività:

  • Abilita l'API Google Kubernetes Engine.
  • Abilita l'API Google Kubernetes Engine
  • Se vuoi utilizzare Google Cloud CLI per questa attività, installa e quindi initialize gcloud CLI. Se hai già installato gcloud CLI, ottieni la versione più recente eseguendo gcloud components update.

Requisiti per le metriche NVIDIA Data Center GPU Manager (DCGM)

Per raccogliere metriche NVIDIA Data Center GPU Manager (DCGM), il tuo cluster GKE deve soddisfare i seguenti requisiti:

Configura la raccolta delle metriche DCGM

Puoi abilitare GKE per raccogliere metriche DCGM per un cluster esistente utilizzando la console Google Cloud, gcloud CLI o Terraform.

Console

  1. Crea un pool di nodi GPU.

    Devi utilizzare Predefinito o Più recente per l'installazione dei driver GPU.

  2. Vai alla pagina Google Kubernetes Engine nella console Google Cloud.

    Vai a Google Kubernetes Engine

  3. Fai clic sul nome del cluster.

  4. Accanto a Cloud Monitoring, fai clic su .

  5. Seleziona SYSTEM e DCGM.

  6. Fai clic su Salva.

gcloud

  1. Crea un pool di nodi GPU.

    Devi usare default o latest per --gpu-driver-version.

  2. Aggiorna il cluster:

    gcloud container clusters update CLUSTER_NAME \
        --location=COMPUTE_LOCATION \
        --enable-managed-prometheus \
        --monitoring=SYSTEM,DCGM
    

    Sostituisci quanto segue:

Terraform

Per configurare la raccolta di metriche DCGM utilizzando Terraform, vedi il blocco monitoring_config nel registro Terraform per google_container_cluster. Per informazioni generali sull'utilizzo di Google Cloud con Terraform, consulta Terraform with Google Cloud.

Utilizza le metriche DCGM

Puoi visualizzare le metriche DCGM utilizzando le dashboard nella console Google Cloud o direttamente nelle pagine della panoramica del cluster e dei dettagli del cluster. Per informazioni, vedi Visualizzare le metriche di osservabilità.

Puoi visualizzare le metriche utilizzando la dashboard delle metriche di Grafana DCGM. Per maggiori informazioni, consulta Eseguire query con Grafana. In caso di errori, consulta la Compatibilità delle API.

Prezzi

Le metriche DCGM utilizzano Google Cloud Managed Service per Prometheus per caricare metriche in Cloud Monitoring. Gli addebiti di Cloud Monitoring per l'importazione di queste metriche si basano sul numero di campioni importati. Tuttavia, queste metriche sono gratuite per i cluster registrati che appartengono a un progetto in cui è abilitata la versione di GKE Enterprise.

Per ulteriori informazioni, consulta i prezzi di Cloud Monitoring.

Quota

Le metriche DCGM consumano la quota Richieste di importazione di serie temporali al minuto dell'API Cloud Monitoring. Prima di abilitare i pacchetti di metriche, controlla l'utilizzo recente recente di quella quota. Se hai molti cluster nello stesso progetto o stai già per raggiungere il limite di quota, puoi richiedere un aumento del limite di quota prima di abilitare uno dei due pacchetti di osservabilità.

Metriche DCGM

I nomi delle metriche di Cloud Monitoring in questa tabella devono essere preceduti dal prefisso prometheus.googleapis.com/. Questo prefisso è stato omesso dalle voci della tabella.

Oltre alle etichette sulla risorsa monitorata prometheus_target, a tutte le metriche DCGM raccolte su GKE sono collegate le seguenti etichette:

Etichette GPU:

  • UUID: l'UUID del dispositivo GPU
  • device: nome del dispositivo GPU.
  • gpu: il numero di indice sotto forma di numero intero del dispositivo GPU sul nodo. Ad esempio, se sono collegate 8 GPU, questo valore potrebbe variare da 0 a 7.
  • modelName: il nome del modello di dispositivo GPU, ad esempio NVIDIA L4.

Etichette Kubernetes:

  • container: il nome del container Kubernetes che utilizza il dispositivo GPU.
  • namespace: lo spazio dei nomi Kubernetes del pod e del container che utilizza il dispositivo GPU.
  • pod: il pod Kubernetes che utilizza il dispositivo GPU.
Nome metrica PromQL
Nome metrica Cloud Monitoring
Tipo, Tipo, Unità
Risorse monitorate
Versione GKE richiesta
Descrizione
DCGM_FI_DEV_FB_FREE
DCGM_FI_DEV_FB_FREE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Buffer di frame libero in MB.
DCGM_FI_DEV_FB_TOTAL
DCGM_FI_DEV_FB_TOTAL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Buffer frame totale della GPU in MB.
DCGM_FI_DEV_FB_USED
DCGM_FI_DEV_FB_USED/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Buffer frame utilizzato in MB.
DCGM_FI_DEV_GPU_TEMP
DCGM_FI_DEV_GPU_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Letture della temperatura attuale del dispositivo (in °C).
DCGM_FI_DEV_GPU_UTIL
DCGM_FI_DEV_GPU_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Utilizzo GPU (in %).
DCGM_FI_DEV_MEM_COPY_UTIL
DCGM_FI_DEV_MEM_COPY_UTIL/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Utilizzo della memoria (in %).
DCGM_FI_DEV_MEMORY_TEMP
DCGM_FI_DEV_MEMORY_TEMP/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Temperatura della memoria del dispositivo (in °C).
DCGM_FI_DEV_POWER_USAGE
DCGM_FI_DEV_POWER_USAGE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Utilizzo energetico del dispositivo (in Watt).
DCGM_FI_DEV_SM_CLOCK
DCGM_FI_DEV_SM_CLOCK/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Frequenza di clock SM (in MHz).
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION
DCGM_FI_DEV_TOTAL_ENERGY_CONSUMPTION/counter

CUMULATIVEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Consumo totale di energia per la GPU in mJ dall'ultimo ricaricamento del driver.
DCGM_FI_PROF_DRAM_ACTIVE
DCGM_FI_PROF_DRAM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Il rapporto di cicli in cui l'interfaccia di memoria del dispositivo è attiva durante l'invio o la ricezione di dati.
DCGM_FI_PROF_GR_ENGINE_ACTIVE
DCGM_FI_PROF_GR_ENGINE_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Il rapporto di tempo in cui il motore grafico è attivo.
DCGM_FI_PROF_NVLINK_RX_BYTES
DCGM_FI_PROF_NVLINK_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Velocità in byte dei dati rx attivi di NvLink (lettura), che includono sia l'intestazione che il payload.
DCGM_FI_PROF_NVLINK_TX_BYTES
DCGM_FI_PROF_NVLINK_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Velocità in byte di trasmissione dei dati NvLink tx attivi, che includono sia l'intestazione che il payload.
DCGM_FI_PROF_PCIE_RX_BYTES
DCGM_FI_PROF_PCIE_RX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
La velocità dei dati PCIe rx (lettura) attivi in byte, che includono sia l'intestazione che il payload.
DCGM_FI_PROF_PCIE_TX_BYTES
DCGM_FI_PROF_PCIE_TX_BYTES/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Velocità in byte dei dati PCIe tx (trasmissione) attivi, che includono sia l’intestazione che il payload.
DCGM_FI_PROF_PIPE_FP16_ACTIVE
DCGM_FI_PROF_PIPE_FP16_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Il rapporto di cicli in cui è attiva la pipeline fp16.
DCGM_FI_PROF_PIPE_FP32_ACTIVE
DCGM_FI_PROF_PIPE_FP32_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Il rapporto di cicli in cui è attiva la pipeline fp32.
DCGM_FI_PROF_PIPE_FP64_ACTIVE
DCGM_FI_PROF_PIPE_FP64_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Il rapporto di cicli in cui è attiva la pipeline fp64.
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE
DCGM_FI_PROF_PIPE_TENSOR_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Il rapporto di cicli in cui è attivo qualsiasi tubo tensore.
DCGM_FI_PROF_SM_ACTIVE
DCGM_FI_PROF_SM_ACTIVE/gauge

GAUGEDOUBLE1 prometheus_target
1.30.1-gke.1204000
Il rapporto di cicli a cui un SM ha almeno 1 curvatura assegnata.

Passaggi successivi