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 以最小化碎片化,並使用拓撲感知排程(TAS)根據硬體的物理佈局部署工作負載,以提升效能。
  • 工作負載處理:支援「Gang Scheduling」(確保一組中的所有 Pod 同時啟動)與可在定義閾值內擴展的彈性工作負載。
  • 硬體整合:與 Kubernetes 動態資源配置(DRA)整合,支援 NVIDIA GB200/GB300 GPU 等廠商特定硬體。

適用對象

專為需要在雲端與本地環境中運作大型 GPU 集群(可能包含數千個節點)的 Kubernetes 集群管理員與 ML 工程師設計。

主要亮點

  • 拓撲感知排程:優化非整合型服務架構的部署效能。
  • 基於時間的公平共享:考量歷史使用狀況,確保長期公平性。
  • GPU 共用:允許多個工作負載共用 GPU,以最大化利用率。
  • 階層式 PodGroups:支援複雜、多層級的 Gang Scheduling,適用於智能體流程。
  • KubeRay 整合:原生支援在 Kubernetes 上執行 Ray 工作負載。

相關

  • 專案
  • 專案
  • 專案
  • 專案
  • 專案