Testcluster

In diesem Dokument wird erläutert, wie Sie mit dem Cluster Health Scanner (CHS) Tool 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 Status Ihrer GPU-Cluster und führt Tests aus, 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 mit der NVIDIA Collective Communications Library (NCCL).
  • GPU-Prüfung: Verwendet das NVIDIA Data Center GPU Manager (DCGM) Tool, um den Status einzelner GPUs zu prüfen.
  • Neper-Prüfung: Verwendet das Neper-Tool, um die Netzwerkleistung innerhalb des Clusters zu bewerten.
  • Straggler-Erkennung: Führt ein Netzwerk-Traffic-Muster zwischen Knoten aus, das Mustern ähnelt, die während der Parallelität der LLM-Trainings-Pipeline für Arbeitslasten auftreten. Weitere Informationen zur Straggler-Erkennung.
  • 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 eine Prüfung oder einen Test auf einem ausgelasteten Knoten ausführen, schlägt die Prüfung oder der Test fehl.

Das CHS-Tool ist für GPU-Cluster verfügbar, die von der 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:

  • A4X Max
  • A4X
  • A4
  • A3 Ultra
  • A3 Mega
  • A3 High

In den folgenden Abschnitten wird beschrieben, wie Sie CHS installieren und dann verwenden, um Systemdiagnosen durchzuführen und Ihre Konfiguration zu prüfen.

CHS installieren

So installieren Sie CHS:

  1. Rufen Sie die Seite Compute Engine > VM-Instanzen auf.

    Zur Seite „VM-Instanzen"

  2. Suchen Sie den Anmeldeknoten. Er hat möglicherweise einen Namen mit dem Muster DEPLOYMENT_NAME +login-001.

  3. Klicken Sie in der Spalte Verbinden des Anmeldeknotens auf SSH.

  4. 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
    
  5. Verwenden Sie den folgenden Befehl, um Abhängigkeiten für die Google Cloud CLI zu installieren:

    pip3 install -r cli/requirements.txt
    
  6. Optional: Wenn der Befehl configcheck Konfigurationswerte aus Ihrem Cluster abrufen soll, 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-Agenten hinzuzufügen:

    ssh-add ~/.ssh/google_compute_engine
    
  7. Verwenden Sie den folgenden Befehl, um den Alias cluster_diag für cluster_diag.py hinzuzufügen:

    alias cluster_diag="python3 cli/cluster_diag.py"
    

Systemdiagnose durchführen

Nachdem Sie CHS installiert haben, führen Sie die folgenden Schritte aus, um den Status Ihres GPU-Clusters zu prüfen:

  1. Rufen Sie die Seite Compute Engine > VM-Instanzen auf.

    Zur Seite „VM-Instanzen"

  2. Suchen Sie den Anmeldeknoten. Er hat möglicherweise einen Namen mit dem Muster DEPLOYMENT_NAME +login-001.

  3. Klicken Sie in der Spalte Verbinden des Anmeldeknotens auf SSH.

  4. Prüfen Sie, ob Sie sich im Stammverzeichnis des Repositorys befinden.

  5. Verwenden Sie den folgenden Befehl, um den aktuellen Status Ihres Clusters zu prüfen:

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
    

    Ersetzen Sie Folgendes:

    • ORCHESTRATOR: entweder gke oder slurm, je nachdem, welchen Orchestrator Sie verwenden.
    • GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:

      • a4x-maxgpu-4g-metal
      • a4x-highgpu-4g
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  6. Verwenden Sie den folgenden Befehl, um den Status einzelner GPUs in Ihrem Cluster zu prüfen:

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
    

    Ersetzen Sie Folgendes:

    • ORCHESTRATOR: entweder gke oder slurm, je nachdem, welchen Orchestrator Sie verwenden.
    • GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:
      • a4x-maxgpu-4g-metal
      • a4x-highgpu-4g
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  7. Optional: Verwenden Sie den folgenden Befehl, um zusätzliche Prüfungen auszuführen. Fügen Sie das Flag --run_only_on_available_nodes hinzu, um nicht verfügbare Knoten zu überspringen:

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
    

    Ersetzen Sie Folgendes:

    • ORCHESTRATOR: entweder gke oder slurm, je nachdem, welchen Orchestrator Sie verwenden.
    • GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:
      • a4x-maxgpu-4g-metal
      • a4x-highgpu-4g
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
    • CHECK: Die Prüfung, die Sie ausführen möchten. Verwenden Sie eine der folgenden Optionen:
      • Status
      • nccl
      • GPU
      • Straggler
      • Neper
      • tinymax

Konfiguration prüfen

Nachdem Sie CHS installiert haben, führen Sie die folgenden Schritte aus, um die Konfiguration Ihres Clusters zu prüfen:

  1. Prüfen Sie, ob Sie sich im Stammverzeichnis des Repositorys befinden.
  2. Verwenden Sie den folgenden Befehl, um die Konfiguration Ihres Clusters zu prüfen. Standardmäßig erzeugt dieser Befehl einen Unterschied. Wenn Sie den Unterschied überspringen und nur die Konfiguration ausgeben möchten, fügen Sie das Flag --no-diff hinzu:

    cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
    

    Ersetzen Sie Folgendes:

    • ORCHESTRATOR: entweder gke oder slurm, je nachdem, welchen Orchestrator Sie verwenden.
    • GPU_TYPE: Der GPU-Maschinentyp, den Sie verwenden. Dies kann einer der folgenden Werte sein:

      • a4x-maxgpu-4g-metal
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g

Der folgende Screenshot zeigt das Ergebnis einer erfolgreichen Konfigurationsprüfung:

Ein erfolgreiches Ergebnis der Konfigurationsprüfung.
Ergebnis einer erfolgreichen Konfigurationsprüfung (zum Vergrößern klicken)

Nächste Schritte