CN104516470A - 服务器功耗控制方法及系统 - Google Patents

服务器功耗控制方法及系统 Download PDF

Info

Publication number
CN104516470A
CN104516470A CN201310444364.4A CN201310444364A CN104516470A CN 104516470 A CN104516470 A CN 104516470A CN 201310444364 A CN201310444364 A CN 201310444364A CN 104516470 A CN104516470 A CN 104516470A
Authority
CN
China
Prior art keywords
power consumption
server
current
cpu
load
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
Application number
CN201310444364.4A
Other languages
English (en)
Inventor
舒三一
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Original Assignee
Hongfujin Precision Industry Shenzhen Co Ltd
Hon Hai Precision Industry Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hongfujin Precision Industry Shenzhen Co Ltd, Hon Hai Precision Industry Co Ltd filed Critical Hongfujin Precision Industry Shenzhen Co Ltd
Priority to CN201310444364.4A priority Critical patent/CN104516470A/zh
Publication of CN104516470A publication Critical patent/CN104516470A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Power Sources (AREA)

Abstract

一种服务器功耗控制系统,该系统用于:在CPU的不同功耗等级P-state和负载设置下记录服务器的功耗数据,统计CPU的P-state、负载及服务器的功耗之间的关系,建立关系列表;当服务器工作时,读取CPU当前的P-state值和负载,从关系列表中查询对应的功耗数据,得到服务器当前的总功耗;当服务器当前的总功耗超过预设功耗时,从关系列表中查询预设功耗和预设负载所对应的P-state值;控制CPU将当前的P-state设置为上述查询得到的P-state值。本发明还提供一种服务器功耗控制方法。本发明可以读取服务器的功耗,并将该功耗限定在一定范围内。

Description

服务器功耗控制方法及系统
技术领域
本发明涉及一种控制方法及系统,尤其是涉及一种服务器功耗控制方法及系统。
背景技术
目前服务器的电源管理方案有很多,像Intel的Node Manager、AMD APML方案,都可以用来控制服务器的功耗。但是,这些都是基于硬件的管理方案,需要专门的硬件和固件的支持。
CPU是决定服务器功耗的最大因素,而评估CPU的功耗的参数就是TDP(Thermal Design Power,散热设计功耗),CPU TDP值对应系列CPU的最终版本在满负荷(CPU负载为100%的理论值)时可能会达到的最高散热热量。而CPU的电力功耗又可以划分为不同的等级,就是P-state,通过调整CPU的工作电压和频率的方式从而调整整个平台的系统功耗。因此,可以提出一种软件的解决方案,利用P-state进行服务器的功耗控制。
发明内容
鉴于以上内容,有必要提供一种服务器功耗控制方法,可以读取服务器的功耗,并将该功耗限定在一定范围内。
鉴于以上内容,还有必要提供一种服务器功耗控制系统,可以读取服务器的功耗,并将该功耗限定在一定范围内。
所述服务器功耗控制方法包括:统计步骤:在CPU的不同功耗等级P-state和负载设置下记录服务器的功耗数据,统计CPU的P-state、负载及服务器的功耗之间的关系,建立关系列表;读取步骤:当服务器工作时,读取CPU当前的P-state值和负载;第一查询步骤:从所述关系列表中查询所读取的P-state值和负载对应的功耗数据,得到服务器当前的总功耗;第二查询步骤:当服务器当前的总功耗超过预设功耗时,从所述关系列表中查询所述预设功耗和预设负载所对应的P-state值;及控制步骤:控制所述CPU将当前的P-state设置为上述查询得到的P-state值。
所述服务器功耗控制系统包括:统计模块,用于在CPU的不同功耗等级P-state和负载设置下记录服务器的功耗数据,统计CPU的P-state、负载及服务器的功耗之间的关系,建立关系列表;读取模块,用于当服务器工作时,读取CPU当前的P-state值和负载;查询模块,用于从所述关系列表中查询所读取的P-state值和负载对应的功耗数据,得到服务器当前的总功耗;所述查询模块还用于当服务器当前的总功耗超过预设功耗时,从所述关系列表中查询所述预设功耗和预设负载所对应的P-state值;及控制模块,用于控制所述CPU将当前的P-state设置为上述查询得到的P-state值。
相较于现有技术,所述的服务器功耗控制方法及系统,可以不需要特殊的硬件和固件支持,采用软件的解决方案计算出服务器的功耗,并将服务器的功耗控制在预设功耗的范围内。
附图说明
图1是本发明服务器功耗控制系统较佳实施例的应用环境图。
图2是本发明服务器功耗控制系统较佳实施例的功能模块图。
图3是本发明服务器功耗控制方法较佳实施例的流程图。
主要元件符号说明
服务器 1
服务器功耗控制系统 10
CPU 20
硬盘 30
网卡 40
统计模块 100
读取模块 200
查询模块 300
判断模块 400
控制模块 500
如下具体实施方式将结合上述附图进一步说明本发明。
具体实施方式
参阅图1所示,是本发明服务器功耗控制系统较佳实施例的应用环境图。所述服务器功耗控制系统10运行于服务器1中,所述服务器1中还包括通过数据总线相连的CPU 20、硬盘30和网卡40等。
所述服务器功耗控制系统10用于当服务器1当前的功耗超过预设功耗时,根据统计出的CPU 20的P-state(功耗等级)、负载、服务器1的功耗之间的关系列表,评估CPU 20在预设功耗下对应的P-state值,控制CPU 20将P-state设置为该对应P-state值,从而降低服务器1的功耗,将该功耗限定在预设功耗的范围之内。
可以理解,所述服务器1中还应该包括其他必要的硬件系统与软件系统,如存储器、主板、操作系统等,由于这些设备都是本领域技术人员的习知常识,本实施例中不再一一描述。
参阅图2所示,是本发明服务器功耗控制系统较佳实施例的功能模块图。
所述服务器功耗控制系统10包括统计模块100、读取模块200、查询模块300、判断模块400及控制模块500。
所述统计模块100用于在CPU 20的不同P-state和负载设置下记录服务器1的功耗数据,统计CPU 20的P-state、负载及服务器1的功耗之间的关系,建立关系列表。
具体而言,所述统计模块100通过CPU 20的专用MSR指令获取所述CPU 20支持的P-state列表,依次将CPU 20当前的P-state设置为该P-state列表中的某个值。然后在每种P-state值下运行CPU测试程序,将CPU 20的负载设为按照预定幅度(例如5%)增长。所述CPU测试程序主要是占用CPU 20的资源,而没有大量的网络和磁盘访问,并且可以使CPU 20运行指定的负载。在每种P-state值和负载下运行所述CPU测试程序预定时间(例如20秒)后,所述统计模块100读取服务器1的电源端的功率记录仪表(图中未示出)上记录的一个较稳定的功耗数据,即为该P-state值和负载所对应的功耗值。所述统计模块100将该P-state值、负载和对应的功耗数据记录到关系列表中,所述关系列表可以保存在数据库(图中未示出)中。在本实施例中,该统计可以在服务器1出厂前完成。
所述统计模块100还用于统计硬盘30及网卡40的功耗。当服务器1存在网络和磁盘访问时,硬盘30和网卡40的功耗也会影响服务器1的总功耗,所以统计服务器1的总功耗时,还要考虑这两个设备。在非图形工作站的服务器中,其他设备如显卡、系统芯片的功耗在工作时变化不大。
在本实施例中,所述统计模块100在服务器1的空闲状态下,硬盘30没有读写时,读取电源端的功率记录仪表上记录的第一功耗数据。然后运行硬盘测试程序读写硬盘30,再次读取功率记录仪表上记录的第二功耗数据。计算第一功耗数据和第二功耗数据的差,就接近硬盘30的功耗。利用同样的原理,所述统计模块100还可以计算出网卡40的功耗。
所述读取模块200用于当服务器1工作时,读取CPU 20当前的P-state值和负载。
所述查询模块300用于从所述关系列表中查询所读取的P-state值和负载对应的功耗数据,得到服务器1当前的总功耗。在本实施例中,若服务器1当前没有网络和磁盘访问,则所查询到的功耗数据即为服务器1当前的总功耗。若服务器1当前存在网络和/或磁盘访问,则所查询到的功耗数据还要加上网卡40和/或硬盘30的功耗(上述统计模块100所统计的功耗),得到服务器1当前的总功耗。
值得注意的是,由于本实施例的关系列表中保存的负载为按照预定幅度(5%)增长的值,若查询时关系列表中不存在与CPU 20当前的负载完全相同的值,则以关系列表中最接近所述CPU 20当前的负载的值为依据进行查询。例如,所述关系列表中保存的P-state值为1、2、3,每种P-state值均对应负载0%、5%、10%、15%、…100%,而读取到的所述CPU 20当前的P-state值为2,负载为11.3%(在所述关系列表中最接近的值为10%)。所述查询模块300先从所述关系列表中查询到P-state值为2所对应的栏位,然后在P-state值为2的栏位中按照负载为10%查询对应的功耗数据。
所述判断模块400用于判断服务器1当前的总功耗是否已超过预设功耗。所述预设功耗是为了将服务器1的功耗控制在一定范围之内而预先设置的阈值。若服务器1当前的总功耗超过所述预设功耗,则需要通过控制CPU 20的P-state值来达到降低功耗的目的。若服务器1当前的总功耗未超过所述预设功耗,则不需要降耗处理。
所述查询模块300还用于当服务器1当前的总功耗超过所述预设功耗时,从所述关系列表中查询所述预设功耗(或者一个稍小于预设功耗的预设值)和预设负载(本实施例为100%负载)所对应的P-state值。若服务器1当前存在网络和/或磁盘访问,则应该先用所述预设功耗减去网卡40和/或硬盘30的功耗,得到一个新功耗值,然后从所述关系列表中查询该新功耗值和预设负载(100%负载)所对应的P-state值。
所述控制模块500用于控制所述CPU 20将当前的P-state设置为上述查询得到的P-state值。在每种P-state值下,CPU 20的最大工作频率是固定的,只要CPU 20的负载不超过100%,这种P-state值下CPU 20的最大功耗也相对固定。因此,将CPU 20当前的P-state设置为上述查询得到的P-state值,则服务器1的总功耗便可以控制在所述预设功耗的范围内。
参阅图3所示,是本发明服务器功耗控制方法较佳实施例的流程图。
步骤S10,所述统计模块100在CPU 20的不同P-state和负载设置下记录服务器1的功耗数据,统计CPU 20的P-state、负载及服务器1的功耗之间的关系,建立关系列表。
步骤S12,所述统计模块100统计硬盘30及网卡40的功耗。
步骤S14,当服务器1工作时,所述读取模块200读取CPU 20当前的P-state值和负载。
步骤S16,所述查询模块300从所述关系列表中查询所读取的P-state值和负载对应的功耗数据,得到服务器1当前的总功耗。在本实施例中,若服务器1当前没有网络和磁盘访问,则所查询到的功耗数据即为服务器1当前的总功耗。若服务器1当前存在网络和/或磁盘访问,则所查询到的功耗数据还要加上网卡40和/或硬盘30的功耗,得到服务器1当前的总功耗。
步骤S18,所述判断模块400判断服务器1当前的总功耗是否已超过预设功耗。若服务器1当前的总功耗超过所述预设功耗,则执行步骤S20。若服务器1当前的总功耗未超过所述预设功耗,则流程结束。
步骤S20,所述查询模块300从所述关系列表中查询所述预设功耗(或者一个稍小于预设功耗的预设值)和预设负载所对应的P-state值。若服务器1当前存在网络和/或磁盘访问,则应该先用所述预设功耗减去网卡40和/或硬盘30的功耗,得到一个新功耗值,然后从所述关系列表中查询该新功耗值和预设负载所对应的P-state值。
步骤S22,所述控制模块500控制所述CPU 20将当前的P-state设置为上述查询得到的P-state值。
值得注意的是,在使用上述方法控制服务器1的功耗时,首先需要将服务器1的电源管理模式改为手动模式,否则该方法会和操作系统的电源管理冲突。在其他实施例中,上述功耗控制方法还可以应用于个人计算机中。
以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种服务器功耗控制方法,其特征在于,该方法包括:
统计步骤:在CPU的不同功耗等级P-state和负载设置下记录服务器的功耗数据,统计CPU的P-state、负载及服务器的功耗之间的关系,建立关系列表;
读取步骤:当服务器工作时,读取CPU当前的P-state值和负载;
第一查询步骤:从所述关系列表中查询所读取的P-state值和负载对应的功耗数据,得到服务器当前的总功耗;
第二查询步骤:当服务器当前的总功耗超过预设功耗时,从所述关系列表中查询所述预设功耗和预设负载所对应的P-state值;及
控制步骤:控制所述CPU将当前的P-state设置为上述查询得到的P-state值。
2.如权利要求1所述的服务器功耗控制方法,其特征在于,所述统计步骤具体包括:
获取所述CPU支持的P-state列表,依次将CPU当前的P-state设置为该P-state列表中的值;
在每种P-state值下运行CPU测试程序,将CPU的负载设为按照预定幅度增长;
在每种P-state值和负载下运行所述CPU测试程序预定时间后,读取服务器的电源端的功率记录仪表上记录的功耗数据;及
将该P-state值、负载和对应的功耗数据记录到关系列表中。
3.如权利要求1所述的服务器功耗控制方法,其特征在于,该方法在所述统计步骤和读取步骤之间还包括步骤:
统计所述服务器的硬盘及网卡的功耗。
4.如权利要求3所述的服务器功耗控制方法,其特征在于,在所述第一查询步骤中:
若服务器当前没有网络和磁盘访问,则所查询到的功耗数据即为服务器当前的总功耗;
若服务器当前存在网络和/或磁盘访问,则所查询到的功耗数据加上网卡和/或硬盘的功耗,得到服务器当前的总功耗。
5.如权利要求3所述的服务器功耗控制方法,其特征在于,在所述第二查询步骤中:
若服务器当前存在网络和/或磁盘访问,则先用所述预设功耗减去网卡和/或硬盘的功耗,得到一个新功耗值,然后从所述关系列表中查询该新功耗值和预设负载所对应的P-state值。
6.一种服务器功耗控制系统,其特征在于,该系统包括:
统计模块,用于在CPU的不同功耗等级P-state和负载设置下记录服务器的功耗数据,统计CPU的P-state、负载及服务器的功耗之间的关系,建立关系列表;
读取模块,用于当服务器工作时,读取CPU当前的P-state值和负载;
查询模块,用于从所述关系列表中查询所读取的P-state值和负载对应的功耗数据,得到服务器当前的总功耗;
所述查询模块还用于当服务器当前的总功耗超过预设功耗时,从所述关系列表中查询所述预设功耗和预设负载所对应的P-state值;及
控制模块,用于控制所述CPU将当前的P-state设置为上述查询得到的P-state值。
7.如权利要求6所述的服务器功耗控制系统,其特征在于,所述统计模块进行统计的具体过程包括:
获取所述CPU支持的P-state列表,依次将CPU当前的P-state设置为该P-state列表中的值;
在每种P-state值下运行CPU测试程序,将CPU的负载设为按照预定幅度增长;
在每种P-state值和负载下运行所述CPU测试程序预定时间后,读取服务器的电源端的功率记录仪表上记录的功耗数据;及
将该P-state值、负载和对应的功耗数据记录到关系列表中。
8.如权利要求6所述的服务器功耗控制系统,其特征在于:
所述统计模块还用于统计所述服务器的硬盘及网卡的功耗。
9.如权利要求8所述的服务器功耗控制系统,其特征在于:
若服务器当前没有网络和磁盘访问,则所述查询模块所查询到的功耗数据即为服务器当前的总功耗;
若服务器当前存在网络和/或磁盘访问,则所述查询模块所查询到的功耗数据加上网卡和/或硬盘的功耗,得到服务器当前的总功耗。
10.如权利要求8所述的服务器功耗控制系统,其特征在于,若服务器当前存在网络和/或磁盘访问,则所述查询模块先用所述预设功耗减去网卡和/或硬盘的功耗,得到一个新功耗值,然后从所述关系列表中查询该新功耗值和预设负载所对应的P-state值。
CN201310444364.4A 2013-09-26 2013-09-26 服务器功耗控制方法及系统 Pending CN104516470A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310444364.4A CN104516470A (zh) 2013-09-26 2013-09-26 服务器功耗控制方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310444364.4A CN104516470A (zh) 2013-09-26 2013-09-26 服务器功耗控制方法及系统

Publications (1)

Publication Number Publication Date
CN104516470A true CN104516470A (zh) 2015-04-15

Family

ID=52791928

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310444364.4A Pending CN104516470A (zh) 2013-09-26 2013-09-26 服务器功耗控制方法及系统

Country Status (1)

Country Link
CN (1) CN104516470A (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105577796A (zh) * 2015-12-25 2016-05-11 曙光信息产业(北京)有限公司 集群的功耗控制方法及装置
CN105676996A (zh) * 2015-12-31 2016-06-15 曙光信息产业(北京)有限公司 一种龙芯服务器的功耗控制方法和装置
CN106708239A (zh) * 2015-11-12 2017-05-24 中国长城计算机深圳股份有限公司 一种功耗调整方法及装置
CN107239133A (zh) * 2017-06-01 2017-10-10 合肥联宝信息技术有限公司 一种智能设备的控制方法及装置
CN107861602A (zh) * 2017-10-20 2018-03-30 努比亚技术有限公司 终端cpu性能控制方法、终端及计算机可读存储介质
CN111478824A (zh) * 2020-03-20 2020-07-31 苏州浪潮智能科技有限公司 一种网卡功耗测试方法、装置、系统
CN112350845A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 广域网口配置方法、网络设备及计算机可读存储介质
CN112395153A (zh) * 2020-10-13 2021-02-23 广州市高科通信技术股份有限公司 基于业务功能的元器件功耗估算方法

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106708239A (zh) * 2015-11-12 2017-05-24 中国长城计算机深圳股份有限公司 一种功耗调整方法及装置
CN105577796A (zh) * 2015-12-25 2016-05-11 曙光信息产业(北京)有限公司 集群的功耗控制方法及装置
CN105676996A (zh) * 2015-12-31 2016-06-15 曙光信息产业(北京)有限公司 一种龙芯服务器的功耗控制方法和装置
CN107239133A (zh) * 2017-06-01 2017-10-10 合肥联宝信息技术有限公司 一种智能设备的控制方法及装置
CN107861602A (zh) * 2017-10-20 2018-03-30 努比亚技术有限公司 终端cpu性能控制方法、终端及计算机可读存储介质
CN107861602B (zh) * 2017-10-20 2021-03-30 努比亚技术有限公司 终端cpu性能控制方法、终端及计算机可读存储介质
CN112350845A (zh) * 2019-08-09 2021-02-09 华为技术有限公司 广域网口配置方法、网络设备及计算机可读存储介质
CN112350845B (zh) * 2019-08-09 2022-05-17 华为技术有限公司 广域网口配置方法、网络设备及计算机可读存储介质
CN111478824A (zh) * 2020-03-20 2020-07-31 苏州浪潮智能科技有限公司 一种网卡功耗测试方法、装置、系统
CN112395153A (zh) * 2020-10-13 2021-02-23 广州市高科通信技术股份有限公司 基于业务功能的元器件功耗估算方法

Similar Documents

Publication Publication Date Title
CN104516470A (zh) 服务器功耗控制方法及系统
US10552761B2 (en) Non-intrusive fine-grained power monitoring of datacenters
US10877533B2 (en) Energy efficient workload placement management using predetermined server efficiency data
US8001403B2 (en) Data center power management utilizing a power policy and a load factor
US9098282B2 (en) Methods, systems and apparatus to manage power consumption of a graphics engine
KR20190104867A (ko) 스토리지 시스템의 전력 분석을 수행하는 방법 및 장치
US20200150733A1 (en) Mass storage device electrical power consumption monitoring
US20150143142A1 (en) System and method for dynamic dcvs adjustment and workload scheduling in a system on a chip
CN113325998B (zh) 读写速度控制方法、装置
CN105577796A (zh) 集群的功耗控制方法及装置
US10216212B1 (en) Operating temperature-based mass storage device management
US20230229216A1 (en) System and methods for server power management
CN109324679A (zh) 一种服务器能耗控制方法及装置
CN111694653A (zh) 计算系统中调整计算算子类型分布的方法、装置及系统
CN110347546B (zh) 监控任务动态调整方法、装置、介质及电子设备
Khan et al. Advanced data analytics modeling for evidence-based data center energy management
CN109489190B (zh) 一种机房冷量的调控方法及系统
CN117972367A (zh) 一种数据存储预测方法、数据存储子系统及智能计算平台
Huang et al. Data center IT efficiency measures
JP2005115940A (ja) ラック機器管理情報調整システムおよび方法
US20230068471A1 (en) Proxy-based instruction throttling control
CN110601195B (zh) 配电网用户电源接入方法、系统、服务器及存储介质
Basmadjian et al. Hidden storage in data centers: Gaining flexibility through cooling systems
CN118277223B (zh) 服务器性能评估方法、电子设备、存储介质及产品
KR101581192B1 (ko) 소비전력 관리 시스템 및 소비전력 관리 방법

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20150415

WD01 Invention patent application deemed withdrawn after publication