背景
当前目标调速/环温调速策略颗粒度较粗,无法进行精细化调速,例如:
- 目标调速:
①. 以CPU目标调速为例,同一机型有不同CPU型号区别,不同CPU型号的功耗不同,其所对应的目标温度值也不同,因此需对不同CPU型号进行区分,确认不同的调速策略;
②. 以内存目标调速为例,同一机型可插不同的内存,不同型号的内存存在不同的功耗,其所对应的目标温度值也不同,因此需要不同内存型号进行区分,确认不同的调速策略; - 环温调速:
当前环温调速会根据不同硬盘/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% | ||
| … | … | … |
决策点
- 目标调速对象CoolingRequirement下新增属性:ComponentIdentifer
- 环温调速对象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]
}
评审结论
- 同意在目标调速对象CoolingRequirement下新增属性:ComponentIdentifer
- 同意在环温调速对象CoolingPolicy下新增属性:HDDBackPlaneCount,PCIeCardCount