Questo documento descrive Collective Communication Analyzer (CoMMA), una libreria per la raccolta della telemetria NCCL per i servizi Google Cloud . La telemetria NCCL raccoglie metriche di rendimento ed eventi operativi che NCCL genera 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 il computing ad alte prestazioni (HPC).
Per le versioni 2.23 e successive di NCCL, NVIDIA ha introdotto l'API del plug-in profiler NCCL, che consente agli sviluppatori di registrare i callback delle funzioni per raccogliere la telemetria durante le operazioni collettive NCCL. Google fornisce Collective Communication Analyzer (CoMMA), una libreria che utilizza l'API del plug-in 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 macchine A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPU), CoMMA è installato e attivato automaticamente quando utilizzi immagini che includono il plug-in NCCL Google Infrastructure Bundle (gIB). 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: utilizzi queste immagini per eseguire il deployment e configurare framework e librerie di AI e ML sui cluster GKE.
Se utilizzi una delle immagini e vuoi disattivare CoMMA per impedire la raccolta dei dati di telemetria NCCL, consulta Disattivare CoMMA. Tuttavia, CoMMA deve essere abilitato per il funzionamento di funzionalità come il rilevamento di ritardatari. Se non utilizzi queste immagini e vuoi consentire a CoMMA di raccogliere la telemetria NCCL, consulta Installare CoMMA.
Vantaggi
La telemetria NCCL raccolta da CoMMA aiuta a identificare i colli di bottiglia delle prestazioni, in particolare i ritardatari, nella comunicazione 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 i dispositivi che non rispondono.
L'utilizzo di CoMMA per raccogliere dati di telemetria offre i seguenti vantaggi:
Obbligatorio per il rilevamento di ritardatari: CoMMA raccoglie la telemetria NCCL granulare per identificare i colli di bottiglia delle prestazioni o i ritardatari nella comunicazione da GPU a GPU. CoMMA fornisce dati di telemetria NCCL dettagliati che aiutano a identificare e risolvere i problemi nei carichi di lavoro di addestramento di AI e ML su larga scala.
Ad esempio, CoMMA acquisisce l'algoritmo utilizzato nelle operazioni NCCL. Queste informazioni sono preziose per l'analisi e l'ottimizzazione delle prestazioni perché algoritmi diversi possono avere caratteristiche di rendimento significativamente diverse in base al carico di lavoro e alla configurazione di sistema.
CoMMA aiuta anche a risolvere i problemi di prestazioni non ottimali ed errori. Traccia gli errori che hanno origine nei livelli di trasporto di livello inferiore, ad esempio TCP, RDMA o switch fabric, fino a collettivi NCCL specifici e nodi di avvio.
Tracciamento a basso overhead: CoMMA utilizza risorse di calcolo minime durante la raccolta attiva della telemetria NCCL, il che lo rende ideale per workload di machine learning sensibili alle prestazioni e di lunga durata, come l'addestramento di modelli linguistici di grandi dimensioni (LLM).
Amplia l'ambito della telemetria NCCL: CoMMA utilizza l'API del plug-in Profiler NCCL. Questa API raccoglie un ambito più ampio 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 Profiler raccoglie la telemetria per le operazioni di comunicazione di NCCL, inclusi i tempi di comunicazioni collettive, operazioni proxy e trasferimenti di dati.
Informazioni sul funzionamento di 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. 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 ai ritardatari.