Questo documento descrive Collective Communication Analyzer (CoMMA), una libreria per la raccolta della telemetria NCCL per i servizi Google Cloud . La telemetria NCCL raccoglie le metriche sul rendimento e gli eventi operativi generati da NCCL durante l'esecuzione. La NVIDIA Collective Communication Library (NCCL) accelera la comunicazione ad alte prestazioni tra le GPU in esecuzione in parallelo e i sistemi di computing distribuito. Questa comunicazione ad alte prestazioni è particolarmente utile per il deep learning e l'high performance computing (HPC).
Per le versioni NCCL 2.23 e successive, NVIDIA ha introdotto l'API del plug-in del profiler NCCL, che consente agli sviluppatori di registrare i callback delle funzioni per raccogliere la telemetria durante le operazioni collettive NCCL. Google fornisce il Collective Communication Analyzer (CoMMA), una libreria che utilizza l'API del plug-in del profiler NCCL di NVIDIA per raccogliere la telemetria NCCL per i servizi Google Cloud . CoMMA viene installato e attivato automaticamente per alcune immagini, ma puoi anche disattivarlo, riattivarlo o installarlo e attivarlo manualmente per controllare la raccolta dei dati.
Immagini con CoMMA abilitato
Per i tipi di macchina A5X, A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU), CoMMA viene installato e attivato automaticamente quando utilizzi immagini che pacchettizzano il plug-in gIB NCCL. Le seguenti immagini contengono il plug-in NCCL gIB:
- Immagini dei nodi Container-Optimized OS con containerd (cos_containerd): Google Kubernetes Engine (GKE) utilizza queste immagini per creare cluster GKE Autopilot. I file binari di CoMMA sono disponibili nella directory
/home/kubernetes/bin/gib. - Immagini container del livello software di deep learning: utilizza queste immagini per eseguire il deployment e configurare framework e librerie di AI e ML sui cluster GKE.
Se utilizzi una di queste immagini e vuoi disattivare la raccolta della telemetria NCCL da parte di CoMMA, consulta Disattiva CoMMA. Tuttavia, CoMMA deve essere abilitato per il funzionamento di funzionalità come il rilevamento di straggler o il rilevamento di workload che non rispondono. Se non utilizzi queste immagini e vuoi attivare CoMMA per raccogliere la telemetria NCCL, consulta Installa CoMMA.
Vantaggi
La telemetria NCCL raccolta da CoMMA aiuta a identificare i colli di bottiglia delle prestazioni, in particolare i ritardatari, nella comunicazione della GPU. CoMMA raccoglie dati granulari, come gli istogrammi di latenza per le operazioni di comunicazione collettiva. Un servizio di diagnostica può quindi elaborare e utilizzare questi dati per individuare gli elementi lenti.
L'utilizzo di CoMMA per raccogliere i dati di telemetria offre i seguenti vantaggi:
Obbligatorio per il rilevamento di straggler e workload che non rispondono: CoMMA raccoglie la telemetria NCCL granulare per identificare i colli di bottiglia delle prestazioni o gli straggler nella comunicazione tra GPU. CoMMA fornisce una telemetria NCCL dettagliata che aiuta a identificare e risolvere i problemi nei workload di addestramento di AI e ML su larga scala.
Ad esempio, CoMMA acquisisce l'algoritmo utilizzato nelle operazioni NCCL. Queste informazioni sono utili per l'analisi e l'ottimizzazione delle prestazioni, poiché algoritmi diversi possono avere caratteristiche di prestazioni notevolmente diverse in base al workload e alla configurazione del sistema.
CoMMA aiuta anche a risolvere i problemi relativi a prestazioni non ottimali ed errori. Traccia gli errori provenienti da livelli di trasporto di livello inferiore, come TCP, RDMA o fabric di switch, fino a collettivi NCCL specifici e nodi di avvio. Può riconoscere quando un segnale di telemetria heartbeat smette di rispondere e individuare le potenziali cause dei workload che non rispondono.
Tracciamento a basso overhead: CoMMA utilizza risorse di computing minime durante la raccolta attiva della telemetria NCCL, il che lo rende ideale per workload di machine learning sensibili alle prestazioni e a lunga esecuzione, come l'addestramento di modelli linguistici di grandi dimensioni (LLM).
Amplia l'ambito della telemetria NCCL: CoMMA utilizza l'API del plug-in del profiler NCCL. Questa API raccoglie un ambito più ampio di dati di telemetria NCCL rispetto ai plug-in basati sul trasporto. I plug-in basati sul trasporto raccolgono principalmente dati di telemetria sul trasporto di rete sottostante, inclusi i trasferimenti di dati su hardware di rete e protocolli di rete. Il plug-in del profiler raccoglie la telemetria per le operazioni di comunicazione di NCCL, tra cui la tempistica delle comunicazioni collettive, le operazioni proxy e i trasferimenti di dati.
Scopri come funziona CoMMA
Durante il runtime dell'applicazione, NCCL carica automaticamente le librerie CoMMA installate nella posizione specificata dalla variabile di ambiente LD_LIBRARY_PATH. CoMMA raccoglie quindi la telemetria NCCL, che può essere utilizzata da altri servizi Google. Se vuoi, puoi anche esportare questi dati nel tuo file system locale.
Passaggi successivi
- Scopri come attivare, disattivare e configurare CoMMA.
- Scopri come risolvere i problemi relativi a CoMMA.
- Scopri come rilevare e risolvere i problemi relativi agli straggler.
- Scopri come rilevare i workload che non rispondono.