跳到主要内容

GPU 管理旨在实时跟踪和管理 Kubernetes 集群中的所有 GPU 资源。它不仅显示当前状态,还支持多个集群的集成管理,为每个用户角色提供定制的信息,并包括分析工具以监控和评估 GPU 使用趋势。

主要功能

  • Cluster-level GPU Monitoring
    • 一目了然地查看多个集群的 GPU 资源
    • 一目了然地比较各集群的 GPU 利用率
    • 立即识别资源不足和空闲资源的集群
  • Multi-Instance GPU (MIG) support
    • 将单个 GPU 划分为多个实例以实现灵活利用
    • 为每个 MIG 实例收集独立的指标
    • 监控物理 GPU 内部实例之间的资源争用
  • Real-time metrics visualization
    • 每 15 秒更新一次 GPU 状态
    • 使用颜色代码区分状态(正常/警告/严重)
    • 使用时间序列图分析趋势
  • Role-based view
    • 系统管理员:整体基础设施健康状况
    • 项目经理:团队的 GPU 池使用状态
    • 开发人员:自己工作负载的详细指标

关键指标

GPU 利用率

GPU 利用率是最常监控的指标之一,但也是最容易被误解的指标之一。该指标表示 GPU 的计算核心积极执行计算的时间百分比。例如,如果 GPU 利用率为 80%,则意味着 GPU 在测量期间的 80% 时间内在执行计算,其余 20% 时间处于空闲状态。

  • Normal range:
    • 分配的 GPU:超过 50%(理想情况下为 75–85%)
    • 未分配的 GPU:低于 5%(理想情况下为 0%)
  • Problem diagnosis:
  • 低利用率(20%或更低):可能的数据加载瓶颈、小批量大小或CPU瓶颈
    • 异常活动(未分配的GPU > 20%):可能是未完成的进程或安全问题

内存利用率

内存利用率表示GPU内存主动执行读写操作的时间比例。这与内存使用量是不同的概念。内存使用量显示已分配了多少内存,而内存利用率反映了该内存的使用活跃程度。

GPU利用率内存利用率解释
正常(计算密集型)
内存带宽瓶颈
数据加载/CPU瓶颈
Caution for memory usage:
  • 超过95%:内存不足的风险
  • 持续增加:可能的内存泄漏

温度

温度是GPU健康状况的最直接指标。GPU在高性能下消耗大量电力,因此会产生相当大的热量。如果这些热量没有得到适当控制,不仅会导致性能下降,还可能损坏硬件。大多数数据中心GPU的正常工作温度范围在50°C到80°C之间。

Temperature standards:
TemperatureStatusRecommended action
< 70°C正常-
70–80°C良好-
80–85°C注意检查冷却
85–90°C警告开始软件限速
≥ 90°C危急硬件限速,需立即采取行动
温度上升的原因:
  • 冷却风扇故障或灰尘积累
  • 服务器机房环境温度上升
  • 节点内GPU之间的热干扰(同时重负载)

电力使用

功耗显示了GPU当前使用的电力(以瓦特为单位)。每个GPU型号都有一个额定功率限制;例如,NVIDIA A100的默认功率限制为400W,管理员可以通过软件调整此限制。

  • Purposes of power monitoring:
    • 性能限制检测:如果功耗超过功率限制的95%,则GPU可能会受到功率限制。
    • 成本控制:识别功耗高的低效GPU。
    • 硬件问题检测:检测异常的功耗模式。
  • Analysis points:
    • 低GPU利用率 + 高功耗 = 低效(内存传输开销)
    • 高GPU利用率 + 高功耗 = 正常(GPU在全负荷工作)

时钟节流

GPU的操作基于其时钟速度,类似于CPU。时钟速度越高,每秒可以执行的计算越多。然而,GPU并不总是以其最大时钟速度运行。为了管理功耗和温度,GPU动态调整其时钟——这个过程称为时钟节流。

时钟节流可能由于各种原因发生,每种原因都有不同的含义。了解系统记录的时钟节流原因非常重要。

Throttle TypeMeaningSeverityRecommended Action
GPU空闲空闲状态正常
SW功率上限管理员设置的功率限制正常意图限制
SW热量温度 > 85°C注意审查冷却改进
HW热量温度 > 90°C危急立即检查冷却
HW功率制动瞬时功率过载警告检查电源
监控节流事件的频率非常重要。偶尔的节流是正常的,但如果频繁或持续发生,则应解决潜在原因。系统跟踪时钟节流事件的数量,因此如果这个数字迅速增加,可能需要进一步调查。

SM 活动

SM 代表流式多处理器,它是 GPU 内部的核心计算单元。单个 GPU 可能有数十到数百个 SM,每个 SM 由多个核心组成。SM 活动指示这些 SM 执行计算的活跃程度。

与整体 GPU 利用率相比,SM 活动提供了更细粒度的洞察。虽然 GPU 利用率显示 GPU 的使用时间百分比,但 SM 活动指示在操作期间实际使用的核心数量。例如,80% 的 GPU 利用率并不一定意味着每个 SM 都在 80% 的负载下运行;一些 SM 可能在 100% 运行,而其他 SM 则处于空闲状态。

Recommended Range:
  • 对于分配的 GPU:超过 50%(理想情况下超过 75%)。
  • 低 SM → 缺乏并行性 → 增加批量大小或应用模型并行化

ECC 错误

ECC 代表错误更正码,这是一种自动检测和纠正 GPU 内存中位错误的技术。大多数数据中心级 GPU 配备了 ECC 内存,以确保数据完整性。ECC 对于准确性至关重要的工作负载是必不可少的,例如 AI 训练或科学计算。

ECC 错误有两种类型。单比特错误(SBE)发生在只有一个比特不正确时;ECC 可以自动纠正这一点。偶尔出现的 SBE 是正常的,可能由于宇宙射线或电噪声自然发生。双比特错误(DBE)发生在两个或更多比特不正确时;ECC 无法纠正这一点。DBE 可能导致数据损坏或系统故障。 监控ECC错误对于跟踪内存硬件的健康状况至关重要。如果总ECC错误计数超过1,000,建议考虑更换GPU的内存。ECC错误率的突然增加是内存恶化的强烈迹象。

如果发生即使一个DBE,它被归类为关键事件。受影响的GPU应立即从工作负载中移除并进行检查。这在关键训练任务期间尤其重要,因为DBE可能会使结果不可靠。

Error Types
  • Single Bit Error (SBE): 自动可修复;偶尔发生是正常的
  • Double Bit Error (DBE): 不可修复;可能导致数据损坏
Action Criteria
  • 总ECC错误 ≥ 1,000:考虑更换GPU内存
  • 至少一个DBE:关键状态;立即停止作业并检查GPU

GPU健康评估系统

一旦用户理解每个单独指标的含义,下一步是通过整合这些指标来评估GPU的整体健康状态。该系统不仅仅是呈现原始数字——它分析多个指标并将每个GPU分类为六个级别,使管理员和用户能够轻松一目了然地评估GPU的状态。

状态级别

每个GPU都被评估并分类为六个状态级别之一。这些状态是颜色编码的,并显示在仪表板上,使管理员和用户能够快速扫描数十个GPU并立即发现任何问题。

StatusColorMeaningExample
优秀绿色最佳性能利用率90%,温度65°C
良好绿色正常运行利用率60%,温度75°C
不佳黄色次优性能利用率30%,需要调整
橙色严重低效利用率10%,需立即检查
警告橙色警告状态温度 87°C,检测到节流
严重红色需要立即采取行动温度 92°C,XID 错误
  • Excellent: 这是最佳状态,所有操作都理想。分配的 GPU 正在高效地执行任务,温度较低,所有指标均在最佳范围内。以绿色显示,用户可以安心工作。对于管理员来说,大部分集群处于优秀状态表明基础设施健康。
  • Good: 这是一个正常且健康的操作状态。所有指标均在可接受范围内,尽管没有优秀状态那么优化。例如,60% 的 GPU 利用率符合推荐水平,但未达到理想的 75%。同样以绿色显示,没有问题,但仍有改进的空间。
  • Bad: 该状态表示性能不足。GPU 已分配但未被有效使用;例如,利用率仅为 30% 或内存使用量很小。以黄色显示,提示用户优化其工作负载。成本被浪费,但没有立即风险。
  • Poor: 这是一个非常低性能的状态,甚至比差状态更低效。当 GPU 利用率低于 10% 或 GPU 已分配但几乎没有工作时会发生这种情况。以橙色显示,该状态需要立即调查。可能是代码中存在错误,操作失败但 GPU 仍然被分配,或者开发人员忘记释放 GPU。