基于动态负载感知的服务器自动节能减排方法及系统与流程

摘要: 本技术涉及服务器能效优化,尤其涉及基于动态负载感知的服务器自动节能减排方法及系统。背景技术:1、随着云计算与数据中心规模的持续扩张,服务器能耗已成为全球能源消耗...
基于动态负载感知的服务器自动节能减排方法及系统与流程

本技术涉及服务器能效优化,尤其涉及基于动态负载感知的服务器自动节能减排方法及系统。

背景技术:

1、随着云计算与数据中心规模的持续扩张,服务器能耗已成为全球能源消耗的关键环节。在实际生产环境中,单台物理服务器需频繁切换承载不同类型的计算负载,例如日间处理高计算密度的批量任务、晚间运行内存与磁盘密集型数据库服务、夜间执行网络i/o密集型日志分析作业。这种负载类型的动态演变导致服务器资源利用率与整机功耗之间的映射关系呈现高度不稳定性,其关联特性随负载类型变化而发生显著结构性偏移。当前主流的服务器节能方案普遍依赖资源利用率指标构建调控框架,通过监测cpu、内存及i/o设备的利用率数据,结合预设阈值对风扇转速、电源模式等硬件组件实施调节。此类方案的核心缺陷在于将资源利用率直接作为能耗调控的代理变量,隐含假设利用率与功耗间存在普适且稳定的对应关系,却忽视了不同负载类型下该映射关系的本质差异。例如,当服务器cpu利用率同为百分之六十时,纯计算型负载产生的整机功耗可能远高于包含大量i/o等待的混合型负载;同样单位的cpu利用率变动在计算密集场景中引发的功耗波动,亦可能数倍于i/o密集场景下的变化幅度。由于现有技术对所有负载类型采用统一调控参数,无法依据当前负载的实际功耗特征实施差异化调节,致使系统在部分场景下因过度调控而损害业务性能,在另一些场景下又因调控不足造成能源浪费,形成典型的“能耗调控失配”现象。此外,风扇调控存在固有的热惯性延迟特性,从转速调整到芯片温度响应通常需要数秒至数十秒,而现有方案多在温度异常升高后才被动触发调控,进一步加剧了响应滞后与能源低效问题。

2、上述内容仅用于辅助理解本技术的技术方案,并不代表承认上述内容是现有技术。

技术实现思路

1、本技术的主要目的在于提供一种基于动态负载感知的服务器自动节能减排方法及系统,旨在根据负载类型动态调整节能策略,避免能耗调控失配现象。

2、为实现上述目的,本技术提出一种基于动态负载感知的服务器自动节能减排方法,所述的方法包括:

3、采集服务器在运行过程中多个资源维度的利用率数据以及整机功耗数据;其中,多个所述资源维度至少包括cpu、内存、磁盘i/o和网络i/o;

4、基于多个所述资源维度的利用率数据和所述整机功耗数据,在预设的滑动时间窗口内分别计算各资源维度的功耗弹性系数,所述功耗弹性系数表征该资源维度上单位利用率变化所引起的整机功耗变化量;将各资源维度的功耗弹性系数组合,形成当前时刻的功耗弹性系数向量;

5、基于所述功耗弹性系数向量,识别服务器当前运行的负载类型,得到当前负载类型标识;

6、基于所述当前负载类型标识,从预先构建的差异化节能调控策略库中获取与该当前负载类型标识对应的差异化节能调控策略参数集;

7、基于所述差异化节能调控策略参数集,生成针对服务器各硬件组件的调控指令,以对服务器硬件组件进行节能调控。

8、在一实施例中,基于多个所述资源维度的利用率数据和所述整机功耗数据,在预设的滑动时间窗口内分别计算各资源维度的功耗弹性系数,所述功耗弹性系数表征该资源维度上单位利用率变化所引起的整机功耗变化量;将各资源维度的功耗弹性系数组合,形成当前时刻的功耗弹性系数向量的步骤包括:

9、在所述滑动时间窗口内,遍历各资源维度的利用率变化曲线,识别出各资源维度对应的独立变化区间;其中,所述独立变化区间是指在该区间内仅有单个资源维度的利用率发生超过预设波动阈值的利用率变化,而其余各资源维度的利用率变化均未超过所述预设波动阈值的时段;

10、对于识别出独立变化区间的资源维度,在该独立变化区间内将整机功耗变化量归因至该资源维度,计算该资源维度的功耗弹性系数为该独立变化区间内整机功耗变化量与利用率变化量的比值;

11、对于未能在所述滑动时间窗口内找到独立变化区间的资源维度,采用偏最小二乘回归方法对该滑动时间窗口内各资源维度的利用率变化量与整机功耗变化量进行统计解耦估计,以获得该资源维度的功耗弹性系数估计值;

12、对所述功耗弹性系数和所述功耗弹性系数估计值进行指数加权移动平均平滑处理,抑制测量噪声后,组合形成所述功耗弹性系数向量。

13、在一实施例中,基于所述功耗弹性系数向量,识别服务器当前运行的负载类型,得到当前负载类型标识的步骤包括:

14、对所述功耗弹性系数向量中各资源维度的功耗弹性系数分别进行z-score归一化处理,以消除不同服务器硬件配置差异带来的弹性系数绝对值差异;其中,z-score归一化所使用的均值和标准差基于该服务器在预设历史运行时段内积累的各维度功耗弹性系数的历史统计值;

15、对经z-score归一化处理后的向量进行l2归一化处理,以消除当前负载强度对向量模长的影响,仅保留各资源维度之间功耗弹性的相对比例关系,得到标准化功耗指纹特征向量;

16、基于所述标准化功耗指纹特征向量,识别服务器当前运行的负载类型,得到所述当前负载类型标识。

17、在一实施例中,基于所述标准化功耗指纹特征向量,识别服务器当前运行的负载类型,得到所述当前负载类型标识的步骤包括:

18、在由标准化功耗指纹特征向量构成的特征空间中,采用基于密度的在线增量聚类算法持续维护聚类模型;其中,在系统初始化阶段,利用累积的标准化功耗指纹特征向量样本自动发现聚类中心,无需人工标注负载类型标签;在运行阶段,各新采集的标准化功耗指纹特征向量被实时归类至距离最近的聚类中心;

19、将当前标准化功耗指纹特征向量归类至的聚类中心所对应的负载类型标签作为所述当前负载类型标识;

20、当出现与全部现有聚类中心的距离均超过预设新建阈值的标准化功耗指纹特征向量时,自动创建新的聚类中心,以捕获新出现的负载类型;当一聚类中心在超过预设休眠时长的时段内未获得新样本时,将该聚类中心标记为休眠状态。

21、在一实施例中,基于所述功耗弹性系数向量,识别服务器当前运行的负载类型,得到当前负载类型标识的步骤还包括:

22、在所述特征空间中,持续追踪当前标准化功耗指纹特征向量相对于各聚类中心的位置变化,计算当前标准化功耗指纹特征向量在特征空间中的移动方向矢量和移动速率;

23、当检测到当前标准化功耗指纹特征向量持续沿背离当前所属聚类中心、指向其他聚类中心的方向移动,且移动速率超过预设迁移速率阈值时,判定服务器正在发生负载类型迁移,并生成迁移状态标识;其中,所述迁移状态标识用于指示后续步骤是否启用策略渐变过渡机制。

24、在一实施例中,在基于所述当前负载类型标识,从预先构建的差异化节能调控策略库中获取与该当前负载类型标识对应的差异化节能调控策略参数集的步骤之前,所述方法还包括:

25、为各负载类型维护独立的经验回放缓冲区;当服务器运行于一负载类型时,将经验样本存入该负载类型对应的经验回放缓冲区;其中,所述经验样本包括:状态数据、所执行的调控动作、获得的奖励值以及下一状态数据;所述状态数据包括所述当前负载类型标识和该负载类型对应的标准化功耗指纹特征向量;所述调控动作为所述调控指令;所述奖励值根据执行所述调控指令后服务器的整机功耗变化量、芯片温度变化量以及业务响应延迟变化量计算得到;

26、对于各负载类型,周期性地从其对应的经验回放缓冲区中抽取经验样本批次,利用近端策略优化算法对该负载类型对应的差异化节能调控策略参数集进行在线学习更新;其中,所述近端策略优化算法通过计算策略参数更新的概率比率并对该概率比率进行裁剪,以限制单次更新幅度,从而在所述经验样本批次上迭代调整所述差异化节能调控策略参数集中的各参数值,使得更新后的策略参数在由所述奖励值定义的目标函数下获得更高的期望奖励值;

27、将经在线学习更新后的差异化节能调控策略参数集存入所述差异化节能调控策略库中,以供后续步骤调用。

28、在一实施例中,生成针对服务器各硬件组件的调控指令包括风扇调控指令的生成,其包括:

29、基于步骤所述功耗弹性系数向量中各资源维度的功耗弹性系数,结合多个所述资源维度的利用率数据确定的各资源维度的利用率变化趋势,以及所述差异化节能调控策略参数集中与当前负载类型对应的风扇调控参数,预测未来预设时段内服务器的预期发热功率;

30、将所述预期发热功率作为前馈信号,输入至风扇控制器,使得风扇控制器在服务器芯片温度尚未发生超过预设温度变化阈值的变化之前即开始调整风扇转速;

31、所述风扇控制器结合所述前馈信号和来自温度传感器的实时温度反馈信号,采用前馈-反馈复合控制方式生成风扇转速调控指令,以降低因热惯性延迟导致的调控滞后。

32、在一实施例中,当所述迁移状态标识指示服务器正在发生负载类型迁移时,基于所述差异化节能调控策略参数集,生成针对服务器各硬件组件的调控指令,以对服务器硬件组件进行节能调控的步骤包括:

33、获取当前标准化功耗指纹特征向量,分别计算该标准化功耗指纹特征向量与所述当前所属聚类中心之间的第一距离,以及与所述其他聚类中心之间的第二距离;其中,将所述当前所属聚类中心对应的负载类型作为源负载类型,将所述其他聚类中心对应的负载类型作为目标负载类型;

34、基于所述第一距离和所述第二距离,计算过渡因子,该过渡因子表征当前负载状态在源负载类型与目标负载类型之间的渐变程度,其取值范围从归属于源负载类型渐变至归属于目标负载类型;

35、利用所述过渡因子,对从所述差异化节能调控策略库中获取的所述源负载类型对应的差异化节能调控策略参数集和所述目标负载类型对应的差异化节能调控策略参数集进行加权组合,得到过渡期调控策略参数集;

36、基于所述过渡期调控策略参数集,生成针对服务器各硬件组件的调控指令,使得在负载类型切换过程中调控指令平滑连续变化,避免因策略参数不连续切换引起的调控振荡。

37、在一实施例中,生成针对服务器各硬件组件的调控指令采用多时间尺度分层调控架构实现,其包括:

38、将服务器各硬件组件按其调控响应时间常数划分为三个调控层级:快层调控对象为cpu频率和gpu频率,其响应时间常数为微秒至毫秒级别;中层调控对象为电源工作模式和处理器休眠深度,其响应时间常数为毫秒级别;慢层调控对象为风扇转速和磁盘待机状态,其响应时间常数为秒至分钟级别;

39、对于所述快层调控对象,以第一调控周期基于多个所述资源维度的利用率数据的当前瞬时值以及所述差异化节能调控策略参数集中与当前负载类型对应的cpu频率调控参数和gpu频率调控参数,生成cpu频率调控指令和gpu频率调控指令;

40、对于所述中层调控对象,以第二调控周期基于由多个所述资源维度的利用率数据在预设短期时间范围内经统计分析得到的短期负载趋势以及所述差异化节能调控策略参数集中与当前负载类型对应的电源模式切换参数和处理器休眠深度参数,生成电源工作模式切换指令和处理器休眠深度调节指令;

41、对于所述慢层调控对象,以第三调控周期基于热惯性模型和长期负载预测以及所述差异化节能调控策略参数集中与当前负载类型对应的风扇转速调控参数和磁盘待机控制参数,生成风扇转速调控指令和磁盘待机控制指令;

42、其中,所述第一调控周期小于所述第二调控周期,所述第二调控周期小于所述第三调控周期,以实现不同响应时间常数硬件组件之间的协调调控。

43、此外,为实现上述目的,本技术还提出一种基于动态负载感知的服务器自动节能减排系统,所述基于动态负载感知的服务器自动节能减排系统包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的基于动态负载感知的服务器自动节能减排程序,所述基于动态负载感知的服务器自动节能减排程序配置为实现所述的基于动态负载感知的服务器自动节能减排方法的步骤。

44、本技术提出的基于动态负载感知的服务器自动节能减排方法及系统,通过动态感知负载类型并匹配差异化节能策略参数集,实现针对不同负载特征的精准调控,能够根据负载类型动态调整节能策略,避免能耗调控失配现象。