Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine effiziente Platzierung und Optimierung von GPU-Workloads erfordert häufig Einblicke in die Ressourcenauslastung und Leistung. Verwaltete GPU-Metriken auf AKS (Vorschau) bieten eine automatisierte Erfassung und Darstellung der GPU-Auslastung, des Arbeitsspeichers und der Leistungsdaten in NVIDIA-GPU-fähigen Knotenpools. Auf diese Weise können Plattformadministratoren Clusterressourcen und Entwickler optimieren, um Workloads mit eingeschränkter manueller Instrumentierung zu optimieren und zu debuggen.
In diesem Artikel erfahren Sie mehr über GPU-Metriken, die vom NVIDIA Data Center GPU Manager (DCGM)-Exporter mit einem vollständig verwalteten GPU-fähigen Knotenpool (Vorschau) in Azure Kubernetes Service (AKS) gesammelt werden.
Von Bedeutung
AKS-Vorschaufunktionen sind auf Selbstbedienungsbasis und freiwillig verfügbar. Vorschauversionen werden „im Istzustand“ und „wie verfügbar“ bereitgestellt und sind von den Service Level Agreements und der eingeschränkten Garantie ausgeschlossen. AKS-Vorschauversionen werden teilweise vom Kundensupport auf Grundlage der bestmöglichen Leistung abgedeckt. Daher sind diese Funktionen nicht für die Verwendung in der Produktion vorgesehen. Weitere Informationen finden Sie in den folgenden Supportartikeln:
Voraussetzungen
- Ein AKS-Cluster mit einem vollständig verwalteten GPU-fähigen Knotenpool (Vorschau), und stellen sicher, dass die GPUs planbar sind.
- Eine Beispiel-GPU-Workload wird in Ihrem Knotenpool bereitgestellt.
- Azure Managed Prometheus auf Ihrem AKS-Cluster aktiviert.
Überprüfen, ob verwaltete GPU-Komponenten installiert sind
Vergewissern Sie sich nach dem Erstellen Ihres verwalteten NVIDIA GPU-Knotenpools (Vorschau) gemäß diesen Anweisungen, dass die GPU-Softwarekomponenten mit dem Befehl az aks nodepool show installiert wurden.
az aks nodepool show \
--resource-group <resource-group-name> \
--cluster-name <cluster-name> \
--name <node-pool-name> \
Ihre Ausgabe sollte die folgenden Werte einschließen:
...
"gpuProfile": {
"driver": "Install",
"driverType": "",
"nvidia": {
"managementMode": "Managed",
...
...
}
},
...
...
Anpassen des Scraping von GPU-Metriken in Azure Managed Prometheus
Erstellen und Anwenden einer ConfigMap, die ein Scraping-Profil für NVIDIA GPU-Metriken aus dcgm-exporter im Azure Monitor-Agent im namespace kube-system ermöglicht, ähnlich wie folgt:
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
Nachdem diese ConfigMap einmal auf den AKS-Cluster angewendet wurde, werden alle vorhandenen und neuen NVIDIA GPU-Knotenpools, die dem Cluster hinzugefügt werden, automatisch verschrottet.
Automatisches Abrufen von GPU-Metriken in von Azure verwaltetem Prometheus deaktivieren
Um das Scraping von NVIDIA DCGM-Metriken durch den vom Azure Monitor verwalteten Prometheus-Agenten (AMA) zu deaktivieren, bearbeiten Sie die entsprechende ConfigMap. Ihre GPU-Workloads sind nicht betroffen.
Führen Sie den folgenden Befehl aus:
kubectl edit configmap ama-metrics-settings-configmap -n kube-system
Aktualisieren Sie die dcgmexporter-Einstellung von true zu false.
...
...
default-scrape-settings-enabled: |-
dcgmexporter = false
...
...
NVIDIA DCGM-Metriken werden nicht mehr im Azure Monitor- oder Metrik-Explorer angezeigt.
Überwachen von GPU-Metriken im Azure-Portal
Nachdem Sie einen Azure Monitor-Arbeitsbereich für den AKS-Cluster erstellt haben, Wechseln Sie zum portal Azure und öffnen Sie Azure Monitor>Dashboards mit Grafana in Ihrem Azure Monitor Arbeitsbereich.
Filtern Sie mithilfe der Suchleiste nach dem
Kubernetes | NVIDIA GPU DCGM ExporterGrafana-Dashboard mit demAzure-managed-Tag.Wählen Sie dieses Dashboard aus und vergewissern Sie sich, dass die ausgewählten
ClusterundPrometheus DatasourceIhren GPU-fähigen Knotenpools entsprechen. Sie können nun die GPU-Metriken in Echtzeit anzeigen, wie in der folgenden Abbildung dargestellt:
Grundlegendes zu GPU-Metriken
GPU-Auslastungsmetriken
GPU-Auslastungsmetriken zeigen den Prozentsatz der Zeit an, in der die GPU-Kerne aktiv verarbeitet werden. Hohe Werte deuten darauf hin, dass die GPU stark verwendet wird, was in der Regel für Workloads wie Schulungen oder Datenverarbeitung wünschenswert ist. Die Interpretation dieser Metrik sollte den Typ der Arbeitsauslastung berücksichtigen: KI-Training hält die Auslastung in der Regel hoch, während Rückschließen aufgrund von Spitzen im Datenverkehr zu einer zeitweiligen Auslastung führen kann.
Arbeitsspeicherauslastung: Zeigt den Prozentsatz des verwendeten GPU-Speichers an. Eine hohe Speicherauslastung ohne hohe GPU-Auslastung kann auf speichergebundene Workloads hinweisen, bei denen die GPU auf Speicherübertragungen wartet. Geringe Arbeitsspeicherauslastung kann darauf hindeuten, dass die Arbeitslast zu klein ist, um die GPU voll auszunutzen.
SM (Streaming Multiprocessor) Effizienz: Bewertet, wie effizient die Kerne der GPU genutzt werden. Eine geringe SM-Effizienz weist darauf hin, dass Kerne aufgrund von Workloadungleichgewicht oder suboptimalem Kerneldesign leer oder unterlastet sind. Hohe Effizienz ist ideal für rechenintensive Anwendungen.
Speichermetriken
Speicherbandbreitenauslastung: Gibt an, wie viel der theoretischen Speicherbandbreite verbraucht wird. Eine hohe Bandbreitenauslastung mit geringer Computeauslastung kann auf eine speichergebundene Workload hinweisen. Umgekehrt schlägt eine hohe Auslastung sowohl bei der Compute- als auch bei der Speicherbandbreite eine ausgewogene Arbeitsauslastung vor.
Speicherfehler: Verfolgt ECC-Fehler (Error Correcting Code), wenn aktiviert. Eine hohe Anzahl von Fehlern kann auf Hardwarebeeinträchtigungen oder thermische Probleme hinweisen und auf Zuverlässigkeit überwacht werden.
Temperatur- und Leistungsmetriken
GPU-Temperatur: Gibt die Betriebstemperatur der GPU an. Anhaltende hohe Temperaturen können eine thermische Drosselung auslösen, wodurch die Leistung reduziert wird. Die ideale Interpretation dieser Metrik umfasst die Beobachtung der Temperatur im Verhältnis zu den thermischen Grenzwerten und der Kühlkapazität der GPU.
Energienutzung: Zeigt sofortige Stromaufnahme an. Der Vergleich der Energienutzung mit TDP (Thermal Design Power) hilft zu verstehen, ob die GPU an ihre Grenzen geschoben wird. Plötzliche Stromverluste können auf Drosselung oder Unternutzung hinweisen.
Uhren und Frequenzmetriken
GPU-Takt: Die tatsächliche Betriebshäufigkeit der GPU. Kombiniert mit der Auslastung hilft dies, zu bestimmen, ob die GPU gedrosselt wird oder im Vergleich zu ihrem Potenzial eine unterdurchschnittliche Leistung erbringt.
Speicheruhr: Betriebshäufigkeit des GPU-Speichers. Speichergebundene Workloads können von höheren Speichertakten profitieren; ein Ungleichgewicht zwischen Speicher- und Rechenauslastung kann Engpässe aufzeigen.
PCIe- und NVLink-Metriken
PCIe-Bandbreite: Misst den Durchsatz über den PCIe-Bus. Eine geringe Auslastung mit intensiven Workloads kann suggerieren, dass die CPU-GPU-Kommunikation keinen Engpass darstellt. Eine hohe Auslastung könnte auf Datenübertragungseinschränkungen verweisen, die sich auf die Leistung auswirken.
NVLink-Bandbreite: Diese Metrik ähnelt der PCIe-Bandbreite, aber spezifisch für NVLink-Verbindungen und relevant in Multi-GPU-Systemen für die gpuübergreifende Kommunikation. Hohe NVLink-Nutzung mit geringer SM-Auslastung kann auf Synchronisierungs- oder Datenübertragungsverzögerungen hinweisen.
Fehler- und Zuverlässigkeitsmetriken
Eingestellte Seiten und XID-Fehler: Verfolgen Sie GPU-Speicherfehler und kritische Fehler. Häufige Vorkommen potenzieller Hardwarefehler signalisieren die Notwendigkeit von Aufmerksamkeit für langfristig laufende Workloads.
Interpretationsleitfaden
DCGM-Metriken sollten kontextbezogen mit dem Typ Ihrer Workload auf AKS interpretiert werden. Eine rechenintensive Workload sollte idealerweise eine hohe GPU- und SM-Auslastung, eine hohe Speicherbandbreitennutzung, stabile Temperaturen unterhalb den Drosselungsschwellenwerten und eine Leistungsaufnahme nahe, aber unter der TDP zeigen.
Speichergebundene Workloads zeigen möglicherweise eine hohe Speicherauslastung und Bandbreite, aber eine geringere Computeauslastung an. Anomalien wie geringe Auslastung mit hoher Temperatur oder Stromverbrauch deuten häufig auf Drosselung, ineffiziente Planung oder Engpässe auf Systemebene hin.
Das Überwachen von Trends im Laufe der Zeit und nicht einzelne Momentaufnahmen ist wichtig. Plötzliche Auslastungseinbußen oder Spitzen bei Fehlern zeigen häufig zugrunde liegende Probleme auf, bevor sie sich auf Produktionsworkloads auswirken. Das Vergleichen von Metriken über mehrere GPUs hinweg kann auch dazu beitragen, Ausreißer oder fehlverhaltende Geräte in einem Knotenpool zu identifizieren. Das Verständnis dieser Metriken in Kombination und nicht in isolation bietet den deutlichsten Einblick in die GPU-Effizienz und die Arbeitsauslastungsleistung.
Allgemeine GPU-Metriken
Die folgenden NVIDIA DCGM-Metriken werden häufig für die Leistung von GPU-Knotenpools auf Kubernetes ausgewertet:
| GPU-Metrikname | Bedeutung | Typischer Bereich /Indikator | Verwendungstipp |
|---|---|---|---|
DCGM_FI_DEV_GPU_UTIL |
GPU-Auslastung (% Zeit GPU-Kerne sind aktiv) | 0–100% (höher ist besser) | Überwachen Sie jeden Knoten und jeden Pod; niedrige Werte können auf Engpässe bei der CPU oder der E/A hinweisen. |
DCGM_FI_DEV_SM_UTIL |
Streaming Multiprozessoreffizienz (% aktiven Kerne) | 0–100% | Niedrige Werte mit hoher Arbeitsspeicherauslastung deuten auf eine speichergebundene Workload hin. |
DCGM_FI_DEV_FB_USED |
Verwendeter Framebuffer-Speicher (Bytes) | 0 bis Gesamtspeicher | Verwenden von Pod-GPU-Speicherbeschränkungen und Nachverfolgen der Speicherauslastung pro Pod |
DCGM_FI_DEV_FB_FREE |
Freier GPU-Speicher (Bytes) | 0 bis Gesamtspeicher | Nützlich für die Planung und vermeidung von OOM-Fehlern |
DCGM_FI_DEV_MEMORY_UTIL |
Arbeitsspeicherauslastung (%) | 0–100% | Kombinieren Sie dies mit der GPU- und SM-Auslastung, um speichergebundene Workloads zu ermitteln. |
DCGM_FI_DEV_MEMORY_CLOCK |
Aktuelle Speicheruhrfrequenz (MHz) | 0 bis max. Speichertakt | Niedrige Werte bei hoher Speicherauslastung können auf Drosselung hinweisen. |
DCGM_FI_DEV_POWER_USAGE |
Sofortige Energienutzung (Watt) | 0 bis TDP | Abnahmen bei hoher Auslastung können auf Drosselung der Leistung hinweisen |
DCGM_FI_DEV_TEMPERATURE |
GPU-Temperatur (°C) | ~30–85°C Normalbereich | Warnung bei anhaltenden hohen Temperaturen |
DCGM_FI_DEV_NVLINK_RX |
NVLink Empfangene Bandbreitenauslastung (%) | 0–100% | Multi-GPU-Synchronisierungsengpässe bei hoher Auslastung und geringer SM-Auslastung |
DCGM_FI_DEV_XID_ERRORS |
Vom Treiber gemeldete GPU-kritische Fehler | Normalerweise 0 | Sofortige Untersuchung erforderlich; kann Knoten in Kubernetes beschädigen |
Weitere Informationen zu den vollständigen GPU-Metriken finden Sie in der NVIDIA DCGM Upstream-Dokumentation.
Nächste Schritte
- Informationen zu bewährten Methoden zur GPU-Observability auf AKS
- Nachverfolgen der GPU-Knotenintegrität mit Node Problem Detector (NPD)
- Erstellen von GPU-Knotenpools mit mehreren Instanzen auf Ihrem AKS-Cluster