Bootstrap

PLDM入门(六):Accelerator Modeling

一、基本概念

加速卡(Accelerator Card)

  1. 基本定义

    • 层级定位: 模型中的顶层元素,物理上由一块PCB板集成一个或多个加速器。
    • 功能特性: 硬件与软件协同的卸载解决方案,用于将特定计算任务从主机处理器转移至加速卡。
  2. 实体标识

    • PLDM实体ID: 固定为 68(对应附加卡类型,Add-in card)。
    • 传感器支持: 可包含传感器(如系统级健康状态或环境监测)。

加速器(Accelerator)

  1. 层级与功能

    • 层级定位: 第二层元素,隶属于加速卡。
    • 核心功能: 专用硬件设备,专注于特定计算任务的卸载处理(如AI推理、加密运算等)。
  2. 监测能力

    • 传感器类型:
      • 健康状态(Health State)
      • 功耗(Power Consumption)
      • 温度(Temperature)

内存(Memory)

  1. 定义范围

    • 涵盖内容:
      • 加速器内部集成内存
      • PCB板载内存芯片
      • 外接DIMM模块
    • 层级定位: 第二层元素,与加速器并列(可能作为加速器或加速卡的子组件)。
  2. 监测指标

    • 传感器类型:
      • 温度(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

物理关联实现细节

  1. 数据结构

    • 实体关联PDR (Entity Association PDR):定义层级关系的主记录。
    • 关键参数

      plaintext

      ContainerID: 唯一标识当前容器(如加速卡ID=100)
      RecordHandle: PDR记录句柄(如1100)
      ContainerEntityContainerID: 指向父容器ID(如加速卡属于系统,父ID=0)
      AssociationType: "Physical to Physical containment"
  2. 示例解析(图3)

    plaintext

    Accelerator Card (容器)
    ├── ContainerID: 100
    ├── 实体类型: 68 (Add-in card)
    └── 包含实体:
        ├── Accelerator (EntityType=149, Instance=1, 父容器ID=100)
        └── Memory (EntityType=66, Instance=1, 父容器ID=100)
  3. 层级构建规则

    • 每个物理容器(如加速卡)通过ContainerID唯一标识。
    • 子实体通过ContainerEntityContainerID指向父容器ID,形成树状结构。

逻辑关联实现细节

  1. 数据结构

    • 关键参数

      plaintext

      AssociationType: "Logical containment"
      ContainerEntity: 虚拟父容器(如通道#1,EntityType=79)
  2. 示例解析(图4)

    plaintext

    逻辑容器: Channel #1 (容器)
    ├── ContainerID: 900
    ├── 实体类型: 79 (Processor/memory module)
    └── 逻辑关联实体:
        ├── Accelerator (父容器ID=100)
        └── Memory Module (父容器ID=100)
    • 意义:将物理上独立但功能绑定的加速器与内存模块归入同一逻辑组(如共享内存通道)。
  3. 设计价值

    • 支持跨物理实体的功能分组(如NUMA节点、PCIe链路伙伴)。
    • 允许动态调整逻辑关系,无需硬件变更。

关键标识符对照表

实体类型代码实体描述典型层级
68Add-in card (加速卡)物理层顶级容器
149Accelerator (加速器)物理层二级容器
66Memory module (内存模块)物理层二级容器
79Processor/memory module (逻辑组)逻辑层虚拟容器

四、sensor关联

  1. 关联原则

    • 非层级包含: 数值/状态传感器不直接嵌入实体关联PDR(Entity Association PDR)内。
    • 直接引用绑定: 通过以下参数关联到目标实体:

      plaintext

      EntityContainerID    # 实体所在容器的ID
      EntityType           # 实体类型代码(如68=加速卡)
      EntityInstanceNumber # 实体实例编号
    • 唯一标识: 每个传感器通过SensorID全局唯一标识。
  2. 顶级实体关联

    • 目标实体: 系统(顶层容器,ContainerID=0)。
    • 参数设置:

      plaintext

      ContainerEntityType          = 系统实体类型
      containerEntityInstanceNumber = 系统实例号
      ContainerEntityContainerID   = 0(系统自身无父容器)
  3. 示例解析

    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%(典型值)
    • 支持异步紧急通知(如热熔断触发)