跳转到文档内容

4 篇文章 文档包含 "调度"

查看全部标签

HAMi v2.10.0 发布:Flexible MIG、可组合调度策略与更广阔的加速器生态

· 阅读需要 15 分钟
HAMi 社区

HAMi 社区正式发布 HAMi v2.10.0。本次发布在三个方向上取得进展:更灵活的调度策略、更广泛的异构加速器覆盖,以及更加丰富的调度器生态

v2.10.0 引入了动态 Flexible MIG、全新的 mutex 调度策略、社区期待已久的 NUMA 排序修复可组合调度策略PodGroup(gang-scheduling) 支持,以及更准确的 init 容器 资源计量。在设备侧,新增了 AMD MI300X壁仞支持、让基于模板的 vNPU 与 HAMi-core 节点在同一集群共存的昇腾异构管理能力,以及 vNPU HAMi-core 监控。同时通过全新的 KAI Resource Isolator 伴随项目,首次实现了 KAI Scheduler + HAMi-core 集成。

本文将对 v2.10.0 的主要更新进行详细说明。

Kubernetes DRA 会取代 HAMi 吗?

· 阅读需要 18 分钟
备注

本文译自 CNCF 博客(2026 年 8 月 7 日),原文作者系 HAMi 项目贡献者。HAMi 已于 2026 年 7 月 15 日被 CNCF 技术监督委员会(TOC)接收为孵化项目。

想在一个 Kubernetes 上共享 GPU 的项目,长期以来只能「绕开」API 去工作,而不是「顺着」API 来工作。设备插件(device plugin)接口能做的事就是数设备,这就是它的全部词汇:nvidia.com/gpu: 1,意思是一整张卡,爱要不要。

HAMi 正是在这个词汇贫乏的基础上,构建了一整套流水线(变更型准入 Webhook、调度器扩展器、注解、容器内强制限制),去表达那些词汇表达不了的需求:「给这个 Pod 8000 MiB 显存和 10% 的算力,而且要把限制落到实处。」

后来,词汇变了。动态资源分配(Dynamic Resource Allocation,DRA) 在 Kubernetes v1.34 中正式发布(GA),并在 v1.35 起默认开启。借助其中的可消费容量(consumable capacity)特性,一个 Pod 现在可以越过任何注解,直接向调度器原生地申请一张设备显存的一个切片。

所以,HAMi 社区里反复被问到的问题是:DRA 会让 HAMi 过时吗?

简短的回答是:不会。但完整的回答取决于你指的是 HAMi 的哪项职责。其中一项,把碎片化请求编码成调度器看得懂的形式,恰恰是 DRA 要吸收掉的;另一项,在容器内以 CUDA 调用粒度强制执行这些配额,则是 DRA 从设计上就无意承担的工作。HAMi 的应对之策也顺势分成了两半:保留强制执行层,并在 DRA 之上用 3 个仓库重建编码层。

下面我们就把这两半拆开看清楚,再看如今跑通 DRA 这套栈需要什么。

从 Device Plugin 到 DRA:GPU 调度范式升级与 HAMi-DRA 实践回顾

· 阅读需要 5 分钟
HAMi 社区

刚刚过去的 KCD Beijing 2026,是近年来规模最大的一次 Kubernetes 社区大会之一。

超过 1000 人报名参与,刷新历届 KCD 北京记录。

HAMi 社区不仅受邀进行了技术分享,也在现场设立了展台,与来自云原生与 AI 基础设施领域的开发者、企业用户进行了深入交流。

本次分享主题为:

从 Device Plugin 到 DRA:GPU 调度范式升级与 HAMi-DRA 实践

本文结合现场分享内容与 PPT,做一次更完整的技术回顾。附幻灯片下载:GitHub - HAMi-DRA KCD Beijing 2026

HAMi 项目 GPU Pod 调度流程源码走读

· 阅读需要 33 分钟
Maintainer

使用 HAMi 的过程中经常会出现 Pod 被创建出来 Pending 的问题,犹以如下两个问题为著:

  • Pod UnexpectedAdmissionError
  • Pod Pending

介于此,展开这部分代码的粗略走读,旨在说明调度过程中各组件的交互,以及资源的计算方式,其他细节会有所遗漏。

CNCFHAMi 是 CNCF 孵化项目