一种服务器功耗的实时调整方法、装置、电子设备

文档序号:168594 发布日期:2021-10-29 浏览:25次 >En<

阅读说明:本技术 一种服务器功耗的实时调整方法、装置、电子设备 (Real-time adjustment method and device for power consumption of server and electronic equipment ) 是由 钟杨帆 于 2021-06-11 设计创作,主要内容包括:本申请提供一种服务器功耗的实时调整方法、装置、电子设备。所述方法在服务器运行的过程中,执行下列步骤:在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,当前调整方向为增加风扇转速或者降低风扇转速;比较风扇转速调整前、后的服务器的功耗数据;若风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回以预定的步长,向当前调整方向调整风扇转速的步骤;若风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回以预定的步长,向当前调整方向调整风扇转速的步骤。(The application provides a method and a device for adjusting power consumption of a server in real time and electronic equipment. The method executes the following steps in the process of running the server: on the basis of the current fan rotating speed, adjusting the fan rotating speed in the current adjusting direction according to a preset step length; wherein, the current adjusting direction is to increase the rotating speed of the fan or decrease the rotating speed of the fan; comparing the power consumption data of the server before and after the adjustment of the rotating speed of the fan; if the power consumption data after the adjustment of the rotating speed of the fan is smaller than the power consumption data before the adjustment, setting the rotating speed of the fan after the adjustment as the current rotating speed of the fan, and returning to the step of adjusting the rotating speed of the fan in the current adjusting direction by a preset step length; and if the power consumption data after the adjustment of the rotating speed of the fan is larger than the power consumption data before the adjustment, setting the rotating speed of the fan after the adjustment as the current rotating speed, updating the current adjustment direction to be the direction opposite to the original current adjustment direction, and then returning to the step of adjusting the rotating speed of the fan in the current adjustment direction by a preset step length.)

一种服务器功耗的实时调整方法、装置、电子设备

技术领域

本申请涉及计算机技术领域,具体涉及一种服务器功耗的实时调整方法、装置、电子设备,本申请同时还提供一种计算机存储介质。

背景技术

随着计算机技术的不断发展,为了应对各种类型的服务,服务器的规模也在不断的扩大。在计算机领域,服务器配置有各种各样的服务器硬件设备,这些硬件设备在规格、性能、寿命、老化程度以及对硬件设备对运行环境的要求都存在明显的差异。而服务器的运行功耗受环境温度、设备负载、配置等多种因素的影响。因此,其运行的功耗也各不相同。

现有技术中,为了实现对服务器功耗的优化配置,需要针对不同的服务器机型在不同环境温度、不同负载、不同配置的环境下的功耗进行人工测试,进而获得服务器在不同环境温度、不同负载下对应的能耗较优的冷却风扇的转速点。但由于服务器的运行负载、配置、以及外界环境温度的时刻处于变化状态,上述采用人工测试的方式确定服务器较优能耗的方式测试工作量巨大,且在实际操作过程中,为了实时将服务器能耗调至期待的低功耗的过程中,需要实时监测服务器的运行负载、配置、以及温度变化,无形之中又增加了服务器的计算量,操作难度也较高。

因此,如何实现服务器功耗的实时调整成为本领域技术人员亟需解决的问题。

发明内容

本申请提供一种服务器功耗的实时调整方法,以解决上述现有技术中存在的问题。本申请同时还提供一种服务器功耗的实时调整装置、电子设备以及计算机存储介质。

本申请提供的服务器功耗的实时调整方法,包括:在服务器运行的过程中,执行下列调整服务器冷却用的风扇的步骤:

在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;

比较所述风扇转速调整前、后的所述服务器的功耗数据;

若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;

若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

可选的,在所述以预定的步长,向当前调整方向调整风扇转速的步骤之前,还包括:

获得所述服务器的各个器件温度;

判断所述服务器的各个器件温度是否处于预设的温度范围内;

若上述判断结果为否,则通过预设的温度调整方案,调整所述服务器冷却用的风扇转速,直至所述各个器件温度满足预设的温度范围;

若上述判断结果为是,则进入所述以预定的步长,向当前调整方向调整风扇转速的步骤。

可选的,所述服务器的各个器件的温度通过各个器件内置的温度传感器获得。

可选的,所述以预定的步长,向当前调整方向调整风扇转速,包括:

按照预设的时间间隔执行该步骤。

可选的,所述方法还包括:

在所述服务器启动时,根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速;

初始化所述第一转速为所述当前风扇转速。

可选的,所述根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速,包括:

获得能够使所述风扇正常启动的第二转速;

根据所述服务器的运行环境温度,获得能够满足所述服务器运行需求的所述风扇的第三转速;

在所述第二转速和所述第三转速中,选择数值较大者,作为能够满足所述服务器启动需求的所述风扇的第一转速。

可选的,所述服务器的功耗数据为所述服务器的各个器件的运行功耗之和。

可选的,所述方法还包括:根据预设的步长调整策略调整所述预设的步长。

本申请同时提供一种服务器功耗的实时调整装置,所述装置应用于服务器运行过程中,包括:

第一转速调整单元,用于在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;

功耗数据比较单元,用于比较所述风扇转速调整前、后的所述服务器的功耗数据;

第二转速调整单元,用于若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;

第三转速调整单元,用于若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

可选的,所述装置还包括:

温度获取单元,用于获得所述服务器的各个器件温度;

温度判断单元,用于判断所述服务器的各个器件温度是否处于预设的温度范围内;

温度调整单元,用于在所述服务器的各个器件温度不处于预设的温度范围内,则通过预设的温度调整方案,调整所述服务器冷却用的风扇转速,直至所述各个器件温度满足预设的温度范围;

跳转单元,用于在所述服务器的各个器件温度处于预设的温度范围内,则进入所述以预定的步长,向当前调整方向调整风扇转速的步骤。

可选的,所述服务器的各个器件的温度通过各个器件内置的温度传感器获得。

可选的,所述以预定的步长,向当前调整方向调整风扇转速,包括:

按照预设的时间间隔执行该步骤。

可选的,所述装置还包括:

转速初始化单元,用于在所述服务器启动时,根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速;初始化所述第一转速为所述当前风扇转速。

可选的,所述根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速,包括:

获得能够使所述风扇正常启动的第二转速;

根据所述服务器的运行环境温度,获得能够满足所述服务器运行需求的所述风扇的第三转速;

在所述第二转速和所述第三转速中,选择数值较大者,作为能够满足所述服务器启动需求的所述风扇的第一转速。

可选的,所述服务器的功耗数据为所述服务器的各个器件的运行功耗之和。

本申请同时提供一种电子设备,所述电子设备应用于服务器运行过程中,包括:

处理器;以及

存储器,用于存储服务器功耗的实施调整方法的程序,该设备在通过处理器运行所述程序后,执行以下步骤:

在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;比较所述风扇转速调整前、后的所述服务器的功耗数据;若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

本申请同时提供一种计算机存储介质,其特征在于,所述计算机存储介质应用于服务器运行过程中,所述计算机存储介质存储有计算机程序,所述程序被执行时,执行以下步骤:

在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;比较所述风扇转速调整前、后的所述服务器的功耗数据;若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

本申请同时提供一种服务器功耗的实时调整方法,执行下列调整服务器冷却风扇的步骤:

步骤1,启动服务器系统;

步骤2,实时判断服务器的各个电子器件的运行温度是否低于预设的温度;

若所述判断服务器的各个电子器件的运行温度是否低于预设的温度的判断结果为否,则进一步执行步骤3;

若所述判断服务器的各个电子器件的运行温度是否低于预设的温度的判断结果为是,则执行步骤4;

步骤3,通过服务器内置的控制算法调整所述冷却风扇的转速,直至所述服务器中的各个电子器件的运行温度处于预设的温度范围;

步骤4,获取冷却风扇的当前转速S1和服务器系统当前平均功耗W1;

步骤5,以预定的步长,提升冷却风扇的转速S1,其中提升后冷却风扇的转速设定为S2,S2=S1+预定的步长;

步骤6,记录冷却风扇转速提升后系统的平均功耗数据W2;

步骤7,判断冷却风扇转速提升后的功耗数据W2是否小于提升前的功耗数据W1;

如果所述冷却风扇转速提升后的功耗数据W2小于提升前的功耗数据W1则执行步骤8;

如果所述冷却风扇转速提升后的功耗数据W2大于提升前的功耗数据W1则执行步骤9;

步骤8,记录当前风扇转速S1=S2,系统当前平均功耗W1=W2,并返回执行步骤5;

步骤9,记录当前风扇转速S1=S2,系统当前平均功耗W1=W2;

步骤10,以预定的步长,降低冷却风扇的转速S1,其中降低后的冷却风扇转速设定为S3,S3=S1-预定的步长;

步骤11,记录冷却风扇转速降低后系统的平均功耗W3;

步骤12,判断冷却风扇转速降低后的功耗数据W3是否小于降低前的功耗数据W1;

如果所述冷却风扇转速降低后的功耗数据W3小于降低前的功耗数据W1则执行步骤13;

如果所述冷却风扇转速降低后的功耗数据W3大于降低前的功耗数据W1则执行步骤14;

步骤S13,调整当前风扇转速S1=S3,系统当前平均功耗W1=W3,并返回执行步骤10;

步骤S14,调整当前风扇转速S1=S3,系统当前平均功耗W1=W3,并返回执行步骤4。

本申请同时提供一种服务器功耗的实时调整方法,执行下列调整服务器冷却风扇的步骤:

步骤1,启动服务器系统;

步骤2,实时判断服务器的各个电子器件的运行温度是否低于预设的温度;

若所述判断服务器的各个电子器件的运行温度是否低于预设的温度的判断结果为否,则进一步执行步骤3;

若所述判断服务器的各个电子器件的运行温度是否低于预设的温度的判断结果为是,则执行步骤4;

步骤3,通过服务器内置的PID控制算法或其他控制算法调整所述冷却风扇的转速,直至所述服务器中的各个电子器件的运行温度处于预设的温度范围;

步骤4,获取冷却风扇的当前转速S1和服务器系统当前平均功耗W1;

步骤5,以预定的步长,降低冷却风扇的转速S1,其中降低后冷却风扇的转速设定为S2,S2=S1-预定的步长;

步骤6,记录冷却风扇转速降低后系统的平均功耗数据W2;

步骤7,判断冷却风扇转速降低后的功耗数据W2是否小于降低前的功耗数据W1;

如果所述冷却风扇转速降低后的功耗数据W2小于降低前的功耗数据W1则执行步骤8;

如果所述冷却风扇转速降低后的功耗数据W2大于降低前的功耗数据W1则执行步骤9;

步骤8,记录当前风扇转速S1=S2,系统当前平均功耗W1=W2,并返回执行步骤5;

步骤9,记录当前风扇转速S1=S2,系统当前平均功耗W1=W2;

步骤10,以预定的步长,提升冷却风扇的转速S1,其中提升后的冷却风扇转速设定为S3,S3=S1+预定的步长;

步骤11,记录冷却风扇转速提升后系统的平均功耗W3;

步骤12,判断冷却风扇转速提升后的功耗数据W3是否小于提升前的功耗数据W1;

如果所述冷却风扇转速提升后的功耗数据W3小于提升前的功耗数据W1则执行步骤13;

如果所述冷却风扇转速提升后的功耗数据W3大于提升前的功耗数据W1则执行步骤14;

步骤S13,调整当前风扇转速S1=S3,系统当前平均功耗W1=W3,并返回执行步骤10;

步骤S14,调整当前风扇转速S1=S3,系统当前平均功耗W1=W3,并返回执行步骤4。

与现有技术相比,本申请具有以下优点:

本申请提供的服务器功耗的实施调整方法,在服务器运行的过程中,执行下列调整服务器冷却用的风扇的步骤:在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;比较所述风扇转速调整前、后的所述服务器的功耗数据;若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。上述方法通过转速控制,功耗寻优的思想,利用风扇转速调整策略,结合服务器冷却风扇转速调整前、后的功耗数据,实现了对服务器功耗的实时优化调整,使服务器的功耗能够时刻保持在一个较优的水平。

附图说明

图1为本申请提供的服务器功耗变化示意图;

图2为本申请第一实施例提供的服务器功耗的实时调整方法流程图;

图3为本申请第一实施例提供的PWM脉冲宽度调制过程中电压等效示意图;

图4为本申请第一实施例提供的BMC子系统交互结构示意图;

图5a为本申请第一实施例提供的在风扇转速调整后的功耗数据小于调整后的风扇转速时,服务器功耗的第一分布示意图;

图5b为本申请第一实施例提供的服务器功耗的第二分布示意图;

图5c为本申请第一实施例提供的服务器功耗的第三分布示意图;

图6a为本申请第二实施例提供的服务器功耗的实施调整方法流程图;

图6b为本申请第二实施例提供的服务器功耗的实施调整方法流程图;

图7为本申请第三实施例提供的服务器功耗的实时调整装置的结构示意图;

图8为本申请第四实施例提供的电子设备结构示意图。

具体实施方式

在下面的描述中阐述了很多具体细节以便于充分理解本申请。但是,本申请能够以很多不同于在此描述的其他方式来实施,本领域技术人员可以在不违背本申请内涵的情况下做类似推广,因此,本申请不受下面公开的具体实施例的限制。

在本申请中,分别提出一种服务器功耗的实时调整方法、装置、电子设备,本申请同时还提供一种计算机存储介质。在下面的实施例中逐一进行详细说明。

为了便于理解本申请提供的服务器功耗的实时调整方法,首先对所述服务器的功耗变化规律进行介绍。

在服务器运行的过程中,需要使用各种冷却风扇对服务器进行散热,以确保服务器的正常工作。例如:服务器整体设置有主冷却风扇,一些功耗较大的处理芯片上设置有专用冷却风扇。这些冷却风扇提供的散热效果需要确保服务器在工作过程中处于一个正常的工作状态,首要的,是确保服务器中的各个电子器件始终工作在一个允许的温度范围内。

由于冷却风扇本身就是一个耗能元件,冷却风扇的正常运行能够对服务器整体的功耗产生影响。因此,服务器整体功耗应为冷却风扇功耗与服务器中的其他各种电子器件的功耗之和。在服务器运行的过程中,冷却风扇的转速越低,冷却风扇对应的转速也就越低。但与之相反的,冷却风扇的转速越低,服务器中的其他各种电子器件的功耗会逐渐升高。也就是说,在满足服务器工作条件的前提下,提高冷却风扇的转速,有利于增强服务器中各种电子器件的散热效果,降低电子器件的运行温度,从而有效的降低电子器件的功耗;但是,冷却风扇转速的提高,又会增加其自身的功耗。除了上述风扇转速对服务器的功耗存在影响之外,服务器的功耗还与服务器正常工作的负载,服务器所处的环境温度等多个因素有关。服务器在正常工作状态下产生的功耗与冷却风扇的转速并不是单纯的线性关系。

因此,在保证服务器正常工作的前提下,选择合适的冷却风扇的转速,以确保服务器的整体功耗较低是本领域的一种重要技术问题。

请参考图1,其为本申请提供的服务器功耗变化示意图。图1所示的服务器功耗变化示意图中,横轴代表服务器冷却风扇的转速,纵轴代表所述服务器的功耗。根据图1示出功耗变化曲线可知,随着风扇转速的调整,服务器功耗的曲线整体上呈“V”型,也就是说,通过调整服务器的风扇转速,能够得到一个满足服务器正常工作的服务器较优功耗。可以理解的,本申请图1示出的服务器功耗变化示意图示出的功耗曲线是在服务器的运行环境温度、运行负载等多个因素不变的情况下通过调整冷却风扇转速得到的功耗变化曲线,其目的是为了说明本发明的效果。在实际控制过程中,环境温度、运行负载均是不断变化的,因此,不可能获得图1这样的理性状态;然而,就本申请的技术方案而言,正是因为这些影响因素的不断变化,才使本申请技术方案提供的动态调整方案具有不断适应变化的情况的优势。

在本领域,服务器可以理解为计算机的一种,服务器在网络中为其他客户机(例如:PC机)提供计算或应用服务,服务器本身具备高速的CPU运算能力、长时间的运行能力、强大的I/O外部数据吞吐能力以及良好的扩展性。一般来说,服务器启动后具备承担相应服务请求、保障服务质量的作用。

在服务器启动或运行过程中,冷却风扇的转速可能停留在图1横轴的任何一个位置,且这个位置是未知的,本申请第一实施例提供的服务器功耗的实时调整方法是通过调整服务器的冷却风扇的转速,实现对功耗的优化调整。

请参考图2,其为本申请第一实施例提供的服务器功耗的实时调整方法流程图,具体的,该方法是在服务器运行过程中,执行以下调整服务器冷却用的风扇的步骤:

步骤S201,在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速。

在本申请第一实施例中,所述当前调整方向是指增加风扇转速或者降低风扇转速调整所述风扇的转速,即,按照预定的步长,逐渐升高或者降低所述风扇的转速。

本方法的目的是在降低服务器运行功耗的前提下,保证服务器始终处于一个正常的运行状态。降低服务器的功耗主要通过调整冷却风扇的转速实现,即,通过调整服务器的各种电子器件的运行温度降低服务器整体功耗。可以理解的,在调整冷却风扇的转速的过程中,还需要保证服务器本申请各项运行条件都符合预设的运行标准。所述运行标准主要是指,服务器的各个电子器件的运行温度都处在预定的温度范围内。

所述预设的温度范围是一个预警温度值。在服务器实际运行的过程中,可能由于服务器的运行负载较高或环境温度较高出现运行温度高于预设的温度的情况,但短时间内服务器运行温度超过所述预设的温度范围并不影响服务器的正常工作,但此时,服务器的运行状态可能处于一个即将崩溃的临界点。针对这种情况,还需要通过调整冷却风扇转速对服务器中各个电子器件的运行温度进行调整,以满足所述预设的温度。在具体应用过程中,将所述服务器的运行温度调至预设温度范围内的过程中,对冷却风扇转速的调整采用PID控制算法或本领域的其他常用控制算法实现。具体的,所述将所述服务器的运行温度调至预设温度范围内的过程中,对冷却风扇转速的调整包括如下步骤S201-1~S201-4:

步骤S201-1,获取服务器的各个器件温度。

其中,所述服务器的各个器件温度就是指所述服务器中各中电子器件的运行温度,可以通过器件内置的温度传感器获取。

步骤S201-2,判断所述服务器的各个器件温度是否处于预设的温度范围内。

步骤S201-3,若上述判断结果为否,则通过预设的温度调整方案,调整所述服务器冷却用的风扇转速,直至所述各个器件温度满足预设的温度范围。

步骤S201-4,若上述判断结果为是,则进入所述以预定的步长,向当前调整方向调整风扇转速的步骤。

所述预设的温度调整方案就是指基于服务器内置的PID控制算法或其他常用控制算法调整所述风扇转速以使所述服务器的各个器件温度处于预设的范围内。由于所述服务器内置的PID控制算法或其他常用控制算法属于本领域的现有技术,且这一部分并不属于本申请请求保护的范围内。因此,本申请实施例不再对上述基于服务器内置的PID算法和其他常用控制算法调整风扇转速以使服务器的各个器件运行温度保持在预设的温度范围的过程进行介绍。

在确保服务器中的各个电子器件运行温度都处于所述预设的温度范围内的情况下,即实施本申请实施例提供的服务器功耗的实时调整方法,以确保服务器的整体能耗始终处于一个较低的状态。

另外,在本申请的一个可选实施例中,步骤S201中的当前风扇转速可以为服务器启动时的初始速度,即,在服务器开始启动的情况下,对冷却风扇的转速进行初始化,之后执行本申请步骤S201。

具体的,在服务器启动时,对冷却风扇转速的初始化包括如下步骤S201-a、步骤S201-b。

步骤S201-a,在所述服务器启动时,根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速。

其中所述第一转速即为用于对风扇转速初始化的冷却风扇转速。

步骤S201-b,初始化所述第一转速为所述当前风扇转速。

在步骤S201-b中,通过初始化获得的所述当前风扇转速就是指服务器正常启动的临界风扇转速。

具体的,所述根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速包括:

获得能够使所述风扇正常启动的第二转速;根据所述服务器的运行环境温度,获得能够满足所述服务器运行需求的所述风扇的第三转速;在所述第二转速和所述第三转速中,选择数值较大者,作为能够满足所述服务器启动需求的所述风扇的第一转速。

其中,所述能够使风扇正常启动的第二转速是指,风扇启动的临界转速,对应的所述满足服务器运行需求的风扇的第三转速是指,服务器正常启动的临界转速。即,在能够风扇启动的临界转速和能够满足服务器正常启动的临界转速中,选择其中较大的作为所述第一转速。

在步骤S201中,所述预定的步长可以理解为,每次调整风扇转速时,风扇转速的改变量,在本申请的一个可选实施例中,所述预定的步长为1%,即,每次调整风扇1%的转速。比如说,当前风扇转速为500r/min,则执行步骤S201后,风扇的转速为505r/min或495r/min。当然,也可以将步长设定为固定的转速值,例如5r/min。

其中,在风扇转速实时调整的过程中,所述预定的步长还能够根据预设的步长调整策略进行调整;所述预设的步长调整策略可以有多种可以选择的方案,具体的方式后文详述。

可以理解的,所述风扇转速的调整方法是实时进行的,在服务器运行的过程中,服务器的运行负载、运行环境温度等影响服务器功耗的因素都是不断变化的不可控因素。在调整风扇转速后,由于服务器本身处于运行状态,且为了保障服务器的正常运行状态,在风扇转速在下一个调整周期内,风扇转速还可能会由于温度变化而发生改变。因此,在本申请的一个可选实施例中,还需要按照预设的时间间隔采集风扇转速并调整风扇转速。所述风扇转速的采集,可以基于服务器内部设置的风扇转速采集单元实现。

在本申请实施例中,服务器冷却风扇的当前转速可以通过服务器内部设置的风扇转速采集单元实现。而对于风扇转速的调整,可以通过PWM(Pulse Width Modulation,脉冲宽度调制)控制风扇电机线圈两端的电压大小,通过改变所述电压实现。PWM脉冲宽度调制的原理如下所示:

请参考图3,其为本申请第一实施例提供的PWM脉冲宽度调制过程中电压等效示意图。也就是说,在为风扇电机进行通电的过程中,用单片机产生的PWM会不断控制风扇场效应管(FET)的开合状态,使风扇电机的线圈反复的处于通电或断电状态,每次通电的时间越长,风扇电机的线圈两端的等效电压就越大,从而产生的磁场强度也就越大,电机转子转动也就越快(即,风扇转速也就越快),反之,风扇的转速也就越慢。

步骤S202,比较所述风扇转速调整前、后的所述服务器的功耗数据。

为了确保服务器的正常工作,服务器中包括存储器、CPU处理器、内部总线、电源等器件。在本申请第一实施例中,所述服务器的功耗数据是指,服务器中各个器件的总功耗,包括冷却风扇本身的功耗以及服务器中各个电子器件的功耗。

在本申请第一实施例中,服务器的功耗数据的采集与冷却风扇的调速几乎是同时进行的。比如说,假设所述冷却风扇的调整过程是按照预设的调整周期进行的,则所述服务器功耗数据的采集也可以是按照所述调整周期相同的采集周期进行。所述服务器功耗数据的采集也可以在冷却风扇调速之后进行,比如说,用于采集冷却风扇转速的风扇转速采集单元在确定风扇转速发生变化之后,向用于采集服务器功耗的装置发送采集指令,以使所述服务器采集装置采集所述服务器功耗数据。

具体的,所述服务器的功耗数据通过服务器系统内部的BMC(Baseboard ManagerController,基板管理控制器)获得,所述BMC是服务器中的一个独立子系统,BMC可以与服务器内的信号传输系统和操作系统进行交互,以对整个服务器的温度、电源等进行管理。请参考图4,其为本申请第一实施例提供的BMC子系统交互结构示意图。

图4中包括:服务器中部署的BMC芯片401、I/O芯片402、网络接口控制器403、串行接口连接器404、开关逻辑控制器405、智能平台控制器406。

所述BMC芯片401通过获得上述各个元件产生的数据以实现对各元件的管理。在本申请第一实施例中,所述BMC芯片401主要获得上述各个元件的功耗数据,进而确定所述服务器总功耗数据。

可以理解的,上述根据图4对所述BMC芯片401与各个元件的连接关系以及数据传输关系只是为了便于理解本申请。在其他实施方式中,BMC芯片401还可以获得服务器系统中其他元件的功耗数据,本申请对此不做限定。

在通过调整风扇转速实现服务器功耗的调整的过程中,由于风扇转速在图1中的位置是未知的。因此,本申请第一实施例的步骤S201提供的以预定的步长,增加风扇转速的方法是否能够降低服务器的功耗是未知的、服务器的功耗数据已经达到了图1中所示的极值点也是未知的,并且按照当前调整方向持续调整冷却风扇的转速的方式是否能够持续降低服务器功耗数据也是位置的。因此,每次调整风扇转速后,都需对风扇转速调整前、后的功耗数据进行比对。

步骤S203,若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

若风扇转速调整后的功耗数据小于调整前的功耗数据,则意味着当前调整方向是正确的。请参考图5a,其为本申请第一实施例提供的在风扇转速调整后的功耗数据小于调整后的风扇转速时,服务器功耗的第一分布示意图。即,假设风扇转速调整后的功耗数据为W2,风扇转速调整前的功耗数据为W1,且W2<W1,则意味着如果继续按照预定的时间间隔增加风扇转速,则服务器的功耗在一段时间内会持续降低,直至降到期望的极值点处。因此,在此种情况下,继续执行返回以预定的步长,向当前调整方向调整风扇转速的步骤。直至出现风扇转速调整前的功耗小于调整后的功耗数据的情况。之后执行步骤S204。在本申请的一种可选实施方式中,如果一直按照当前调整方向调整风扇转速是合理的,且多次调整风扇转速后,出现了风扇转速调整前的功耗大于调整后的功耗数据的情况。可以根据预定的步长调整策略,进一步将所述预定的步长调至原始预定步长的二分之一,并按照与当前调整方向相反的反向,进一步调整风扇的转速,直至再次出现风扇转速调整前的功耗小于调整后的功耗数据的情况。以使调整后的服务器的功耗更加接近与所述功耗的极小值。

为了便于理解上述将所述预定的步长调至原始预定步长的二分之一,并按照与当前调整方向相反的反向,进一步调整风扇的转速的过程。将请参考图5b,其为本申请第一实施例提供的服务器功耗的第二分布示意图。

如果按照当前调整方向调整风扇转速是合理的,那么如果出现风扇转速调整前的功耗W1小于调整后的功耗数据W2的情况,则意味着,所述服务器的功耗的极小值极有可能存在于功耗W1与功耗W2之间,那么在服务器的功耗为W2时对应的风扇转速的基础上,向相反的方向以预定步长的三分之一进一步调整所述风扇转速,就会是服务器的功耗更进一步的接近所述服务器功耗的极小值,以使服务器能够在更好的能耗下运行。

步骤S204,若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

若风扇转速调整后的功耗数据大于调整前的功耗数据,则意味着当前调整方向是错误的,请参考图5c,其为本申请第一实施例提供的服务器功耗第三分布示意图。即,假设风扇转速调整后的功耗数据为W2,风扇转速调整前的功耗数据为W1,且W1<W2,则如果继续按照预定的时间间隔增加风扇转速,服务器的功耗会持续上升。

此时,需要立刻调整并更新风扇转速的调整方向,使更新后的当前风扇转速的调整方向与原当前调整方向相反。之后再以预定的步长,按照当前调整方向调整风扇转速的步骤。

如上实施例中所述,预定的步长调整策略可以采用多种形式;上面提到的一般采用等步长,在发生调整方向转换时,对步长进行一定比例的缩小是一种可行的调整策略;此外,还可以采取其他调整策略。

例如,可以完全采用固定步长的调整策略,该固定步长为固定的转速,或者,为当前转速的固定的比例,例如10%或者5%。此种策略下,控制策略比较简单。

另外一种可行的方案,可以在步骤S202,比较所述风扇转速调整前、后的所述服务器的功耗数据的步骤中,根据比较结果设定合适的步长;例如,建立一个调整前后功耗数据差值与步长的对应表格,该表格中,调整前后功耗数据差值越小对应的步长越小,具体的对应关系可以根据实验或者理论模型确定;在步骤S203,步骤S204中,先根据对应关系设定好步长,再返回步骤S201。

为了便于理解本申请提供的服务器功耗的实时调整方法,以下结合图6a和图6b对本申请提供的服务器功耗的实时调整方法进行介绍。其中,图6a和图6b分别为本申请第二实施例提供的两种不同的服务器功耗的实时调整方法。

其中,图6a为本申请第二实施例提供的第一种服务器功耗的实时调整方法。该方法包括如下步骤S601a~S614a。

步骤S601a,启动服务器系统。

所述启动所述服务器系统即开启服务器系统。可以理解的,上述步骤S601a也可以理解为在服务器系统正常工作的情况。

步骤S602a,实时判断服务器的各个电子器件的运行温度是否低于预设的温度。

在执行上述服务器功耗的实时调整方法的过程中,需要实时确保所述服务器的各个电子器件处于正常的运行状态,在本申请的一个可选实施例中,确保所述服务器的各个电子器件的正常运行状态通过服务器的各个电子器件的运行温度实现。

若所述判断服务器的各个电子器件的运行温度是否低于预设的温度的判断结果为否,则进一步执行步骤S603a。

步骤S603a,通过服务器内置的PID控制算法或其他控制算法调整所述冷却风扇的转速。直至所述服务器中的各个电子器件的运行温度处于预设的温度范围。

若所述判断服务器的各个电子器件的运行温度是否低于预设的温度的判断结果为否,则确定所述服务器处于正常的运行状态,并进入步骤S604。

步骤S604a,获取冷却风扇的当前转速S1和服务器系统当前平均功耗W1。

所述冷却风扇的当前转速S1是指,在执行上述服务器功耗的实施调整方法的过程中所述冷却风扇对应的转速。在获取冷却风扇的当前转速S1的同时,还需要确定服务器对应的功耗数据W1,所述功耗数据包括:冷却风扇本身的功耗和服务器中其它电子器件的平均功耗W1。确定所述冷却风扇的当前转速S1和服务器的当前平均功耗W1之后,进入步骤S605a。

步骤S605a,以预定的步长,提升冷却风扇的转速S1,其中提升后冷却风扇的转速设定为S2,S2=S1+S1*1%。

所述预定的步长是指每次调整风扇转速时,风扇转速的改变量,在本申请第二实施例中,所述预定的步长为1%,则每次调整风扇1%的转速。在提升风扇转速的同时,也同样需要记录风扇转速提升后所述服务器对应的功耗数据。

步骤S606a,记录冷却风扇转速提升后系统的平均功耗数据W2。

步骤S606a中记录的平均功耗W2是指提升冷却风扇的转速后,系统对应的平均功耗。在执行上述步骤S602a和步骤S603a后,执行功耗判断的步骤S607a。

步骤S607a,判断冷却风扇转速提升后的功耗数据W2是否小于提升前的功耗数据W1。

如果冷却风扇转速提升后W2的功耗数据小于提升前的功耗数据W1,则说明在当前转速S1的基础上提升风扇转速的方式能够降低所述系统的平均功耗。在这种情况下,执行步骤S608a。

步骤S608a,记录当前风扇转速S1=S2,系统当前平均功耗W1=W2,并返回执行步骤S605a。

如此反复,直至出现冷却风扇转速提升后的功耗数据W2大于提升前的功耗数据W1的情况,完成转速提升小循环的过程。

在通过上述步骤S605a至步骤S608a调整风扇转速以降低服务器功耗的过程中,由于服务器负载、运行环境温度的变化,可能出现服务器功耗骤变的情况,例如:服务器负载突然增加的过程中,服务器的运行功耗必然会对应升高的情况。在本申请实施例提供的服务器功耗实时调整方法中,无论是由于服务器的运行环境改变造成的风扇转速提升后的功耗数据大于提升前的功耗数据的情况;还是单纯的由于风扇转速改变造成的风扇转速提升后的功耗数据大于提升前的功耗数据的情况。在出现上述情况后,都进入步骤S609a。

步骤S609a,记录当前风扇转速S1=S2,系统当前平均功耗W1=W2。

上述步骤S609a的目的在于对冷却风扇的转速和平均功耗进行更新,便于执行转速下降小循环的步骤。执行上述步骤S609a之后,执行步骤S610a。

步骤S610a,以预定的步长,降低冷却风扇的转速S1,其中降低后的冷却风扇转速设定为S3,S3=S1-S1*1%。

在步骤S610a中,所述预定的步长与步骤S605a中的步长相同,都为当前风扇转速S1的1%。执行上述步骤S610a后,进入步骤S611a。

步骤S611a,记录冷却风扇转速降低后系统的平均功耗W3。

步骤S611a中记录的平均功耗W3是指降低冷却风扇的转速后,系统对应的平均功耗。在执行上述步骤S610a和步骤S611a后,执行功耗判断的步骤S612a。

步骤S612a,判断冷却风扇转速降低后的功耗数据W3是否小于降低前的功耗数据W1。

如果冷却风扇转速降低后的功耗数据W3小于降低前的功耗数据W1,则说明在当前转速S1的基础上采用降低风扇转速的方式能够降低服务器系统的平均功耗。在这种情况下,执行步骤S613a。

步骤S613a,调整当前风扇转速S1=S3,系统当前平均功耗W1=W3,并返回执行步骤S610a。

如此反复,直至出现冷却风扇转速降低后的功耗数据W3大于降低前的功耗数据W1的情况,完成转速下降小循环的过程。

在步骤S612a中,如果出现冷却风扇转速降低后的功耗数据W3大于降低前的功耗数据W1的情况,则说明转速调整方向需要做进一步的改变。进而继续执行步骤S614a。

步骤S614a,调整当前风扇转速S1=S3,系统当前平均功耗W1=W3,并返回执行步骤S604a。

步骤S614a的目的在于对冷却风扇的当前转速和平均功耗进行更新,便于再次进入转速提升小循环的步骤,以完成转速调整大循环。

在图6b中,转速调整的过程与上述步骤S601a~S613a基本相同,即,在服务器系统启动后,确定服务器的运行温度满足预设温度的情况下,先执行上述转速下降小循环;在转速下降后的功耗数据大于转速下降前的功耗数据的情况下,进入转速提升小循环;在转速提升后的功耗数据大于转速提升前的功耗数据的情况下,返回转速小循环,进而完成转速大循环。

本申请第三实施例还提供一种服务器功耗的实时调整装置。由于该装置实施例基本相似与上述第一实施例和第二实施例,所以描述的比较简单,相关之处参见上述第一实施例和第二实施例提供的所述服务器功耗的实时调整方法即可。下面描述的装置实施例仅仅是示意性的。

请参考图7,其为本申请第三实施例提供的服务器功耗的实时调整装置的结构示意图。

该装置包括:

第一转速调整单元701,用于在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;

功耗数据比较单元702,用于比较所述风扇转速调整前、后的所述服务器的功耗数据;

第二转速调整单元703,用于若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;

第三转速调整单元704,用于若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

可选的,所述装置还包括:

温度获取单元,用于获得所述服务器的各个器件温度;

温度判断单元,用于判断所述服务器的各个器件温度是否处于预设的温度范围内;

温度调整单元,用于在所述服务器的各个器件温度不处于预设的温度范围内,则通过预设的温度调整方案,调整所述服务器冷却用的风扇转速,直至所述各个器件温度满足预设的温度范围;

跳转单元,用于在所述服务器的各个器件温度处于预设的温度范围内,则进入所述以预定的步长,向当前调整方向调整风扇转速的步骤。

可选的,所述服务器的各个器件的温度通过各个器件内置的温度传感器获得。

可选的,所述以预定的步长,向当前调整方向调整风扇转速,包括:

按照预设的时间间隔执行该步骤。

可选的,所述装置还包括:

转速初始化单元,用于在所述服务器启动时,根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速;初始化所述第一转速为所述当前风扇转速。

可选的,所述根据所述服务器的运行环境温度,获得能够满足所述服务器启动需求的所述风扇的第一转速,包括:

获得能够使所述风扇正常启动的第二转速;

根据所述服务器的运行环境温度,获得能够满足所述服务器运行需求的所述风扇的第三转速;

在所述第二转速和所述第三转速中,选择数值较大者,作为能够满足所述服务器启动需求的所述风扇的第一转速。

可选的,所述服务器的功耗数据为所述服务器的各个器件的运行功耗之和。

与上述方法实施例和装置实施例相对应的,本申请第四实施例还提供一种电子设备,由于该电子设备基本相似与上述方法实施例和装置实施例,所以描述的比较简单,相关之处参见上述方法实施例和装置实施例的部分说明即可,以下对本申请提供的电子设备的描述仅仅是示意性的。

请参考图8,其为本申请第四实施例提供的电子设备结构示意图。

所述电子设备包括:

处理器801;

以及存储器802,用于存储服务器功耗的实施调整方法的程序,该设备在通过处理器运行所述程序后,执行以下步骤:

在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;比较所述风扇转速调整前、后的所述服务器的功耗数据;若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

本申请第五实施例还提供一种计算机存储介质,所述计算机存储介质应用于服务器运行过程中,所述计算机存储介质存储有计算机程序,所述程序被执行时,执行以下步骤:

在当前风扇转速的基础上,以预定的步长,向当前调整方向调整风扇转速;其中,所述当前调整方向为增加风扇转速或者降低风扇转速;比较所述风扇转速调整前、后的所述服务器的功耗数据;若所述风扇转速调整后的功耗数据小于调整前的功耗数据,则将调整后的风扇转速设定为当前风扇转速,并返回所述以预定的步长,向当前调整方向调整风扇转速的步骤;若所述风扇转速调整后的功耗数据大于调整前的功耗数据,则将调整后的风扇转速设定为当前转速,并更新当前调整方向为与原当前调整方向相反的方向,然后,返回所述以预定的步长,向当前调整方向调整风扇转速的步骤。

需要说明的是,本申请第五实施例提供的计算机存储介质的详细描述,可以参考上述对方法实施例的相关描述,这里不再赘述。

本申请虽然以较佳实施例公开如上,但其并不是用来限定本申请,任何本领域技术人员在不脱离本申请的精神和范围内,都可以做出可能的变动和修改,因此本申请的保护范围应当以本申请权利要求所界定的范围为准。

在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。

内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。

1、计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitor7 media),如调制的数据信号和载波。

2、本领域技术人员应明白,本申请的实施例可提供为系统或电子设备。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

26页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种SAS卡链路状态监控方法、系统、装置及可读存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!