Visão geral

Este documento descreve o Collective Communication Analyzer (CoMMA), uma biblioteca para coletar telemetria do NCCL para serviços do Google Cloud . A telemetria do NCCL coleta métricas de performance e eventos operacionais que o NCCL gera durante a execução. A NVIDIA Collective Communication Library (NCCL) acelera a comunicação de alto desempenho entre GPUs executadas em paralelo e sistemas de computação distribuída. Essa comunicação de alto desempenho é especialmente útil para aprendizado profundo e computação de alto desempenho (HPC).

Para as versões 2.23 e mais recentes do NCCL, a NVIDIA lançou a API do plug-in de criação de perfil do NCCL, que permite aos desenvolvedores registrar callbacks de função para coletar telemetria durante as operações coletivas do NCCL. O Google oferece o Collective Communication Analyzer (CoMMA), uma biblioteca que usa a API do plug-in de criação de perfil da NCCL da NVIDIA para coletar telemetria da NCCL para serviços do Google Cloud . O CoMMA é instalado e ativado automaticamente em algumas imagens, mas também é possível desativar, reativar ou instalar e ativar manualmente o CoMMA para controlar a coleta de dados.

Imagens com o CoMMA ativado

Para os tipos de máquina A4X Max, A4X, A4, A3 Ultra, A3 Mega e A3 High (8 GPUs), o CoMMA é instalado e ativado automaticamente quando você usa imagens que empacotam o plug-in do pacote de infraestrutura do Google (gIB) do NCCL. As imagens a seguir contêm o plug-in gIB do NCCL:

Se você usa alguma das imagens e quer desativar a coleta de telemetria do NCCL pela CoMMA, consulte Desativar a CoMMA. No entanto, o CoMMA precisa estar ativado para que recursos como a detecção de straggler funcionem. Se você não usa essas imagens e quer ativar o CoMMA para coletar telemetria do NCCL, consulte Instalar o CoMMA.

Vantagens

A telemetria do NCCL coletada pelo CoMMA ajuda a identificar gargalos de desempenho, principalmente atrasos, na comunicação da GPU. O CoMMA coleta dados detalhados, como histogramas de latência para operações de comunicação coletiva. Um serviço de diagnóstico pode processar e usar esses dados para identificar os valores discrepantes.

O uso do CoMMA para coletar telemetria oferece os seguintes benefícios:

  • Necessário para a detecção de atrasos: o CoMMA coleta a telemetria detalhada do NCCL para identificar gargalos de desempenho ou atrasos na comunicação de GPU para GPU. O CoMMA fornece telemetria detalhada do NCCL que ajuda a identificar e resolver problemas em cargas de trabalho de treinamento de IA e ML em grande escala.

    Por exemplo, o CoMMA captura o algoritmo usado em operações do NCCL. Essas informações são importantes para a análise e o ajuste de performance, porque algoritmos diferentes podem ter características de desempenho significativamente variáveis com base na carga de trabalho e na configuração do sistema.

    O CoMMA também ajuda a resolver problemas de desempenho e erros abaixo do ideal. Ele rastreia erros originados em camadas de transporte de nível inferior, como TCP, RDMA ou estruturas de comutação, de volta a coletivos específicos do NCCL e nós de inicialização.

  • Rastreamento de baixa sobrecarga: o CoMMA usa recursos computacionais mínimos durante a coleta ativa de telemetria do NCCL, o que o torna ideal para cargas de trabalho de machine learning sensíveis ao desempenho e de longa duração, como o treinamento de modelos de linguagem grandes (LLMs).

  • Ampliar o escopo da telemetria do NCCL: o CoMMA usa a API do plug-in de criação de perfil do NCCL. Essa API coleta um escopo mais amplo de telemetria do NCCL em comparação com plug-ins baseados em transporte. Os plug-ins baseados em transporte coletam principalmente telemetria sobre o transporte de rede subjacente, incluindo transferências de dados por hardware e protocolos de rede. O plug-in do criador de perfis coleta telemetria para as operações de comunicação da NCCL, incluindo o tempo das comunicações coletivas, operações de proxy e transferências de dados.

Entenda como o CoMMA funciona

Durante o tempo de execução do aplicativo, a NCCL carrega automaticamente as bibliotecas do CoMMA instaladas no local especificado pela variável de ambiente LD_LIBRARY_PATH. Em seguida, o CoMMA coleta a telemetria do NCCL, que outros serviços do Google podem usar. Você também pode exportar esses dados para o sistema de arquivos local.

A seguir