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