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 作为一个专用的 Kubernetes 调度器,动态分配 GPU。它使用先进的调度策略,如 bin-packing 以最小化碎片化,并采用分散调度以提高容错性。它实现了 Dominant Resource Fairness (DRF) 和基于时间的公平份额等公平性策略,确保没有单个用户或团队独占集群。

适用对象

专为需要编排 AI/ML 工作负载(包括使用 Ray 或分离式服务架构)的大规模 GPU 集群管理员(可能包含数千个节点)设计。

主要特性

  • 拓扑感知调度 (TAS): 基于物理硬件拓扑优化 Pod 的部署,以提升性能。
  • 分层队列: 通过多级队列实现组织级控制,支持特定配额和优先级。
  • 组调度 (Gang Scheduling): 确保一组 Pod 要么全部调度成功,要么一个都不调度,防止死锁。
  • GPU 共享: 支持多个工作负载共享单个或多个 GPU,以最大化资源利用率。
  • 动态资源分配 (DRA): 支持 NVIDIA GB200/GB300 等厂商特定硬件。
  • 弹性工作负载: 支持在定义的阈值内动态扩展工作负载。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • Dispatch