Project-HAMi/HAMi
Heterogeneous GPU Sharing on Kubernetes
解决的问题
HAMi 解决了 Kubernetes 集群中 GPU 分配效率低下的问题,即小型任务经常占用整个 GPU,导致资源浪费。它还通过单一统一的工作流解决了管理多种加速器硬件(NVIDIA GPU、NPUs、DCUs 等)的难题,避免厂商锁定,简化 AI 团队的基础设施管理。
工作原理
HAMi 作为 Kubernetes 与硬件之间的虚拟化中间件层。它使用 mutating webhook、scheduler extender 和 device plugins 拦截 Pod 提交,并分配加速器内存或计算核心的特定比例。这使得多个工作负载可以共享一个物理设备,同时保持资源隔离,且无需更改应用程序代码。
适用人群
管理基于 Kubernetes 的 AI 集群的平台工程师和 AI 基础设施团队,他们需要提高 GPU 利用率,支持多租户环境(如笔记本、推理服务器),并管理来自不同厂商的异构硬件。
主要亮点
- 设备共享:基于内存、核心或设备数量,分配物理加速器的部分资源。
- 异构支持:统一管理 NVIDIA GPU 及其他多种加速器(NPUs、DCUs、MLUs 等)。
- 设备感知调度:支持 binpack、spread 和拓扑感知策略,优化工作负载部署。
- 零应用变更:与标准 Kubernetes 资源请求和限制兼容。
- 可观测性:提供 WebUI 和 Grafana 仪表板,用于监控加速器使用情况。
相关
- 项目
- 项目
- 项目
- 项目
- 项目