Upgrade to Pro — share decks privately, control downloads, hide ads and more …

直接結合網におけるPartial_In-Network_Aggregation_によるAllr...

 直接結合網におけるPartial_In-Network_Aggregation_によるAllreduceの高速化.pdf

Nariaki Tateiwa

August 23, 2024
Tweet

More Decks by Nariaki Tateiwa

Other Decks in Technology

Transcript

  1. 直接結合網における In-Network Aggregation によるAllreduceの⾼速化 ⽴岩 ⻫明・森⽥ 和孝・村中 勇介・⻄潟 愛美(NTT) ⽯⽥

    渉(NTTイノベーティブデバイス) 2024年並列/分散/協調処理に関するサマー・ワークショップ(SWoPP 2024) HPC研究会-195 @ 徳島あわぎんホール August 9, 2024
  2. 3 © NTT CORPORATION 2024 背景 > 再構成可能な直接結合網(OCS網) 分散機械学習、推薦、検索システムの需要増加に伴い、データセンタ内通信が今後も増加。その 低遅延・⾼帯域・低消費電⼒化として、光電変換を伴わない直接結合網(OCS網)が注⽬

    (従来)間接結合網 • 電気スイッチでの電気信号変換 により電⼒消費と遅延が蓄積 再構成可能な直接結合網 • 回線交換型スイッチでノード間を光パス接 続し、スイッチでのパケット処理を省略 回線交換型スイッチ (OCS: Optical Circuit Switch) 光のまま 信号が通過
  3. 4 © NTT CORPORATION 2024 A B C D 鏡

    ワーカー ポート OCS 背景 > 再構成可能な直接結合網(OCS網) • ペアであるポートにのみ信号を送信できる(=直接結合に相当) • 接続性が限られるため、ワーカーは複数のインターフェイスを持つことで接続性を向上 光回路スイッチ(OCS): 光信号を電気に変換せずに直接ルーティングするスイッチ [4] EDN. Network-on-chip (NoC) interconnect topologies explained. Andy Nightingale . 2023-06-26. https://www.edn.com/network-on-chip-noc-interconnect-topologies-explained, (参照2024-08-01) 様々なトポロジ を構成可能 [4] 商⽤化OCSでは光信号を鏡で反射させ ⼊⼝/出⼝ポート間の接続を確⽴
  4. 5 © NTT CORPORATION 2024 背景 > 再構成可能な直接結合網(OCS網) ・すでに、⼀部のデータセンタ、AI/ML基盤でOCSを⽤いたネットワークが採⽤されている [1]

    Poutievski, Leon, et al. "Jupiter evolving: Transforming google's datacenter network via optical circuit switches and software-defined networking." Proceedings of the ACM SIGCOMM 2022 Conference. (2022). [2] Jouppi, Norman P., et al. "Tpu v4: An optically reconfigurable supercomputer for machine learning with hardware support for embeddings." arXiv preprint arXiv:2304.01433 (2023). Jupiter data-center[1] • Leaf-SpineネットワークにOCSを適⽤ • ⾼帯域リンクへの置き換えの低コスト化 • 従来システムでは電気スイッチごと総取替 • OCSは交換の必要なし TPUv4[2] • OCSを⽤いて3-D Torusトポロジを形成 • 可⽤性を向上 • 故障ユニットを避けるように ネットワークトポロジを変えられる
  5. 8 © NTT CORPORATION 2024 動機 > Allreduce集団通信 • 分散機械学習ではAllreduce集団通信を頻繁に実⾏、ワークロードのボトルネックに

    [2] • ワーカー間通信のみで実装される場合、データ転送時間について理論的下限が存在 [1] 。 Ring-Allreduce はそのデータ転送時間下限を満たす 分散深層学習、そのほか分散アプリケーションで広く使⽤される基礎的な通信形式 Allreduce 3 3 Allreduce 0 0 1 1 2 2 [1,2] [0,1] [2,2] [-1,-2] [2,3] [2,3] [2,3] [2,3] Ring-Allreduce • データをN(=プロセス数)分割 し、データを集約しながら隣接 ワーカーに受け渡す • 約2周するとAllreduce完了 3 0 1 2 [1] Patarasuk, Pitch, and Xin Yuan. "Bandwidth optimal all-reduce algorithms for clusters of workstations." Journal of Parallel and Distributed Computing 69.2 (2009). [2] Wang, Weiyang, et al. "TopoOpt: Co-optimizing Network Topology and Parallelization Strategy for Distributed Training Jobs." NSDI 23. (2023). ワーカー 全プロセスの配列の値を集約し、 その結果を全プロセスに分配
  6. 9 © NTT CORPORATION 2024 動機 > Allreduce集団通信 • 分散深層学習ではAllreduce集団通信を頻繁に実⾏、ワークロードのボトルネックに

    [2] • ワーカー間通信のみで実装される場合、データ転送時間について理論的下限が存在 [1] 。 Ring-Allreduce はそのデータ転送時間下限を満たす → ネットワーク内集約(INA; In-Network Aggregation)はこの下限を下げる 分散深層学習、そのほか分散アプリケーションで広く使⽤される基礎的な通信形式 Allreduce 3 3 Allreduce 0 0 1 1 2 2 [1,2] [0,1] [2,2] [-1,-2] [2,3] [2,3] [2,3] [2,3] Ring-Allreduce • データをN(=プロセス数)分割 し、データを集約しながら隣接 ワーカーに受け渡す • 約2周するとAllreduce完了 3 0 1 2 [1] Patarasuk, Pitch, and Xin Yuan. "Bandwidth optimal all-reduce algorithms for clusters of workstations." Journal of Parallel and Distributed Computing 69.2 (2009). [2] Wang, Weiyang, et al. "TopoOpt: Co-optimizing Network Topology and Parallelization Strategy for Distributed Training Jobs." NSDI 23. (2023). ワーカー 全プロセスの配列の値を集約し、 その結果を全プロセスに分配
  7. 10 © NTT CORPORATION 2024 動機 > ネットワーク内集約(INA) • 集約デバイス:

    ネットワークスイッチ、FPGA、SmartNICは受信データを集約、結果を送信 • 集約ツリープロトコルが主流 • INAは間接結合網を前提に研究開発 → 集約ツリーさえあれば⼗分 • OCS網へのINA導⼊事例はない → 集約ツリーだけでは不⼗分ということがわかってきた ・INA (In-Network Aggregation)は集約計算をネットワークにオフロードする考え⽅ ・Allreduceデータ転送時間をRing-Allreduceの約半分にする強⼒な技術 → OCS網でも使いたい 図: Fig3を加筆; Feng, Aoxiang, et al. "In-network aggregation for data center networks: A survey." Computer Communications 198 (2023) 集約ツリー ワーカー 集約デバイス 集約フロー 集約結果 集約箇所 集約ツリーでのAllreduce 1. データを集約しながらルートに送信 2. 集約データをルートから逆向きに分配
  8. 11 © NTT CORPORATION 2024 OCS網 × INAの課題 • OCS網では集約ツリーの構築におよそ

    (N-1)/(E-2) 個の集約デバイスが必要 • N: ワーカー数、E: 集約デバイスのインターフェイス数 • 例: N=128、E=4の場合は63個の集約デバイスが集約ツリーの構築に必要 逆に、62個の集約デバイスがあっても全く⾼速化できない • (間接結合網であれば集約デバイスが1つさえあればAllreduceを⾼速化可能) • Ring-Allreduceより速くするには集約ツリーを多重にすべき場合もあり、 さらに多くの集約デバイスが必要 OCS網で集約ツリーによりAllreduceを⾼速化するには、まとまった個数の集約デバイスが必要
  9. 12 © NTT CORPORATION 2024 OCS網 × INAの課題 • OCS網では集約ツリーの構築におよそ

    (N-1)/(E-2) 個の集約デバイスが必要 • N: ワーカー数、E: 集約デバイスのインターフェイス数 • 例: N=128、E=4の場合は63個の集約デバイスが集約ツリーの構築に必要 逆に、62個の集約デバイスがあっても全く⾼速化できない • (間接結合網であれば集約デバイスが1つさえあればAllreduceを⾼速化可能) • Ring-Allreduceより速くするには集約ツリーを多重にすべき場合もあり、 さらに多くの集約デバイスが必要 OCS網で集約ツリーによりAllreduceを⾼速化するには、まとまった個数の集約デバイスが必要 その結果 • ⾼速化に必要な集約デバイスをインフラが提供できない • マルチジョブへの公平なリソース割り当てができない
  10. 13 © NTT CORPORATION 2024 課題 Allreduce プロトコル ツリートポロジ ×

    集約ツリー リングトポロジ × Ring-Allreduce 必要な 集約デバイス数 多 0 データ転送時間 最⼩ S ⼤ (2(N-1)/N) S ≈ 2S 再構築可能な直接結合網(OCS網)において 集約ツリーとRing-Allreduceとの中間的な性質を持つINAプロトコルはあるか︖ トレードオフ
  11. 14 © NTT CORPORATION 2024 課題 Allreduce プロトコル ツリートポロジ ×

    集約ツリー リングトポロジ × Ring-Allreduce 必要な 集約デバイス数 多 0 データ転送時間 最⼩ S ⼤ (2(N-1)/N) S ≈ 2S 再構築可能な直接結合網(OCS網)において 集約ツリーとRing-Allreduceとの中間的な性質を持つINAプロトコルはあるか︖ トレードオフ 中間的な性質 を持つINA- Allreduce プロトコルを ⾒つけたい
  12. 16 © NTT CORPORATION 2024 問題設定 • 定数 • ワーカー、集約デバイス個数

    N、M • ワーカー、集約デバイスの インターフェイス数 D、E • 決定変数 1. ネットワークトポロジ 2. Allreduceを実現する通信順序 • ⽬的 • Allreduceのアルゴリズム帯域 (∝ データ転送時間の逆数)の最⼤化 • 条件 • Allreduce中のトポロジは固定 • 集約デバイスではデータ送受信と集約計算をストリームで滞りなく実⾏可能 ワーカー 集約デバイス ︖ 1. ワーカーと集約デバイスを どのように接続するか︖ 2. いつ、どこから、どこへ、 どのデータを送るか︖
  13. 17 © NTT CORPORATION 2024 提案⼿法 > 概要 • 単純な総当たり探索は不適

    • トポロジ候補を全列挙して、それら に対してAllreduceアルゴリズムを 求め、最適なトポロジを⾒つけるア プローチ • (理由)⼀般的に、与えられたト ポロジでAllreduceアルゴリズムを 最適化するのは困難 • 先⾏研究[1]ではワーカー数が16の トポロジにおいてもAllreduceアル ゴリズムの最適化に数時間を要する [1] Shah, Aashaka, et al. "TACCL: Guiding Collective Algorithm Synthesis using Communication Sketches." 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI 23). 2023.
  14. 18 © NTT CORPORATION 2024 提案⼿法 > 概要 [1] Shah,

    Aashaka, et al. "TACCL: Guiding Collective Algorithm Synthesis using Communication Sketches." 20th USENIX Symposium on Networked Systems Design and Implementation (NSDI 23). 2023. 1. Allreduceアルゴを導出済みの⼩トポロジを列挙 (= Allreduceアルゴの最適化を省略) 2. リソース制約を満たす中でAllreduceのデータ 転送時間が最⼩の⼩トポロジの組み合わせを探索 (a) Full Tree (c) Ring (d) Line (b) Partial Tree Worker 集約デバイス (e) 3 Full Tree (g) Full Tree + 2 Ring (f) Full Tree + 2 Ring ⽅針: 最適性を犠牲に探索の⾼速化を⾏う • 単純な総当たり探索は不適 • トポロジ候補を全列挙して、それら に対してAllreduceアルゴリズムを 求め、最適なトポロジを⾒つけるア プローチ • (理由)⼀般的に、与えられたト ポロジでAllreduceアルゴリズムを 最適化するのは困難 • 先⾏研究[1]ではワーカー数が16の トポロジにおいてもAllreduceアル ゴリズムの最適化に数時間を要する
  15. 19 © NTT CORPORATION 2024 提案⼿法 > トポロジ列挙 • 4種類のトポロジを列挙

    • Full Tree: 従来の完全な集約ツリーであり、 節が全て集約デバイス • Partial Tree: 集約デバイスからなるツリーに ワーカーをできるだけ接続。残ったワーカーにつ いては順次、葉に接続。 • 使⽤する集約デバイスを変えながら複数⽣成 • Ring、Line • ワーカーの次数は1か2。 ⾃明なAllreduceアルゴリズムを持つ Allreduceアルゴリズムを持つ⼩トポロジを列挙 (a) Full Tree (c) Ring (d) Line (b) Partial Tree ワーカー 集約デバイス
  16. 20 © NTT CORPORATION 2024 提案⼿法 > トポロジ合成 • 使⽤可能な集約デバイスの個数

    / ワーカーのインターフェイス数によって組み合わせが制約 • 制約を満たす組み合わせを最適化問題として定式化(後述) ・前のステップで列挙したトポロジを重複を許して組み合わせ ・それぞれのトポロジでデータ量を変えながらAllreduceを並列に実⾏ (e) 3 Full Tree (g) Partial Tree + Line (f) FullTree + 2 Ring (h) 3 Ring 集約デバイス数 6 2 1 0 3 Ring と⽐較した データ転送時間 0.60 0.82 0.90 - 中間的な性質を持つトポロジ
  17. 21 © NTT CORPORATION 2024 提案⼿法 > トポロジ合成の性質 1. アルゴリズム帯域の保存則

    • トポロジAとBを合成したトポロジCのア ルゴリズム帯域はトポロジAとBのアルゴ リズム帯域の和 2. ワーカーが使⽤するインターフェイ ス数が平準化される合成⽅法が存在 • 次数の最⼤値と最⼩値が1以下になるよ うにトポロジを合成する⽅法が存在する ことを⽰した 1 3 4 6 5 2 !! = (1,1,1,1,2,2) 5 3 4 6 2 1 !" = (2,2,2,2,1,1) 5 3 4 6 2 1 ! = (3,3,3,3,3,3) 1 3 4 6 5 2 1 3 4 5 2 6 !! = (1,2,1,1,2,1) !" = (1,2,2,2,2,1) 2 3 4 5 6 1 ! = (2,4,3,3,4,2) 最⼤次数が4となる組み合わせ⽅ 最⼤次数が3となる組み合わせ⽅
  18. 22 © NTT CORPORATION 2024 提案⼿法 > トポロジ合成の定式化 多次元ナップサック問題への定式化できたことで、動的計画法による求解が可能 𝑥!

    トポロジ𝑖を何個選択するか アルゴリズム帯域の和( 𝑥! に関する線形和 ) リソース制約 1. 集約デバイスの個数 2. ワーカーのインターフェイス数 (どちらも 𝑥! に関するナップサック制約 ) ⽬的
  19. 24 © NTT CORPORATION 2024 実験 > ⽐較⼿法 1. Ring-Allreduce

    • ワーカーのインターフェイス数Dについて、D個のRingを形成し、並列にアルゴリズ ムを実⾏ 2. Baseline (集約ツリープロトコル) • 構築できるだけ集約ツリーを構築。集約デバイスが不⾜する場合はRing-Allreduce を実⾏ 3. Upper Bound • 集約デバイスの個数に依存する理論的アルゴリズム帯域の上限 › 集約デバイスが⼗分多くのインターフェイス数を持つという前提で、Allreduce 中に実⾏すべき集約データ量から算出
  20. 25 © NTT CORPORATION 2024 実験 >アルゴリズム帯域指標の⽐較 Baselineよりも少ない集約デバイスでAllreduceを⾼速化 good 使⽤可能な集約デバイスの個数

    Ring-Allreduce とのアルゴリズム 帯域の⽐ ワーカー数 N =16、ワーカーのインターフェイス数 D = 8、 集約デバイスのインターフェイス数 E = 8の場合 縦軸︓アルゴリズム帯域 (∝ データ転送時間の逆数)のRing-Allreduceとの⽐ (⼤きいほどよい)
  21. 26 © NTT CORPORATION 2024 実験 >アルゴリズム帯域指標の⽐較 Baselineよりも少ない集約デバイスでAllreduceを⾼速化 good 使⽤可能な集約デバイスの個数

    Baseline は15個の集約デバイ スが使⽤可能になって初めて Ring-Allreduceよりも⾼速化 Ring-Allreduce とのアルゴリズム 帯域の⽐ ワーカー数 N =16、ワーカーのインターフェイス数 D = 8、 集約デバイスのインターフェイス数 E = 8の場合 縦軸︓アルゴリズム帯域 (∝ データ転送時間の逆数)のRing-Allreduceとの⽐ (⼤きいほどよい)
  22. 27 © NTT CORPORATION 2024 縦軸︓アルゴリズム帯域 (∝ データ転送時間の逆数)のRing-Allreduceとの⽐ (⼤きいほどよい) 実験

    >アルゴリズム帯域指標の⽐較 Baselineよりも少ない集約デバイスでAllreduceを⾼速化 good 使⽤可能な集約デバイスの個数 Baseline は15個の集約デバイ スが使⽤可能になって初めて Ring-Allreduceよりも⾼速化 Ring-Allreduce とのアルゴリズム 帯域の⽐ ワーカー数 N =16、ワーカーのインターフェイス数 D = 8、 集約デバイスのインターフェイス数 E = 8の場合 提案⼿法は少ない集約デバイ スでも理論的上限の近くまで Allreduceを⾼速化できている
  23. 28 © NTT CORPORATION 2024 実験 >アルゴリズム帯域指標の⽐較 他のパラメタセットにおいても、同様の傾向が得られた ワーカー数 N

    =16、32、64、ワーカーのインターフェイス数 D = 8、 集約デバイスのインターフェイス数 E = 8 の場合
  24. 29 © NTT CORPORATION 2024 実験 >アルゴリズム帯域指標の⽐較 他のパラメタセットにおいても、同様の傾向が得られた ワーカー数 N

    =16、32、64、ワーカーのインターフェイス数 D = 8、 集約デバイスのインターフェイス数 E = 16の場合
  25. 30 © NTT CORPORATION 2024 実験 > 計算時間 ワーカー数2048の環境においても5分未満でトポロジを取得 •

    動的計画法の解法プログラムをRustで実装しシングルスレッドで実⾏ • 動的計画法の計算量 𝑂(𝑁"𝐷#𝐸#) に計算時間が従う • N … ワーカー数、D … ワーカーインターフェイス数、E … 集約デバイスインターフェイス数
  26. 31 © NTT CORPORATION 2024 まとめと今後 • OCS網において、使⽤可能な集約デバイスが少ない場合においても、 Allreduceを⾼速化させるネットワーク内集約トポロジを構築する⼿法を提案 •

    既存⼿法よりも、使⽤可能な集約デバイスが同⼀の場合により強い⾼速化を実 現、理論的上限ともそれほど離れていない • 2024ワーカー環境にも耐えられる構築速度 • [今後] 実機を⽤いた性能評価 • [今後] 具体的なワークロードへの適⽤ • 例えば分散深層学習ではAllreduceに加えP2P通信も発⽣、トラフィックパターンに応じて P2P通信との兼ね合いをもとにトポロジを構築