Dynamia ppu-vgpu-device-plugin Chart 0.0.5
发布时间:2026-10-23
| 版本 | 上一版 | 本版 |
|---|---|---|
| Chart | 0.0.4 | 0.0.5 |
| appVersion | 1.0.5 | 1.0.6 |
HAMi Enterprise 兼容性
如果 PPU Device Plugin 1.0.5 已与现有 HAMi Enterprise 正常完成调度和授权,只将插件升级到 1.0.6,可继续使用现有 Enterprise,无需同步升级。本次未改变基础调度和授权接口,也未更换内置 PPU-HAMi-core。下表中的基础调度和授权版本要求均为既有要求。
如果本次只升级插件、继续使用原有调度策略,建议显式设置 plugin.topologyScore.enabled: false,保持上一版不启用评分上报的行为。Chart 0.0.5 默认开启评分;评分计算依赖驱动接口,失败时会阻止本轮设备注册更新。需要使用 binpack,topology-aware 组合策略时,再将 Enterprise 升级到包含相应修复的版本,并开启评分。
| 功能或使用场景 | 最低可用 HAMi Enterprise 版本 | 本版配套要求与升级结论 |
|---|---|---|
| PPU 基础调度、显存与算力切分,以及授权下发和续期;使用旧格式 UUID 授权或型号授权 | v2.9.0-rc2 | 调度器须识别现有授权,并向节点发布有效的 hami.io/alibaba-license。已满足这些条件的部署,无需仅因本次插件升级而升级 Enterprise。 |
使用 deviceInstances 格式的实例授权 | v2.10.0-r0 | 若该授权在插件 1.0.5 下已正常生效,只升级插件到 1.0.6 后仍可使用,无需升级 Enterprise 或更换授权。v2.10.0-r0 是该格式的既有配套要求,本次没有提高版本下限。 |
使用 binpack,topology-aware 组合策略进行 PPU 拓扑选卡 | v2.10.0-r4 之后、包含相关修复的版本 | 配套调度器须包含 PPU 组合策略识别和全零评分选卡修复。使用 v2.10.0-r4 的部署须先升级至包含这两项修复的后续版本,再启用该策略。此条件不构成基础调度的整体升级要求。 |
以上已明确的版本下限基于正式发布制品和接口实现核对,不代表已完成本版与各配套版本的 PPU 实机验证。
版本变化
Chart 变化
- 新增
plugin.topologyScore.enabled,默认值为true。升级后插件默认上报节点拓扑评分;设置为false可关闭上报。该开关不改变工作负载的调度策略。
应用变化
- 修复拓扑评分缺失、格式无效或未完整覆盖当前设备时无法补报的问题。即使设备列表没有变化,插件也会检查节点上的评分并按需重新生成。
- 修复评分计算或节点注解写入失败后,后续注册可能被本地缓存跳过的问题。插件根据节点实际状态重试设备注册和评分上报。
- 关闭拓扑评分或节点不再有可注册设备时,自动移除残留评分,避免调度器继续读取过期信息。
升级说明
- 将 Chart 从
0.0.4升级至0.0.5,保留现有资源名称、节点选择和设备切分配置。插件与监控共用image.repository、image.tag;image.tag为空时,两者均使用默认镜像ghcr.io/dynamia-ai/ppu-device-plugin:v1.0.6。若原配置固定为v1.0.5,须将其改为v1.0.6或清空,否则不会获得本次应用修复。使用私有镜像仓库时,须先准备对应的v1.0.6镜像。 - 升级前明确选择是否开启拓扑评分。沿用默认配置会开启上报;暂不使用时,在升级 values 中显式设置
plugin.topologyScore.enabled: false。升级后检查插件和监控 DaemonSet 的滚动更新结果,并确认新 Pod 的实际镜像及插件的ENABLE_TOPOLOGY_SCORE值。 - 开启评分后,检查节点的
hami.io/node-alibaba-score是否包含当前 PPU UUID 及卡间评分。若驱动接口导致评分计算失败,本轮设备注册和评分更新不会提交;应排查插件日志与驱动接口,必要时关闭评分以恢复不依赖评分的注册流程。 - 使用拓扑选卡前,先确认 HAMi Enterprise 配套满足兼容性表中的组合策略要求,再为工作负载设置
hami.io/gpu-scheduler-policy: binpack,topology-aware。使用可用卡数多于请求卡数的多卡任务验证新调度结果。评分全为零或所有组合得分相同时,不能据此认定存在拓扑优选或性能提升。 - 本次交付的 PPU-HAMi-core 与上一版相同,无新增运行库格式迁移或共享状态清理要求。拓扑评分修复不要求统一重建已有工作负载;拓扑选卡策略在新建或重新调度工作负载时生效。
查看Chart 与 appVersion 对应关系或软件中心。
Values 说明
以下参数说明取自 Chart 0.0.5 发布包随附的 README,保留原文。默认配置以该版本的 values.yaml 为准。
展开参数表
| Key | Type | Default | Description |
|---|---|---|---|
| commonAnnotations | object | {} | |
| commonLabels | object | {} | |
| config.create | bool | true | |
| config.data.alibaba.defaultCores | int | 0 | |
| config.data.alibaba.defaultGPUNum | int | 1 | |
| config.data.alibaba.defaultMemory | int | 0 | |
| config.data.alibaba.deviceCoreScaling | float | 1 | |
| config.data.alibaba.deviceMemoryScaling | float | 1 | |
| config.data.alibaba.deviceSplitCount | int | 10 | |
| config.data.alibaba.gpuCorePolicy | string | "default" | |
| config.data.alibaba.memoryFactor | int | 1 | |
| config.data.alibaba.overwriteEnv | bool | false | |
| config.data.alibaba.resourceCoreName | string | "alibaba.com/gpu-core" | |
| config.data.alibaba.resourceCountName | string | "alibaba.com/ppu" | |
| config.data.alibaba.resourceMemoryName | string | "alibaba.com/ppu-memory" | |
| config.data.alibaba.resourceMemoryPercentageName | string | "alibaba.com/ppu-memory-percentage" | |
| config.data.alibaba.runtimeClassName | string | "" | |
| config.existingConfigMapName | string | "" | |
| fullnameOverride | string | "ppu-device-plugin" | |
| image.pullPolicy | string | "IfNotPresent" | |
| image.pullSecrets | list | [] | |
| image.repository | string | "ghcr.io/dynamia-ai/ppu-device-plugin" | |
| image.tag | string | "" | |
| monitor.enabled | bool | true | |
| monitor.resources | object | {} | |
| monitor.service.enabled | bool | true | |
| monitor.service.nodePort | int | 31992 | |
| monitor.service.port | int | 31992 | |
| monitor.service.type | string | "NodePort" | |
| nameOverride | string | "ppu-device-plugin" | |
| namespaceOverride | string | "hami-system" | |
| nodeSelector.alibabappu | string | "on" | |
| plugin.enabled | bool | true | |
| plugin.resources.limits.cpu | string | "500m" | |
| plugin.resources.limits.memory | string | "512Mi" | |
| plugin.resources.requests.cpu | string | "100m" | |
| plugin.resources.requests.memory | string | "128Mi" | |
| plugin.topologyScore.enabled | bool | true | |
| priorityClassName | string | "system-node-critical" | |
| tolerations[0].key | string | "CriticalAddonsOnly" | |
| tolerations[0].operator | string | "Exists" | |
| tolerations[1].effect | string | "NoSchedule" | |
| tolerations[1].operator | string | "Exists" |