CN115686172A - 功耗控制方法、装置、电子设备、可读存储介质及产品 - Google Patents
功耗控制方法、装置、电子设备、可读存储介质及产品 Download PDFInfo
- Publication number
- CN115686172A CN115686172A CN202211312920.8A CN202211312920A CN115686172A CN 115686172 A CN115686172 A CN 115686172A CN 202211312920 A CN202211312920 A CN 202211312920A CN 115686172 A CN115686172 A CN 115686172A
- Authority
- CN
- China
- Prior art keywords
- power consumption
- node
- real
- time
- server
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004590 computer program Methods 0.000 claims description 21
- 238000006243 chemical reaction Methods 0.000 claims description 7
- 230000000737 periodic effect Effects 0.000 claims description 5
- 229920002492 poly(sulfone) Polymers 0.000 description 40
- 230000009467 reduction Effects 0.000 description 20
- 230000008569 process Effects 0.000 description 9
- 230000008859 change Effects 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000002159 abnormal effect Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Power Sources (AREA)
Abstract
本发明实施例提供了一种功耗控制方法、装置、电子设备、可读存储介质及产品。该功耗控制方法应用于基板管理控制器BMC,该功耗控制方法包括:在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗;实时获取多节点服务器的第一实时风扇总功耗;根据剩余电源总功耗以及第一实时风扇总功耗,确定多节点服务器的第一实时可分配功耗;确定多节点服务器中各个节点的功耗需求;将第一实时可分配功耗分别按照各个节点的功耗需求,为各个节点分配功耗限制。通过本实施例的功耗控制方法,能够按实际情况动态地根据各节点的功耗需求进行功耗控制,充分提高了服务器运行效率。
Description
技术领域
本发明涉及服务器功耗管理技术领域,尤其涉及一种功耗控制方法、装置、电子设备、可读存储介质及产品。
背景技术
功耗封顶(Power Capping)是服务器自带的一项功能,用于对服务器的功耗限制。服务器在运行过程中,如果电源PSU意外掉电,可能会导致服务器节点功耗超标而掉电,从而导致正在运行的节点意外关机。此时,服务器就会启动功耗封顶功能:服务器中的BMC(Baseboard Management Controller,基板管理控制器)会通过ME(Management Engine,管理引擎)对服务器的各节点进行功耗限制,以释放边际功耗,提高服务器效率。
然而在传统方案中,BMC对多节点服务器中各个节点的功耗限制是平均分配的。由于多节点服务器中各节点的配置不同,功耗需求不同,如果按传统方法将各个节点的功耗限制进行平均分配,且只分配一次,这就导致服务器中一部分节点的功耗得不到充分满足,一部分节点的边际功耗得不到充分释放,极大地降低了服务器的运行效率。
发明内容
本发明实施例提供一种功耗控制方法、装置、电子设备、可读存储介质及产品,以实时动态地对各个节点按功耗需求分配功耗限制,充分提升服务器的运行效率。
本发明实施例第一方面提供了一种功耗控制方法,应用于基板管理控制器BMC,所述方法包括:
在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗;
实时获取所述多节点服务器的第一实时风扇总功耗;
根据所述剩余电源总功耗以及所述第一实时风扇总功耗,确定所述多节点服务器的第一实时可分配功耗;
确定所述多节点服务器中各个节点的功耗需求;
将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
可选的,所述实时获取所述多节点服务器的第一实时风扇总功耗,包括:
在开始降频时刻,以及在所述开始降频时刻的后续多个时刻,分别获取所述多节点服务器的第一实时风扇总功耗。
可选的,所述将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制,包括:
在所述开始降频时刻,以及在所述开始降频时刻的后续多个时刻,将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制;
其中,所述多个时刻为连续的多个时刻或周期性间隔的多个时刻。
可选的,所述方法还包括:
在电源PSU恢复后,确定所述多节点服务器的电源总功耗;
实时获取所述多节点服务器的第二实时风扇总功耗;
根据所述电源总功耗以及所述第二实时风扇总功耗,确定所述多节点服务器的第二实时可分配功耗;
将所述第二实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
可选的,所述确定所述多节点服务器中各个节点的功耗需求,包括:
获取所述各个节点的配置;
基于所述各个节点的配置,计算所述各个节点的理论最大功耗;
确定所述各个节点的理论最大功耗占所有节点的理论最大功耗的总和的各个比例;
将所述各个比例作为所述各个节点的功耗需求。
可选的,所述获取所述各个节点的配置,包括:
实时从基本输入输出系统BIOS中获取所述各个节点的配置;或,
从全局变量里获取所述各个节点的配置,其中,所述全局变量设置有所述各个节点开机后记录的各个节点的配置。
本发明实施例第二方面提供了一种功耗控制装置,应用于基板管理控制器BMC,所述装置包括:
第一确定模块,用于在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗;
第一获取模块,用于实时获取所述多节点服务器的第一实时风扇总功耗;
第二确定模块,用于根据所述剩余电源总功耗以及所述第一实时风扇总功耗,确定所述多节点服务器的第一实时可分配功耗;
第三确定模块,用于确定所述多节点服务器中各个节点的功耗需求;
第一分配模块,用于将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
可选的,所述第一获取模块,包括:
第一获取子模块,用于在开始降频时刻,以及在所述开始降频时刻的后续多个时刻,分别获取所述多节点服务器的第一实时风扇总功耗。
可选的,所述第一分配模块,包括:
分配子模块,用于在所述开始降频时刻,以及在所述开始降频时刻的后续多个时刻,将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制;
其中,所述多个时刻为连续的多个时刻或周期性间隔的多个时刻。
可选的,所述功耗控制装置还包括:
第四确定模块,用于在电源PSU恢复后,确定所述多节点服务器的电源总功耗;
第二获取模块,用于实时获取所述多节点服务器的第二实时风扇总功耗;
第五确定模块,用于根据所述电源总功耗以及所述第二实时风扇总功耗,确定所述多节点服务器的第二实时可分配功耗;
第二分配模块,用于将所述第二实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
可选的,所述第三确定模块,包括:
第三获取模块,用于获取所述各个节点的配置;
计算模块,用于基于所述各个节点的配置,计算所述各个节点的理论最大功耗;
第六确定模块,用于确定所述各个节点的理论最大功耗占所有节点的理论最大功耗的总和的各个比例;
功耗需求确定模块,用于将所述各个比例作为所述各个节点的功耗需求。
可选的,所述第三获取模块,包括:
第二获取子模块,用于实时从基本输入输出系统BIOS中获取所述各个节点的配置;
第三获取子模块,用于从全局变量里获取所述各个节点的配置,其中,所述全局变量设置有所述各个节点开机后记录的各个节点的配置。
本发明实施例第三方面提供一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如本发明实施例第一方面所述的功耗控制方法的步骤。
本发明实施例第四方面提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如本发明实施例第一方面所述的功耗控制方法的步骤。
本发明实施例第五方面还提供了一种计算机程序产品,包括计算机程序/指令,所述计算机程序/指令被处理器执行时实现如本发明实施例第一方面所述的功耗控制方法中的步骤。
本发明实施例提供的一种功耗控制方法,包括:在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗;实时获取多节点服务器的第一实时风扇总功耗;根据剩余电源总功耗以及第一实时风扇总功耗,确定多节点服务器的第一实时可分配功耗;确定多节点服务器中各个节点的功耗需求;将第一实时可分配功耗分别按照各个节点的功耗需求,为各个节点分配功耗限制。通过本发明实施例的功耗控制方法,在PSU掉电进行功耗封顶的情况下,BMC可以实时获取多节点服务器的第一实时风扇总功耗,进而动态得到多节点服务器的第一实时可分配功耗,再将第一实时可分配功耗按照各个节点的功耗需求为各个节点分配功耗限制,从而能够按实际情况动态地根据各节点的功耗需求进行功耗控制,充分提高了服务器运行效率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例示出的一种功耗控制方法的步骤流程图;
图2是本发明一实施例示出的一种动态功耗限制回调的流程图;
图3是本发明一实施例提供的功耗控制装置的结构框图;
图4是本发明一实施例示出的一种电子设备的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
相关技术中,在多节点服务器的运行过程中,如果有其中一个电源PSU出现故障,多节点服务器启动功耗封顶的流程如下:CPLD(Complex Programmable Logic Device,复杂可编程逻辑器件)检测到电源状态异常会向CPU触发一个throttle信号,CPU接收到这个throttle信号会对整个服务器降频,此时整个多节点服务器的功耗会大大降低,即使少了一个电源,服务器的各节点也能正常工作。而此时BMC直接根据当前剩余电源能提供的功耗以及节点的数量进行平均计算,得到节点的可分配功耗,以作为每个节点的功耗限制,功耗限制即指功耗最大值。BMC确定出平均分配的功耗限制之后,通过ME对各节点发送功耗限制的指令,然后CPLD关闭throttle信号,此时各节点根据指令恢复到功耗最大值(即功耗限制的最大功耗)。
然而由于多节点服务器中各节点的配置不一样,有的节点配置多,功耗需求较大,而另一些节点的配置少,功耗需求较小。如果按通常的做法,BMC对各个节点的功耗限制是平均分配的,并且只分配一次,这就会导致配置多的节点功耗得不到充分满足,并且配置少的节点的边际功耗得不到充分释放,极大地降低了服务器的运行效率。
因此,为了至少部分地解决上述问题以及其他潜在问题中的一个或者多个,本发明实施例提出了一种功耗控制方法,本发明实施例提供的功耗控制方法充分考虑多节点服务器各节点的功耗需求有较大差异,从而在进行功耗限制时按实际情况动态地根据各节点的功耗需求按比例进行功耗限制的分配,进行功耗控制,以最大限度地提升服务器的运行效率。
请参考图1,图1是本发明一实施例示出的一种功耗控制方法的步骤流程图。本实施例提供的功耗控制方法可应用于基板管理控制器BMC,如图1所示,本实施例的功耗控制方法可以包括以下步骤:
步骤S11:在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗。
本实施例中,在多节点服务器中的电源PSU掉电,多节点服务器进行功耗封顶的情况下,CPLD检测到多节点服务器的电源状态异常会向多节点服务器的CPU触发一个throttle信号,CPU接收到这个throttle信号会对整个多节点服务器降频,从而保证多节点服务器的各节点也能正常工作。而此时,即在电源PSU掉电进行功耗封顶时,本实施例的BMC可以确定多节点服务器的剩余电源总功耗,也即BMC会确定PSU掉电后多节点服务器中剩余电源所能提供的功耗。其中,本实施例中的多节点服务器可以为刀片服务器,但这只是一种示例,本实施例对多节点服务器的种类不做任何具体限制。
步骤S12:实时获取所述多节点服务器的第一实时风扇总功耗。
本实施例中,在电源PSU掉电进行功耗封顶的情况下,BMC还会实时获取多节点服务器的第一实时风扇总功耗,例如可以从PSU中实时读取第一实时风扇总功耗。其中,第一实时风扇总功耗是指实时获取到的在电源PSU掉电情况下的多节点服务器中的风扇总功耗。
步骤S13:根据所述剩余电源总功耗以及所述第一实时风扇总功耗,确定所述多节点服务器的第一实时可分配功耗。
本实施例中,BMC在实时获取到多节点服务器的第一实时风扇总功耗之后,BMC可以根据确定出的剩余电源总功耗以及实时获取的第一实时风扇总功耗,实时确定出多节点服务器的第一实时可分配功耗。其中,第一实时可分配功耗是指实时确定出的在电源PSU掉电情况下的多节点服务器所能提供的实际可分配功耗。
示例的,由于多节点服务器总功耗包括风扇总功耗与各节点功耗,因此在电源PSU掉电进行功耗封顶的情况下,多节点服务器处于降频状态,多节点服务器的风扇总功耗在实时变化,从而导致多节点服务器所能提供的实际可分配功耗也在实时变化,因此,本方案需要动态确定多节点服务器的第一实时风扇总功耗,进一步地动态确定多节点服务器的第一实时可分配功耗,如可以是将剩余电源总功耗减去动态确定的第一实时风扇总功耗,从而动态确定第一实时可分配功耗。
步骤S14:确定所述多节点服务器中各个节点的功耗需求。
本实施例中,多节点服务器由于每个节点的节点配置不同,从而导致每个节点的功耗需求也不同,因此,在进行功耗限制分配时,BMC可以根据多节点服务器中各个节点的节点配置,确定出各个节点的功耗需求,从而按需分配功耗最大值,以实现服务器的效率最大化。
需要说明的是,在一般情况下,节点的配置均在关机状态下进行调整,在开机后节点的配置不会发生变化,因此,在电源PSU掉电进行功耗封顶的情况下,各个节点的功耗需求不会变化。但在某些特殊情况下,在节点开机后,节点的配置可能也会发生改变,如节点新增或移除了配置网卡,这就导致在电源PSU掉电进行功耗封顶的情况下,各个节点的功耗需求会发生变化,此时在一实施例中,BMC可以实时根据各个节点的节点配置,实时确定多节点服务器中每个节点的功耗需求。
步骤S15:将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
在本步骤中,BMC可以根据实时动态确定的多节点服务器的第一实时可分配功耗,以及各个节点的功耗需求,将第一实时可分配功耗分别按照各个节点的功耗需求,按比例为各个节点进行功耗限制的分配。
进一步地,BMC可以在分配好确定出各个节点的功耗限制后,给各个节点分别发送携带对应功耗限制的功耗限制指令,以使各个节点能够根据接收到的功耗限制指令,完成自身功耗限制的调整,从而实现整个多节点服务器的功耗控制。
在本实施例中,在PSU掉电进行功耗封顶的情况下,BMC可以实时获取多节点服务器的第一实时风扇总功耗,进而动态得到多节点服务器的第一实时可分配功耗,再将第一实时可分配功耗根据各个节点的功耗需求按比例为各个节点分配功耗限制,如果节点的功耗需求高,功耗限制时可以多分配一些功耗,节点的功耗需求低,功耗限制时就少分配一些功耗,从而能够按实际情况动态地根据各节点的功耗需求进行功耗控制,充分利用了多节点服务器的边际功耗,极大限度地提高了服务器运行效率。
结合以上实施例,在一实施方式中,本发明实施例还提供了一种功耗控制方法。在该方法中,上述步骤S12具体可以包括步骤S21:
步骤S21:在开始降频时刻,以及在所述开始降频时刻的后续多个时刻,分别获取所述多节点服务器的第一实时风扇总功耗。
在电源PSU掉电进行功耗封顶的情况下,多节点服务器整体处于降频状态,多节点服务器的风扇总功耗也会不断发生变化,因此,在本步骤中,会将降频情况考虑在内,BMC在开始降频时刻,以及在开始降频时刻的后续多个时刻,分别获取多节点服务器的第一实时风扇总功耗,从而实现实时获取多节点服务器的在不断动态变化的第一实时风扇总功耗。
在本实施例中,充分考虑在电源PSU掉电进行功耗封顶时降频的特殊情况,BMC通过在开始降频时刻,以及在开始降频时刻的后续多个时刻,分别获取第一实时风扇总功耗,从而进一步实现按实际情况实时进行各个节点的功耗限制。
结合以上实施例,在一实施方式中,本发明实施例还提供了一种功耗控制方法。在该方法中,上述步骤S15具体可以包括步骤S31:
步骤S31:在所述开始降频时刻,以及在所述开始降频时刻的后续多个时刻,将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
本实施例中,多个时刻为连续的多个时刻或周期性间隔的多个时刻,其中周期性间隔可以根据实际需要自由设定,如果可以是1s为一个周期,也可以是10s为一个周期,还可以是1min为一个周期等,本实施例对此不作任何限制。
BMC是在开始降频时刻,以及在开始降频时刻的后续多个时刻,分别获取多节点服务器的第一实时风扇总功耗,基于此,本实施例中BMC还会在获取到第一实时风扇总功耗,实时确定出多节点服务器的第一实时可分配功耗,在对应的开始降频时刻,以及在对应的开始降频时刻的后续多个时刻,将所述第一实时可分配功耗分别按照各个节点的功耗需求,为各个节点分配功耗限制。
也就是说,本实施例的BMC是在开始降频时刻,获取第一实时风扇总功耗,根据剩余电源总功耗和第一实时风扇总功耗确定出第一实时可分配功耗后,将第一实时可分配功耗分别按照各个节点的功耗需求,为各个节点分配功耗限制。之后,BMC是在开始降频时刻的后续多个时刻中的每个时刻,获取第一实时风扇总功耗,根据剩余电源总功耗和第一实时风扇总功耗确定出第一实时可分配功耗后,将第一实时可分配功耗分别按照各个节点的功耗需求,为各个节点分配功耗限制。
需要说明的是,在一般情况下,节点的配置均在关机状态下进行调整,在开机后节点的配置不会发生变化,因此,各个节点的功耗需求也不会变化。但在某些特殊情况下,在节点开机后,节点的配置可能也会发生改变,如节点新增或移除了配置网卡,这就导致各个节点的功耗需求会发生变化,此时可以与获取风扇总功耗同步,在开始降频时刻,以及在开始降频时刻的后续多个时刻确定各个节点的实时功耗需求,从而在开始降频时刻,以及在开始降频时刻的后续多个时刻,将第一实时可分配功耗分别按照各个节点的实时功耗需求,为各个节点分配功耗限制。
在本实施例中,BMC考虑到电源PSU掉电进行功耗封顶时降频的特殊情况,会在开始降频时刻,以及开始降频时刻的后续多个时刻中的每个时刻,获取第一实时风扇总功耗,根据剩余电源总功耗和第一实时风扇总功耗确定出第一实时可分配功耗后,将第一实时可分配功耗分别按照各个节点的功耗需求,为各个节点分配功耗限制,从而能按实际情况实时进行功耗限制,真正实现根据真实需求动态地进行功耗限制,充分提高服务器运行效率。
结合以上实施例,在一实施方式中,本发明实施例还提供了一种功耗控制方法。该方法中,除了上述步骤之外,还可以包括步骤S41至步骤S44:
步骤S41:在电源PSU恢复后,确定所述多节点服务器的电源总功耗。
本实施例中,在多节点服务器所掉电的电源PSU恢复时以及恢复后,此时,BMC需要确定出多节点服务器的电源总功耗。其中,电源总功耗为多节点服务器在未掉电情况下所有电源能够提供的总功耗。
步骤S42:实时获取所述多节点服务器的第二实时风扇总功耗。
本实施例中,在电源PSU恢复后,风扇总功耗依旧会处于变化状态,此时BMC还会实时获取多节点服务器的第二实时风扇总功耗,例如可以从PSU中实时读取第二实时风扇总功耗。其中,第二实时风扇总功耗是指实时获取到的在电源PSU未掉电情况下的多节点服务器的风扇总功耗。
步骤S43:根据所述电源总功耗以及所述第二实时风扇总功耗,确定所述多节点服务器的第二实时可分配功耗。
本实施例中,BMC在实时获取到多节点服务器的第二实时风扇总功耗之后,BMC可以根据电源总功耗以及第二实时风扇总功耗,实时确定出多节点服务器的第二实时可分配功耗。其中,第二实时可分配功耗是指实时确定出的在电源PSU未掉电情况下的多节点服务器所能提供的实际可分配功耗。
示例的,由于多节点服务器总功耗包括风扇总功耗与各节点功耗,而在电源PSU恢复时及恢复后,多节点服务器的风扇总功耗依旧在实时变化,从而导致多节点服务器所能提供的实际可分配功耗也在实时变化,因此,本方案需要动态确定多节点服务器的第二实时风扇总功耗,进一步地动态确定多节点服务器的第二实时可分配功耗,如可以是将电源总功耗减去动态确定的第二实时风扇总功耗,从而动态确定第二实时可分配功耗。
步骤S44:将所述第二实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
本实施例中,多节点服务器中的各个节点的功耗需求与各个节点的节点配置有关,如各个节点的节点配置不变,则各个节点的功耗需求也不会变。在本实施例中,是多节点服务器在电源PSU掉电进行功耗封顶至多节点服务器所掉电的电源PSU恢复时以及恢复后,并不涉及重新开机,各节点的节点配置与各节点开机时的节点配置相同,且未发生变化的情况,因此,在多节点服务器所掉电的电源PSU恢复时以及恢复后,各个节点的功耗需求一直未发生改变。
此时,BMC可以根据实时动态确定的多节点服务器的第二实时可分配功耗,以及未改变的各个节点的功耗需求,将第二实时可分配功耗分别按照各个节点的功耗需求,按比例为各个节点进行功耗限制的分配。
进一步地,BMC可以在分配好确定出各个节点的功耗限制后,给各个节点分别发送携带对应功耗限制的功耗限制指令,以使各个节点能够根据实时接收到的功耗限制指令,完成自身功耗限制的调整,从而完成整个多节点服务器的功耗控制。
在本实施例中,在电源PSU恢复后,BMC依旧可以继续实时确定第二实时风扇总功耗,进而动态确定多节点服务器的第二实时可分配功耗,再将第二实时可分配功耗根据各个节点的功耗需求按比例为各个节点分配功耗限制,从而能够按实际情况动态地根据各节点的功耗需求进行功耗控制,充分利用了多节点服务器的边际功耗,极大限度地提高了服务器运行效率。
此外,在另一实施例中,是多节点服务器在电源PSU掉电进行功耗封顶至多节点服务器所掉电的电源PSU恢复时以及恢复后,并不涉及重新开机,但在开机后的过程中,节点新增或移除了配置网卡,导致节点的配置发生了变化,进而导致各个节点的功耗需求发生变化的情况,因此,在多节点服务器所掉电的电源PSU恢复时以及恢复后,BMC可以实时确定各个节点的实时功耗需求,其中,实时确定各个节点的实时功耗需求的时刻、频率可以跟实时确定第二实时可分配功耗的时刻、频率相同。使得BMC能够根据实时动态确定的多节点服务器的第二实时可分配功耗,以及实时确定的各个节点的实时功耗需求,将第二实时可分配功耗分别按照各个节点的实时功耗需求,按比例为各个节点进行功耗限制的分配。
结合以上任一实施例,在一实施方式中,本发明实施例还提供了一种功耗控制方法。在该方法中,上述步骤S14具体可以包括步骤S51至步骤S54:
步骤S51:获取所述各个节点的配置。
事实上,多节点服务器中每个节点的节点配置可能不同,不同的节点所配置的PCIE设备不同:而节点配置多,PCIE设备多,功耗需求较大;节点配置少,PCIE设备少,功耗需求就小,因此,本实施例中,BMC需要获取多节点服务器中各个节点的节点配置。
步骤S52:基于所述各个节点的配置,计算所述各个节点的理论最大功耗。
本实施例中,BMC获取到各个节点的配置之后,可以根据各个节点的配置,计算各个节点的理论最大功耗。其中,各个节点的节点配置中的每个部件均对应有理论最大功耗,BMC可以将各个节点的配置中所有部件的理论最大功耗求和,从而得到各个节点的理论最大功耗。
步骤S53:确定所述各个节点的理论最大功耗占所有节点的理论最大功耗的总和的各个比例。
本实施例中,BMC在得到各个节点的理论最大功耗之后,可以将所有节点的理论最大功耗求和,以得到所有节点的理论最大功耗的总和;然后确定各个节点的理论最大功耗占所有节点的理论最大功耗的总和的比例,从而分别得到各个节点对应的各个比例。
步骤S54:将所述各个比例作为所述各个节点的功耗需求。
本实施例中,BMC在确定各个节点对应的各个比例之后,可以将各个比例分别作为对应的各个节点的功耗需求。
在本实施例中,BMC充分考虑了多节点服务器中各节点的配置不同会导致功耗需求有较大差异,BMC可以拿到各节点的配置,从而在进行功耗限制时实时根据各节点的功耗需求按比例分配,也就是说,本实施例可以通过动态识别多节点服务器各节点的功耗需求,进行功耗限制的时候可以实时并且按比例分配,需求大的多分配,需求小的少分配,从而最大限度提升服务器运行效率。
示例的,假设CPU的理论功耗为270W,DIMM的理论功耗为7W,PCIE Card的理论功耗为53W,NVME的理论功耗为18W。而一个多节点服务器有4个节点,其中A节点有2个CPU,8个DIMM,2个PCIE Card,2个NVME。那么A节点的理论最大功耗就是:270W×2+7W×8+53W×2+18W×2=738W。如果其他3个节点的配置都是有1个CPU,4个DIMM,1个PCIE Card,1个NVME,那么3个节点每个的理论最大功耗就是:270W×1+7W×4+53W×1+18W×1=369W。那么A节点的功耗需求为:738/(738+369+369+369)=0.4,其余3个节点的功耗需求为:369/(738+369+369+369)=0.2。
假设服务器有两个电源PSU,都是1500W。如果一个电源PSU出现故障,此时风扇功耗为500W,那么1500W的功耗分配,A节点可以分得:(1500-500)*0.4=400W。其他三个节点按此计算每个节点可以分得(1500-500)*0.2=200W。由于降频,风扇总功耗肯定会明显降低。假设10秒后风扇总功耗降到了50W,此时A节点可以分得:(1500-50)*0.4=580W。其他三个节点按此计算每个节点可以分得:(1500-50)*0.2=290W。如此,每个节点的功耗限制随着实际情况不断地自动分配,从而能充分利用服务器的边际功耗。
需要说明的是,当需要实时确定多节点服务器中各个节点的实时功耗需求时,BMC是在每一个需要确定的时刻均执行上述步骤S51至步骤S54。
结合以上任一实施例,在一实施方式中,本发明实施例还提供了一种功耗控制方法。在该方法中,上述步骤S51具体可以包括步骤S61或步骤S62:
步骤S61:实时从基本输入输出系统BIOS中获取所述各个节点的配置。
本实施例中,是在节点开机后,节点配置发生变化的情况下,BMC可以实时从基本输入输出系统BIOS中获取该多节点服务器的各个节点的配置。例如,可以是在实时获取多节点服务器的第一实时风扇总功耗的同时,实时从基本输入输出系统BIOS中获取该多节点服务器的各个节点的配置。
步骤S62:从全局变量里获取所述各个节点的配置,其中,所述全局变量设置有所述各个节点开机后记录的各个节点的配置。
本实施例中,是在节点开机后,节点配置未发生变化的情况下,可以是在节点开机拿到节点配置后把各个节点的配置设到全局变量里,从而使得节点配置拿一次就可以了,后面进行实时功耗限制时可以直接从全局变量里获取各个节点的配置,进而确定出各个节点的需求功耗,然后进行按比例分配功耗限制。
在本实施例中,在节点配置发生变化的情况下,可以根据实际需求实时得从BIOS中获取各个节点的配置,从而实现根据真实需求动态地进行功耗限制;而在节点配置未发生变化的情况下,可以直接从全局变量里获取各个节点的配置,无需多次获取节点配置,从而节约了服务器资源。
在一实施方式中,在刀片服务器运行过程中,如刀片服务器的某个电源出现故障,CPLD检测到电源状态异常后会向CPU触发一个throttle信号,该throttle信号用于通知CPU开启降频,CPU收到这个throttle信号会降频,此时整个刀片服务器的功耗会大大降低,使得即使少了一个电源,服务器的各节点也能够正常工作。参见图2,图2是本发明一实施例示出的一种动态功耗限制回调的流程图。如图2所示,BMC可以判断CPLD是否已触发throttle信号,如果确定CPLD未触发throttle信号,则可以进行周期性进行CPLD是否已触发throttle信号的判断;如果确定CPLD已触发throttle信号,则表示服务器已降频,此时需要BMC对各个节点进行功耗限制。
因此,当BMC确定CPLD已触发throttle信号,需获取当前正常PSU(即当前剩余的处于正常工作状态下的电源)的总功耗W,然后将整机功耗限制为W,并实时读取风扇总功耗,从而依据整机功耗限制-风扇总功耗=实时可分配功耗,确定实时可分配功耗,从而按照确定出的各个节点的功耗需求,按比例分配每个节点的功耗限制值,并给每个节点发送功耗限制指令。
接着,BMC判断所有节点是否已限制成功,即BMC需判断是否所有节点均已根据接收到的功耗限制指令对自身的功耗限制进行了调整,如果所有节点未限制成功,则继续等待,直至确定出如果所有节点已限制成功;如果确定所有节点已限制成功,则BMC通知CPLD取消硬件throttle信号,使得各节点能够恢复到自身功耗限制的最大功耗,从而释放边际功耗,充分提高服务器运行效率。
需要说明的是,对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明实施例并不受所描述的动作顺序的限制,因为依据本发明实施例,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作并不一定是本发明实施例所必须的。
基于同一发明构思,本发明一实施例提供了一种功耗控制装置300,该功耗控制装置300可应用于基板管理控制器BMC。参考图3,图3是本发明一实施例提供的功耗控制装置的结构框图。如图3所示,该功耗控制装置300包括:
第一确定模块301,用于在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗;
第一获取模块302,用于实时获取所述多节点服务器的第一实时风扇总功耗;
第二确定模块303,用于根据所述剩余电源总功耗以及所述第一实时风扇总功耗,确定所述多节点服务器的第一实时可分配功耗;
第三确定模块304,用于确定所述多节点服务器中各个节点的功耗需求;
第一分配模块305,用于将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
可选的,所述第一获取模块302,包括:
第一获取子模块,用于在开始降频时刻,以及在所述开始降频时刻的后续多个时刻,分别获取所述多节点服务器的第一实时风扇总功耗。
可选的,所述第一分配模块305,包括:
分配子模块,用于在所述开始降频时刻,以及在所述开始降频时刻的后续多个时刻,将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制;
其中,所述多个时刻为连续的多个时刻或周期性间隔的多个时刻。
可选的,所述功耗控制装置300还包括:
第四确定模块,用于在电源PSU恢复后,确定所述多节点服务器的电源总功耗;
第二获取模块,用于实时获取所述多节点服务器的第二实时风扇总功耗;
第五确定模块,用于根据所述电源总功耗以及所述第二实时风扇总功耗,确定所述多节点服务器的第二实时可分配功耗;
第二分配模块,用于将所述第二实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
可选的,所述第三确定模块304,包括:
第三获取模块,用于获取所述各个节点的配置;
计算模块,用于基于所述各个节点的配置,计算所述各个节点的理论最大功耗;
第六确定模块,用于确定所述各个节点的理论最大功耗占所有节点的理论最大功耗的总和的各个比例;
功耗需求确定模块,用于将所述各个比例作为所述各个节点的功耗需求。
可选的,所述第三获取模块,包括:
第二获取子模块,用于实时从基本输入输出系统BIOS中获取所述各个节点的配置;
第三获取子模块,用于从全局变量里获取所述各个节点的配置,其中,所述全局变量设置有所述各个节点开机后记录的各个节点的配置。
基于同一发明构思,本发明另一实施例提供一种电子设备400,如图4所示。图4是本发明一实施例示出的一种电子设备的示意图。该电子设备包括处理器401、存储器402及存储在存储器402上并可在处理器401上运行的计算机程序,所述计算机程序被所述处理器执行时实现本发明上述任一实施例所述的功耗控制方法中的步骤。
基于同一发明构思,本发明另一实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现如本发明上述任一实施例所述的功耗控制方法中的步骤。
基于同一发明构思,本发明另一实施例还提供了一种计算机程序产品,该计算机程序/指令被处理器执行时实现如本发明上述任一实施例所述的功耗控制方法中的步骤。
本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
上面结合附图对本发明的实施例进行了描述,但是本发明并不局限于上述的具体实施方式,上述的具体实施方式仅仅是示意性的,而不是限制性的,本领域的普通技术人员在本发明的启示下,在不脱离本发明宗旨和权利要求所保护的范围情况下,还可做出很多形式,均属于本发明的保护之内。
本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本发明所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (10)
1.一种功耗控制方法,其特征在于,应用于基板管理控制器BMC,所述方法包括:
在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗;
实时获取所述多节点服务器的第一实时风扇总功耗;
根据所述剩余电源总功耗以及所述第一实时风扇总功耗,确定所述多节点服务器的第一实时可分配功耗;
确定所述多节点服务器中各个节点的功耗需求;
将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
2.根据权利要求1所述功耗控制方法,其特征在于,所述实时获取所述多节点服务器的第一实时风扇总功耗,包括:
在开始降频时刻,以及在所述开始降频时刻的后续多个时刻,分别获取所述多节点服务器的第一实时风扇总功耗。
3.根据权利要求2所述功耗控制方法,其特征在于,所述将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制,包括:
在所述开始降频时刻,以及在所述开始降频时刻的后续多个时刻,将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制;
其中,所述多个时刻为连续的多个时刻或周期性间隔的多个时刻。
4.根据权利要求1所述功耗控制方法,其特征在于,所述方法还包括:
在电源PSU恢复后,确定所述多节点服务器的电源总功耗;
实时获取所述多节点服务器的第二实时风扇总功耗;
根据所述电源总功耗以及所述第二实时风扇总功耗,确定所述多节点服务器的第二实时可分配功耗;
将所述第二实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
5.根据权利要求1所述功耗控制方法,其特征在于,所述确定所述多节点服务器中各个节点的功耗需求,包括:
获取所述各个节点的配置;
基于所述各个节点的配置,计算所述各个节点的理论最大功耗;
确定所述各个节点的理论最大功耗占所有节点的理论最大功耗的总和的各个比例;
将所述各个比例作为所述各个节点的功耗需求。
6.根据权利要求5所述功耗控制方法,其特征在于,所述获取所述各个节点的配置,包括:
实时从基本输入输出系统BIOS中获取所述各个节点的配置;或,
从全局变量里获取所述各个节点的配置,其中,所述全局变量设置有所述各个节点开机后记录的各个节点的配置。
7.一种功耗控制装置,其特征在于,应用于基板管理控制器BMC,所述装置包括:
第一确定模块,用于在电源PSU掉电进行功耗封顶的情况下,确定多节点服务器的剩余电源总功耗;
第一获取模块,用于实时获取所述多节点服务器的第一实时风扇总功耗;
第二确定模块,用于根据所述剩余电源总功耗以及所述第一实时风扇总功耗,确定所述多节点服务器的第一实时可分配功耗;
第三确定模块,用于确定所述多节点服务器中各个节点的功耗需求;
第一分配模块,用于将所述第一实时可分配功耗分别按照所述各个节点的功耗需求,为所述各个节点分配功耗限制。
8.一种电子设备,其特征在于,包括:处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求1至6中任一项所述的功耗控制方法中的步骤。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至6中任一项所述的功耗控制方法中的步骤。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现如权利要求1至6中任一项所述的功耗控制方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211312920.8A CN115686172A (zh) | 2022-10-25 | 2022-10-25 | 功耗控制方法、装置、电子设备、可读存储介质及产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211312920.8A CN115686172A (zh) | 2022-10-25 | 2022-10-25 | 功耗控制方法、装置、电子设备、可读存储介质及产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115686172A true CN115686172A (zh) | 2023-02-03 |
Family
ID=85099867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211312920.8A Pending CN115686172A (zh) | 2022-10-25 | 2022-10-25 | 功耗控制方法、装置、电子设备、可读存储介质及产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115686172A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755542A (zh) * | 2023-06-16 | 2023-09-15 | 北京市合芯数字科技有限公司 | 一种整机功耗降低方法、系统、基板管理控制器及服务器 |
-
2022
- 2022-10-25 CN CN202211312920.8A patent/CN115686172A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116755542A (zh) * | 2023-06-16 | 2023-09-15 | 北京市合芯数字科技有限公司 | 一种整机功耗降低方法、系统、基板管理控制器及服务器 |
CN116755542B (zh) * | 2023-06-16 | 2024-06-04 | 北京市合芯数字科技有限公司 | 一种整机功耗降低方法、系统、基板管理控制器及服务器 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8390148B2 (en) | Systems and methods for power supply wear leveling in a blade server chassis | |
US9519331B2 (en) | Method and apparatus for power throttling of highspeed multi-lane serial links | |
US7818621B2 (en) | Data center boot order control | |
US8392736B2 (en) | Managing memory power usage | |
WO2012060955A2 (en) | Application lifetime management | |
US20210208650A1 (en) | Systems and methods for graceful termination of applications in response to power event | |
CN111625080B (zh) | 一种服务器节能方法、装置及电子设备和存储介质 | |
KR20110082012A (ko) | 리소스 관리 방법과 내장 장치 | |
US8209413B1 (en) | Emergency power settings for data-center facilities infrastructure event | |
CN115686172A (zh) | 功耗控制方法、装置、电子设备、可读存储介质及产品 | |
JP2005202506A (ja) | ブレードサーバにおける電力管理システム | |
CN115113987B (zh) | 一种非一致内存访问资源分配方法、装置、设备及介质 | |
US7240189B2 (en) | Fast resume to normal operation of a computer in a power saving mode | |
JP6263995B2 (ja) | 情報処理システム、管理装置、情報処理システムの制御方法及び管理装置の制御プログラム | |
CN113535483B (zh) | 一种文件备份方法、装置及计算设备 | |
US20060036880A1 (en) | Automatic restart and resume of computing system upon reapplication of external power | |
US20170031402A1 (en) | Systems and methods for programmable system ride-through and hold-up | |
CN110071815B (zh) | 供电管理方法及装置 | |
CN113986000A (zh) | 一种服务器上电方法、系统、装置及介质 | |
US20130138981A1 (en) | Power distribution method and server system using the same | |
EP3364518A1 (en) | System and method to determine and repair network connection problems | |
JP6928263B2 (ja) | 情報処理装置、計算機制御方法、および計算機制御プログラム | |
JP6881389B2 (ja) | 電力変換装置用パラメータ調整装置 | |
CN112230755A (zh) | 一种电源管理方法、装置、设备及机器可读存储介质 | |
CN109976490B (zh) | 电源控制方法及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |