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 工作负载。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目