【已评审】支持精细化调速策略配置

背景

当前目标调速/环温调速策略颗粒度较粗,无法进行精细化调速,例如:

  1. 目标调速:
    ①. 以CPU目标调速为例,同一机型有不同CPU型号区别,不同CPU型号的功耗不同,其所对应的目标温度值也不同,因此需对不同CPU型号进行区分,确认不同的调速策略;
    ②. 以内存目标调速为例,同一机型可插不同的内存,不同型号的内存存在不同的功耗,其所对应的目标温度值也不同,因此需要不同内存型号进行区分,确认不同的调速策略;
  2. 环温调速:
    当前环温调速会根据不同硬盘/PCIe卡类型配置不同曲线,为保证精细化调速和后续热设计扩展能力,需对硬盘/PCIe数量进行考虑,即不同硬盘数量,不同PCIe卡数量会对应不同的调速曲线;
    即最终目的:支持根据热设计提供的调速策略,实现调速参数精细化配置;

目标调速策略:

部件 目标值 全速值
CPU 85 103
MEM 65 85

需变更为:

部件 型号 目标值 全速值
CPU xxx 85 103
CPU yyy 95 103
MEM xxx 65 85
MEM yyy 75 85

环温调速策略:

部件 环温配置
温度 转速
Disk BP1 ≤20 35%
20<T≤21 35%
Disk BP2 ≤20 40%
20<T≤21 40%

需变更为:

部件 数量 环温配置
温度 转速
Disk BP1 1 ≤20 35%
2 20<T≤21 35%
Disk BP2 1 ≤20 40%
2 20<T≤21 40%

决策点

  1. 目标调速对象CoolingRequirement下新增属性:ComponentIdentifer
  2. 环温调速对象CoolingPolicy下新增属性:HDDBackPlaneCount,PCIeCardCount
属性名称 签名 只读 变化通知 属性描述 访问权限 属性来源 持久化类型 易变属性
ComponentIdentifier as True False 表示目标调速策略的器件标识符,默认值为空数组,表示不需要考虑该字段,否则需根据实际环境上对应匹配的类型,用于生效该策略。
具体配置数据:
CPU配置:资源协作路径:/bmc/kepler/Systems/:SystemId/Processors/CPU/:ID,资源协作接口:bmc.kepler.Systems.Processor下的Model值
内存配置:/bmc/kepler/Systems/:SystemId/Memory/:ID,资源协作接口:bmc.kepler.Systems.Memory下的OriginalPartNumber值
Read: ReadOnly CSR 不持久化
HDDBackPlaneCount ay True False 表示环温调速策略的前置硬盘背板数量,默认值为空数组,表示不需要考虑该字段,否则需根据字段HDDBackPlaneName数组中相同索引对应的数量和实际环境进行匹配,用于生效该策略 Read: ReadOnly CSR 不持久化
PCIeCardCount ay True False 表示环温调速策略的PCIe卡数量,默认值为空数组,表示不需要考虑该字段,否则需根据字段PCIeCardName数组中相同索引对应的数量和实际环境进行匹配,用于生效该策略 Read: ReadOnly CSR 不持久化

示例:
目标调速策略:

"CoolingRequirement_1_20": {
    "RequirementId": 20,
    "TemperatureType": 1,
    "MonitoringStatus": "<=/CPU_1.TemperatureCelsius |> expr(($1 == 16384) ? 0 : ($1 >= 255 ? 1 : 0))",
    "MonitoringValue": "<=/CPU_1.TemperatureCelsius",
    "FailedValue": 80,
    "TargetTemperatureCelsius": 90,
    "MaxAllowedTemperatureCelsius": 103,
    "TargetTemperatureRangeCelsius": [
        50,
        95
    ],
    "ThresholdValue": [],
    "AlarmSpeed": [],
    "SmartCoolingTargetTemperature": [
        90,
        85,
        95
    ],
    "CustomSupported": true,
    "CustomTargetTemperatureCelsius": 90,
    "SensorName": "#/ThresholdSensor_CPU1CoreRem.SensorName",
    "ComponentIdentifier": "xxxx"
}

环温调速策略:

"CoolingPolicy_1_6": {
  "PolicyIdx": 6,
  "ExpCondVal": "EnergySaving",
  "ActualCondVal": "<=/CoolingConfig_1.SmartCoolingMode",
  "Hysteresis": 1,
  "TemperatureRangeLow": [-127, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39,  40,  41,  42,  43,  44,  45],
  "TemperatureRangeHigh":  [20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40,  41,  42,  43,  44,  45, 127],
  "SpeedRangeLow":         [25, 25, 25, 25, 25, 25, 25, 27, 29, 31, 33, 35, 40, 45, 50, 55, 60, 65, 70, 80, 90, 100, 100, 100, 100, 100, 100],
  "SpeedRangeHigh":        [25, 25, 25, 25, 25, 25, 25, 27, 29, 31, 33, 35, 40, 45, 50, 55, 60, 65, 70, 80, 90, 100, 100, 100, 100, 100, 100],
  "FanType": ["02314BLG 8038+"],
  "HDDBackPlaneName": ["BC83HBBA", "BC83NHBD"],
  "HDDBackPlaneCount": [1, 2],
  "PCIeCardName": [xxx, xxx, xxx],
  "PCIeCardCount": [1, 2, 3]
}

评审结论

  1. 同意在目标调速对象CoolingRequirement下新增属性:ComponentIdentifer
  2. 同意在环温调速对象CoolingPolicy下新增属性:HDDBackPlaneCount,PCIeCardCount