蔚来基于 HAMi 提升自动驾驶工作负载 GPU 利用率

蔚来运营大规模云基础设施,支撑自动驾驶工作负载,涵盖模型训练、仿真、CI/测试及在线推理。团队专注于 GPU 性能优化,并参与 GPU 与计算资源的规划决策。

挑战

蔚来的大规模云基础设施支撑多种自动驾驶工作负载,包括训练、仿真、CI/测试和在线推理。团队负责 GPU 性能优化与资源规划。工作负载类型的多样性导致了因"工作负载—资源不匹配"而长期存在的效率问题。

GPU 利用率低的工作负载

CI 与测试任务

CI 任务的大部分执行时间花在编译、文件拉取和预处理等 CPU 密集型操作上。GPU 仅间歇性使用。在整卡分配模式下,平均 GPU 利用率通常仅为 5%–10%

仿真工作负载

仿真管线处理视频流、雷达数据和推理验证。单个任务计算需求相对较低,且对延迟不敏感,适合在共享 GPU 上并发执行。

在线推理与小模型推理

许多推理服务仅需 1/4 或 1/2 张 GPU。分配整卡既低效又昂贵。

  • GPU 集群规模有限,部分容量来自公有云,采用按量计费模式。
  • 低 GPU 利用率导致GPU 机时浪费,直接推高运营成本。
  • 分配效率低下还会延长高优先级训练任务的排队等待时间。

蔚来需要一种在不牺牲工作负载稳定性的前提下提升 GPU 利用率的方案,同时支持在同一 Kubernetes 环境中运行多种类型的工作负载。

解决方案

蔚来采用了混合 GPU 共享策略,根据工作负载特征选择不同的 GPU 分配机制,而非强制使用单一方案。

下图展示了将 HAMi 集成到 Kubernetes 后的 GPU 管理架构。

资源管理架构图
图1: 资源管理架构图

HAMi 通过调度器扩展(第 2 层)和设备插件集成(第 4 层)为 Kubernetes 提供细粒度 GPU 共享能力,实现灵活的 GPU 资源分配,同时与 NVIDIA MIG 和时间分片策略共存。

评估的方案

NVIDIA MIG

提供强隔离,但仅支持预定义的分区大小,难以匹配更细粒度的需求(如 1/6 或 1/8 张 GPU)。

时间分片(Time-Slicing)

允许工作负载以极低开销自由竞争 GPU 资源。但缺乏对显存和计算用量的严格限制,不适合某些生产工作负载。

HAMi(CNCF Sandbox 项目)

支持对 GPU 显存和算力的精细控制,可根据实际工作负载需求按比例分配。相比整卡分配,该方法会引入一定开销。

生产策略

蔚来没有替换现有机制,而是将其组合使用:

  • MIG: 用于算法开发及需要强隔离的环境
  • HAMi: 用于 CI 任务及选定的推理和仿真工作负载
  • 时间分片: 用于能容忍资源争用的场景

这种混合策略在保持正确性和运营安全的同时提升了 GPU 利用率。

实施情况

  • HAMi 部署在选定的 GPU 集群上,而非全部集群。
  • 大规模训练任务默认继续使用整卡。
  • HAMi 主要覆盖适合 GPU 切片分配的工作负载。

部署规模:

  • 50–70 个活跃节点
  • 400–560 张 GPU(按每节点 8 卡计算)

资源分配设计

对于仿真工作负载,蔚来将 GPU 显存(VRAM) 视为主要约束:

  • 计算能力不足可通过调度延迟缓解。
  • 显存耗尽会立即导致 OOM 失败,无法延后处理。

团队还发现,切分粒度并非越细越好。对于某些仿真工作负载,分配约 1/6 张 GPU 时效率最优。更小的分片(如 1/8)会引入额外的调度和虚拟化开销,反而降低整体吞吐量。

成效

CI 工作负载:从浪费到复用

使用 HAMi 前:

CI 任务以 CPU 密集型为主,平均 GPU 利用率仅约 5%(5%–10%)

使用 HAMi 后:

通过将 GPU 切分为 1/4 或更小分片,CI 管线中有效 GPU 利用率提升约 4 倍,达到 30%–50%

仿真工作负载:更高吞吐、更少 GPU 机时

  • 细粒度 GPU 共享使总体 GPU 机时减少约 30%
  • 原需 约 3 天 的端到端仿真任务缩短至 约 2 天

这些改进提升了系统整体吞吐量,同时直接降低了 GPU 成本。

经验总结

GPU 分片并非"越细越好"。

每个工作负载都有最优分片大小。过度碎片化反而会降低效率。

版本升级需要进行性能验证。

新的 GPU 虚拟化组件可能引入性能回退。蔚来采用分阶段升级策略,在验证性能基准后才允许不同 HAMi 组件运行不同版本。

运营变更必须确保生产安全。

对于在线推理工作负载,设备插件升级遵循类似蓝绿部署的流程:先迁移流量,部署新 Pod,再逐步下线旧实例。

工具链兼容性至关重要。

某些编译器或库特性(如指针或地址分析)可能与 GPU 拦截机制冲突。需要在功能与稳定性之间谨慎权衡。

蔚来的 HAMi 部署实践证明,细粒度 GPU 共享可以显著提升自动驾驶工作负载的基础设施效率。通过将 HAMi 与 Kubernetes 以及 MIG、时间分片等现有 GPU 分配机制相结合,蔚来在保障稳定性的前提下提升了 GPU 利用率、减少了总体 GPU 机时并改善了工作负载吞吐量。

这种混合资源管理策略使蔚来能够在同一 Kubernetes 环境中更高效地支撑从 CI 管线到仿真和推理的多样化 AI 工作负载。

分享这篇文章