一种结合温度感知的计算机节能方法及系统
技术领域
本发明针对互联网络数据中心中,以节能为目的,设计和实现一种控制CPU工作状态的方法,以两个参数作为衡量,对数据中心功耗进行优化。
背景技术
随着互联网络的逐渐兴起,数据中心的计算性能越来越强,同时其能源的消耗也越来越受到人们的重视,对于整个计算机网络,可进行节能改进的地方很多,由于计算机中CPU的功耗开销占整个计算机的主要部分,计算机功耗的变化主要由CPU功耗的变化引起。所以主要讨论CPU节能的部分。
在微观硬件层面:随着当代数据中心计算机对性能需求的逐渐提升,对于计算机内部CPU运算能力的需求也越来越高。然而由于受到集成电路制造工艺和半导体硅物理特性的影响,以及CPU体系结构等原因的限制,在逐渐趋向于多核、体系结构以及异构设计,由于低参数工艺带来的单位面积功耗过高以及封装上面带来的困难,近几年芯片低功耗设计的考量在芯片体系结构设计时也越来越受到重视,总体来说硬件层面在节能方面的改进相对固定,可调节性不高,一般只能通过对计算机或CPU平台架构的更新换代来进行改进。
在微观软件层面:对于单台服务器,它所提供的性能要满足其上运行的任务最大需求,然而数据中心并不是一直处在对性能要求最高的状态,因此在一段时间之中,服务器CPU的实际平均利用率并不高,造成了实际上性能的大量浪费,另外,不同类型的任务对CPU性能需求的差异很大,比如在做矩阵乘法时,任务对于计算机内存性能的瓶颈先于CPU的瓶颈到达,所以CPU的使用率并不高,由于这一特性,在数据中心中每一台服务器上,在不降低在其上运行的进程对性能要求的前提下,当服务器运行时的性能高于在其上运行的任务所需要的性能时,通过ACPI的硬件接口的控制,通过对CPU降压/降频(DVFS技术),可以在降低多余性能的同时降低CPU的功耗,若在一段较长的时间内CPU处于空闲idle状态,则可将CPU置于睡眠模式,直到任务到来,基于这两种方式的节能,均是在不影响性能的前提下通过动态电源的管理实现功耗的降低,目前行业主要实现策略有两种:1、基于计算功耗控制参数制定调节策略;2、基于温度控制参数制定调节策略,总体上来说,数据中心功耗的开销主要为服务器和空调的功耗,服务器功耗的可调节部分主要为CPU、内存、风扇等,其中CPU的可调节性最高;同时,考虑到大气温度的不可控性,因此空调的制冷功耗的降低与服务器整体的温度状态直接相关。
在当前数据中心中对功耗降低的方法通常是将宏观和微观相结合,通过改进数据中心的互联网络拓扑结构,合理控制带宽和分配资源,虚拟机分配和调度算法的设计,将数据中心的负载均衡化,将网络中性能功耗比不高的节点关闭,将数据中心的负载合理化可以较为显著地降低数据中心的计算功耗,目前在虚拟机调度算法设计方面,主要集中在以数据中心中服务器整体的计算功耗最低作为算法优化的衡量标准,或者以温度作为参考,衡量数据中心空调制冷功耗的降低的贡献,使得数据中心的计算功耗降至理论上的最低,然而对于上述的当前技术,在相应的策略定制时,只是单纯考虑到宏观虚拟机调度和微观调节在计算功耗降低上的贡献,并没有考虑相应策略设计时对机房温度的影响,然而维持机房温度稳定的制冷功耗通常占数据中心中总功耗比例的第二位,如图1所示,大型数据中心中在空调制冷的功耗可达到数据中心整体功耗开销的40%,所以单纯考虑计算功耗定制的策略,可能会引起数据中心的空调制冷功耗与服务器计算功耗之和总体上的变化并未达到最优,因此,在数据中心节能算法设计中,也需要在计算机节能选择策略时将服务器计算功耗与制冷功耗结合起来加以考虑。
发明专利“一种基于负载统计的计算机节能的方法”公开了一种基于负载统计的计算机节能的方法,系统结构包括:负载分析单元(1),策略生成单元(2),系统定时任务(3),系统降频接口(4),操作系统通过对一段时间内的系统负载进行统计分析,通过降低系统低负载时计算机CPU的频率及启动操作系统定时任务功能,实现在特定时间段内让CPU处于低频率下运行,从而达到延长计算机部件寿命,降低计算机能耗,但是该发明也以负载统计的方法预测计算机负载,区别是其策略生成仍只是单纯考虑计算功耗的影响,未将温度作考虑。
发明内容
针对现有技术不足,本发明设计一种微观上软件的调节方法,在面对不同负载时,在节能策略方法上考虑对空调制冷功耗和计算机计算功耗的共同影响,使得计算机在数据中心中不同负载情况下,制冷功耗和计算功耗之和降到最低,数据中心整体的性能功耗比达到最优,其中包括线下测量的数据收集,制冷功耗模型的建立,最优策略集的选取。
本发明提出一种结合温度感知的计算机节能方法,包括:
步骤1,获取时间T内该计算机运行固定工作负载的总能耗,该总能耗包括该计算机的计算能耗与根据该温度获取的制冷能耗,其中在该时间T内,将该计算机的CPU在时间t内置于休眠状态,及将该CPU在工作状态下的频率置于满足该固定工作负载的最低频率;
步骤2,增加该时间t并循环执行该步骤1,直到该CPU在该工作状态下的频率达到100%,选择该总能耗最低的负载策略为最优负载策略,用于该计算机实际运行时节能。
所述的结合温度感知的计算机节能方法,还包括,获取该计算机的最大性能,将该计算机的最大性能平均分为多个档位作为工作负载档位,遍历该工作负载档位并执行该步骤2,生成最优负载策略集。
所述的结合温度感知的计算机节能方法,还包括,该计算机在实际运行时,将实际工作负载与该工作负载档位进行匹配,并从该最优负载策略集中选取与该实际工作负载相对应的该最优负载策略,以完成该计算机节能。
所述的结合温度感知的计算机节能方法,该步骤1中该时间T为1秒,该时间t为0.01秒。
所述的结合温度感知的计算机节能方法,该步骤2中增加该时间t的增量为一个时间t。
本发明还提供一种结合温度感知的计算机节能系统,包括:
获取计算机总能耗模块,用于获取时间T内该计算机运行固定工作负载的总能耗,该总能耗包括该计算机的计算能耗与根据该温度获取的制冷能耗,其中在该时间T内,将该计算机的CPU在时间t内置于休眠状态,及将该CPU在工作状态下的频率置于满足该固定工作负载的最低频率;
选取最优负载策略模块,用于增加该时间t并循环执行该获取计算机总能耗模块,直到该CPU在该工作状态下的频率达到100%,选择该总能耗最低的负载策略为最优负载策略。
所述的结合温度感知的计算机节能系统,还包括生成最优负载策略集模块,用于获取该计算机的最大性能,将该计算机的最大性能平均分为多个档位作为工作负载档位,遍历该工作负载档位并执行该选取最优负载策略模块,生成最优负载策略集。
所述的结合温度感知的计算机节能系统,还包括,匹配模块,用于该计算机在实际运行时,将实际工作负载与该工作负载档位进行匹配,并从该最优负载策略集中选取与该实际工作负载相对应的该最优负载策略,以完成该计算机节能。
所述的结合温度感知的计算机节能系统,该时间T为1秒,该时间t为0.01秒。
所述的结合温度感知的计算机节能系统,该选取最优负载策略模块中增加该时间t的增量为一个时间t。
由以上方案可知,本发明的优点在于:考虑到计算机外部受温度影响的制冷功耗的开销,本发明将温度作为考虑的参数引入到数据中心的节点级服务器节能中,使温度感知节能在更低的层级节能上做考虑,在讨论单个服务器的功耗时,整合了计算功耗和制冷功耗,尤其在数据中心整体功耗节省问题上,本发明与基于温度感知的宏观调度在彼此的两个层次可构成很好的联结与互补。
附图说明
图1为数据中心能源消耗比例图;
图2为运用睡眠模式策略图;
图3为功耗策略算法流程图;
图4为功耗管理模块软件设计架构图;
图5为选择功耗管理示意图。
图6为CPU在不同频率下100%使用率时温度、电压、功率统计表。
其中附图标记为:
步骤100为本发明功耗策略算法步骤,包括:
步骤101/102/103/104/105;
步骤200为功耗策略详细步骤,包括:
步骤201/202/203/204/205/206/207/208/209/210/211/212;
步骤300为选择负载策略步骤,包括:
步骤301/302/303。
具体实施方式
对于每一种型号的计算机,最优节能策略选取方法为:在线下对服务器进行不同负载的测试,记录测试时满足负载条件时的调节策略,记录相应参数,如电压、频率、温度等,调节的方式有DVFS(动态电压频率调节),以及DCS(动态开关核),当CPU负载较轻时,可以通过DVFS(动态电压频率调节),将CPU的电压调低,同时会使CPU工作频率降低,根据CPU的功耗与其工作电压和频率的关系,当电压降低时,CPU的功耗会降低,而同时,电压的降低也会引起温度的降低,当运用DVFS(动态电压频率调节)技术将CPU降频时,如图6所示,以Xeon E5-2620低功耗芯片为例,CPU工作在1.2GHz时的计算功耗比2.0GHz时降低了36%,温度降低5~7℃。关于DCS(动态开关核)的实现上,可分为两种方式,传统调节思路与DVFS(动态电压频率调节)类似,即根据负载的变化,动态地调节CPU中开启和关闭的核心的数量,以达到控制CPU功耗的目的。
本发明使用的方法为:当CPU在一段时间内利用率较低时,将这段时间分割成均匀的几小段时间,如图2所示,设动态地将CPU整体在每一小段时间内,根据CPU利用率的信息将其在一个合理的时间间隔内置入Sleep Mode(睡眠模式)状态,如图2所示,其中E为分割的成小段时间数量的倒数,将CPU置于Sleep Mode(睡眠模式)的时刻可以在DVFS(动态电压频率调节)的基础上,降低计算机整体30%以上的计算功耗,在Sleep Mode(睡眠模式)时,可以将片外温度视为室内温度,通过DCS(动态开关核)和DVFS(动态电压频率调节)结合的联合调节,在制定节能策略时同时考虑不同策略情形下对计算机的计算功耗和由其温度引起的制冷功耗,使计算功耗和制冷功耗均达到最低。
通过监测在一个调节策略下CPU的当前电压和工艺型号,可以计算出CPU的计算功耗,通过监控当前CPU片内和片外温度以及相关参数,可以推算估计在此情况下空调保持一个恒定温度时的运行功率,根据机房的规模和空调的规模,依据已有的经验数据推算单个服务器在对应不同策略的选取上时,对应空调制冷功耗的贡献模型,记录不同策略下单台服务器不同策略下的CPU引发的计算功功耗和制冷功耗,筛选出最优策略集。
本发明的总体流程包括:获取时间T内该计算机运行固定工作负载的总能耗,该总能耗包括该计算机的计算能耗与根据该温度获取的制冷能耗,其中在该时间T内,将该计算机的CPU在时间t内置于休眠状态,及将该CPU在工作状态下的频率置于满足该固定工作负载的最低频率,该时间T为1秒,该时间t为0.01秒;增加该时间t并循环执行以上步骤,直到该CPU在该工作状态下的频率达到100%,选择该总能耗最低的负载策略为最优负载策略,用于该计算机实际运行时节能,增加该时间t的增量为一个时间t;获取该计算机的最大性能,将该计算机的最大性能平均分为多个档位作为工作负载档位,遍历该工作负载档位并找出每个工作负载档位的最优负载策略,生成最优负载策略集;该计算机在实际运行时,将实际工作负载与该工作负载档位进行匹配,并从该最优负载策略集中选取与该实际工作负载相对应的该最优负载策略,以完成该计算机节能。
以下为本发明具体实施方式:
对计算机进行测试,首先测量计算机的占用率为100%时的性能,以MIPS(Million Instructions Per Second每秒处理百万级的机器语言指令数)作为衡量指标,根据性能的最大值将CPU测试时的工作负载均匀分成N个档位(该档位的多少取决于计算机或服务器的性能,可以为100~1000,或更多,也可更少,本发明不做限定),其中包括CPU占用率为0%和100%时,在每一个固定的档位时,监测CPU的温度、电压、频率、计算功耗等参数,同时在计算机外部测量计算机的整体功耗变化,通过对机房温度和空调功耗的统计数据,推算出在此温度下的数据中心制冷功耗。(例:CPU在一个固定负载下时,设此时CPU利用率为a,设定在时间段1秒内,通过调用接口,在(a-b)秒的时间内,将CPU运行的现场数据挂起到内存,即置于睡眠模式状态,其中b为状态转换时引起的额外性能损失的补偿因子,通过引入补偿因子,可以保证计算机在引入Sleep Mode(睡眠模式)之后,对相应负载下的工作性能不受影响,在1秒中的(1-a)秒的时间里,令CPU处于频率较高的状态,考虑到在服务器实际运行的情形,需要开启DVFS(动态电压频率调节)以适应变化较为剧烈的情形以作为缓冲。分别监测CPU在活跃和睡眠时的温度和计算功耗,计算在1秒的时间内,平均的计算功耗和温度。)
监测并记录CPU在不同频率下使用率从0%变化到100%时,CPU的计算功耗、温度、电压和频率这些数据,并测量不同频率、不同CPU占用率下CPU的MIPS(每秒处理百万级的机器语言指令数)。
对于一个固定负载的情形,假设在此负载下CPU利用率为a,保持CPU处于活跃状态,首先对CPU进行降频,降低到使其满足任务对性能的需求的最低频率,计算此状态下1秒内的计算功耗和制冷功耗,在这一负载下,如果CPU在降频之后仍满足负载对性能(MIPS)的需求,设步长c,单位为秒,c为衡量调节睡眠模式时间精细程度的度量参数,假设c=0.01秒,则在测试性能时,CPU在睡眠状态的时间每次增加0.01秒,按步长c将CPU的状态置于睡眠模式,在(1-c)秒内置于活跃状态,并在活跃状态时,开启DVFS(动态电压频率调节),将CPU进行降频,直到满足任务需求的最低频率,记录在1s内的计算功耗和制冷功耗,判断在此状态下CPU性能是否满足负载的需求,若满足,则Sleep Mode(睡眠模式)时间增加c,将CPU在(c×2)秒内置于Sleep Mode(睡眠模式),在(1-c×2)秒内置于活跃状态,开启DVFS(动态电压频率调节),将CPU频率置于满足负载需求的最低频率下,计算在1s内活跃状态和Sleep Mode(睡眠模式)下平均的计算功耗和制冷功耗,判断在此状态下CPU提供的性能是否满足负载的需求,持续上述的循环过程,逐渐增加Sleep Mode(睡眠模式)的时间,同时记录并计算不同状态下的CPU的计算功耗和制冷功耗,直到到达一个状态,这时,再增加Sleep Mode(睡眠模式)时间时,CPU在活跃状态所能提供的性能在CPU处于活跃状态的时间之内无法满足负载需求为止。此时,返回,将负载档位+1。
通过上述过程得到CPU在固定负载情况下、不同策略下的一系列计算功耗和制冷功耗,将在这个固定负载下的策略能源消耗状态进行统计,选择整体消耗能源最少的策略为最优的策略。
遍历N个负载档位不同策略下的功耗的关系,可以得到在不同负载情形下的负载与整体功耗的关系,选择不同负载档位下消耗能源最少的策略集,结束线下的测试统计,将得到的策略集作为这一型号的服务器在数据中心应对不同负载状态时的能源管理策略。
在得到能源管理策略集之后,在服务器实际工作时,通过监控程序将数据类型采集,通过对前一段时间内采集的历史数据分析,对未来负载情况进行预测,通过根据预测的负载选择相应的功耗管理策略,对硬件接口的控制,达到优化计算功耗和制冷功耗的策略。
以下为本发明功耗策略算法流程,如图3所示,执行步骤101计算各状态下CPU的计算功耗和温度,执行步骤102根据温度计算得到空调制冷功耗,执行步骤103记录同一负载不同策略下的计算能耗和制冷能耗的和,执行步骤104将记录的功耗排序,记录最优策略,执行步骤105记录不同负载情况下的最优策略。
以下为本发明详细流程,如图4所示,执行步骤201清空服务器负载,执行步骤202负载档位加1,执行步骤203CPU利用率分析,执行步骤204CPU保持工作状态,开启动态电压频率调节,睡眠模式的时间等于零,执行步骤205获取此状态下CPU的计算功耗和温度,执行步骤206CPU是否工作在最高频,如果否,则执行步骤207睡眠模式的时间加c,在时间片段内的c时间段将CPU置于睡眠,继续执行步骤208CPU处于工作状态时将频率设为最高,并开启动态电压频率调节,继续执行步骤209获取此状态下CPU的计算功耗和温度,继续执行步骤210此时策略是否满足负载需求,如果是,则从执行步骤206开始执行,如果否,则执行步骤211当前负载档位是否为最高,如果是,则执行步骤212结束,如果否,则执行步骤202负载档位加1,当执行步骤206时,如果CPU在高频,则执行步骤211。
以下为本发明在计算机或服务器实际工作的整体流程,如图5所示,执行步骤301进行数据采集,执行步骤302生成最优负载策略集,执行步骤303通过接口控制,控制CPU按照选取的最优负载策略运行。
本发明包括以下模块:
获取计算机总能耗模块,用于获取时间T内该计算机运行固定工作负载的总能耗,该总能耗包括该计算机的计算能耗与根据该温度获取的制冷能耗,其中在该时间T内,将该计算机的CPU在时间t内置于休眠状态,及将该CPU在工作状态下的频率置于满足该固定工作负载的最低频率,该时间T为1秒,该时间t为0.01秒;
选取最优负载策略模块,用于增加该时间t并循环执行该获取计算机总能耗模块,直到该CPU在该工作状态下的频率达到100%,选择该总能耗最低的负载策略为最优负载策略,增加该时间t的增量为一个时间t。
生成最优负载策略集模块,用于获取该计算机的最大性能,将该计算机的最大性能平均分为多个档位作为工作负载档位,遍历该工作负载档位并执行该选取最优负载策略模块,生成最优负载策略集。
匹配模块,用于该计算机在实际运行时,将实际工作负载与该工作负载档位进行匹配,并从该最优负载策略集中选取与该实际工作负载相对应的该最优负载策略,以完成该计算机节能。