Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion blog/hami-core-adopted-by-nvidia-kai-scheduler/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -156,7 +156,7 @@ The `gpu-memory` annotation accepts an **integer number of MiB** (no unit suffix

:::tip

This post covers the highlights. For the complete setup guide prerequisites, installation, scheduling an isolated Pod, verifying isolation with `nvidia-smi`, and opt-out see the [How to use KAI Scheduler with HAMi](/docs/next/userguide/kai-scheduler/how-to-use-kai-scheduler) docs.
This post covers the highlights. For the complete setup guide (prerequisites, installation, scheduling an isolated Pod, verifying isolation with `nvidia-smi`, and opt-out), see the [How to use KAI Scheduler with HAMi](/docs/next/userguide/kai-scheduler/how-to-use-kai-scheduler) docs.

:::

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ tags: ["HAMi", "NVIDIA", "KAI Scheduler", "GPU 共享", "硬隔离", "Kubernetes

[KAI Scheduler](https://github.com/kai-scheduler/KAI-Scheduler) 是 NVIDIA 开源的 Kubernetes 原生 AI 工作负载调度器。它的前身是 Run:ai 的调度引擎,NVIDIA 于 2024 年底收购 Run:ai 后,在 2025 年 4 月以 Apache 2.0 协议开源,现已成为 CNCF Sandbox 项目。

Kubernetes 默认调度器为无状态服务设计,把 GPU 当 CPU 核一样调度——每个 Pod 独占整张 GPU,没有 gang scheduling,没有团队公平性,没有拓扑感知。KAI Scheduler 正是为解决这些 AI 场景特有的调度问题而生:
Kubernetes 默认调度器为无状态服务设计,把 GPU 当 CPU 核一样调度每个 Pod 独占整张 GPU,没有 gang scheduling,没有团队公平性,没有拓扑感知。KAI Scheduler 正是为解决这些 AI 场景特有的调度问题而生:

- **PodGroup(Gang Scheduling)**:分布式训练的多个 Pod 必须同时启动,否则全部等待。避免 7 张 GPU 被占着却跑不起来的尴尬。
- **Queue(层级公平调度)**:按部门/团队分配 GPU 配额,支持借用和回收,实现多团队共享集群的公平调度。
Expand Down Expand Up @@ -142,7 +142,7 @@ spec:
command: ["sleep", "infinity"]
```

Pod 启动后,容器内的 `nvidia-smi` 只会显示分配到的显存,而非整张 GPU 的完整显存——资源隔离得到验证。
Pod 启动后,容器内的 `nvidia-smi` 只会显示分配到的显存,而非整张 GPU 的完整显存资源隔离得到验证。

#### 按需关闭隔离(Opt-out)

Expand All @@ -151,11 +151,11 @@ Pod 启动后,容器内的 `nvidia-smi` 只会显示分配到的显存,而

#### 显存数值精度

`gpu-memory` 注解接受**整数 MiB**(无单位后缀)。KAI Scheduler 内部会把它换算成两位小数的 GPU 分数,再乘以 GPU 总显存得出实际强制上限。因此 `nvidia-smi` 看到的值可能与请求值略有出入——例如在 15360 MiB 的 T4 上请求 `4096`,会四舍五入为 `0.27` 分数,最终强制上限为 `4147m`。
`gpu-memory` 注解接受**整数 MiB**(无单位后缀)。KAI Scheduler 内部会把它换算成两位小数的 GPU 分数,再乘以 GPU 总显存得出实际强制上限。因此 `nvidia-smi` 看到的值可能与请求值略有出入例如在 15360 MiB 的 T4 上请求 `4096`,会四舍五入为 `0.27` 分数,最终强制上限为 `4147m`。

:::tip

本文只讲重点。完整步骤——前置条件、安装、调度隔离 Pod、用 `nvidia-smi` 验证隔离、按需关闭——见 [如何在 KAI Scheduler 中使用 HAMi](/docs/next/userguide/kai-scheduler/how-to-use-kai-scheduler) 文档。
本文只讲重点。完整步骤前置条件、安装、调度隔离 Pod、用 `nvidia-smi` 验证隔离、按需关闭见 [如何在 KAI Scheduler 中使用 HAMi](/docs/next/userguide/kai-scheduler/how-to-use-kai-scheduler) 文档。

:::

Expand All @@ -165,7 +165,7 @@ Pod 启动后,容器内的 `nvidia-smi` 只会显示分配到的显存,而

| 时间 | 里程碑 | 参与者 |
| --- | --- | --- |
| 2025 年 4 月 | [@archlitchi](https://github.com/archlitchi) 提交 PR #60「Resource isolation design」提出资源隔离设计;NVIDIA 团队评审方案、讨论架构设计并确定分工;社区讨论敲定技术方案——KAI 负责环境变量注入,HAMi 负责资源隔离组件 | [@archlitchi](https://github.com/archlitchi)(HAMi)、[@romanbaron](https://github.com/romanbaron)、[@enoodle](https://github.com/enoodle)(NVIDIA)及双方团队与社区 |
| 2025 年 4 月 | [@archlitchi](https://github.com/archlitchi) 提交 PR #60「Resource isolation design」提出资源隔离设计;NVIDIA 团队评审方案、讨论架构设计并确定分工;社区讨论敲定技术方案KAI 负责环境变量注入,HAMi 负责资源隔离组件 | [@archlitchi](https://github.com/archlitchi)(HAMi)、[@romanbaron](https://github.com/romanbaron)、[@enoodle](https://github.com/enoodle)(NVIDIA)及双方团队与社区 |
| 2026 年 4 月 | [@FouoF](https://github.com/FouoF) 提交 PR #1504,实现 GPU_MEMORY_LIMIT binder 插件 | [@FouoF](https://github.com/FouoF)(HAMi) |
| 2026 年 5 月 28 日 | PR #1504 合并进入 KAI Scheduler 主干 | [@davidLif](https://github.com/davidLif)(NVIDIA)merge |
| 2026 年 6 月 | [@archlitchi](https://github.com/archlitchi) 完成用户文档、e2e 测试,PR #60 通过全部 review | [@archlitchi](https://github.com/archlitchi)(HAMi) |
Expand All @@ -181,7 +181,7 @@ Pod 启动后,容器内的 `nvidia-smi` 只会显示分配到的显存,而

### 验证了 HAMi 技术路线的正确性

HAMi 的核心能力——CUDA 拦截和 GPU 显存硬隔离——被 NVIDIA 官方调度器采纳,这是对 HAMi 技术成熟度的有力背书。NVIDIA 团队选择将 HAMi-core 作为 KAI Scheduler GPU 共享的资源隔离方案,而非自行开发,说明 HAMi 在这个领域的方案已经是最优解。
HAMi 的核心能力CUDA 拦截和 GPU 显存硬隔离被 NVIDIA 官方调度器采纳,这是对 HAMi 技术成熟度的有力背书。NVIDIA 团队选择将 HAMi-core 作为 KAI Scheduler GPU 共享的资源隔离方案,而非自行开发,说明 HAMi 在这个领域的方案已经是最优解。

### 拓展了生态版图

Expand Down
Loading