Descripción general

En este documento, se describe el Analizador de comunicación colectiva (CoMMA), una biblioteca para recopilar telemetría de NCCL para Google Cloud servicios. 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 sistemas de computación paralelos y distribuidos. 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 de 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), que es una biblioteca que usa la API del complemento de generador de perfiles de NCCL de NVIDIA para recopilar telemetría de NCCL para Google Cloud servicios. CoMMA se instala y habilita automáticamente para 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 CoMMA habilitado

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

Si usas alguna de las imágenes y deseas inhabilitar CoMMA para que no recopile telemetría de NCCL, consulta Inhabilita 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 telemetría de NCCL, consulta Instala CoMMA.

Beneficios

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

El uso de CoMMA para recopilar telemetría ofrece los siguientes beneficios:

  • Obligatorio para la detección de rezagados: CoMMA recopila la telemetría detallada de NCCL para identificar cuellos de botella de rendimiento o 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 diferentes 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 colectivos de NCCL específicos y nodos de inicio.

  • Seguimiento 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 (LLM) .

  • Amplía el alcance de la telemetría de NCCL: CoMMA usa la API del complemento de 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 telemetría sobre el transporte de red subyacente, incluidas las transferencias de datos a través de hardware de red y protocolos de red. El complemento de generador de perfiles recopila 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 están instaladas en la ubicación especificada por la variable de entorno LD_LIBRARY_PATH. Luego, CoMMA recopila 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?