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 工作负载。
相关
- 项目
- 项目
- 项目
- 项目
- 项目