一、基本概念
加速卡(Accelerator Card)
-
基本定义
- 层级定位: 模型中的顶层元素,物理上由一块PCB板集成一个或多个加速器。
- 功能特性: 硬件与软件协同的卸载解决方案,用于将特定计算任务从主机处理器转移至加速卡。
-
实体标识
- PLDM实体ID: 固定为
68
(对应附加卡类型,Add-in card)。 - 传感器支持: 可包含传感器(如系统级健康状态或环境监测)。
- PLDM实体ID: 固定为
加速器(Accelerator)
-
层级与功能
- 层级定位: 第二层元素,隶属于加速卡。
- 核心功能: 专用硬件设备,专注于特定计算任务的卸载处理(如AI推理、加密运算等)。
-
监测能力
- 传感器类型:
- 健康状态(Health State)
- 功耗(Power Consumption)
- 温度(Temperature)
- 传感器类型:
内存(Memory)
-
定义范围
- 涵盖内容:
- 加速器内部集成内存
- PCB板载内存芯片
- 外接DIMM模块
- 层级定位: 第二层元素,与加速器并列(可能作为加速器或加速卡的子组件)。
- 涵盖内容:
-
监测指标
- 传感器类型:
- 温度(Temperature)
- 健康状态(Health State)
- 错误统计(Error Statistics)
- 传感器类型:
Accelerator Card (Tier 1, PLDM ID=68)
├── Accelerator (Tier 2)
│ ├── Sensors: Health, Power, Temperature
├── Memory (Tier 2)
│ ├── Sensors: Temperature, Health, Error Stats
注意:加速卡之间可直接建立通信通道,用于数据交换或协同计算(如分布式任务处理)
二、层级概念
传感器分类总览
传感器类型 | 关联实体 | 监测指标 | 实现条件/备注 |
---|---|---|---|
温度类传感器 | |||
加速卡环境温度 | 加速卡 | 环境温度(数值型) | 允许多个传感器部署 |
辅助设备温度 | 辅助设备 | 设备环境温度(数值型) | 非强制实现 |
加速器温度 | 加速器 | 设备核心温度(数值型) | 通常部署在热敏感区域 |
内存温度 | 内存 | 内存模块温度(数值型) | 可部署在内部/板载/DIMM;焊接内存若无传感器,可在附近部署校准传感器近似测量 |
功耗类传感器 | |||
加速卡总功耗 | 加速卡 | 整卡功耗(数值型) | 实现条件: - 单加速器卡 - 有硬件总功耗传感器 - 报告估计最大功耗 - 加速器间可通信获取数据 |
加速器功耗 | 加速器 | 设备功耗(数值型) | 无法实时测量时可报告估计最大值 |
状态类传感器 | |||
加速卡复合状态 | 加速卡 | 综合健康状态(状态型) | 聚合所有组件的最严重状态(如内存故障>加速器非关键故障=整卡状态为故障) 实现条件:单加速器或全组件状态可见性 |
加速器复合状态 | 加速器 | 综合运行状态(状态型) | 包含: - 热保护触发 - 健康状态 - 配置有效性 - 配置变更 - 固件版本变更 |
内存复合状态 | 内存 | 综合健康状态(状态型) | 包含:健康状态、缓存状态、错误状态、冗余活动状态 |
其他传感器 | |||
加速卡风扇转速 | 加速卡 | 主动散热风扇转速(数值型) | 允许多风扇独立监测 |
加速卡电压 | 加速卡 | 板卡供电电压(数值型) | 多个电压监测点 |
辅助设备健康状态 | 辅助设备 | 设备健康状态(状态型) | 非强制实现 |
加速器时钟速度 | 加速器 | 时钟域频率(数值型) | 多时钟域独立监测 |
内存错误统计 | 内存 | 可纠正/不可纠正错误计数(数值型) | 需参考DSP0248的SensorUnits枚举定义 |
加速卡 (层级1)
├── 温度传感器
├── 总功耗传感器 (条件实现)
├── 风扇转速传感器
├── 电压传感器
├── 复合状态传感器 (条件实现)
└── 辅助设备
├── 温度传感器 (可选)
└── 健康传感器 (可选)
加速器 (层级2)
├── 温度传感器
├── 功耗传感器
├── 时钟速度传感器
└── 复合状态传感器
内存 (层级2)
├── 温度传感器
├── 错误统计传感器
└── 复合状态传感器
三、实体与虚拟逻辑建立
层级模型核心机制
关联类型 | 定义 | 应用场景 | 实现标准 |
---|---|---|---|
物理关联 | 描述物理上直接连接的组件包含关系(如PCB板载元件) | - 加速卡包含加速器/内存模块 - 加速器包含内部子组件(如计算单元) | DSP0248 & DSP2054 |
逻辑关联 | 描述功能上协同但无物理连接的组件集合关系(如共享资源的虚拟分组) | - 加速器与内存模块通过通道绑定 - 跨物理卡的功能集群(如多卡计算池) | DSP0248 |
物理关联实现细节
-
数据结构
- 实体关联PDR (Entity Association PDR):定义层级关系的主记录。
- 关键参数:
plaintext
ContainerID: 唯一标识当前容器(如加速卡ID=100) RecordHandle: PDR记录句柄(如1100) ContainerEntityContainerID: 指向父容器ID(如加速卡属于系统,父ID=0) AssociationType: "Physical to Physical containment"
-
示例解析(图3)
plaintext
Accelerator Card (容器) ├── ContainerID: 100 ├── 实体类型: 68 (Add-in card) └── 包含实体: ├── Accelerator (EntityType=149, Instance=1, 父容器ID=100) └── Memory (EntityType=66, Instance=1, 父容器ID=100)
-
层级构建规则
- 每个物理容器(如加速卡)通过ContainerID唯一标识。
- 子实体通过ContainerEntityContainerID指向父容器ID,形成树状结构。
逻辑关联实现细节
-
数据结构
- 关键参数:
plaintext
AssociationType: "Logical containment" ContainerEntity: 虚拟父容器(如通道#1,EntityType=79)
- 关键参数:
-
示例解析(图4)
plaintext
逻辑容器: Channel #1 (容器) ├── ContainerID: 900 ├── 实体类型: 79 (Processor/memory module) └── 逻辑关联实体: ├── Accelerator (父容器ID=100) └── Memory Module (父容器ID=100)
- 意义:将物理上独立但功能绑定的加速器与内存模块归入同一逻辑组(如共享内存通道)。
-
设计价值
- 支持跨物理实体的功能分组(如NUMA节点、PCIe链路伙伴)。
- 允许动态调整逻辑关系,无需硬件变更。
关键标识符对照表
实体类型代码 | 实体描述 | 典型层级 |
---|---|---|
68 | Add-in card (加速卡) | 物理层顶级容器 |
149 | Accelerator (加速器) | 物理层二级容器 |
66 | Memory module (内存模块) | 物理层二级容器 |
79 | Processor/memory module (逻辑组) | 逻辑层虚拟容器 |
四、sensor关联
-
关联原则
- 非层级包含: 数值/状态传感器不直接嵌入实体关联PDR(Entity Association PDR)内。
- 直接引用绑定: 通过以下参数关联到目标实体:
plaintext
EntityContainerID # 实体所在容器的ID EntityType # 实体类型代码(如68=加速卡) EntityInstanceNumber # 实体实例编号
- 唯一标识: 每个传感器通过SensorID全局唯一标识。
-
顶级实体关联
- 目标实体: 系统(顶层容器,
ContainerID=0
)。 - 参数设置:
plaintext
ContainerEntityType = 系统实体类型 containerEntityInstanceNumber = 系统实例号 ContainerEntityContainerID = 0(系统自身无父容器)
- 目标实体: 系统(顶层容器,
-
示例解析
Add-In Card温度传感器PDR ├── SensorID: 20 ├── 关联实体: │ ├── EntityType: 68(加速卡) │ ├── EntityInstanceNumber: 1 │ └── ContainerEntityContainerID: 0(系统) └── 基础单位: 摄氏度(BaseUnit=2) 加速卡实体关联PDR ├── ContainerID: 100 ├── 父容器: 系统(ContainerID=0) └── 包含实体: ├── 加速器(EntityType=149, Instance=1) └── 内存(EntityType=66, Instance=1)
核心ID定义与唯一性规则
ID类型 | 作用域 | 唯一性要求 | 示例生成逻辑 |
---|---|---|---|
ContainerID | 全局模型数据库 | 每个容器PDR(如加速卡/逻辑组)必须唯一 | 递增分配(如100, 200, 300) |
EntityInstanceNumber | 父容器层级内 | 同一父容器下,相同实体类型(如多个加速器)的实例编号必须唯一 | 从1开始顺序分配(加速器1:1, 加速器2:2) |
RecordHandle | 全局模型数据库 | 每个PDR记录(实体/传感器/关联等)必须唯一 | 哈希值或全局计数器(如1100, 1130, 1200) |
SensorID | 全局模型数据库 | 每个传感器(数值/状态型)必须唯一 | 基于实体ID+传感器类型偏移(加速卡温度传感器:20=68+偏移值) |
五、层级模型架构
速卡层级模型架构
层级 | 组件构成 | 核心传感器类型 | 多实例规则 |
---|---|---|---|
加速卡(顶级) | - PCB板 - 加速器 - 内存模块 - 温/压/功率传感器 - 复合状态传感器 - 风扇/电压传感器 | - 整卡功耗传感器 - 复合状态传感器(综合加速器/内存状态) - 环境温度传感器 | 多加速器时,传感器数据默认由第一个加速器上报,加速卡负责排序逻辑 |
加速器(二级) | - 计算核心 - 温度/功耗传感器 - 时钟传感器 - 复合状态传感器(含固件变更/配置状态) | - 核心温度传感器 - 实时功耗传感器(或最大预估功耗) - 复合状态传感器(热保护/健康/配置变更/固件版本) | 每个加速器独立维护自身传感器组,支持多实例(最多10个) |
内存(二级) | - 内存芯片/模块 - 温度传感器 - 错误统计传感器 - 复合状态传感器(健康/缓存/错误/冗余状态) | - DIMM温度传感器 - 可纠正/不可纠正错误计数器 - 复合健康状态传感器(聚合子状态) | 支持板载内存(无直接传感器时使用邻近校准传感器) |
复合状态传感器逻辑
传感器类型 | 聚合规则 | 触发动作 |
---|---|---|
加速卡复合状态 | 综合以下最严重状态: - 加速卡自身传感器(如温度超限) - 所有加速器的健康状态 - 所有内存模块的健康状态 | 触发整卡级维护操作(如强制散热、降频) |
加速器复合状态 | 聚合: - 热保护触发状态 - 设备健康状态 - 配置有效性 - 配置变更标志 - 固件版本变更标志 | 通知MC执行操作: - 加速器重置 - 重新获取PDR - 系统级热保护措施 |
内存复合状态 | 综合: - 内存健康状态 - 缓存状态 - 错误状态(如ECC失效) - 冗余活动状态(如镜像内存切换) | 触发 |
事件通知机制
1. 固件版本变更事件
- 触发条件:加速器固件完成编程操作
- 处理流程:
- UpdateTime管理:
- 虚拟时间戳,初始化于设备启动时
- 每次固件更新后递增
2. 健康/状态传感器事件
- 适用场景:
- 温度超过动态阈值
- 内存不可纠正错误
- 风扇故障
- 电源电压异常
- 优势:
- 相比轮询,事件驱动可将响应延迟降低50-90%(典型值)
- 支持异步紧急通知(如热熔断触发)