Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Voor efficiënte plaatsing en optimalisatie van GPU-workloads is vaak inzicht in het resourcegebruik en de prestaties vereist. Beheerde GPU-metrieken op AKS (preview) bieden geautomatiseerde verzameling en weergave van GPU-gebruiksefficiëntie, geheugen- en prestatiegegevens in NVIDIA-GPU-geactiveerde knooppool. Hierdoor kunnen platformbeheerders clusterbronnen en ontwikkelaars optimaliseren om workloads met beperkte handmatige instrumentatie af te stemmen en fouten op te sporen.
In dit artikel komt u meer te weten over GPU-metriek die zijn verzameld door de NVIDIA Data Center GPU Manager (DCGM) exporter in Azure Kubernetes Service (AKS) met een volledig beheerde GPU-knooppuntgroep (preview).
Belangrijk
AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd 'zoals het is' en 'voor zover beschikbaar' en zijn uitgesloten van de serviceovereenkomsten en beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning naar best vermogen. Zodoende zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:
Vereiste voorwaarden
- Een AKS-cluster met een volledig beheerde GPU-knooppuntgroep (voorbeeld) en zorg ervoor dat de GPU's kunnen worden ingepland.
- Een voorbeeld van een GPU-workload die is geïmplementeerd in uw knooppuntgroep.
- Azure Managed Prometheus ingeschakeld op uw AKS-cluster.
Controleer of beheerde GPU-onderdelen zijn geïnstalleerd
Nadat u de beheerde NVIDIA GPU-knooppuntgroep (preview) hebt gemaakt, controleert u of de GPU-softwareonderdelen zijn geïnstalleerd met de opdracht az aks nodepool show :
az aks nodepool show \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--name <node-pool-name> \
De uitvoer moet de volgende waarden bevatten:
...
"gpuProfile": {
"driver": "Install",
"driverType": "",
"nvidia": {
"managementMode": "Managed",
...
...
}
},
...
...
Aanpassen van de scraping van GPU-metrics in Azure Managed Prometheus
Maak en pas een ConfigMap toe waarmee een scrapingprofiel voor NVIDIA GPU-metrische gegevens vanuit dcgm-exporter in de Azure Monitor-agent binnen de naamruimte kube-system wordt ingeschakeld, vergelijkbaar met het volgende voorbeeld:
cat <<EOF | kubectl create -f -
kind: ConfigMap
apiVersion: v1
data:
schema-version:
v1
config-version:
ver1
default-scrape-settings-enabled: |-
dcgmexporter = true
metadata:
name: ama-metrics-settings-configmap
namespace: kube-system
EOF
Note
Nadat deze ConfigMap eenmaal is toegepast op het AKS-cluster, worden alle bestaande en nieuwe NVIDIA GPU-knooppuntgroepen die aan het cluster zijn toegevoegd, automatisch verwijderd.
Automatische scraping van GPU-metrische gegevens uitschakelen in Azure Beheerde Prometheus
Om het scrapen van NVIDIA DCGM-metrische gegevens door de door Azure Monitor beheerde Prometheus-agent (AMA) uit te schakelen, bewerkt u dezelfde ConfigMap. Uw GPU-workloads worden niet beïnvloed.
Voer de volgende opdracht uit:
kubectl edit configmap ama-metrics-settings-configmap -n kube-system
Werk de dcgmexporter instelling bij van true naar false:
...
...
default-scrape-settings-enabled: |-
dcgmexporter = false
...
...
NVIDIA DCGM-metrische gegevens worden niet meer weergegeven in Azure Monitor of Metrics Explorer.
GPU-metriek bewaken via de Azure-portal
Nadat u een Azure Monitor werkruimte voor het AKS-cluster hebt gemaakt, ga naar de Azure portal en open Azure Monitor>Dashboards met Grafana in uw Azure Monitor werkruimte.
Gebruik de zoekbalk om te filteren op het
Kubernetes | NVIDIA GPU DCGM ExporterGrafana-dashboard met het tagAzure-managed.Selecteer dit dashboard en bevestig dat de geselecteerde
ClusterenPrometheus Datasourceovereenkomen met je GPU-ingeschakelde knooppuntgroepen. U kunt nu de realtime GPU-metrische gegevens bekijken, zoals wordt weergegeven in de volgende afbeelding:
Begrip van GPU-metrieken
Metrische gegevens over GPU-gebruik
Metrische gegevens over GPU-gebruik geven het percentage tijd aan dat de kernen van de GPU actief werk verwerken. Hoge waarden geven aan dat de GPU intensief wordt gebruikt, wat over het algemeen wenselijk is voor workloads zoals training of gegevensverwerking. Interpretatie van deze metrische gegevens moet rekening houden met het type workload: AI-training houdt doorgaans het gebruik hoog, terwijl inferentie intermitterend gebruik kan hebben vanwege verkeer met pieken.
Geheugengebruik: geeft het percentage GPU-geheugen weer dat in gebruik is. Hoog geheugengebruik zonder hoog GPU-gebruik kan duiden op geheugengebonden werkbelastingen waarbij de GPU wacht op geheugenoverdrachten. Weinig geheugengebruik met een laag gebruik kan suggereren dat de werkbelasting te klein is om volledig gebruik te maken van de GPU.
SM-efficiëntie (streaming multiprocessor): meet de efficiëntie waarmee de kernen van de GPU worden gebruikt. Een lage SM-efficiëntie geeft aan dat kernen niet actief of te weinig worden gebruikt vanwege onevenwichtige werkbelasting of suboptimale kernelontwerp. Hoge efficiëntie is ideaal voor rekenkrachtige toepassingen.
Geheugenstatistieken
Geheugenbandbreedtegebruik: Geeft aan hoeveel van de theoretische geheugenbandbreedte wordt verbruikt. Een hoog bandbreedtegebruik met een laag rekengebruik kan duiden op een werkbelasting die afhankelijk is van het geheugen. Omgekeerd stelt een hoog gebruik in zowel reken- als geheugenbandbreedte een goed verdeelde workload voor.
Geheugenfouten: houdt fouten bij met fout corrigerende code (ECC) indien ingeschakeld. Een groot aantal fouten kan duiden op hardwaredegradatie of thermische problemen en moet worden gecontroleerd op betrouwbaarheid.
Metrische gegevens over temperatuur en energie
GPU-temperatuur: geeft de operationele temperatuur van de GPU aan. Aanhoudende hoge temperaturen kunnen thermische throttling veroorzaken, met verminderde prestaties. Bij ideale interpretatie van deze metrische waarde moet de temperatuur ten opzichte van de thermische limieten en koelcapaciteit van de GPU worden waargenomen.
Vermogensgebruik: toont het directe stroomverbruik. Als u het energieverbruik vergelijkt met TDP (Thermal Design Power) krijgt u inzicht in of de GPU wordt gepusht tot de limieten. Plotselinge dalingen in macht kunnen duiden op beperking of ondergebruik.
Metrische gegevens voor klokken en frequentie
GPU Clock: de werkelijke operationele frequentie van de GPU. In combinatie met het gebruik kunt u hiermee bepalen of de GPU wordt afgeremd of ondermaats presteert ten opzichte van zijn potentieel.
Geheugenklok: operationele frequentie van GPU-geheugen. Geheugengebonden werkbelastingen kunnen profiteren van hogere geheugenklokken; een niet-overeenkomend geheugen- en rekengebruik kan knelpunten markeren.
PCIe- en NVLink-metrieken
PCIe-bandbreedte: meet de doorvoer via de PCIe-bus. Een laag gebruik met zware werkbelastingen kan suggereren dat CPU-GPU communicatie geen knelpunt is. Hoog gebruik kan wijzen op beperkingen voor gegevensoverdracht die van invloed zijn op de prestaties.
NVLink-bandbreedte: deze metriek is vergelijkbaar met de PCIe-bandbreedte, maar specifiek voor NVLink-interconnects en relevant in multi-GPU-systemen voor communicatie tussen GPU's. Hoog NVLink-gebruik met een laag SM-gebruik kan duiden op vertragingen bij synchronisatie of gegevensoverdracht.
Metrische gegevens over fouten en betrouwbaarheid
Buiten gebruik gestelde pagina's en XID-fouten: GPU-geheugenfouten en kritieke fouten bijhouden. Frequent voorkomende signalen wijzen op potentiële hardwarefouten en vereisen aandacht voor langdurige workloads.
Richtlijnen voor interpretatie
DCGM-metrics moeten contextueel worden geïnterpreteerd met het type werkbelasting op AKS. Een rekenintensieve taak moet idealiter hoog GPU- en SM-gebruik laten zien, hoog geheugenbandbreedtegebruik, stabiele temperaturen onder de afknijpingsdrempels en stroomverbruik dat bijna tot aan maar onder TDP ligt.
Geheugengebonden werkbelastingen kunnen een hoog geheugengebruik en een hoge bandbreedte tonen, maar lager rekengebruik. Afwijkingen zoals een laag gebruik met een hoge temperatuur of hoog energieverbruik geven vaak beperkingen, inefficiënte planning of knelpunten op systeemniveau aan.
Het bewaken van trends in de loop van de tijd in plaats van enkele momentopnamen is essentieel. Plotselinge dalingen in gebruik of pieken in fouten geven vaak onderliggende problemen aan voordat ze van invloed zijn op productieworkloads. Het vergelijken van metrieken over meerdere GPU's kan ook helpen bij het identificeren van uitbijters of het niet goed functioneren van apparaten in een node pool. Inzicht in deze metrische gegevens in combinatie, in plaats van isolatie, biedt het duidelijkste inzicht in gpu-efficiëntie en workloadprestaties.
Algemene GPU-metrische gegevens
De volgende metrische NVIDIA DCGM-gegevens worden doorgaans geëvalueerd voor de prestaties van GPU-knooppuntgroepen in Kubernetes:
| Naam van GPU-metrische gegevens | Meaning | Standaard bereik/indicator | Gebruikstip |
|---|---|---|---|
DCGM_FI_DEV_GPU_UTIL |
GPU-gebruik (% tijd dat GPU-kernen actief zijn) | 0-100% (hoger is beter) | Per knooppunt en per pod bewaken; lage waarden kunnen duiden op CPU- of I/O-knelpunten |
DCGM_FI_DEV_SM_UTIL |
Efficiëntie van streaming multiprocessor (% actieve kernen) | 0-100% | Lage waarden met een hoog geheugengebruik geven een geheugengebonden workload aan |
DCGM_FI_DEV_FB_USED |
Gebruikt framebuffer geheugen (bytes) | 0 tot geheugentotaal | Gpu-geheugenlimieten voor pods gebruiken en geheugengebruik per pod bijhouden |
DCGM_FI_DEV_FB_FREE |
Vrij GPU-geheugen (bytes) | 0 tot geheugentotaal | Handig voor het plannen en voorkomen van OOM-fouten |
DCGM_FI_DEV_MEMORY_UTIL |
Geheugengebruik (%) | 0-100% | Combineren met GPU/SM-gebruik om geheugengebonden workloads te bepalen |
DCGM_FI_DEV_MEMORY_CLOCK |
Huidige geheugenklokfrequentie (MHz) | 0 tot maximale geheugenklok | Lage waarden bij hoog geheugengebruik kunnen wijzen op throttling |
DCGM_FI_DEV_POWER_USAGE |
Onmiddellijk energieverbruik (Watts) | 0 tot TDP | Dalingen tijdens hoge belasting kunnen duiden op vertraging. |
DCGM_FI_DEV_TEMPERATURE |
GPU-temperatuur (°C) | ~30-85°C normaal | Waarschuwing bij aanhoudende hoge temperaturen |
DCGM_FI_DEV_NVLINK_RX |
NVLink ontvangt bandbreedtegebruik (%) | 0-100% | Knelpunt in synchronisatie tussen meerdere GPU's bij hoge synchronisatie met laag SM-gebruik |
DCGM_FI_DEV_XID_ERRORS |
Kritieke GPU-fouten gerapporteerd door stuurprogramma | Meestal 0 | Onmiddellijk onderzoek vereist; kan een taint op een knooppunt in Kubernetes toepassen. |
Ga naar de DOCUMENTATIE van NVIDIA DCGM Upstream voor meer informatie over de volledige suite met gpu-metrische gegevens.
Volgende stappen
- Meer informatie over aanbevolen procedures voor GPU-waarneembaarheid in AKS
- De status van uw GPU-knooppunt bijhouden met Node Problem Detector (NPD)
- GPU-knooppuntgroepen met meerdere exemplaren maken in uw AKS-cluster