Aperçu

Ce document décrit Collective Communication Analyzer (CoMMA), une bibliothèque permettant de collecter des données de télémétrie NCCL pour les Google Cloud services. La télémétrie NCCL collecte des métriques de performances et des événements opérationnels générés par NCCL lors de son exécution. La bibliothèque NVIDIA Collective Communication Library (NCCL) accélère la communication hautes performances entre les GPU exécutés en parallèle et les systèmes de calcul distribués. Cette communication hautes performances est particulièrement utile pour le deep learning et le calcul hautes performances (HPC).

Pour les versions 2.23 et ultérieures de NCCL, NVIDIA a introduit l'API de plug-in de profileur NCCL, qui permet aux développeurs d'enregistrer des rappels de fonction pour collecter des données de télémétrie lors d'opérations collectives NCCL. Google fournit le Collective Communication Analyzer (CoMMA), une bibliothèque qui utilise l'API de plug-in de profileur NCCL de NVIDIA pour collecter des données de télémétrie NCCL pour les Google Cloud services. CoMMA s'installe et s'active automatiquement pour certaines images, mais vous pouvez également désactiver, réactiver ou installer et activer manuellement CoMMA pour contrôler la collecte de données.

Images pour lesquelles CoMMA est activé

Pour les types de machines A4X Max, A4X, A4, A3 Ultra, A3 Mega et A3 High (8 GPU), CoMMA est installé et activé automatiquement lorsque vous utilisez des images qui empaquettent le plug-in gIB NCCL. Les images suivantes contiennent le plug-in gIB NCCL :

Si vous utilisez l'une de ces images et que vous souhaitez désactiver la collecte de données de télémétrie NCCL par CoMMA, consultez Désactiver CoMMA. Toutefois, CoMMA doit être activé pour que des fonctionnalités telles que la détection des traînards ou la détection des charges de travail qui ne répondent pas fonctionnent. Si vous n'utilisez pas ces images et que vous souhaitez activer CoMMA pour collecter des données de télémétrie NCCL, consultez Installer CoMMA.

Avantages

Les données de télémétrie NCCL collectées par CoMMA permettent d'identifier les goulots d'étranglement des performances, en particulier les traînards, dans la communication GPU. CoMMA collecte des données précises, telles que des histogrammes de latence pour les opérations de communication collective. Un service de diagnostic peut ensuite traiter et utiliser ces données pour identifier les traînards.

L'utilisation de CoMMA pour collecter des données de télémétrie présente les avantages suivants :

  • Obligatoire pour la détection des traînards et la détection des charges de travail qui ne répondent pas: CoMMA collecte les données de télémétrie NCCL précises pour identifier les goulots d'étranglement des performances ou les traînards dans la communication GPU à GPU. CoMMA fournit des données de télémétrie NCCL détaillées qui permettent d'identifier et de résoudre les problèmes liés aux charges de travail d'entraînement d'IA et de ML à grande échelle.

    Par exemple, CoMMA capture l'algorithme utilisé dans les opérations NCCL. Ces informations sont utiles pour l'analyse et le réglage des performances, car différents algorithmes peuvent présenter des caractéristiques de performances très variables en fonction de la charge de travail et de la configuration du système.

    CoMMA permet également de résoudre les problèmes de performances et les erreurs sous-optimales. Il retrace les erreurs provenant des couches de transport de niveau inférieur, telles que TCP, RDMA ou les fabrics de commutation, jusqu'aux collectifs NCCL spécifiques et aux nœuds d'initiation. Il peut reconnaître quand un signal de télémétrie de pulsation cesse de répondre et suivre les causes potentielles des charges de travail qui ne répondent pas.

  • Suivi à faible surcharge : CoMMA utilise un minimum de ressources de calcul lors de la collecte active de données de télémétrie NCCL, ce qui le rend idéal pour les charges de travail de machine learning sensibles aux performances et de longue durée, comme l'entraînement de grands modèles de langage (LLM).

  • Élargissement du champ d'application de la télémétrie NCCL : CoMMA utilise l'API de plug-in de profileur NCCL. Cette API collecte un champ d'application plus large de données de télémétrie NCCL que les plug-ins basés sur le transport. Les plug-ins basés sur le transport collectent principalement des données de télémétrie sur le transport réseau sous-jacent, y compris les transferts de données sur le matériel réseau et les protocoles réseau. Le plug-in de profileur collecte des données de télémétrie pour les opérations de communication de NCCL, y compris la synchronisation des communications collectives, les opérations de proxy et les transferts de données.

Comprendre le fonctionnement de CoMMA

Lors de l'exécution de l'application, NCCL charge automatiquement les bibliothèques CoMMA installées à l'emplacement spécifié par la variable d'environnement LD_LIBRARY_PATH. CoMMA collecte ensuite des données de télémétrie NCCL, que d'autres services Google peuvent ensuite utiliser. Vous pouvez également exporter ces données vers votre système de fichiers local.

Étape suivante