背景
依据Redfish标准(Processor.v1_17_0),Processor资源应当包含ProcessorMemory属性数组,用于描述直接附加或集成到处理器内部的内存信息。当前openUBMC的Processor资源查询接口未提供ProcessorMemory属性。
关联ISSUE
整体方案
在Processor资源查询接口响应体中新增ProcessorMemory数组属性,数据来源于新增的MDB资源协作接口bmc.kepler.Systems.Processor.ProcessorMemory。整体方案包括:
- 新增MDB接口
bmc.kepler.Systems.Processor.ProcessorMemory,提供内存容量、类型、速度等属性 - 在Processor资源Redfish接口RspBody中新增ProcessorMemory属性,通过ProcessingFlow从MDB接口获取数据并格式化返回
- 支持NPU/GPU处理器查询内存信息
评审点
评审点1:Processor资源新增ProcessorMemory属性
评审点2:新增资源协作接口 bmc.kepler.Systems.Processor.ProcessorMemory
评审点3:新增资源协作路径 /bmc/kepler/Systems/${SystemId}/Processors/GPU/${ProcessorId}/ProcessorMemory/${MemoryId}
详细描述
评审点1:Processor资源新增ProcessorMemory属性
资源URI:/redfish/v1/Systems/{SystemId}/Processors/{ProcessorId}
资源版本:Processor.v1_17_0
Redfish Schema链接:Processor.v1_17_0.json
属性列表:
| 属性名 | 类型 | 示例/取值约束 | readonly | 易变属性 | 实现PATCH | 操作权限 | 描述 |
|---|---|---|---|---|---|---|---|
| ProcessorMemory | array | 数组元素包含CapacityMiB、IntegratedMemory、MemoryType、SpeedMHz属性 | true | 否 | / | ReadOnly | 直接附加或集成到处理器内部的内存信息数组 |
ProcessorMemory数组元素属性:
| 属性名 | 类型 | 示例/取值约束 | readonly | 易变属性 | 实现PATCH | 操作权限 | 描述 |
|---|---|---|---|---|---|---|---|
| CapacityMiB | integer(null) | 取值范围:(0, 4294967295],单位MiB | true | 否 | / | ReadOnly | 内存容量 |
| IntegratedMemory | boolean(null) | true或false | true | 否 | / | ReadOnly | 是否集成在处理器内 |
| MemoryType | string(null) | 枚举值:HBM1、HBM2、HBM2E、HBM3、SGRAM、GDDR、GDDR2、GDDR3、GDDR4、GDDR5、GDDR5X、GDDR6、DDR、DDR2、DDR3、DDR4、DDR5、OEM | true | 否 | / | ReadOnly | 内存类型 |
| SpeedMHz | integer(null) | 取值范围:(0, 4294967295],单位MHz | true | 否 | / | ReadOnly | 内存标称速度 |
Schema定义:ProcessorMemory属性为Redfish标准属性(Processor.v1_17_0),无需提供独立Schema定义。
评审点2:新增资源协作接口 bmc.kepler.Systems.Processor.ProcessorMemory
接口描述:提供处理器内存信息查询能力,用于描述直接附加或集成到NPU/GPU处理器内部的内存配置信息。归属于Systems功能域下的Processor子系统。
新增属性
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| CapacityMiB | u | True | false | 内存容量,单位MiB,默认值为0 | Read: ReadOnly | CSR配置或从NPU中查询 | \ | false |
| IntegratedMemory | b | True | false | 是否集成在处理器内,默认值为false,取值范围:true表示集成内存,false表示附加内存 | Read: ReadOnly | CSR配置 | \ | false |
| MemoryType | s | True | const | 内存类型,默认值为空字符串,取值范围包括HBM1、HBM2、HBM2E、HBM3、SGRAM、GDDR、GDDR2、GDDR3、GDDR4、GDDR5、GDDR5X、GDDR6、DDR、DDR2、DDR3、DDR4、DDR5、OEM | Read: ReadOnly | CSR配置 | \ | false |
| SpeedMHz | u | True | false | 内存标称速度,单位MHz,默认值为0 | Read: ReadOnly | CSR配置或从NPU中查询 | \ | false |
评审点3:新增资源协作路径 /bmc/kepler/Systems/${SystemId}/Processors/GPU/${ProcessorId}/ProcessorMemory/${MemoryId}
路径描述:用于存储和管理处理器内存配置信息,区分Systems系统。
实现接口
| 实现接口 | 实现接口描述 | CSR配置影响 | 持久化影响 | 其他影响 |
|---|---|---|---|---|
| bmc.kepler.Systems.Processor.ProcessorMemory | 实现CapacityMiB、IntegratedMemory、MemoryType、SpeedMHz属性,提供处理器内存信息查询功能 | 提供ProcessorMemory配置能力,已通过CSR DEG评审 | 不涉及 | 不涉及 |
是否准备好AI预审
是
评审结论
同意Processor资源新增ProcessorMemory属性,属性内容见详细描述
同意新增资源协作接口bmc.kepler.Systems.Processor.ProcessorMemory,接口内容见详细描述
同意新增资源协作路径/bmc/kepler/Systems/${SystemId}/Processors/GPU/${ProcessorId}/ProcessorMemory/${MemoryId},路径内容见详细描述
遗留问题
- /bmc/kepler/Systems/${SystemId}/Processors/${ProcessorType}中ProcessorType写明具体的类型
闭环情况:已经修改为GPU - MemoryType取值范围以当前支持的能力为准
闭环情况:当前不支持缓存,去除缓存的Cache - ${MemoryType}_${Id} 统一成一个
闭环情况:已经统一为${MemoryId}