写点什么

【2/100】英伟达没做到的事,国产的 HAMi 做到了!

作者:霓漠Nimbus
  • 2025-07-28
    上海
  • 本文字数:652 字

    阅读完需:约 2 分钟

【2/100】英伟达没做到的事,国产的 HAMi 做到了!



本期视频从 Kubernetes 原生方案在 GPU 共享和虚拟化方面的局限性入手,指出在 GPU Operator 默认配置下,Kubernetes 的设备插件设计存在以下限制:

  • 扩展资源必须是整数,无法超配;

  • 无法实现多个 Pod 共用同一块 GPU;

  • 不支持细粒度的算力(如 40%)或显存(如 10GiB)切分。

现有方案的比较

视频进一步分析了目前 NVIDIA 的 GPU 共享方案:

  • Timeslicing:缺乏算力限制和显存隔离;

  • MPS:不支持显存隔离;

  • MIG:需要特定硬件支持,且资源切分固定,灵活性差。

HAMi:更灵活的 GPU 虚拟化解决方案

HAMi 致力于在不修改应用的前提下,实现对 NVIDIA GPU 的细粒度切分与隔离:

  • 支持对算力和显存的灵活分配;

  • 覆盖更多虚拟化使用场景;

  • 限制超额显存的申请行为。

视频内容概览

vGPU 的生命周期流程

展示了一个 Pod 从创建到运行过程中,GPU 资源是如何被:

  • 申请 -> 调度 -> 分配 -> 最终在容器中生效的

HAMi 的核心机制

  • Mutating Webhook

  • 判断是否请求 GPU,并修改调度器为 hami-scheduler

  • HAMi Scheduler

  • 接管调度逻辑,支持更复杂的调度策略,包括:

  • 指定 GPU 型号或 UUID;

  • NUMA 感知;

  • NVLink 拓扑优化;

  • Binpack 或 Spread 等调度策略。

  • HAMi Device Plugin

  • 运行于每个 GPU 节点:

  • 上报节点上的 GPU 信息(UUID、型号、算力、显存等);

  • 写入 Node Annotation;

  • Pod 调度后,读取 Annotation,准备环境变量并指定 GPU UUID,完成挂载。

  • HAMi Core(资源限制器)

  • 控制显存与算力的使用上限,确保资源切分后的隔离性与安全性。

适合人群

  • 对 Kubernetes 有基础了解的开发者;

  • 对 GPU 虚拟化、AI 基础设施、调度机制感兴趣的工程师与研究者。

发布于: 刚刚阅读数: 5
用户头像

霓漠Nimbus

关注

还未添加个人签名 2022-03-15 加入

还未添加个人简介

评论

发布
暂无评论
【2/100】英伟达没做到的事,国产的 HAMi 做到了!_nvidia_霓漠Nimbus_InfoQ写作社区