# ネットワーク対応スケジューリング ## 定義 ネットワーク対応スケジューリングとは、GPU クラスタ上の機械学習訓練ジョブを配置する際に、計算資源(GPU/CPU)の割り当てだけでなく、ジョブ間のネットワーク通信パターンの干渉も考慮してジョブ配置を決定する手法の総称である。分散 DNN 訓練ではネットワーク通信(AllReduce や Activation 転送)がイテレーション時間の主要な律速要因になるため、同一リンクを共有するジョブ群の通信位相を調整することで輻輳を回避し、全ジョブの訓練効率を向上させる。 従来の ML スケジューラ(Themis, Pollux, Gandiva など)は「コンピュートに近い配置」(locality)を意識するが、ジョブ間の通信位相のインターリーブ可能性(互換性スコア)は考慮しなかった。Cassini はこの空白を埋める最初の体系的なアプローチである([[@2024__NSDI__Cassini Network-Aware Job Scheduling in Machine Learning Clusters]])。 ## 核心概念: 通信位相インターリーブ DNN 訓練ジョブのネットワーク需要は反復する。1 イテレーション内の Up フェーズ(通信大)と Down フェーズ(通信小または計算のみ)をずらして配置することで、複数ジョブが同一リンクを同時に飽和させる状況を避けられる。Cassini の実験では、2 つの VGG19 ジョブに 120ms のタイムシフトを挿入しただけで 90 パーセンタイルテール反復時間が 1.26× 短縮した。 ## 横断的知見 現時点では Cassini(NSDI 2024)が主要ソースであり、2 ソース以上の横断知見は今後の拡充を待つ。 - **「局所配置」と「通信位相互換性」は独立した最適化軸である**: 既存スケジューラは同一ラック/ノード内への集約で通信を短くすることを「ネットワーク最適化」と見なしていたが、Cassini は「同一リンクを共有する複数ジョブの通信タイミング」という別の軸を定義した。大規模クラスタでは断片化配置が避けられないため、このタイミング軸の最適化が補完的に必要になる。(Source: [[@2024__NSDI__Cassini Network-Aware Job Scheduling in Machine Learning Clusters]]) - **通信パターンの周期性が幾何最適化を可能にする**: 従来の資源スケジューリングとは異なり、Cassini が成立する前提はジョブの通信パターンが「イテレーション間で再現する」という DNN 訓練の構造的特性である。この周期性がなければ円形抽象化は使えない。DLRM のような推薦モデルやテンソル並列モデルでも同じ周期性が成立することを実験で確認している。(Source: [[@2024__NSDI__Cassini Network-Aware Job Scheduling in Machine Learning Clusters]]) - **プラグイン設計はスケジューラの独立進化を可能にする**: Cassini はハイパーパラメータや GPU 割り当て数には介入せず、「どの配置候補を最終選択するか」と「いつイテレーションを開始するか」のみを変える。これにより Themis(公平性最適化)と Pollux(グッドプット最適化)という設計目的の異なる 2 つのスケジューラで同様の改善を実現した。(Source: [[@2024__NSDI__Cassini Network-Aware Job Scheduling in Machine Learning Clusters]]) ## 未解決の問い - LLM 推論(serving)クラスタや MoE モデル訓練など、通信パターンが動的に変化するワークロードに対して、同様の幾何抽象化アプローチは適用できるか - 同一リンクを 3 件以上のジョブが共有する場合、互換性スコアはどのように劣化するか。Cassini はこの方向の評価を「将来課題」としている - ネットワーク対応スケジューリングと、通信集約アルゴリズム最適化(TACCL, BytePS など)を同時に適用した場合の相互作用はどうなるか - 非 ML ワークロードとの共存環境(マルチテナントデータセンター)への拡張は可能か ## 関連 - ソース: [[@2024__NSDI__Cassini Network-Aware Job Scheduling in Machine Learning Clusters]] - エンティティ: [[Cassini]] / [[Sudarsanan Rajasekaran]] / [[Manya Ghobadi]] / [[Aditya Akella]] - 概念: [[GPUクラスタスケジューリング]] / [[LLM分散学習]] / [[集合通信]] / [[RDMAネットワーク監視]] - 関連 MOC: [[分散深層学習 - MOC]] ## 出典 - [[@2024__NSDI__Cassini Network-Aware Job Scheduling in Machine Learning Clusters]](§2 通信パターン測定, §3 幾何抽象化と最適化, §4 Affinity グラフ設計, §5 実験結果全体)