Übersicht

In diesem Dokument wird der Collective Communication Analyzer (CoMMA) beschrieben, eine Bibliothek zum Erfassen von NCCL-Telemetriedaten für Google Cloud Dienste. NCCL-Telemetriedaten umfassen Leistungsmesswerte und Betriebsereignisse, die von NCCL während der Ausführung generiert werden. Die NVIDIA Collective Communication Library (NCCL) beschleunigt die Hochleistungskommunikation zwischen GPUs, die in parallelen und verteilten Computing-Systemen ausgeführt werden. Diese Hochleistungskommunikation ist besonders nützlich für Deep Learning und Hochleistungs-Computing (HPC).

Für NCCL-Versionen ab 2.23 hat NVIDIA die NCCL-Profiler-Plug-in API eingeführt, mit der Entwickler Funktions-Callbacks registrieren können, um Telemetriedaten während kollektiver NCCL-Vorgänge zu erfassen. Google bietet den Collective Communication Analyzer (CoMMA), eine Bibliothek, die die NCCL-Profiler-Plug-in-API von NVIDIA verwendet, um NCCL Telemetriedaten für Google Cloud Dienste zu erfassen. CoMMA wird für einige Images automatisch installiert und aktiviert. Sie können CoMMA aber auch deaktivieren, wieder aktivieren oder manuell installieren und aktivieren, um die Datenerfassung zu steuern.

Images, für die CoMMA aktiviert ist

Bei den Maschinentypen A4X Max, A4X, A4, A3 Ultra, A3 Mega und A3 High (8 GPUs) wird CoMMA installiert und automatisch aktiviert, wenn Sie Images verwenden, die das NCCL Google Infrastructure Bundle (gIB)-Plug-in enthalten. Die folgenden Images enthalten das NCCL gIB-Plug-in:

Wenn Sie eines dieser Images verwenden und verhindern möchten, dass CoMMA NCCL Telemetriedaten erfasst, lesen Sie den Abschnitt CoMMA deaktivieren. CoMMA muss jedoch aktiviert sein, damit Funktionen wie die Erkennung von Nachzüglern oder die Erkennung von nicht reagierenden Arbeitslasten funktionieren. Wenn Sie diese Images nicht verwenden und CoMMA aktivieren möchten, um NCCL-Telemetriedaten zu erfassen, lesen Sie den Abschnitt CoMMA installieren.

Vorteile

Mit den von CoMMA erfassten NCCL-Telemetriedaten lassen sich Leistungsengpässe, insbesondere Nachzügler, in der GPU-Kommunikation identifizieren. CoMMA erfasst detaillierte Daten wie Latenzhistogramme für kollektive Kommunikationsvorgänge. Ein Diagnosedienst kann diese Daten dann verarbeiten und verwenden, um Nachzügler zu ermitteln.

Die Verwendung von CoMMA zum Erfassen von Telemetriedaten bietet folgende Vorteile:

  • Erforderlich für die Erkennung von Nachzüglern und nicht reagierenden Arbeitslasten: CoMMA erfasst die detaillierten NCCL-Telemetriedaten, um Leistungs engpässe oder Nachzügler in der GPU-zu-GPU-Kommunikation zu identifizieren. CoMMA bietet detaillierte NCCL-Telemetriedaten, mit denen sich Probleme bei großen KI- und ML-Trainingsarbeitslasten identifizieren und beheben lassen.

    CoMMA erfasst beispielsweise den Algorithmus, der in NCCL-Vorgängen verwendet wird. Diese Informationen sind für die Leistungsanalyse und ‑optimierung wertvoll, da sich die Leistungsmerkmale verschiedener Algorithmen je nach Arbeitslast und Systemkonfiguration erheblich unterscheiden können.

    CoMMA hilft auch bei der Fehlerbehebung bei suboptimaler Leistung und Fehlern. Es verfolgt Fehler, die in Transportebenen niedrigerer Ebene wie TCP, RDMA oder Switch-Fabrics auftreten, bis zu bestimmten NCCL-Kollektiven und initiierenden Knoten zurück. Es kann erkennen, wenn ein Heartbeat-Telemetriesignal nicht mehr reagiert, und potenzielle Ursachen für nicht reagierende Arbeitslasten ermitteln.

  • Tracing mit geringem Overhead: CoMMA verwendet nur minimale Rechenressourcen während der aktiven NCCL-Telemetriedatenerfassung. Daher ist es ideal für leistungsempfindliche und lang andauernde Machine-Learning-Arbeitslasten wie das Training großer Large Language Models (LLMs).

  • Erweiterung des NCCL-Telemetriebereichs: CoMMA verwendet die NCCL-Profiler-Plug-in-API. Diese API erfasst im Vergleich zu transportbasierten Plug-ins einen größeren Bereich von NCCL-Telemetriedaten. Transportbasierte Plug-ins erfassen hauptsächlich Telemetriedaten zum zugrunde liegenden Netzwerktransport, einschließlich Datenübertragungen über Netzwerkhardware und Netzwerkprotokolle. Das Profiler-Plug-in erfasst Telemetriedaten für die Kommunikationsvorgänge von NCCL, einschließlich des Zeitpunkts kollektiver Kommunikation, Proxyvorgänge und Datenübertragungen.

Funktionsweise von CoMMA

Während der Laufzeit der Anwendung lädt NCCL automatisch die CoMMA-Bibliotheken, die am Speicherort installiert sind, der durch die Umgebungsvariable LD_LIBRARY_PATH angegeben wird. CoMMA erfasst dann NCCL-Telemetriedaten, die von anderen Google-Diensten verwendet werden können. Optional können Sie diese Daten auch in Ihr lokales Dateisystem exportieren.

Nächste Schritte