专利名称:一种系统功耗自动控制方法
技术领域:
本发明涉及计算机、服务器、高性能服务器集群以及存储领域,具体涉及系 统功耗自动控制方法。
背景技术:
系统自动功耗控制技术在计算机、服务器、高性能服务器集群以及存储领域, 相当重要.但是,由于实现该功耗的控制方法相当复杂,特别是服务器根据负载的 实际使用情况下的运行,人为因素主动改变系统功耗,几乎是不可能办到的事情. 若没有完善的控制方法要获得预先设置好的功率输出是难以达到的.而在实际应 用中我们又希望获得我们想要的比实际负载更低的稳定的功率输出。因此我们就 发明了这个系统功耗自动控制方法,该方法通过对输出功率进行釆样、处理并运
用增量式PID技术计算出控制参数,根据控制参数调节CPU频率的大小,最终达到 控制电源功率的目的。该控制方法使系统功率的输出得到预先的自动控制,并获得 了我们想要的功率输出。
系统功耗控制方法的基本原理就是就是利用控制CPU的功率达到间接调整电 源的输出功率。其中控制变数包括温度、输入功率、输出功率、输入电流、输入 电压、电源风扇转速等。设置功率策略部分在管理控制模块(Console MAnAger) 上,它预先设置控制功率策略的实施,相应的程序和设定点可利用软件输入在电 脑内。它透过过被管理的服务器中的BMC管理模块,访问NodeMAnAger (动态功耗
节点管理)模块,在这里亦可将间接读取并检测到的温度、输入功率、输出功率、 输入电流、输入电压、电源风扇转速等控制变数,与预先储存在电脑内的功率策 略希望数值相比较,如果检测到的数值大于所希望的数值,系统将会送出一系列 的数字脉冲给BIOS及操作系统功耗管理(OS power mAnAgement , 0SPM)模块,
调整CPU的ID,实际上就是调整CPU的频率,然后通过CPU的功率变化,从而调
整系统功率的变化,再通过动态功耗节点管理模块与设定的数值不停的做动态比
较,直到使系统的功耗达到所希望的数值为止。
发明内容
本发明的系统功耗自动控制方法有别于传统的调整计算机或者服务器的CPU 频率,之前的已有技术是仅仅是调整CPU功率,但没有一个明确的调整数值,因
为由于技术的限制也不可能给出一个固定的数值,而本发明的方法则恰恰是解决
这个问题。本发明的目的是按以下方式实现的,用户可根据机房的供电部署情况实时设 定系统的功率人小,通过功耗控制管理模块实时调整CPU的频率控制系统在目标 功耗值以下运行,达到控制功耗的目的,功耗控制管理模块包括IPMI管理控制模
块(1)、具有PMBUS通讯总线的电源管理模块(2)、动态功耗节点管理模块(3)、 电源管理模块(4)、管理控制平台(5) 、 BMC管理模块(6) 、 BIOS及操作系统 功耗管理模块(7)
本发明的方法可以针对一台服务器、 一组机柜或者一个机房的服务器,根据 应用来事先定义好目标功耗值,然后监控并自动控制系统运行在这个目标功耗值 以下。
功耗控制管理模块涉及到的各个模块分别如下IPMI (智能平台管理接口) 管理技术单元、具有PMBUS通讯总线的电源管理模块、Node MAnAger (动态功耗 节点管理)模块、ACPI电源管理模块(AdvAnced ConfigurAtion And Power InterfAce)、管理控制平台(Console MAnAger) 、 BMC管理模块、BIOS及操作 系统功耗管理(OS power mAnAgement , OSPM)模块共计7个模块。
IPMI (智能平台管理接口)管理技术模块(1)负责协调各资源(不同类服务 器系统硬件上系统管理和使不同平台)间的通信以及集中管理;
具有PMBUS通讯总线的电源管理模块(2)主要负责处理电源功率数据传输和 协议转换;
Node MAnAger (动态功耗节点管理)模块(3)它是整个体系结构的核心,负 责对取样的数据进行比较计算。
ACPI电源管理模块(4)提供选择电源方案,以实现电源管理,电源方案就是 计算机管理电源使用情况的一组设置。
管理控制模块(Console MAnAger) (5)提供功率策略的管理与制定。
BMC管理模块(6)允许远程管理员远程访问服务器的FIRMWARE固件,从而使
得服务器的远程管理成为可能。
BIOS及操作系统功耗管理(OS power mAnAgement , OSPM)模块(7),在本 实现的发明中起到了提供了调整CPU的频率设置。
2)首先,管理控制模块做好把某个需要预先设定的功率策略写下来,并提交 给BMC管理模块,BMC管理模块根据功率策略,在动态功耗节点管理模块上设置功
率策略所对应的具体功率值,此时BIOS及操作系统功耗管理(OS power mAnAgement , OSPM)模块会相应把当前CPU的频率实时记录下来,同时动态功耗 节点管理模块会根据当前的功率策略发出指令要求BIOS及操作系统功耗管理模块 进行降频,并把信息反馈给CPU, CPU与此同时进行降频动作,CPU功率降低,与
4之相对应的电源输出功率也相应的降低,电源将该当前输出的功率及时通报给动 态功耗节点管理模块,该模块将当前的功率值与预先设定好的功率值进行比较, 如果没有达到预先的功率数值,则继续调整CPU的频率,最终使得设定的功率与 当前的功率一直为止。从而完整整个功耗的自动控制过程。
本发明的方法所具有的有益效果是全部基于模块化部件灵活扩展的特性, 主要是指方法中的各模块作为系统内的模块化部件,可以进行灵活的配置,从而 减少系统管理的复杂程度。上述所具有的优点,使得其弥补了传统的以计算资源 为核心的网络服务器不能自动调整预先设定好的功率数值,使其该方法所带来的 功率可自行设定等诸多特性,使其更适用于当前更具节能的复杂的高性能商业应 用领域,因而具有非常广阔的发展前景。
附图1为传统的基于CPU功率调整的结构示意图; 附图2为本发明的系统功耗自动控制方法结构示意图。
具体实施例方式
参照附图,对本发明的方法作以下详细的说明。
本发明体系结构主要包括IPMI (智能平台管理接口)管理技术单元(1)、 具有PMBUS通讯总线的电源管理模块(2) 、 Node MAnAger (动态功耗节点管理) 模块(3) 、 ACPI电源管理模块(AdvAnced ConfigurAtion And Power InterfAce) (4)、管理控制平台(Console MAnAger) (5) 、 BMC管理模块(6) 、 BIOS及 操作系统功耗管理(OS power mAnAgement , OSPM)模块(7)共计7个模块。
需要说明的是,BMC管理模块(6)和Node MAnAger (动态功耗节点管理)模 块(3)之间的通讯则是通过IPMI (智能平台管理接口)管理技术单元(1)模块 来实现的;BIOS及操作系统功耗管理(OS power mAnAgement , OSPM)模块(7) 这个模块之间的通讯则是通过ACPI电源管理模块(AdvAnced ConfigurAtion And Power Interf Ace) (4)来进行的。
传统的调整方式是调整CPU的频率,但具体调整到功率多大,使用者是不能 确定的,而且也无法确定其调整的变化对系统功耗的影响。主要是由于其采用的 电源是被动式,里面没有内嵌单片机等把电源实时消耗的电压、电流不能及 时读取的器件,因此其不能与系统进行实时交互,因此也就不能对输出功率实时 进行监控并控制。 '
而本发明则弥补了传统的方式,在电源技术上采用了可管理的设计,也即里 面集成了单片机等部件,可以把电源实时消费的能耗等参数实时读取给系统进行交互。另外在被管理的服务器上安装了动态功耗管理模块,将从电源取样的信息 进行实时处理,也即进行相应的运算,最终把从管理控制模块预先设置好的功率
策略进行比较分析,发给相关指令给Bios及其操作系统功耗管理模块,对CPU的
功率进行调整,使之达到所设定的要求。因此相对于传统的方式来说,在相应的 数学建模上也更加科学,且在调整过程中采用闭环控制,控制的也更加精确。
举例来说它可以通过编程的方式,针对一台服务器,或一个机柜,或根据应 用来事先定义好H标功耗值,然后监控系统运行在这个目标功耗值以下,而对性
能不会产生大的影响。我们曾做过一个测试,发现当把一台标称300W的机器功耗 降到260W时,对其性能影响非常小,这样有一个好处是,我们可以通过各个相应 模块的操作来将机器的最大功耗控制在260W,如果我们有10台服务器,就相当于 省出了一台服务器的功耗空间,从而可以在一个机柜中放入更多的服务器。
权利要求
1. 一种系统功耗自动控制方法,其特征在于,针对服务器或机群定义目标功耗值,通过功耗控制管理模块实时调整CPU的频率控制系统在目标功耗值以下运行,达到控制功耗的目的,功耗控制管理模块包括IPMI管理控制模块(1)、具有PMBUS通讯总线的电源管理模块(2)、动态功耗节点管理模块(3)、电源管理模块(4)、管理控制平台(5)、BMC管理模块(6)、BIOS及操作系统功耗管理模块(7),其中,IPMI管理控制模块(1)负责协调各资源间的通信以及集中管理;具有PMBUS通讯总线的电源管理模块(2)主要负责处理电源功率数据传输和协议转换;动态功耗节点管理模块(3)它是一种带外OOB功耗管理策略引擎,内嵌在服务器的芯片组中进行控制;ACPI电源管理模块(4)提供选择电源方案,以实现电源管理,电源方案就是计算机管理电源使用情况的一组设置;管理控制模块(5)提供功率策略的管理与制定;BMC管理模块(6)允许远程管理员远程访问服务器的FIRMWARE固件,从而使得服务器的远程管理成为可能;BIOS及操作系统功耗管理模块(7),用于调整CPU的频率设置;自动控制步骤如下IPMI管理控制模块(1)做好把某个需要预先设定的功率策略写下来,并提交给BMC管理模块(6),BMC管理模块(6)根据功率策略,在动态功耗节点管理模块(3)上设置功率策略所对应的具体功率值,此时BIOS及操作系统功耗管理模块(7)会相应把当前CPU的频率实时记录下来,同时动态功耗节点管理模块(3)会根据当前的功率策略发出指令要求BIOS及操作系统功耗管理模块(7)进行降频,并把信息反馈给CPU,CPU与此同时进行降频动作,CPU功率降低,与之相对应的电源输出功率也相应的降低,电源将该当前输出的功率及时通报给动态功耗节点管理模块(3),该模块将当前的功率值与预先设定好的功率值进行比较,没有达到预先的功率数值,则继续调整CPU的频率,最终使得设定的功率与当前的功率一直为止,从而完成整个功耗的自动控制过程。
全文摘要
本发明提供一种系统功耗自动控制方法,该方法是针对服务器或机群定义目标功耗值,通过功耗控制管理模块实时调整CPU的频率控制系统在目标功耗值以下运行,达到控制功耗的目的,功耗控制管理模块包括IPMI管理控制模块、具有PMBUS通讯总线的电源管理模块、动态功耗节点管理模块、电源管理模块、管理控制平台、BMC管理模块、BIOS及操作系统功耗管理模块,本发明的方法全部基于模块化部件灵活扩展的特性,各模块作为系统内的模块化部件,可以进行灵活的配置,从而减少系统管理的复杂程度。弥补了传统的以计算资源为核心的网络服务器不能自动调整预先设定好的功率数值的不足,使其更适用于当前更具节能的复杂的高性能商业应用领域,因而具有非常广阔的发展前景。
文档编号G06F1/32GK101477403SQ20091001397
公开日2009年7月8日 申请日期2009年1月22日 优先权日2009年1月22日
发明者吴明生, 姚萃南, 滕学军 申请人:浪潮电子信息产业股份有限公司