In diesem Dokument wird beschrieben, wie Sie mit dem Tool „Cluster Health Scanner“ (CHS) Probleme mit Ihren GPU-Clustern testen. Wenn Sie einen Cluster testen möchten, den Sie in Cluster Director erstellt haben, lesen Sie stattdessen Clusterstatus überwachen.
Das CHS-Tool prüft den Zustand Ihrer GPU-Cluster. Dazu werden Tests ausgeführt, um zu prüfen, ob die Cluster bereit sind, Ihre Arbeitslasten auszuführen. Sie können CHS für proaktive Systemdiagnosen oder als Diagnosetool verwenden, wenn Probleme mit einer Arbeitslast auftreten. Neben der Überprüfung der Konfiguration Ihres Clusters können Sie die folgenden Tests durchführen:
- NCCL-Prüfung: Validiert die Netzwerkkommunikation zwischen GPUs mithilfe der NVIDIA Collective Communications Library (NCCL).
- GPU-Prüfung: Hier wird das Tool NVIDIA Data Center GPU Manager (DCGM) verwendet, um den Zustand einzelner GPUs zu prüfen.
- Neper-Prüfung: Hier wird das Neper-Tool verwendet, um die Netzwerkleistung im Cluster zu bewerten.
- Erkennung von Nachzüglern: Führt ein Netzwerkverkehrsmuster zwischen Knoten aus, das den Mustern ähnelt, die während der Parallelität der LLM-Trainings-Workload-Pipeline beobachtet werden. Weitere Informationen zur Erkennung von Nachzüglern
- Tinymax-Prüfung: Verwendet Maxtext, ein Open-Source-LLM-Framework, um das ML-Training im Cluster zu bewerten.
Sie können CHS-Prüfungen und ‑Tests nur auf Knoten ausführen, auf denen keine Jobs oder Arbeitslasten ausgeführt werden. Wenn Sie versuchen, eine Diagnose oder einen Test auf einem ausgelasteten Knoten auszuführen, schlägt die Diagnose oder der Test fehl.
Das CHS-Tool ist für GPU-Cluster verfügbar, die von Google Kubernetes Engine (GKE) oder Slurm orchestriert werden, unabhängig davon, welches Bereitstellungsmodell Sie zum Erstellen der Cluster verwendet haben. CHS ist jedoch nur für die folgenden Maschinentypen verfügbar:
- A4
- A3 Ultra
- A3 Mega
- A3 High
In den folgenden Abschnitten wird beschrieben, wie Sie CHS installieren und dann damit Systemdiagnosen durchführen und Ihre Konfiguration prüfen.
CHS installieren
Gehen Sie so vor, um CHS zu installieren:
Rufen Sie die Seite Compute Engine > VM-Instanzen auf.
Suchen Sie den Anmeldeknoten. Der Name hat möglicherweise das Muster
DEPLOYMENT_NAME+login-001.Klicken Sie in der Spalte Verbinden des Anmeldeknotens auf SSH.
Verwenden Sie den folgenden Befehl, um das Repository zu klonen und zum Stammverzeichnis des Repositorys zu wechseln:
git clone https://github.com/GoogleCloudPlatform/cluster-health-scanner && cd cluster-health-scanner
Verwenden Sie den folgenden Befehl, um Abhängigkeiten für die Google Cloud CLI zu installieren:
pip3 install -r cli/requirements.txt
Optional: Wenn Sie möchten, dass der Befehl
configcheckKonfigurationswerte aus Ihrem Cluster abruft, ohne dass Sie sich für jede Maschine neu authentifizieren müssen, verwenden Sie den folgenden Befehl, um Ihren Google Cloud CLI-SSH-Schlüssel zu Ihrem lokalen SSH-Agent hinzuzufügen:ssh-add ~/.ssh/google_compute_engine
Verwenden Sie den folgenden Befehl, um den Alias
cluster_diagfürcluster_diag.pyhinzuzufügen:alias cluster_diag="python3 cli/cluster_diag.py"
Systemdiagnose durchführen
Nachdem Sie CHS installiert haben, gehen Sie so vor, um den Status Ihres GPU-Clusters zu prüfen:
Rufen Sie die Seite Compute Engine > VM-Instanzen auf.
Suchen Sie den Anmeldeknoten. Der Name hat möglicherweise das Muster
DEPLOYMENT_NAME+login-001.Klicken Sie in der Spalte Verbinden des Anmeldeknotens auf SSH.
Prüfen Sie, ob Sie sich im Stammverzeichnis des Repositorys befinden.
Mit dem folgenden Befehl können Sie den aktuellen Status Ihres Clusters prüfen:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
Ersetzen Sie Folgendes:
ORCHESTRATOR: entwedergkeoderslurm, je nachdem, welchen Orchestrator Sie verwenden.GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Mit dem folgenden Befehl können Sie den Status einzelner GPUs in Ihrem Cluster prüfen:
cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
Ersetzen Sie Folgendes:
ORCHESTRATOR: entwedergkeoderslurm, je nachdem, welchen Orchestrator Sie verwenden.GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Optional: Verwenden Sie den folgenden Vorlagenbefehl, um zusätzliche Prüfungen auszuführen. Fügen Sie das Flag
--run_only_on_available_nodeshinzu, um nicht verfügbare Knoten zu überspringen:cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
Ersetzen Sie Folgendes:
ORCHESTRATOR: entwedergkeoderslurm, je nachdem, welchen Orchestrator Sie verwenden.GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
CHECK: Die Prüfung, die Sie ausführen möchten. Verwenden Sie eine der folgenden Optionen:- Status
- nccl
- GPU
- Nachzügler
- Neper
- tinymax
Konfiguration prüfen
Nachdem Sie CHS installiert haben, gehen Sie so vor, um die Konfiguration Ihres Clusters zu prüfen:
- Prüfen Sie, ob Sie sich im Stammverzeichnis des Repositorys befinden.
Prüfen Sie die Konfiguration Ihres Clusters mit dem folgenden Befehl. Standardmäßig wird mit diesem Befehl ein Diff erstellt. Wenn Sie das Diff überspringen und nur die Konfiguration ausgeben möchten, fügen Sie das Flag
--no-diffhinzu:cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
Ersetzen Sie Folgendes:
ORCHESTRATOR: entwedergkeoderslurm, je nachdem, welchen Orchestrator Sie verwenden.GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:a4-highgpu-8ga3-ultragpu-8ga3-megagpu-8ga3-highgpu-8ga3-highgpu-4ga3-highgpu-2ga3-highgpu-1g
Der folgende Screenshot zeigt das Ergebnis einer erfolgreichen Konfigurationsprüfung: