O PAI-Lingjun AI Computing Service (Lingjun) oferece operações de API unificadas para consultar a distância de comunicação de rede (NCD) entre zonas de borda de GPU (ou placas de interface de rede). Esse recurso permite implementar um agendamento eficiente de jobs e obter o melhor desempenho de treinamento. Este tópico descreve os conceitos básicos de NCD, os motivos para utilizá-lo e como usá-lo.
Observações de uso
A NCD representa a sobrecarga relativa de encaminhamento na rede física subjacente entre instâncias aceleradas por GPU (nós ou NICs), e não um valor absoluto de latência de encaminhamento.
-
Caso um nó acelerado por GPU possua várias NICs, a NCD entre dois nós corresponde à menor NCD entre todos os pares de NICs. O cálculo da NCD utiliza a seguinte fórmula:
NCD(Node1, Node2) = Min(NCD(Node1.LNI_i, Node2.LNI_j)). Nesta fórmula, i é o número de NICs no Node1 e j é o número de NICs no Node2. A NCD reflete a latência de encaminhamento de rede através de switches físicos e não considera fatores como NVLink. Se um nó GPU se conectar a vários leaf switches por meio de múltiplas NICs (conexão multi-rail), a NCD entre diferentes NICs no mesmo nó GPU será 2.
O treemap de NCD no console exibe apenas as NICs usadas para comunicação do plano de dados, excluindo a primeira NIC (ou Elastic Network Interface).
Termos de NCD
A NCD abstrai a distância física de comunicação entre NICs em nós GPU através de redes físicas. Um valor menor de NCD entre dois nós GPU (ou placas de rede) indica menor latência de rede e menos sobrecarga de comunicação. A figura a seguir mostra uma arquitetura típica de rede física de três camadas:
Onde:
Camada core: Um switch core encaminha o tráfego entre os spine switches conectados a ele.
Camada spine: Um switch spine encaminha o tráfego entre os leaf switches conectados a ele. Cada switch spine se conecta a um switch core.
Camada leaf: Um switch leaf conecta as placas de interface de rede da zona de borda de GPU. Cada switch leaf se conecta a um switch spine.
Cada camada adicional de switch físico que os nós da zona de borda de GPU (ou placas de interface de rede) atravessam para comunicação aumenta a NCD em 1.
Com base no grafo anterior, a NCD entre nós da zona de borda de GPU (ou placas de interface de rede) é calculada da seguinte forma:
NCD(Node1, Node2) = 1.
NCD(Node1, Node3) = 2.
NCD(Node1, Node5) = 3.
A NCD entre nós GPU que se comunicam através de switches da camada core é 10.
Casos especiais:
Em cenários sem multi-rail, a NCD entre nós GPU equivale à NCD entre suas NICs. Em um cenário de conexão multi-rail, as NICs de um único nó GPU se conectam a diferentes grupos de ASWs (por exemplo, oito uplinks). Consequentemente, a NCD entre dois nós GPU pode diferir da NCD entre NICs Lingjun individuais. Por exemplo: NCD(GPU1.bond0, GPU2.bond0) = 1, NCD(GPU1.bond0, GPU2.bond1) = 2.
Para simplificar, aplica-se o princípio de redução: NCD(GPU1, GPU2) = min(NCD(GPU1.anyLNI, GPU2.anyLNI)). A NCD entre dois nós GPU corresponde à menor NCD entre qualquer par de NICs Lingjun conectando-os.
Por que usar a NCD
-
Problemas
Em uma determinada topologia de rede física, o desempenho de comunicação entre nós GPU pode variar significativamente devido a diferenças de latência e distribuição desigual de hash causadas pelo encaminhamento de tráfego através de múltiplos saltos de switch. Isso resulta em variações de throughput durante o treinamento de modelos.
-
Solução
Conforme mostrado na figura anterior, assumindo que a ordem de comunicação seja Node1→Node2→Node3→Node4, o Placement-1 supera o Placement-2 porque o tráfego no Placement-1 cruza a camada spine apenas uma vez, enquanto o Placement-2 exige três encaminhamentos através da camada spine.
Para atender a esses requisitos, o PAI Lingjun fornece uma interface unificada de consulta de NCD que permite consultar a distância de comunicação entre nós GPU (ou NICs) para um agendamento de jobs mais eficiente e desempenho ideal de treinamento.
Consultar NCD no console
O console Lingjun oferece um treemap de NCD de todos os nós GPU no cluster. O treemap visualiza a topologia da rede física em um formato conciso e legível. Para consultar o treemap:
Faça login no console Lingjun.
Na barra de navegação à esquerda, escolha Network Resources > Resource overview.
-
Na seção Physical Topology, selecione um bloco CIDR Lingjun na lista suspensa e clique em Search para visualizar o treemap de NCD correspondente.
NotaO treemap de NCD exibe apenas as NICs finais, que são todas as NICs exceto a primeira.

Também é possível selecionar uma NIC Lingjun na lista suspensa e clicar em Search para visualizar o treemap de NCD contendo apenas essa NIC.
