Clusters de test

Ce document explique comment tester les problèmes liés à vos clusters de GPU à l'aide de l'outil Cluster Health Scanner (CHS). Si vous souhaitez tester un cluster que vous avez créé dans Cluster Director, consultez plutôt Surveiller l'état d'un cluster.

L'outil CHS vérifie l'état de vos clusters de GPU en exécutant des tests pour s'assurer qu'ils sont prêts à exécuter vos charges de travail. Vous pouvez utiliser CHS pour effectuer des vérifications d'état proactives ou comme outil de diagnostic lorsque vous rencontrez des problèmes avec une charge de travail. En plus de vérifier la configuration de votre cluster, vous pouvez effectuer les tests suivants :

  • Vérification NCCL : valide la communication réseau entre les GPU à l'aide de la bibliothèque NVIDIA Collective Communications Library (NCCL).
  • Vérification du GPU : utilise l'outil Data Center GPU Manager (DCGM) de NVIDIA pour vérifier l'état de chaque GPU.
  • Vérification Neper : utilise l'outil Neper pour évaluer les performances réseau au sein du cluster.
  • Détection des tâches lentes : exécute un modèle de trafic réseau entre les nœuds qui ressemble beaucoup aux modèles observés lors du parallélisme du pipeline de charge de travail d'entraînement LLM. En savoir plus sur la détection des retardataires
  • Vérification Tinymax : utilise Maxtext, un framework LLM Open Source, pour évaluer l'entraînement ML dans le cluster.

Vous ne pouvez exécuter des vérifications et des tests CHS que sur les nœuds qui n'exécutent aucune tâche ni charge de travail. Si vous essayez d'exécuter une vérification ou un test sur un nœud occupé, la vérification ou le test échoue.

L'outil CHS est disponible pour les clusters de GPU orchestrés par Google Kubernetes Engine (GKE) ou Slurm, quel que soit le modèle d'approvisionnement que vous avez utilisé pour créer les clusters. Toutefois, le CHS n'est disponible que pour les types de machines suivants :

  • A4
  • A3 Ultra
  • A3 Mega
  • A3 High

Les sections suivantes décrivent comment installer CHS, puis comment l'utiliser pour effectuer des vérifications de l'état et vérifier votre configuration.

Installer CHS

Procédez comme suit pour installer CHS :

  1. Accédez à la page Compute Engine > Instances de VM.

    Accéder à la page "Instances de VM"

  2. Recherchez le nœud de connexion. Il peut avoir un nom au format DEPLOYMENT_NAME+login-001.

  3. Dans la colonne Connecter du nœud de connexion, cliquez sur SSH.

  4. Utilisez la commande suivante pour cloner le dépôt et accéder à son répertoire racine :

    git clone https://github.com/GoogleCloudPlatform/cluster-health-scanner && cd cluster-health-scanner
    
  5. Utilisez la commande suivante pour installer les dépendances de Google Cloud CLI :

    pip3 install -r cli/requirements.txt
    
  6. Facultatif : Pour permettre à la commande configcheck d'extraire les valeurs de configuration de votre cluster sans avoir à vous réauthentifier pour chaque machine, utilisez la commande suivante pour ajouter votre clé SSH Google Cloud CLI à votre agent SSH local :

    ssh-add ~/.ssh/google_compute_engine
    
  7. Exécutez la commande suivante pour ajouter l'alias cluster_diag pour cluster_diag.py :

    alias cluster_diag="python3 cli/cluster_diag.py"
    

Effectuer une vérification de l'état

Une fois que vous avez installé CHS, procédez comme suit pour vérifier l'état de votre cluster de GPU :

  1. Accédez à la page Compute Engine > Instances de VM.

    Accéder à la page "Instances de VM"

  2. Recherchez le nœud de connexion. Il peut avoir un nom au format DEPLOYMENT_NAME+login-001.

  3. Dans la colonne Connecter du nœud de connexion, cliquez sur SSH.

  4. Vérifiez que vous êtes dans le répertoire racine du dépôt.

  5. Exécutez la commande suivante pour vérifier l'état actuel de votre cluster :

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE status
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR : gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE : type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  6. Exécutez la commande suivante pour vérifier l'état des GPU individuels de votre cluster :

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE gpu
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR : gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE : type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
  7. Facultatif : utilisez la commande de modèle suivante pour exécuter des vérifications supplémentaires. Envisagez d'ajouter l'indicateur --run_only_on_available_nodes pour ignorer les nœuds non disponibles :

    cluster_diag -o ORCHESTRATOR healthscan GPU_TYPE CHECK
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR : gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE : type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g
    • CHECK : vérification que vous souhaitez exécuter. Utilisez l'une des options suivantes :
      • état
      • nccl
      • gpu
      • straggler
      • neper
      • tinymax

Vérifier votre configuration

Une fois CHS installé, procédez comme suit pour vérifier la configuration de votre cluster :

  1. Vérifiez que vous êtes dans le répertoire racine du dépôt.
  2. Exécutez la commande suivante pour vérifier la configuration de votre cluster. Par défaut, cette commande produit un diff. Pour l'ignorer et n'imprimer que la configuration, ajoutez l'indicateur --no-diff :

    cluster_diag -o ORCHESTRATOR configcheck GPU_TYPE
    

    Remplacez les éléments suivants :

    • ORCHESTRATOR : gke ou slurm, selon l'orchestrateur que vous utilisez.
    • GPU_TYPE : type de machine GPU que vous utilisez, qui peut être l'une des valeurs suivantes :
      • a4-highgpu-8g
      • a3-ultragpu-8g
      • a3-megagpu-8g
      • a3-highgpu-8g
      • a3-highgpu-4g
      • a3-highgpu-2g
      • a3-highgpu-1g

La capture d'écran suivante montre le résultat d'une vérification de la configuration réussie :

Résultat positif de la vérification de la configuration.
Résultat positif de la vérification de la configuration (cliquez pour agrandir).

Étapes suivantes