kai-scheduler/KAI-Scheduler

KAI Scheduler is an open source Kubernetes Native scheduler for AI workloads at large scale

何を解決するか

KAI Scheduler は、大規模な Kubernetes クラスタにおける GPU リソースの効率的な管理と割り当ての課題に対処します。リソースの断片化を防ぎ、小規模なインタラクティブジョブから大規模な分散学習や推論タスクまで、異なるチームやワークロード間で計算能力を公平に分配します。

動作方法

kube-batch を基盤として構築された KAI Scheduler は、GPU の動的割り当てを実現する専用の Kubernetes スケジューラです。ビンパッキングなどの高度な配置戦略により断片化を最小限に抑え、リソースの分散スケジューリングで耐障害性を確保します。ドミナントリソースフェアネス(DRF)や時間ベースのフェアシェアといったフェアネスポリシーを実装し、特定のユーザーまたはチームがクラスタを独占することを防ぎます。

対象ユーザー

数千ノード規模の大きな GPU クラスタを管理する管理者向けです。Ray や非統合型サービングアーキテクチャを用いた AI/ML ワークロードのオーケストレーションが必要な方々に最適です。

主な特徴

  • トポロジーアウェアスケジューリング(TAS): 物理的なハードウェアトポロジーに基づいてポッドの配置を最適化し、パフォーマンスを向上します。
  • 階層的キュー: 複数レベルのキューにより組織的な制御を可能にし、特定のクォータや優先度を設定できます。
  • ギャングスケジューリング: グループ内のすべてのポッドが同時にスケジュールされるか、まったくスケジュールされないことを保証し、デッドロックを防止します。
  • GPU共有: 単一または複数の GPU を複数のワークロードで共有可能にし、リソース利用率を最大化します。
  • 動的リソース割り当て(DRA): NVIDIA GB200/GB300 などのベンダー固有のハードウェアをサポートします。
  • エラスティックワークロード: 定義されたしきい値内でワークロードの動的スケーリングをサポートします。

関連

  • プロジェクト
  • プロジェクト
  • プロジェクト
  • プロジェクト
  • Dispatch