PAI-Lingjun AI Computing Service (Lingjun) は、統合API操作を提供して、Lingjun GPUアクセラレーションノードまたはLingjunネットワークインターフェイス (LNI) 間のネットワーク通信距離 (NCD) に関する情報を照会します。 これにより、効率的なタスクスケジューリングを実装し、最適なトレーニングパフォーマンスを得ることができます。 このトピックでは、NCDの基本概念、NCDを使用する理由、およびNCDの使用方法について説明します。
使用上の注意
Lingjun GPU加速ノードまたはLNI間のNCDは、基盤となる物理ネットワーク全体の転送オーバーヘッドの参照として機能しますが、転送レイテンシの正確な尺度ではありません。
複数のLNIが2つのLingjun GPUアクセラレーションノードに設定されている場合、2つのノード間のNCDは、2つのノードにわたる任意のペアのLNI間の最小NCD値に等しくなります。 この場合、NCDは次の式に基づいて計算されます。
NCD(Node1,Node2) = Min(NCD(Node1.LNI_i,Node2.LNI_j))。 ここで、iはNode1に設定されるLNIの数を示し、jはNode2に設定されるLNIの数を示す。NCDは、NVLinkが使用されているかどうかに関係なく、物理スイッチ間のネットワーク転送レイテンシの参照として機能します。 Lingjun GPUアクセラレーションノードが複数のLNIを使用して複数のリーフスイッチに接続されている場合、Lingjunノードの2つのLNI間のNCDは2です。
Intelligent Computing LingjunコンソールのLingjunクラスターのNCD階層チャートには、Lingjunクラスターの特定のタスクに使用されるセカンダリLNIまたはLingjun elastic network Interface (LENI) のみが表示されます。 デフォルトのLNIまたはLENIは表示されません。
基本概念
NCDは、Lingjun GPUアクセラレーションノードの2つのLNI間、または物理ネットワーク全体の2つのLingjun GPUアクセラレーションノード間の通信の距離を抽象化します。 値が小さいほど、ネットワークのレイテンシと通信オーバーヘッドが減少します。 次の図は、一般的な3層の物理ネットワークアーキテクチャを示しています。
アーキテクチャは、次の3つのレイヤーで構成されます。
コアレイヤ: コアスイッチは、コアスイッチに接続されたスパインスイッチ間のトラフィック転送を担当します。
スパイン層: スパインスイッチは、スパインスイッチに接続されたリーフスイッチ間のトラフィック転送を担当します。 すべてのスパインスイッチはコアスイッチに接続されています。
リーフレイヤ: リーフスイッチは、Lingjun GPU高速ノードの接続を担当します。 すべてのリーフスイッチはスパインスイッチに接続されています。
Lingjun GPUアクセラレーションノードまたはLNI間のNCDは、通信のために通過する物理スイッチ層の数を示します。
次の式は、上の図の異なるノード間でNCDを計算する方法の例を示しています。
NCD(Node1,Node2) = 1
NCD(Node1,Node3) = 2
NCD(Node1、Node5) = 3
Lingjun GPU高速化ノードがコアスイッチ間で通信する場合、ノード間のNCDは10です。
特別なケース:
2つの通信するLingjun GPUアクセラレーションノードのそれぞれに対して1つのLNIのみが構成される場合、ノード間のNCDは、ノードの2つのLNI間のNCDと同じである。 複数のLNIが、2つの通信するLingjun GPU加速ノードのそれぞれに対して構成される場合、Lingjun GPU加速ノードのLNIは、異なるアクセススイッチ (ASW) に接続される。 例えば、LNIは、8つのASWに接続される。 したがって、ノード間のNCDは、ノードのLNI間のNCDとは異なり得る。 以下の式は、NCDを計算する方法に関する例を提供する。NCD(GPU1.bond0, GPU2.bond0) = 1およびNCD(GPU1.bond0, GPU2.bond1) = 2。
このような場合、2つのLingjun GPUアクセラレーションノード間の関係をよりよく理解するために、リダクションの原則がデプロイされます。 次の式を使用して、異なるリーフスイッチに接続するLingjun GPUアクセラレーションノード間のNCDを計算します。NCD(GPU1、GPU2) = min(NCD(GPU1.anyLNI、GPU2.anyLNI)) 。
NCDを使用する理由
課題
特定の物理ネットワークトポロジでは、Lingjun GPU高速化ノードの通信パフォーマンスは、トラフィックが複数のスイッチホップを介して転送されるときに発生する通信レイテンシや不均一な負荷分散などの要因によって大きく変化する場合があります。 これは、モデルトレーニング中のスループットの顕著な変動につながる。
解決策
前の図では、トラフィックは、Node1、Node2、Node3、およびNode4の順序で転送されます。 配置-1のレイアウトは、配置-2のレイアウトよりも優れた通信パフォーマンスを提供します。 これは、スパインスイッチが、配置 − 1においてトラフィックを一度だけ転送することを要求されるからである。 Plancement-2では、スパインスイッチはトラフィックを3回転送する必要があります。
これらの問題を解決するために、Lingjunは、Lingjun GPU高速化ノードまたはLNI間のNCDに関する情報をクエリするための統合API操作を提供します。 これにより、効率的なタスクスケジューリングを実装し、最適なトレーニングパフォーマンスを得ることができます。
コンソールを使用したNCDクエリ
Intelligent Computing Lingjunコンソールは、Lingjunクラスター内のLingjun GPUアクセラレーションノードのLNIで構成されるNCD階層チャートを提供します。 NCD階層チャートは、対応するLingjunクラスターの物理ネットワークトポロジを抽象化として表示します。 Intelligent Computing LingjunコンソールでNCD関連の情報を照会するには、次の手順を実行します。
Intelligent Computing Lingjunコンソールにログインします。
左側のナビゲーションウィンドウで、 を選択します。
[物理トポロジ] セクションで、左側のドロップダウンリストからLingjun仮想プライベートデータセンター (VPD) を選択し、[検索] をクリックして、指定したVPD内のLingjunクラスターのNCD階層チャートを表示します。
説明LingjunクラスターのNCD階層チャートには、Lingjunクラスターの特定のタスクに使用されるセカンダリLNIまたはLENIのみが表示されます。 デフォルトのLNIまたはLENIは表示されません。

右側のドロップダウンリストからLNIを選択し、[検索] をクリックして、指定したLNIのみを含むNCD階層グラフを表示することもできます。