Puoi monitorare l'utilizzo, le prestazioni e l'integrità della GPU configurando a GKE di inviare Metriche di NVIDIA Data Center GPU Manager (DCGM) per e configurazione in Cloud Monitoring.
Quando abiliti le metriche DCGM, GKE installa Strumento DCGM-Exporter, installazioni driver GPU gestiti da Google ed esegue il deployment di una risorsa ClusterPodMonitoring per inviare a Google Cloud Managed Service per Prometheus.
Puoi anche configurare DCGM autogestito se vuoi personalizzare l'insieme di metriche DCGM o se disponi un cluster che non soddisfa i requisiti Metriche DCGM.
Che cos'è il DCGM
NVIDIA Data Center GPU Manager (DCGM) è un insieme di strumenti di NVIDIA che ti consentono per gestire e monitorare le GPU NVIDIA. DCGM offre una visione completa delle GPU utilizzo, prestazioni e integrità.
- Le metriche di utilizzo della GPU sono un'indicazione del livello di utilizzo della GPU monitorata e se viene utilizzato in modo efficace 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ò per eseguire un'attività computazionale. Sono incluse le metriche per la velocità di clock la temperatura dell'acqua.
- Le metriche di I/O GPU, come NVlink e PCIe, misurano la larghezza di banda del trasferimento di dati.
Prima di iniziare
Prima di iniziare, assicurati di aver eseguito le seguenti attività:
- Attiva l'API Google Kubernetes Engine. Abilita l'API Google Kubernetes Engine .
- Se vuoi utilizzare Google Cloud CLI per questa attività,
install e poi
inizializzare
con gcloud CLI. Se hai già installato gcloud CLI, scarica 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 cluster GKE deve soddisfare le i seguenti requisiti:
- GKE versione 1.30.1-gke.1204000 o successiva
- Metriche di sistema la raccolta deve essere abilitata
- Raccolta gestita di Google Cloud Managed Service per Prometheus deve essere abilitato
- I pool di nodi devono eseguire driver GPU gestiti da GKE. Questo
significa che devi creare i tuoi pool di nodi utilizzando
default
olatest
per--gpu-driver-version
. - Metriche di profilazione vengono raccolte solo per le GPU NVIDIA H100 da 80 GB.
Configura la raccolta delle metriche DCGM
Puoi consentire a GKE di raccogliere metriche DCGM per un un cluster esistente utilizzando la console Google Cloud, o Terraform.
Console
-
Devi usare Predefinito o Più recente per Installazione dei driver GPU.
Vai alla pagina Google Kubernetes Engine nella console Google Cloud.
Fai clic sul nome del cluster.
Accanto a Cloud Monitoring, fai clic su edit.
Seleziona
SYSTEM
eDCGM
.Fai clic su Salva.
gcloud
Crea un Pool di nodi GPU.
Devi usare
default
olatest
per--gpu-driver-version
.Aggiorna il cluster:
gcloud container clusters update CLUSTER_NAME \ --location=COMPUTE_LOCATION \ --enable-managed-prometheus \ --monitoring=SYSTEM,DCGM
Sostituisci quanto segue:
CLUSTER_NAME
: il nome dell'elemento esistente in un cluster Kubernetes.COMPUTE_LOCATION
: il Località di Compute Engine nel cluster.
Terraform
Per configurare la raccolta delle metriche DCGM utilizzando
Terraform, vedi il blocco monitoring_config
nella
Registro Terraform per google_container_cluster
.
Per informazioni generali sull'utilizzo di Google Cloud con Terraform, consulta
Terraform con Google Cloud.
Utilizza le metriche DCGM
Puoi visualizzare le metriche DCGM utilizzando le dashboard nel Console Google Cloud o direttamente nelle pagine della panoramica del cluster e dei dettagli del cluster. Per informazioni, vedi Visualizza le metriche di osservabilità.
Puoi visualizzare le metriche utilizzando Dashboard delle metriche di Grafana DCGM. Per ulteriori informazioni, vedi Eseguire query con Grafana. In caso di errori, consulta Compatibilità delle API.
Prezzi
Utilizzo delle metriche DCGM Google Cloud Managed Service per Prometheus da caricare in Cloud Monitoring. Cloud Monitoring addebita i costi per l'importazione di queste metriche si basano sul numero di campioni importati. Tuttavia, queste metriche sono gratuiti registrato in cluster che appartengono a un progetto Versione di GKE Enterprise abilitata.
Per ulteriori informazioni, vedi Prezzi di Cloud Monitoring.
Quota
Le metriche DCGM utilizzano Quota per le richieste di importazione di serie temporali al minuto di Cloud Monitoring tramite Google Cloud CLI o tramite l'API Compute Engine. Prima di abilitare i pacchetti di metriche, controllare l'utilizzo massimo recente di quella quota. Se hai molti cluster nello stesso progetto o sono già che stai per raggiungere il limite della 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 dalla
le voci nella tabella.
Insieme alle etichette su prometheus_target
risorsa monitorata, tutte raccolte
Le metriche DCGM su GKE hanno le seguenti etichette collegate
quali:
Etichette GPU:
UUID
: l'UUID del dispositivo GPUdevice
: 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 può variare da0
a7
. modelName
: il nome del modello di dispositivo GPU, ad esempioNVIDIA 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 di Cloud Monitoring |
|
---|---|
Tipo, Tipo, Unità
Risorse monitorate Versione GKE richiesta |
Descrizione |
DCGM_FI_DEV_FB_FREE DCGM_FI_DEV_FB_FREE/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Buffer di frame libero in MB. |
DCGM_FI_DEV_FB_TOTAL DCGM_FI_DEV_FB_TOTAL/gauge |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Buffer frame utilizzato in MB. |
DCGM_FI_DEV_GPU_TEMP DCGM_FI_DEV_GPU_TEMP/gauge |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Utilizzo GPU (in %). |
DCGM_FI_DEV_MEM_COPY_UTIL DCGM_FI_DEV_MEM_COPY_UTIL/gauge |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Utilizzo della memoria (in %). |
DCGM_FI_DEV_MEMORY_TEMP DCGM_FI_DEV_MEMORY_TEMP/gauge |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Utilizzo energetico del dispositivo (in Watt). |
DCGM_FI_DEV_SM_CLOCK DCGM_FI_DEV_SM_CLOCK/gauge |
|
GAUGE , DOUBLE , 1
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 |
|
CUMULATIVE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
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 |
|
GAUGE , DOUBLE , 1
prometheus_target
1.30.1-gke.1204000 |
Il rapporto di cicli a cui un SM ha almeno 1 curvatura assegnata. |
Passaggi successivi
- Scopri come Visualizza le metriche di osservabilità.