PAI-Lingjun AI Computing Service (Lingjun) proporciona operaciones de API unificadas para consultar la distancia de comunicación de red (NCD) entre zonas perimetrales de GPU o tarjetas de interfaz de red. Esto le permite implementar una programación eficiente de trabajos y obtener un rendimiento óptimo de entrenamiento. Este tema describe los conceptos básicos de NCD, las razones para usarlo y su modo de uso.
Notas de uso
NCD representa la sobrecarga relativa de reenvío a través de la red física subyacente entre instancias aceleradas por GPU (nodos o NIC). No se trata de un valor absoluto de latencia de reenvío.
-
Si un nodo acelerado por GPU tiene varias NIC, el NCD entre dos nodos equivale al NCD mínimo entre todos los pares de NIC. El NCD se calcula con la fórmula a continuación:
NCD(Node1, Node2) = Min(NCD(Node1.LNI_i, Node2.LNI_j)). En esta fórmula, i es la cantidad de NIC en Node1 y j es la cantidad de NIC en Node2. NCD refleja la latencia de reenvío de red a través de switches físicos y no considera factores como NVLink. Si un nodo de GPU se conecta a varios leaf switches mediante varias NIC (conexión multi-rail), el NCD entre distintas NIC del mismo nodo de GPU es 2.
El treemap de NCD en la consola muestra únicamente las NIC que se usan para la comunicación del plano de datos. Se excluye la primera NIC o interfaz de red elástica.
Términos de NCD
NCD abstrae la distancia de comunicación física entre las NIC de los nodos de GPU a través de redes físicas. Un valor de NCD menor entre dos nodos de GPU o tarjetas de red indica una latencia de red más baja y una menor sobrecarga de comunicación. A continuación se muestra una arquitectura típica de red física de tres capas:
Donde:
Capa core: un core switch reenvía el tráfico entre los spine switches conectados a él.
Capa spine: un spine switch reenvía el tráfico entre los leaf switches conectados a él. Cada spine switch se conecta a un core switch.
Capa leaf: un leaf switch conecta las tarjetas de interfaz de red de la zona perimetral de GPU. Cada leaf switch se conecta a un spine switch.
Cada capa adicional de switch físico que atraviesan los nodos de la zona perimetral de GPU o las tarjetas de interfaz de red para comunicarse aumenta el NCD en 1.
Con base en el gráfico anterior, el NCD entre los nodos de la zona perimetral de GPU o las tarjetas de interfaz de red se calcula de la siguiente manera:
NCD(Node1, Node2) = 1.
NCD(Node1, Node3) = 2.
NCD(Node1, Node5) = 3.
El NCD entre nodos de GPU que se comunican a través de switches de la capa core es 10.
Casos especiales:
En escenarios sin multi-rail, el NCD entre nodos de GPU equivale al NCD entre sus NIC. En un escenario de conexión multi-rail, las NIC de un solo nodo de GPU se conectan a distintos grupos de ASW (por ejemplo, ocho enlaces ascendentes). Por lo tanto, el NCD entre dos nodos de GPU puede diferir del NCD entre NIC individuales de Lingjun. Por ejemplo: NCD(GPU1.bond0, GPU2.bond0) = 1, NCD(GPU1.bond0, GPU2.bond1) = 2.
Para simplificar esto, se aplica el principio de reducción: NCD(GPU1, GPU2) = min(NCD(GPU1.anyLNI, GPU2.anyLNI)). El NCD entre dos nodos de GPU equivale al NCD mínimo entre cualquier par de NIC de Lingjun que exista entre ellos.
Por qué se usa NCD
-
Problemas
En una topología de red física determinada, el rendimiento de comunicación entre nodos de GPU varía de forma significativa. Esto se debe a las diferencias de latencia y a la distribución desigual de hash que genera el reenvío de tráfico a través de varios saltos de switch. Como resultado, el throughput presenta variaciones durante el entrenamiento de modelos.
-
Solución
Como se muestra en la figura anterior, suponga que el orden de comunicación es Node1→Node2→Node3→Node4. Placement-1 ofrece un mejor rendimiento que Placement-2 porque el tráfico en Placement-1 cruza la capa spine solo una vez, mientras que Placement-2 requiere tres reenvíos a través de dicha capa.
Para atender estos requisitos, PAI Lingjun proporciona una interfaz de consulta de NCD unificada. Esta interfaz le permite consultar la distancia de comunicación entre nodos de GPU o NIC para lograr una programación de trabajos más eficiente y un rendimiento de entrenamiento óptimo.
Consulta de NCD en la consola
La consola de Lingjun proporciona un treemap de NCD de todos los nodos de GPU del clúster. Este treemap visualiza la topología de red física en un formato conciso y fácil de leer. Para consultar el treemap, siga estos pasos:
Inicie sesión en la consola de Lingjun.
En el panel de navegación izquierdo, seleccione Network Resources > Resource overview.
-
En la sección Physical Topology, elija un bloque CIDR de Lingjun en la lista desplegable y haga clic en Search para ver el treemap de NCD correspondiente.
NotaEl treemap de NCD muestra únicamente las NIC secundarias, es decir, todas las NIC excepto la primera.

También puede elegir una NIC de Lingjun en la lista desplegable y hacer clic en Search para ver el treemap de NCD que contiene únicamente esa NIC.
