一种服务器功耗管理方法及设备与流程

文档序号:13909955阅读:364来源:国知局
一种服务器功耗管理方法及设备与流程

本发明涉及信息技术领域,尤其涉及一种服务器功耗管理方法及设备。



背景技术:

服务器通常会配备具有多个电源模块的电源。采用功耗封顶技术能够使服务器运行时功耗保持在一个稳定的水平,提高电源的利用率。用户设置服务器整机功耗的封顶值,在服务器运行过程中周期性检测整机功耗,如果达到封顶值,采取服务器的中央处理器(centralprocessingunit,cpu)降频等措施,将服务器功耗控制在目标功耗5%误差范围内。

然而,当服务器某电源模块发生故障,由于功耗封顶操作完成的时间远大于电源模块发生故障时能够维持的时间,从而导致电源所能提供的总功耗迅速下降至服务器当前运行功耗以下,导致服务器宕机。



技术实现要素:

一方面,本实施例提供一种服务器功耗管理方法,其中,电源为该服务器供电,该电源包含电源模块,功耗管理设备与该电源及该服务器通信。该方法包括:该功耗管理设备接收该电源模块的故障信息,将该服务器第一功耗降低第一数值得到服务器第二功耗,其中,该第一功耗为该电源模块正常工作时该服务器的功耗值,该第一数值不低于该电源模块故障时该服务器功耗的降低值;该功耗管理设备根据该服务器的功耗封顶值调整该服务器第二功耗,其中,该服务器的功耗封顶值为该第一功耗与该服务器功耗的降低值的差值。

将服务器的功耗降低第一数值的具体实现方式包括但不限于拉低cpu的prochot和memhot管脚、关闭部件时钟、短时切断风扇供电和触发部件低载或休眠模式等。电源模块故障后,功耗管理设备在保持时间之内将服务器的功耗拉低第一数值,低至电源模块故障后电源所能提供的最大功耗以下,保证服务器不会宕机。功耗封顶技术可以实现对服务器功耗的精确调整,功耗管理设备周期性地检测服务器的功耗,并计算其与服务器的功耗封顶值的差值。当该差值大于预设的误差值,电源控制设备调整服务器的功耗,并继续检测功耗、计算差值,直到该差值达到预设误差范围内。功耗的调整的具体实现方式主要是对大功率部件的运行状态调整,包括但不限于cpu的调频调压、cpu内核打开关闭、cpu的p/t-state、内存频率、内存的t-state、硬盘读写和休眠状态、高速外设互联标准(peripheralcomponentinterconnectexpress,pcie)网卡的l0/l1管脚状态、图形处理器(graphicsprocessingunit,gpu)工作状态、风扇转速及其他可以对服务器功耗实现精准控制的方式。本方法一方面避免了服务器宕机,另一方面提高电源模块发生故障后电源的利用率。

结合第一方面,在第一方面的第一种可能实现方式中,该服务器包括多个节点。该功耗管理设备将该服务器第一功耗降低第一数值得到服务器第二功耗,具体包括:该功耗管理设备得到每个节点功耗的降低值,该功耗管理设备根据每个节点功耗的降低值,将每个节点的功耗降低第二数值,其中,该多个节点的第二数值之和等于该第一数值。该功耗管理设备根据该服务器的功耗封顶值调整该服务器第二功耗,具体包括:该功耗管理设备得到每个节点的功耗封顶值,其中该多个节点的功耗封顶值之和为该服务器的功耗封顶值;该功耗管理设备根据每个节点的功耗封顶值调整每个节点的功耗。

第二方面,本实施例提供一种功耗管理设备,其中,该功耗管理设备与电源及服务器通信,该电源为该服务器供电,该电源包含电源模块;该功耗管理设备包括功耗降低单元和功耗封顶单元。该功耗降低单元用于执行以下操作:接收该电源模块的故障信息,将该服务器第一功耗降低第一数值得到服务器第二功耗,其中,该第一功耗为该电源模块正常工作时该服务器的功耗值,所述第一数值不低于所述电源模块故障时所述服务器功耗的降低值。所述功耗封顶单元用于执行以下操作:根据所述服务器的功耗封顶值调整所述服务器第二功耗,其中,所述服务器的功耗封顶值为该第一功耗与该服务器功耗的降低值的差值。

结合第二方面,在第二方面的第一种可能实现方式中,该功耗降低单元还用于:将该故障信息发送给该功耗封顶单元;该功耗封顶单元用于接收该电源模块的故障信息,具体包括:根据从该功耗降低单元接收到该故障信息。

结合第二方面或第二方面的第一种实现方式,在第二方面的第二种可能实现方式中,该服务器包括多个节点,该功耗降低单元包括多个功耗降低子单元,该功耗封顶单元包括多个功耗封顶子单元,每个功耗降低子单元和功耗封顶子单元与一个该节点通信。每个该功耗降低子单元用于执行以下操作:接收该故障信息,得到每个节点功耗的降低值,将每个节点的功耗降低第二数值,其中,该多个节点的第二数值之和等于该第一数值。每个该功耗封顶子单元用于执行以下操作:根据该故障信息,得到每个节点的功耗封顶值,其中该多个节点的功耗封顶值之和为该服务器的功耗封顶值,根据每个节点的功耗封顶值调整每个节点的功耗。

结合第二方面,在第二方面的第三种可能实现方式中,该功耗降低单元还包括功耗降低管理单元,该功耗封顶单元还包括功耗封顶管理单元。该功耗降低管理单元用于执行以下操作:接收该故障信息,并将该故障信息转发给各该功耗降低子单元和所述功耗封顶管理单元;各该功耗降低子单元接收该电源模块的故障信息,具体包括:接收该功耗降低管理单元转发的该故障信息。该功耗封顶管理单元用于执行以下操作:接收该故障信息,并将该故障信息转发给各该功耗封顶子单元。各该功耗封顶子单元根据该故障信息,具体包括,接收该功耗降低管理单元转发的该故障信息。

第三方面,本实施例提供一种功耗管理设备,其中,该功耗管理设备与电源及服务器通信,该电源为该服务器供电,该电源包含电源模块;该功耗管理设备包括接口和处理器,该接口与该处理器通信,该接口用于接收该电源模块的故障信息。该处理器用于执行以下操作:根据该故障信息将该服务器第一功耗降低第一数值得到服务器第二功耗,其中,该第一功耗为该电源模块正常工作时该服务器的功耗值,该第一数值不低于该电源模块故障时该服务器功耗的降低值;根据该故障信息和该服务器的功耗封顶值调整该服务器第二功耗,其中,该服务器的功耗封顶值为该第一功耗与该服务器功耗的降低值的差值。

结合第三方面,在第三方面的第一种可能实现方式中,该服务器包括多个节点。该处理器用于将该服务器第一功耗降低第一数值得到服务器第二功耗,具体包括:得到每个节点功耗的降低值;根据每个节点功耗的降低值,将每个节点的功耗降低第二数值,其中,该多个节点的第二数值之和等于该第一数值。该功耗管理设备根据该服务器的功耗封顶值调整该服务器第二功耗,具体包括:得到每个节点的功耗封顶值,其中该多个节点的功耗封顶值之和为该服务器的功耗封顶值;根据每个节点的功耗封顶值调整每个节点的功耗。

第四方面,本实施例提供一种功耗管理设备,其中,该非易失性可读存储介质包含第一计算机指令用于接收电源模块的故障信息,将服务器第一功耗降低第一数值得到服务器第二功耗,其中,该服务器由电源供电,该电源包含该电源模块,功耗管理设备与该电源及该服务器通信,该第一功耗为该电源模块正常工作时该服务器的功耗值,该第一数值不低于该电源模块故障时该服务器功耗的降低值。该非易失性可读存储介质还包括第二指令用于根据该服务器的功耗封顶值调整该服务器第二功耗,其中,该服务器的功耗封顶值为该第一功耗与该服务器功耗的降低值的差值。

结合第四方面,在第四方面的第一种可能实现方式中,该服务器包括多个节点。该第一指令用于将该服务器第一功耗降低第一数值得到服务器第二功耗,具体包括:得到每个节点功耗的降低值;根据每个节点功耗的降低值,将每个节点的功耗降低第二数值,其中,该多个节点的第二数值之和等于该第一数值。该第二指令用于根据该服务器的功耗封顶值调整该服务器第二功耗,具体包括:得到每个节点的功耗封顶值,其中该多个节点的功耗封顶值之和为该服务器的功耗封顶值;根据每个节点的功耗封顶值调整每个节点的功耗。

附图说明

图1a为配备电源的单节点服务器示意图;

图1b为配备电源的多节点服务器示意图;

图2为服务器中的电源管理模块与电源的示意图;

图3为单节点服务器中功耗管理设备执行步骤的示意图;

图4为单节点服务器的功耗管理设备的结构示意图;

图5为多节点服务器的功耗管理设备、服务器及电源的架构示意图;

图6为多节点服务器中功耗管理设备执行步骤的示意图:

图7为一种功耗管理设备的示意图。

具体实施方式

图1a中,服务器100与电源110相连,电源110包含电源模块111a、电源模块111b、……电源模块111n。图1b中服务器100为包含多节点的服务器,服务器100由互相连接的节点101a、101b、……101n组成,电源110包含电源模块111a、电源模块111b、……电源模块111n,其中,连接102表示各节点101间的示例性的连接关系。

本实施例提供一种服务器100的功耗管理设备200。图2为服务器100中的功耗管理设备200与电源110的关系示意图。当服务器100为单节点服务器,其上的功耗管理设备200与各电源模块111通信,接收各电源模块111的故障信息。本实施例中,故障信息可以是中断信号也可以是其他信号形式,本实施例对此不作限制。功耗管理设备200中存储有电源模块111故障时服务器100的功耗降低值。如图3所示,功耗管理设备200执行的具体步骤如下:

301,接收电源模块111的故障信息。

302,根据将服务器100的第一功耗降低第一数值得到服务器100的第二功耗,其中,第一功耗为电源模块111正常工作时服务器100的功耗值,第一数值不低于电源模块111故障时服务器100功耗的降低值。

将服务器100的功耗降低第一数值的具体实现方式包括但不限于拉低cpu的prochot和memhot管脚、关闭部件时钟、短时切断风扇供电和触发部件低载或休眠模式等。步骤301中电源模块111故障后,功耗管理设备在保持时间之内将服务器100的功耗拉低第一数值,低至电源模块111故障后电源110所能提供的最大功耗以下,保证服务器100不会宕机。

303,根据服务器100的功耗封顶值调整服务器100的第二功耗,其中,服务器100的功耗封顶值为第一功耗与电源模块111故障时服务器100功耗的降低值的差值。

步骤303中对服务器100功耗的调整的具体实现方式主要是对大功率部件的运行状态调整,包括但不限于cpu的调频调压、cpu内核打开关闭、cpu的p/t-state、内存频率、内存的t-state、硬盘读写和休眠状态、高速外设互联标准(peripheralcomponentinterconnectexpress,pcie)网卡的l0/l1管脚状态、图形处理器(graphicsprocessingunit,gpu)工作状态、风扇转速及其他可以对服务器100功耗实现精准控制的方式。

功耗封顶技术为步骤303的具体实现,功耗管理设备200周期性地检测服务器100的功耗,并计算其与服务器100的功耗封顶值的差值。当该差值大于预设的误差值,电源控制设备200调整服务器100的功耗,并继续检测功耗、计算差值,直到该差值达到预设误差范围内。功耗封顶技术可以实现对服务器100功耗的精确调整,使服务器100功耗根据预设误差接近电源模块111故障时电源110所能提供的最大功耗。

通常步骤302中拉低服务器100的功耗所采用的方法都不能使服务器100功耗精确地降低至电源模块故障后电源110所能提供的最大功耗,因此,功耗管理设备200需要执行步骤303,调整服务器200功耗使其趋近于电源模块故障后电源110所能提供的最大功耗,提高正常工作的电源模块111的利用率。步骤302与步骤303相结合,一方面避免了服务器100宕机,另一方面提高电源模块111发生故障后电源110的利用率。

图2中单节点服务器的功耗管理设备200的结构如图4所示,包括功耗降低单元210和功耗封顶单元220。功耗降低单元210用于接收电源模块111的故障信息、执行步骤301以及将故障信息转发给功耗封顶单元220。功耗封顶单元220用于接收功耗降低单元210转发的故障信息,执行步骤302,完成服务器100的功耗电源管理。

具体地,功耗降低单元210的实现方式包括复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld)、基板管理控制器(baseboardmanagementcontroller,bmc)和其他能够在电源模块111故障后保持时间之内降低服务器功耗的供电控制单元,本实施例对此不作限制。

功耗封顶单元220的实现方式包括采用bmc、采用英特尔公司产品的nodemanager和将bmc与基本输入输出系统(basicinputoutputsystem,bios)的结合。

同时,功耗降低单元210和功耗封顶单元220可以是集成在一个芯片或其他硬件设备上,也可分别为通过电性、机械或其它的形式相耦合的独立电子器件,也可以两个或两个以上单元集成在一个单元中,本实施例对此不作限制。

本实施例服务器100可以为多节点服务器,。功耗管理设备500、多节点服务器100及电源110的连接关系如图5所示。与图1b中相同,服务器100包含节点101a、101b、……101n,电源110为服务器100供电,图5中省略连接102。功耗管理设备500包括功耗降低单元510和功耗封顶单元520,其中,功耗降低单元510包含功耗降低管理单元511、功耗降低子单元512a、功耗降低子单元512b、……及功耗降低子单元512n,其中,功耗封顶单元520包含功耗封顶管理单元521、功耗封顶子单元522a、功耗封顶子单元522b、……及功耗封顶子单元522n。功耗降低子单元512b、……功耗降低子单元512n分别与节点101a、101b、……101n通信,功耗封顶子单元522a、功耗封顶子单元522b、……功耗封顶子单元522n也分别与节点101a、101b、……101n通信。功耗封顶管理单元521管理所有的功耗封顶子单元522,功耗降低管理单元511管理所有的功耗降低子单元522。同时功耗降低管理单元511与电源110通信。功耗降低管理单元511及功耗封顶管理单元521中存储有电源模块111故障时服务器100功耗的降低值。

在图5所示的架构中,功耗管理设备500执行的具体步骤如下:

601,接收电源模块111的故障信息。

故障信息可以是中断信号也可以是其他信号形式,本实施例对此不作限制。

602,得到节点101a、101b、……101n中功耗的降低值。

603,根据每个功耗的降低值,将每个节点的功耗降低第二数值,使得在故障的电源模块111的保持时间之内,将所有节点的总功耗,即服务器100功耗,降低至电源模块111故障后电源110所能提供的最大功耗以下,保证服务100不会宕机。

将服务器100的功耗降低具体实现方式包括但不限于拉低cpu的prochot和memhot管脚、关闭部件时钟、短时切断风扇供电和触发部件低载或休眠模式等。如上所述,迅速把功耗拉低的实现方式不能精准地控制每个节点的功耗,导致电源110利用率不高,因此功耗管理设备500执行下一步骤604。

604,功耗管理设备500根据故障信息,得到每个节点的功耗封顶值,其中,多个节点的功耗封顶值之和为服务器100的功耗封顶值。

605,根据每个节点的功耗封顶值调整每个节点的功耗,使服务器100的功耗根据预设误差接近电源模块111故障时电源110所能提供的最大功耗。

每个节点的功耗封顶操作的封顶值的初始值为电源模块111正常工作时节点的功耗值与电源模块111故障时节点功耗的降低值的差值。

步骤605的具体实现方式主要是对大功率部件的运行状态调整,包括但不限于cpu的调频调压、cpu内核打开关闭、cpu的p/t-state、内存频率、内存的t-state、硬盘读写和休眠状态、高速外设互联标准(peripheralcomponentinterconnectexpress,pcie)网卡的l0/l1管脚状态、图形处理器(graphicsprocessingunit,gpu)工作状态、风扇转速及其他可以对服务器100功耗实现精准控制的方式。

步骤605的功耗封顶技术,具体实现中,电源控制设备200周期性地检测服务器100的功耗,并计算其与服务器100的功耗封顶值的差值。当该差值大于预设的误差值,电源控制设备200调整服务器100的功耗,并继续检测功耗、计算差值,直到该差值达到预设误差范围内。功耗封顶技术可以实现对服务器100功耗的精确调整,使服务器100功耗根据预设误差接近电源模块111故障时电源110所能提供的最大功耗。

步骤604-605一方面避免了服务器100掉电时宕机,另一方面提高了电源模块111发生故障时,电源110的利用率。

如图6中同样绘制出此方法中的功耗管理设备500的内部结构,具体结构如前所述。功耗降低管理单元511用于接收电源模块111的故障信息,并将故障信息转发给每个功耗降低子单元512。每个功耗降低子单元512执行步骤602-603,在故障的电源模块111的保持时间内迅速拉低服务器100的功耗,保证每个节点512即服务器100的运行。

功耗降低管理单元511还用于故障信息转发给功耗封顶管理单元521。功耗封顶管理单元521用于接收功耗降低管理单元511的故障信息,并将故障信息转发给每个功耗封顶子单元522。每个功耗封顶子单元522执行步骤604-605,在预设误差的范围内将每个节点101的功耗调整至电源模块111故障时电源110所能提供的最大功耗。

同样的,功耗管理设备500中的各组成部分可以是集成在一个芯片或其他硬件设备上,也可分别为通过电性、机械或其它的形式相耦合的独立电子器件,也可以两个或两个以上单元集成在一个单元中,本实施例对此不作限制。

本实施例还提供一种功耗管理设备700如图7所示,功耗管理设备700包括接口设备710和处理器720。其中,处理器720可以包含cpu和存储器,其中cpu可以为一个或多个。处理器720还可以为现场可编程逻辑门阵列(fieldprogrammablegatearray,fpga),或fpga与cpu的组合等,或者cpu与bios的组合,本发明实施例对此不作限定。接口设备710用于接收电源模块111的故障信息。当服务器100为单节点服务器时,处理器720用于执行步骤302-303;当服务器100为多节点服务器时,处理器720用于执行步骤602-605。

本实施例还提供一种非易失性可读存储介质。当服务器100为单节点服务器,该可读存储介质包含用于执行步骤301-302的第一指令及用于执行步骤303的第二指令;当服务器100为多节点服务器,该可读存储介质包含用于执行步骤603-603的第一指令及用于执行步骤604-605的第二指令。

在本发明所提供的几个实施例中,应该理解到,所公开的装置、方法,可以通过其它的方式实现。例如,以上所描述的装置实施例所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1