背景
新适配DPU卡,需要新增资源协作接口与属性以支持Redfish接口显示DPU卡版本号,包含BMC/Bios/Soc CPLD/FPGA CPLD/FPGA共5个版本号信息;
关联ISSUE
无
整体方案
- BMC通过Smbus从DPU卡读取版本号信息并解析;
- 将读取的版本号信息赋值到资源协作接口属性;
- 通过Redfish按照客户诉求对外呈现版本号;
已有可继承属性分析:
| DPU卡版本号类型 | Interface | Property | Type |
|---|---|---|---|
| BMCVersion | bmc.kepler.Systems.DPUCard.Manager | FirmwareVersion | String |
| BiosVersion | bmc.kepler.Systems.DPUCard.System | BIOSVersion | String |
| SocCPLDVersion/FPGACPLDVersion | bmc.kepler.Systems.DPUCard | MultiLogicVersion | Dictionary |
历史评审记录:【已评审】新增资源协作接口,拓展DPU带外管理能力
需要新增定制DPUCard Path以及FPGAVersion固件版本号类型属性承载;
- DPU资料参考
DPU通用架构可分为以下几种:
- ASIC-Based DPU(专用集成电路路线): 使用针对网络、存储、安全功能定制化设计的专用芯片 ,这些功能以固定硬件逻辑的形式固化在硅片上;
- FPGA-Based DPU(现场可编程门阵列路线): 以大规模FPGA 作为数据处理的核心引擎,通常搭配一个轻量级的SOC或嵌入式CPU核用于控制管理;
- SOC-Based DPU(多核通用处理器路线): 依赖于高性能、多核的通用处理器 (通常是Arm架构)来通过软件实现所有加速功能,其核心思想是“通过强大的通用算力进行软件定义硬件加速 ”;
当前适配DPU基于Intel Agilex FPGA架构, FPGA为一个功能强大、高度可定制、以数据流驱动、并行处理的专用硬件加速引擎,它与DPU内的SOC(处理器)协同工作,共同构成了一个异构计算单元。
评审点
新增资源协作接口属性用于承载DPU卡FPGAVersion固件版本号;
详细描述
新增资源协作接口属性用于承载DPU卡FPGAVersion固件版本号
- 方案1:
Path:/bmc/{Custom}/Systems/${SystemId}/PCIeDevices/PCIeCards/DPUCards/${Id}
Interface:bmc.kepler.Systems.DPUCard.Processor新增属性FPGAVersion
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
FPGAVersion |
s |
true |
false |
DPU卡FPGA固件版本号 |
Read: ReadOnly |
否 |
false |
false |
当前DPU卡Processor相关属性均在该接口下,有以下属性:
| 属性名称 | 属性描述 |
|---|---|
| Architecture | DPU的CPU架构 |
| TotalCores | DPU的CPU核数 |
| IMUVersion | IMU固件版本号 |
- 方案2:新增资源协作Path用于承载DPU卡Processor信息,复用bmc.kepler.Systems.Processor接口固件版本属性
Path:/bmc/{Custom}/Systems/${SystemId}/PCIeDevices/PCIeCards/DPUCards/${Id}/Processors/${ProcessorId}
Interface: bmc.kepler.Systems.Processor
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
FirmwareVersion(已有) |
s |
true |
false |
固件版本 |
Read: ReadOnly |
否 |
false |
false |
ProcessorType(已有) |
s |
true |
false |
处理器类型 |
Read: ReadOnly |
CSR |
false |
false |
方案优缺点对比:
| 方案1 | 方案2 |
|---|---|
| 优点:实现简单,仅新增一个属性实现 缺点:多FPGA时需要新增新的属性,当前有0个和1个FPGA的情况,暂无多个的情况 |
优点:方便后续扩展多个处理器的情况,且更符合DPU架构趋势 缺点:实现比新增属性复杂 |
评审结论
- 考虑DPU卡扩展情况,使用方案2实现:
新增DPU卡子Path:/bmc/{Custom}/Systems/${SystemId}/PCIeDevices/PCIeCards/DPUCards/${Id}/Processors/${ProcessorId},复用Interface:bmc.kepler.Systems.Processor属性