背景
当前能效智能调速算法涉及使用机器学习相关算法,而算法所需要的训练数据和超参数均内置在BMC中,即数据和参数是固定的无法进行修改,为满足不同客户的诉求,需提供替换训练数据和模型超参数能力。
关联ISSUE
评审点
(1)新增资源协作路径:/bmc/kepler/Chassis/:ChassisId/ThermalSubsystem/AlgorithmEngine;
(2)新增资源协作接口:bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine,AlgorithmEngine接口下新增方法GetAlgorithmList、ImportConfig和ExportConfig;
(3)新增资源协作接口:bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine.ModelPredictiveControl,ModelPredictiveControl接口下新增属性ImportDataStatus、ImportHyperParamStatus分别表示导入MPC的训练数据和模型超参数的生效状态;
详细描述
评审点1:新增资源协作路径:/bmc/kepler/Chassis/:ChassisId/ThermalSubsystem/AlgorithmEngine
路径描述:新增能效智能调速算法路径,统一管理能效智能算法相关配置
实现接口
| 实现接口 | 实现接口描述 | CSR配置影响 | 持久化影响 | 其他影响 |
|---|---|---|---|---|
| bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine | (1)实现GetAlgorithmList方法,提供获取当前能效智能调速的算法类型 (2)实现ImportConfig方法,提供能效智能算法导入配置的功能 (3)实现ExportConfig方法,提供能效智能算法导出配置的功能 |
不涉及 | 新增接口,无兼容性问题 | 不涉及 |
| bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine.ModelPredictiveControl | 实现ImportDataStatus和ImportHyperParamStatus属性,表示导入的MPC训练数据和模型超参数的生效状态 |
不涉及 | 新增接口,无兼容性问题 | 不涉及 |
评审点2:新增资源协作接口bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine
接口描述:此接口用于管理能效智能调速算法的通用接口
新增方法
| 方法名称 | 请求签名 | 请求参数描述 | 响应签名 | 响应参数描述 | 方法描述 | 访问权限 |
|---|---|---|---|---|---|---|
| GetAlgorithmList | / | / | as | 返回当前能效智能调速算法类型列表 | 获取当前能效智能调速的算法类型 | UserMgmt |
| ImportConfig | sss | AlgorithmType:智能调速算法类型,枚举值,取值范围:MPC ConfigType: 导入配置类型,枚举值,MPC支持的两种导入类型:TrainingData训练数据导入、HyperParameter模型超参导入 Content: 表示导入配置的文件路径名称 TrainingData类型的配置导入,导入文件必须为csv格式, 所有训练数据必须打包为 单个 ZIP 压缩包 HyperParameter类型的配置导入,配置文件必须为json格式 |
u | 成功返回:TaskId:任务id 错误返回: (1)传入文件格式错误,返回错误信息“WrongFileFormat” (2)解析传入配置,发生属性值类型或取值范围不匹配,返回错误信息“PropertyValueMismatch” (3)其它错误导致导入数据失败,返回错误信息“InternalError” |
提供能效智能算法导入配置的功能 | UserMgmt |
| ExportConfig | ss | AlgorithmType:智能调速算法类型,枚举值,取值范围:MPC ConfigType: 导出配置类型,枚举值,MPC支持导出类型:HyperParameter模型超参导出 |
u | 成功返回:TaskId:任务id,HyperParameter类型的配置导出,导出文件为/tmp/xxx.json 错误返回:导出配置失败,返回错误信息“InternalError” |
提供能效智能算法导出配置的功能 | UserMgmt |
评审点3:新增资源协作接口bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine.ModelPredictiveControl
接口描述:此接口用于管理MPC算法导入超参数的生效状态,导入训练数据的生效状态
新增属性
| 属性名称 | 签名 | 只读 | 变化通知 | 属性描述 | 访问权限 | 属性来源 | 持久化类型 | 易变属性 |
|---|---|---|---|---|---|---|---|---|
| ImportDataStatus | s | True | false | 表示导入MPC的训练数据的生效状态 取值值范围: NoData 未导入 DataPending 导入不生效 DataEffective 导入且生效 ImportFailed 导入失败 默认值:NoCustomData |
Read: ReadOnly | 业务代码 | 永久持久化 | false |
| ImportHyperParamStatus | s | True | false | 表示导入MPC的超参数的生效状态 取值值范围: NoHyperParam 未导入 HyperParamPending 导入不生效 HyperParamEffective 导入且生效 ImportFailed 导入失败 默认值:NoHyperParam |
Read: ReadOnly | 业务代码 | 永久持久化 | false |
评审结论
通过,具体结论如下:
- 同意资源协作路径
/bmc/kepler/Chassis/:ChassisId/ThermalSubsystem/AlgorithmEngine下新增资源协作接口bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine和bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine.ModelPredictiveControl - 同意新增资源协作接口
bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine,同意接口下新增方法GetAlgorithmList/ImportConfig/ExportConfig,接口的方法详细信息见评审点 2 - 同意新增资源协作接口
bmc.kepler.Chassis.ThermalSubsystem.AlgorithmEngine.ModelPredictiveControl,同意接口下新增属性ImportDataStatus/ImportHyperParamStatus,接口下属性详细信息见评审点 3
遗留问题
无