Descripción general

En este documento, se describe Collective Communication Analyzer (CoMMA), una biblioteca para recopilar datos de telemetría de NCCL para los servicios de Google Cloud . La telemetría de NCCL recopila métricas de rendimiento y eventos operativos que NCCL genera durante su ejecución. La biblioteca de comunicación colectiva de NVIDIA (NCCL) acelera la comunicación de alto rendimiento entre las GPUs que se ejecutan en paralelo y los sistemas de computación distribuida. Esta comunicación de alto rendimiento es especialmente útil para el aprendizaje profundo y la computación de alto rendimiento (HPC).

Para las versiones 2.23 y posteriores de NCCL, NVIDIA introdujo la API del complemento del generador de perfiles de NCCL, que permite a los desarrolladores registrar devoluciones de llamada de funciones para recopilar telemetría durante las operaciones colectivas de NCCL. Google proporciona el Analizador de comunicación colectiva (CoMMA), una biblioteca que usa la API del complemento del generador de perfiles de NCCL de NVIDIA para recopilar datos de telemetría de NCCL para los servicios de Google Cloud . CoMMA se instala y habilita automáticamente en algunas imágenes, pero también puedes inhabilitar, volver a habilitar o instalar y habilitar CoMMA de forma manual para controlar la recopilación de datos.

Imágenes que tienen habilitado CoMMA

En los tipos de máquinas A4X Max, A4X, A4, A3 Ultra, A3 Mega y A3 High (8 GPUs), CoMMA se instala y se habilita automáticamente cuando usas imágenes que incluyen el complemento de NCCL Google Infrastructure Bundle (gIB). Las siguientes imágenes contienen el complemento NCCL gIB:

Si usas alguna de las imágenes y quieres inhabilitar CoMMA para que no recopile datos de telemetría de NCCL, consulta Cómo inhabilitar CoMMA. Sin embargo, CoMMA debe estar habilitado para que funcionen funciones como la detección de rezagados. Si no usas estas imágenes y deseas habilitar CoMMA para recopilar datos de telemetría de NCCL, consulta Cómo instalar CoMMA.

Beneficios

La telemetría de NCCL que recopila CoMMA ayuda a identificar los cuellos de botella de rendimiento, específicamente los rezagados, en la comunicación de la GPU. CoMMA recopila datos detallados, como histogramas de latencia para las operaciones de comunicación colectiva. Luego, un servicio de diagnóstico puede procesar y usar estos datos para identificar los rezagados.

Usar CoMMA para recopilar datos de telemetría ofrece los siguientes beneficios:

  • Obligatorio para la detección de rezagados: CoMMA recopila la telemetría detallada de NCCL para identificar los cuellos de botella de rendimiento o los rezagados en la comunicación de GPU a GPU. CoMMA proporciona telemetría detallada de NCCL que ayuda a identificar y resolver problemas en cargas de trabajo de entrenamiento de IA y AA a gran escala.

    Por ejemplo, CoMMA captura el algoritmo que se usa en las operaciones de NCCL. Esta información es valiosa para el análisis y el ajuste del rendimiento, ya que los diferentes algoritmos pueden tener características de rendimiento muy variables según la carga de trabajo y la configuración del sistema.

    CoMMA también ayuda a solucionar problemas de rendimiento y errores no óptimos. Realiza un seguimiento de los errores que se originan en las capas de transporte de nivel inferior, como TCP, RDMA o estructuras de conmutación, hasta los colectivos de NCCL específicos y los nodos de inicio.

  • Registro de baja sobrecarga: CoMMA usa recursos de procesamiento mínimos durante la recopilación activa de telemetría de NCCL, lo que lo hace ideal para cargas de trabajo de aprendizaje automático sensibles al rendimiento y de larga duración, como el entrenamiento de modelos de lenguaje grandes (LLMs).

  • Amplía el alcance de la telemetría de NCCL: CoMMA usa la API del complemento del generador de perfiles de NCCL. Esta API recopila un alcance más amplio de telemetría de NCCL en comparación con los complementos basados en el transporte. Los complementos basados en el transporte recopilan principalmente datos de telemetría sobre el transporte de red subyacente, incluidas las transferencias de datos a través de hardware y protocolos de red. El complemento del generador de perfiles recopila datos de telemetría para las operaciones de comunicación de NCCL, incluido el tiempo de las comunicaciones colectivas, las operaciones de proxy y las transferencias de datos.

Comprende cómo funciona CoMMA

Durante el tiempo de ejecución de la aplicación, NCCL carga automáticamente las bibliotecas de CoMMA que se instalan en la ubicación especificada por la variable de entorno LD_LIBRARY_PATH. Luego, CoMMA recopila datos de telemetría de NCCL, que otros servicios de Google pueden usar. También puedes exportar estos datos a tu sistema de archivos local de forma opcional.

¿Qué sigue?