Ü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 gIB-NCCL-Plug-in enthalten. Die folgenden Images enthalten das gIB-NCCL-Plug-in:

Wenn Sie eines dieser Images verwenden und die Erfassung von NCCL Telemetriedaten durch CoMMA deaktivieren möchten, lesen Sie 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 CoMMA installieren.

Vorteile

Die von CoMMA erfassten NCCL-Telemetriedaten helfen, Leistungsengpässe, insbesondere Nachzügler, in der GPU-Kommunikation zu 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 umfangreichen 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 Erfassung von NCCL-Telemetriedaten. Daher ist es ideal für leistungsempfindliche und lang andauernde Arbeitslasten für maschinelles Lernen wie das Training großer Sprachmodelle.

  • Erweiterung des Umfangs der NCCL-Telemetriedaten: CoMMA verwendet die NCCL-Profiler-Plug-in-API. Mit dieser API werden im Vergleich zu transportbasierten Plug-ins mehr NCCL-Telemetriedaten erfasst. 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 Timings von kollektiven Kommunikationen, Proxyvorgängen 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