kai-scheduler/KAI-Scheduler

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

何を解決するか

KAI Scheduler は、大規模な Kubernetes クラスタにおける GPU リソースの効率的な割り当てという課題に対処します。リソースの断片化を防ぎ、AI および機械学習ワークロード(小規模なインタラクティブジョブから大規模な分散トレーニングや推論タスクまで)が高価なハードウェアに公平にアクセスできるようにします。

動作方法

kube-batch を基盤として構築された KAI Scheduler は、いくつかの高度なスケジューリング戦略を使用して GPU の配置を最適化します:

  • リソース管理:階層的キューと主導的リソース公平性(DRF)を使用してクォータを管理し、チーム間での均等な分配を確保します。
  • 配置最適化:断片化を最小限に抑えるための Bin Packing と、ハードウェアの物理的配置に基づいてワークロードを配置する Topology-Aware Scheduling(TAS)を採用し、パフォーマンスを向上させます。
  • ワークロード処理:「Gang Scheduling」(グループ内のすべてのポッドが同時に開始されることを保証)と、定義されたしきい値内でスケーリング可能な Elastic Workloads をサポートします。
  • ハードウェア統合:Kubernetes Dynamic Resource Allocation(DRA)と統合し、NVIDIA GB200/GB300 GPU などのベンダー固有のハードウェアをサポートします。

対象ユーザー

大規模な GPU クラスタ(数千ノードに及ぶ可能性あり)をクラウドおよびオンプレミス環境で運用する必要がある Kubernetes クラスタ管理者および ML エンジニア向けに設計されています。

特徴

  • トポロジー対応スケジューリング:非統合型のサービングアーキテクチャの配置を最適化します。
  • 時間ベースのフェアシェア:過去の使用状況を考慮し、長期的な公平性を確保します。
  • GPU共有:複数のワークロードが GPU を共有できるため、利用効率を最大化します。
  • 階層的 PodGroups:エージェントパイプライン向けの複雑な多段階のガンスケジューリングをサポートします。
  • KubeRay 統合:Kubernetes 上での Ray ワークロードに対するネイティブサポートがあります。

関連

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