Descripción general

En este documento, se describe Collective Communication Analyzer (CoMMA), una biblioteca para recopilar 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 GPU que se ejecutan en paralelo y los sistemas de procesamiento distribuido. 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 presentó 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 la 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 inhabilitarlo, volver a habilitarlo o instalarlo y habilitarlo de forma manual para controlar la recopilación de datos.

Imágenes que tienen habilitado CoMMA

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

Si usas alguna de estas imágenes y deseas inhabilitar CoMMA para que no recopile la telemetría de NCCL, consulta Inhabilita CoMMA. Sin embargo, CoMMA debe estar habilitado para que funcionen funciones como la detección de rezagados o la detección de cargas de trabajo que no responden. Si no usas estas imágenes y quieres 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 en el rendimiento, específicamente los rezagados, en la comunicación de 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 los rezagados.

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

  • Obligatorio para la detección de rezagados y de cargas de trabajo que no responden: 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 las 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 que varían de forma significativa según la carga de trabajo y la configuración del sistema.

    CoMMA también ayuda a solucionar problemas de rendimiento y errores subóptimos. Rastrea los errores que se originan en capas de transporte de nivel inferior, como TCP, RDMA o estructuras de conmutación, hasta colectivos de NCCL específicos y nodos de inicio. Puede reconocer cuando una señal de telemetría de latido deja de responder y rastrear las posibles causas de las cargas de trabajo que no responden.

  • Seguimiento con 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 del hardware de red y los protocolos de red. El complemento del 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 se instalan en la ubicación especificada por la variable de entorno LD_LIBRARY_PATH. Luego, CoMMA recopila la 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?