CN101770273A - 一种实现服务器多中央处理器系统节能的方法和装置 - Google Patents

一种实现服务器多中央处理器系统节能的方法和装置 Download PDF

Info

Publication number
CN101770273A
CN101770273A CN200810247001A CN200810247001A CN101770273A CN 101770273 A CN101770273 A CN 101770273A CN 200810247001 A CN200810247001 A CN 200810247001A CN 200810247001 A CN200810247001 A CN 200810247001A CN 101770273 A CN101770273 A CN 101770273A
Authority
CN
China
Prior art keywords
cpu
utilization rate
comprehensive utilization
threshold value
power
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.)
Granted
Application number
CN200810247001A
Other languages
English (en)
Other versions
CN101770273B (zh
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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN 200810247001 priority Critical patent/CN101770273B/zh
Publication of CN101770273A publication Critical patent/CN101770273A/zh
Application granted granted Critical
Publication of CN101770273B publication Critical patent/CN101770273B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Power Sources (AREA)

Abstract

本发明公开了一种实现服务器多中央处理器(CPU)系统节能的方法,该方法包括:监测CPU资源的综合使用率;判断当前运行的CPU是否符合预设的关闭条件,若符合,则移植CPU所执行的程序,并关闭移植程序后的CPU的电源;否则,继续监测CPU的综合使用率;如果所述综合使用率达到预设的综合使用率开启阈值,则开启已关闭的CPU电源。本发明还同时公开了一种实现服务器多CPU系统节能的装置,包括:监测模块、判断模块、移植程序模块、电源控制模块。采用本发明的方法和装置能减少电能损耗,提高电能利用率。

Description

一种实现服务器多中央处理器系统节能的方法和装置
技术领域
本发明涉及服务器系统节能技术,更具体地,涉及一种实现服务器多中央处理器(CPU,Center Process Unit)系统节能的方法和装置。
背景技术
信息化技术在社会生活中逐渐占据主角位置,服务器系统作为信息化业务的核心载体,其作用也越来越重要。但是,大量服务器系统因其需要长时间不间断运行的特性,而带来了巨大的能量消耗,尤其是随着多核心CPU的应用,服务器系统的能耗也日益增加。因此,服务器系统的节能设计备受关注,已成为同类产品核心竞争力的一部分。
目前,节能服务器产品的设计方向主要是对其能耗现状进行优化,并结合当前服务器产品的技术状况对CPU进行节能设计。通常,利用服务器系统自身任务管理器中的CPU侦测程序、或后开发的系统管理应用程序来侦测CPU的使用率,然后,依据CPU使用率的高低来调节CPU的频率,以减少CPU的耗电量,从而达到节能的目的。例如,在CPU使用率较低时,将CPU的频率降低,从而减少CPU的能耗。但是,现有技术还不能直接对CPU的电源进行操作,而且,现有技术通过侦测CPU使用率来调节CPU频率的方式存在一定的能量损耗,节能效果有限,并未达到最优。
发明内容
有鉴于此,本发明的主要目的在于提供一种实现服务器多CPU系统节能的方法和装置,可减少电能损耗,提高电能利用率。
为达到上述目的,本发明公开了一种实现服务器多中央处理器CPU系统节能的方法,包括:监测CPU资源的综合使用率;判断当前运行的CPU是否符合预设的关闭条件,若符合,则移植CPU所执行的程序,并关闭移植程序后的CPU的电源;否则,继续监测CPU的综合使用率。
其中,所述判断当前运行的CPU是否符合关闭条件具体为:判断综合使用率是否低于预设的第i综合使用率关闭阈值,如果不低于,则继续监测CPU的综合使用率;如果低于,则判断低于所述第i综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若达到,则移植第(i+1)至第N个CPU所执行的程序,并关闭第(i+1)至第N个CPU的电源,若未达到,则继续监测CPU的综合使用率;其中,N为服务器系统中CPU的数目,i为当前运行的CPU的数目。
上述方案中,在关闭CPU电源后,该方法进一步包括:监测CPU资源的综合使用率;如果所述综合使用率达到预设的第i综合使用率开启阈值,则开启已关闭的CPU电源;否则,继续监测CPU的综合使用率;其中,i为当前运行的CPU的数目。
其中,所述开启已关闭的CPU电源,进一步包括:侦测CPU电源的状态,第(i+1)至第N个CPU的电源关闭时,若所述综合使用率达到预设的第i综合使用率开启阈值,则开启第(i+1)个CPU的电源;其中,N为服务器系统中CPU的数目。
上述方案中,所述移植CPU所执行的程序为:将CPU所执行的程序根据各CPU的任务繁重程度移植;存在主CPU时,先向主CPU移植。
为实现上述方法,本发明还提供一种实现服务器多CPU系统节能的装置,包括:监测模块,用于监测CPU资源的综合使用率;判断模块,用于判断当前运行的CPU是否符合关闭条件,并在符合关闭条件时通知移植程序模块和电源控制模块;移植程序模块,用于移植CPU所执行的程序;电源控制模块,用于关闭或开启CPU的电源以及探测CPU电源状态。
其中,所述判断模块进一步包括第一判断子模块和第二判断子模块;所述第一判断子模块,用于判断所述综合使用率与预设的第i综合使用率关闭阈值之间的关系,并在综合使用率低于第i综合使用率关闭阈值时通知第二判断子模块;所述第二判断子模块,用于判断低于所述第i综合使用率关闭阈值的持续时间与预设的持续时间阈值之间的关系,并在达到持续时间阈值时通知移植程序模块移植程序,通知电源控制模块关闭CPU电源。
上述方案中,所述电源控制模块包括:关闭电源子模块,用于关闭移植程序后的CPU电源;侦测子模块,用于侦测CPU电源的状态;第三判断子模块,用于判断CPU的综合使用率是否达到预设的第i综合使用率开启阈值,在达到所述第i综合使用率开启阈值时通知开启电源子模块;开启电源子模块,用于开启综合使用率达到第i综合使用率开启阈值的CPU的电源;其中,i为当前运行的CPU的数目。
上述方案中,CPU链路型连接时,所述电源包括CPU的电源及该CPU内存的电源。
本发明所提供的实现服务器多CPU系统节能的方法和装置,可在服务器系统轻载运行时,将该服务器系统使用率低的CPU电源关闭,以减少电能损耗;在服务器系统加载新任务时再有控制地开启已关闭的CPU电源,因此,在不影响服务器系统运行任务的情况下,达到节能的效果,提高电能利用率。
本发明所述方法在硬件上只需在基板管理控制器芯片上增加逻辑控制电路和配套软件即可实现,因此,本发明的硬件实现成本低;而且,本发明所述方法基于自动控制技术,采用智能软硬件控制方法,由所述逻辑控制电路和配套软件程序对硬件电路进行控制,如此,使本发明所述技术方案实现起来更为便捷。
总之,本发明的服务器系统在长时间轻载时可关闭部分CPU电源,在需要时再开启部分已关闭的CPU电源,在不影响服务器系统运行任务的情况下,能大大减少CPU的耗电量,达到进一步节能的效果。
附图说明
图1A为本发明所述方法中CPU电源的关闭流程示意图;
图1B为本发明所述方法中CPU电源的开启流程示意图;
图2A为本发明方法实施例中CPU链路型硬件电路示意图;
图2B为本发明方法实施例中CPU并行连接的硬件电路示意图;
图3为本发明方法实施例的实现原理示意图;
图4为本发明方法实施例中CPU电源关闭的逻辑判断示意图;
图5为本发明方法实施例中CPU电源开启的逻辑判断示意图;
图6为本发明装置实施例的组成结构示意图。
具体实施方式
本发明的基本思想在于:在服务器系统启动运行后,对服务器系统的CPU资源进行分析,确定是否需要关闭CPU的电源,在需要时将使用率低的CPU中所运行的程序移植,由操作系统(OS,Operating System)控制底层固件(Firmware)指令基板管理控制器(BMC,Baseboard Management Controller)将相应的CPU电源关闭,由剩余CPU完成服务器系统中当前所有的任务;当有新程序启动运行且当前运行的CPU综合使用率达到预设的综合使用率开启阀值时,则有控制地开启已关闭的CPU电源。
其中,所述BMC是一个专门的服务处理器,它利用传感器来监视一台计算机、网络服务器、或是其他硬件驱动设备的状态,并通过独立的连接线路与系统管理员进行通信。BMC能够为智能平台管理接口(IPMI,Intelligent PlatformManagement Interface)和智能平台管理总线(IPMB,Intelligent PlatformManagement Bus)提供固件,并通常被包含在母板或者是被监视设备的主电路板中。而且,BMC的传感器能够测量内部物理变量,例如:温度、湿度、电源电压、风扇速度、通信参数和OS函数等,如果这些变量中的任何一个超出预定限制的范围,就会通知系统管理员,以确保可靠性。
这里,可以预先设置关闭条件,确定是否需要关闭CPU的电源就是判断当前运行的CPU是否符合关闭条件。
为使本发明的目的、特征和优点能够更加明显易懂,下面以关闭条件为CPU综合使用率低于预设的第i综合使用率关闭阈值,且低于第i综合使用率关闭阈值的CPU的持续时间达到持续时间阈值为例,结合附图对本发明作进一步详细的说明。应当理解,此处所描述的实施例仅用于说明和解释本发明,并不用于限定本发明。
本发明实现服务器多CPU系统节能方法的过程可参照图1A和图1B,其中,图1A示出了本发明所述方法中CPU电源的关闭流程,该流程包括以下步骤:
步骤A01、监测CPU资源的综合使用率;
所述综合使用率是当前运行的所有CPU的综合使用率,这里,可预先设定:只有第一个CPU运行时,所述综合使用率为第一个CPU的使用率;当第一和第二个CPU运行时,所述综合使用率为第一和第二个CPU的综合使用率,……,当有i个CPU运行时,所述综合使用率为第一至第i个CPU的综合使用率。其中,N为服务器系统中CPU的数目,i为当前运行的CPU的数目。
在服务器系统启动运行并进入正常运行状态后,开启CPU资源使用率的监测程序,所述监测程序是监控服务器系统中的CPU资源使用状况,对预先设定的状态进行分析比较,从而确定需要关闭的CPU电源的个数。所述监测程序为被授权的虚拟管理软件(Virtual Software),运行于操作系统之中,例如:VMwareTM、或MicrosoftTM Windows Server2008 Hyper-V等,Virtual Software可监测CPU的综合使用率,也可对系统的程序进行移植和镜像拷贝。
那么,本实施例通过对CPU资源的综合使用率的监测,获得CPU的综合使用率,进而判断当前运行的CPU是否符合预设的关闭条件,若符合,则有控制地移植CPU所执行的程序,并关闭移植程序后的CPU的电源;否则,继续监测CPU的综合使用率。其中,所述关闭条件为CPU综合使用率低于预设的第i综合使用率关闭阈值,且低于第i综合使用率关闭阈值的CPU的持续时间达到持续时间阈值,其中,i为当前运行CPU的数目。
步骤A02、判断CPU的综合使用率是否低于预设的第i综合使用率关闭阈值,若是,则执行步骤A03;否则,返回步骤A01;
其中,综合使用率关闭阈值包括:第一综合使用率关闭阈值、第二综合使用率关闭阈值……第i综合使用率关闭阈值……第(N-1)综合使用率关闭阈值,其中,i为当前运行CPU的数目,N为服务器系统中CPU的数目。这里,可预先设定:第一综合使用率关闭阈值为第一个CPU的使用率关闭阈值,第二综合使用率关闭阈值为第一和第二个CPU的综合使用率关闭阈值,……,第i综合使用率关闭阈值为第一至第i个CPU的综合使用率关闭阈值,……,第(N-1)综合使用率关闭阈值为第一至第(N-1)个CPU的综合使用率关闭阈值,其中,N为服务器系统中CPU的数目。
步骤A03、判断低于所述第i综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若是,则执行步骤A04;否则,返回步骤A01;
其中,所述持续时间阈值可根据服务器系统运行的多种状态设置,也可由服务器系统默认设置一个值,还可以由用户根据自身业务需求设置一个值。
当所述综合使用率低于预设的第i综合使用率关闭阈值时,则进一步判断低于所述第i综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若是,则移植第(i+1)至第N个CPU所执行的程序,并关闭第(i+1)至第N个CPU的电源;其中,i为当前运行的CPU的数目。
步骤A04、移植综合使用率低于预设第i综合使用率关闭阈值的CPU所执行的程序;
其中,可通过已授权的虚拟化平台软件,如VMwareTM或MicrosoftTMWindows Server2008Hyper-V等,来移植符合设定条件的CPU中所执行的程序,使移植程序后的CPU进入休眠状态,进而关闭该CPU的电源。
这里,所述移植一般是先移植到主CPU,若主CPU任务繁重,则根据任务量繁重程度移植到其他从CPU。即:可根据未关闭的CPU中任务量的繁重程度,将所移植出来的程序分配到这些剩余的CPU及该CPU的内存中。
当然,这里的主从CPU是相对而言,对于不分主从的CPU连接形式,可结合各CPU资源的实际使用情况,分配所移植的程序,以保证在不影响服务器系统执行任务的情况下,尽量减少使用CPU的数目。
步骤A05、关闭移植执行程序的CPU的电源。
通过在BMC芯片上配置逻辑控制电路及配套的软件程序,可进行硬件电路的控制。可由OS控制Firmware下指令给BMC,有控制地将符合设定条件的CPU电源关闭,具体包括如下情况:
当所述综合使用率小于第一综合使用率关闭阈值时,若低于所述第一综合使用率关闭阈值的持续时间达到预设的持续时间阈值,则移植第二至第N个CPU执行的程序至第一个CPU中,然后关闭第二至第N个CPU的电源;
当所述综合使用率小于第二综合使用率关闭阈值且大于第一综合使用率关闭阈值时,若低于所述第二综合使用率关闭阈值的持续时间达到预设的持续时间阈值,则移植第三至第N个CPU执行的程序至第一个CPU、第二个CPU中,然后关闭第三至第N个CPU的电源;
依次类推,当所述综合使用率小于第(N-1)综合使用率关闭阈值且大于第(N-2)综合使用率关闭阈值时,若低于所述第(N-1)综合使用率关闭阈值的持续时间达到预设的持续时间阈值,则移植第N个CPU执行的程序并关闭第N个CPU的电源。一般地,若当所述综合使用率大于第(N-1)综合使用率关闭阈值时,说明服务器系统运行负载比较重,所述监测程序将继续对服务器系统进行监测,直至服务器系统的负载较轻时才执行CPU关闭指令。
可见,当所述综合使用率低于预设的第i综合使用率关闭阈值时,则进一步判断低于所述第i综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若是,则移植第(i+1)至第N个CPU所执行的程序,并关闭第(i+1)至第N个CPU的电源;其中,i为当前运行的CPU数目。
这里,在向剩余CPU中分配移植程序时,可根据各剩余CPU的任务繁重程度进行分配;存在主CPU时,先向主CPU移植。一般地,可依据第一个CPU的使用率以及移植程序的大小,判断第一个CPU的任务量是否允许其接受移植程序,若允许,则将要关闭的CPU中运行的程序移植至第一个CPU;否则,就逐个判断其他剩余的CPU是否可以接受所移植的程序,直到将移植程序分配完毕。
图1B为本发明所述方法中CPU电源的开启流程,如图1B所示,该开启流程包括:
步骤B01、监测CPU资源的综合使用率;
步骤B02、判断当前运行的CPU的综合使用率是否达到预设的第i综合使用率开启阈值,若是,则执行步骤B03;否则,返回步骤B01;
其中,综合使用率开启阈值包括:第一综合使用率开启阈值、第二综合使用率开启阈值……第i综合使用率开启阈值……第(N-1)综合使用率开启阈值,其中,i为当前运行的CPU的数目。这里,可预先设定:第一综合使用率开启阈值为第一个CPU的使用率开启阈值,第二综合使用率开启阈值为第一和第二个CPU的综合使用率开启阈值,……,第(N-1)综合使用率开启阈值为第一至第(N-1)个CPU的综合使用率开启阈值,其中,N为服务器系统中CPU的数目。
步骤B03、结合服务器系统中的任务运行情况,开启已关闭的CPU的电源。
当服务器系统有新程序启动运行且运行中的CPU综合使用率达到所设定的阀值时,BMC对服务器系统中的CPU电源进行检测,如果在硬件检测过程中发现CPU的电源电压为低,就反馈到控制系统软件中,然后通过下指令到底层Firmware,由BMC控制底层硬件逻辑控制电路,智能开启已关闭的CPU电源。
这里,通过BMC侦测CPU电源的状态,发现第(i+1)至第N个CPU的电源关闭时,若所述综合使用率达到预设的第i综合使用率开启阈值,则开启第(i+1)个CPU的电源,具体情况包括:
当第二至第N个CPU的电源关闭时,若所述综合使用率达到第一综合使用率开启阈值,则开启第二个CPU的电源;
当第三至第N个CPU的电源关闭时,若所述综合使用率达到第二综合使用率开启阈值,则开启第三个CPU的电源;
以此类推,当只有第N个CPU的电源关闭时,若所述综合使用率达到第(N-1)综合使用率开启阈值,则开启第N个CPU的电源。
本发明所述方法可基于自动控制技术,采用智能软硬件控制方法实现对CPU电源的智能控制。例如,在BMC芯片上增加逻辑控制电路和配套软件,并由所述逻辑控制电路和配套软件程序对硬件电路进行控制。
需要说明的是,当前运行的CPU数目为一个时,所述综合使用率为使用率;当CPU为链路型连接时,所述电源为CPU的电源及该CPU内存的电源。
另外,本实施例所涉及的阈值和CPU的序号均可根据实际需要来设定或更改,并不对此进行限定。
下面介绍本发明实现服务器多CPU系统节能的方法实施例,本实施例的服务器系统中设有四个CPU,分别为CPU-1、CPU-2、CPU-3、CPU-4,而且CPU之间存在不同的连接类型,图2A和图2B分别示出了的链路型和并行连接的CPU的硬件电路原理示意图。
图2A示出了链路型连接的CPU,服务器系统的每个CPU独立控制自己使用的内存,其中CPU-1为主CPU,CPU-2、CPU-3、CPU-4分别为三个从CPU。其中,输入/输出集线器(I/O HUB,Input/output Hub)作为系统输入/输出桥接控制器,实现CPU和系统外设的连接;南桥芯片(S/B)作为下行的超传输器件(Hyper Transport Device),实现服务器系统和周边元件插槽(PCI-X)、周边元件扩展槽(PCI-E)、硬盘(HDD,Hard Disk Drive)、显卡接口(VGA,Video Graphics Array)、键盘鼠标串并口接口(SIO)等输入/输出设备的桥接。超传输(Hyper Transport)是一种为主板上的集成电路互连而设计的端到端总线技术,它可以在内存控制器、磁盘控制器以及PCI总线控制器之间提供更高的数据传输带宽。BMC负责监测系统健康状态并对系统电源有控制权。其中,PCI-X为64位Peripheral Component Interconnect Slot,PCI-E为PeripheralComponent Interconnect Express Slot。
图2B示出了并行连接的CPU,图2B中的CPU-1、CPU-2、CPU-3、CPU-4为四个并行连接到北桥的CPU,系统内存由系统内存桥接控制器(MCH,Memory Controller Hub)统一控制。MCH即北桥芯片,主要负责实现内存控制以及CPU与系统外设的连接。南桥芯片(S/B),实现MCH与PCI-X,PCI-E,HDD,VGA,SIO等I/O设备的桥接。
本发明所述的方法可以在上述的两种连接类型的电路中实施,借助于BMC芯片上增加的逻辑控制电路及其配套软件,智能地关闭/开启CPU的电源。
这里需要说明的是,CPU的连接类型不同时,选择CPU电源的开启顺序有时会因此而不同,有的要求按照优先顺序选择开启CPU的电源,比如:图2A中所示的链路型硬件电路中,离IO/HUB近的CPU先被开启电源,那么本实施例若采用这种链路型的连接方式,则开启电源的顺序依次为CPU-2、CPU-3、CPU-4,即在开启CPU-2的电源后,可根据需要依次开启CPU-3、CPU-4的电源及其内存电源。但对于图2B所示的这种CPU并行连接类型来说,其对开启CPU电源的顺序并无特别要求。另外,CPU并行连接时,由于内存是共享的,所以在关闭CPU电源时并不关闭内存电源。
图3为本发明所述方法实施例的实现原理示意图,如图3所示,虚拟管理软件301是运行于操作系统303之中的软件,它可以对系统的程序进行移植和镜像拷贝,底层的电源控制电路306由基板管理控制器305进行控制,基板管理控制器305中运行底层固件304,本发明实现过程中所涉及的软件系统可通过应用程序编程接口302与操作系统303进行会话,例如:系统控制软件3021、系统管理软件3022与操作系统303就是通过应用程序编程接口302进行会话的。
图4为本发明所述方法实施例中CPU电源关闭的逻辑判断示意图,如图4所示,该过程包括以下步骤:
步骤401、监测CPU的综合使用率;
在服务器系统启动之后,运行用户指定的任务,待到服务器系统进入正常运行状态时,通过对CPU资源的综合使用率的监测,获得CPU的综合使用率。而且,可结合实际需要预先设定各综合使用率的关闭阈值,例如:第一综合使用率关闭阈值设为100%,第二综合使用率关闭阈值设为200%,第三综合使用率关闭阈值设为300%。需要说明的是,本实施例所涉及的阈值均可根据实际需要来设定或更改,并不对此进行限定。
步骤402、判断CPU的综合使用率是否小于预设的第一综合使用率关闭阈值100%,若是,则执行步骤403;否则,执行步骤406;
步骤403、判断CPU-1的使用率是否小于预设的使用率阈值,若是,则执行步骤404;否则,返回步骤401;
步骤404、判断CPU-1的使用率小于预设的使用率阈值的持续时间是否达到预设的持续时间阈值,若是,则执行步骤405;否则,返回步骤401;
其中,所述预设的持续时间阈值可以由服务器系统默认设置,也可以由程序提供,例如:设定轻载运行30分钟时,即可开始移植程序,使部分CPU进入休眠状态。
步骤405、移植CPU-2、CPU-3、CPU-4所执行的程序到CPU-1,使移植程序后的这三个CPU进入休眠状态,从而可通知BMC关闭它们的电源,结束流程;
步骤406、判断CPU的综合使用率是否大于100%并且小于200%,若是,则执行步骤407;否则,执行步骤410;
步骤407、判断CPU-1、CPU-2的综合使用率是否小于预设的综合使用率关闭阈值,若是,则执行步骤408;否则,返回步骤401;
步骤408、判断CPU-1、CPU-2的综合使用率小于预设的综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若是,则执行步骤409;否则,返回步骤401;
步骤409、移植CPU-3,CPU-4所执行的程序到CPU-1、CPU-2,使CPU-3和CPU-4进入休眠状态,进而通知BMC关闭CPU-3和CPU-4的电源,结束流程;
步骤410、判断CPU的综合使用率是否大于200%并且小于300%,若是,则执行步骤411;否则,执行步骤401;
步骤411、判断CPU-1、CPU-2、CPU-3的综合使用率是否小于预设的综合使用率关闭阈值,若是,则执行步骤412;否则,返回步骤401;
步骤412、判断CPU-1、CPU-2、CPU-3的综合使用率小于预设的综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若是,则执行步骤413;否则,返回步骤401;
步骤413、移植CPU-4所执行的程序到CPU-1、CPU-2、CPU-3,从而使CPU-4进入休眠状态,进而通知BMC关闭CPU-4的电源。
另外,当CPU综合使用率大于300%时,说明服务器系统运行负载比较重,所述监测程序继续对服务器系统进行监测,直至服务器系统的负载较轻时才执行CPU关闭指令。
图5示出了本发明所述方法实施例中CPU电源开启的逻辑判断过程,用户有新的程序启动且导致目前服务器系统中的CPU使用率上升时,如果综合使用率接近或达到所设定的开启阀值,就开启关闭的CPU电源,使其开始执行服务器系统任务。如图5所示,本实施例的CPU电源开启过程包括以下步骤:
步骤501、监测CPU的综合使用率;
通过对CPU资源的综合使用率的监测,获得CPU的综合使用率。而且,可结合实际需要预先设定各综合使用率的开启阈值,例如:第一综合使用率开启阈值设为95%,第二综合使用率开启阈值设为190%,第三综合使用率开启阈值设为280%。
步骤502、用户是否启动新程序,若是,则执行步骤503;否则,返回步骤501;
在系统加载新的任务时,可能需要开启部分已关断的CPU电源,使其重新工作。
步骤503、侦测CPU电源所处状态;
通常,借助BMC可侦测到CPU电源所处的状态,并将侦测到的电源状态反馈给系统控制软件,据此可得到哪些CPU电源是处于关闭状态。例如:BMC侦测到某个CPU电源电压为低,就将该信息反馈到系统控制软件,进而判断出该CPU电源处于关闭状态。
若侦测到CPU-2、CPU-3、CPU-4的电源同时关闭,则执行步骤504;若侦测到CPU-3、CPU-4的电源同时关闭,则执行步骤506;若侦测到仅CPU-4的电源关闭,则执行步骤508;
其中,是由BMC对服务器系统的CPU电源进行侦测,如果硬件检测发现CPU电源电压为低就反馈到控制系统软件中,进而获得CPU电源所处的状态。
步骤504、判断CPU-1的使用率是否达到预设的第一综合使用率开启阀值,比如95%以上;若是,则执行步骤505;否则,返回步骤501;
步骤505、通知BMC控制器开启CPU-2的电源,结束流程;
其中,本实施例若采用图2A中所示的链路型硬件电路,那么离IO/HUB近的CPU先被打开电源,即当开启CPU-2的电源后,仍需要开启其他的CPU电源时,可作进一步地判断,并根据需要依次开启CPU-3、CPU-4的电源。但若采用图2B所示的并行连接型硬件电路,那么开启CPU电源的顺序并无特别要求。
步骤506、判断CPU-1、CPU-2的综合使用率是否达到设定的第二综合使用率开启阀值,比如190%;若是,则执行步骤507;否则,返回步骤501;
步骤507、通知BMC控制器开启CPU-3的电源,结束流程;
步骤508、判断CPU-1、CPU-2、CPU-3的综合使用率是否达到设定的第三综合使用率开启阀值,比如280%;若是,则执行步骤509;否则,返回步骤501;
步骤509、通知BMC控制器开启CPU-4的电源,从而保证服务器系统的正常运行。
当CPU链路型连接时,所述电源包括CPU的电源及该CPU内存的电源。
对于上述的各实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本发明并不受所描述的动作顺序的限制,因为依据本发明,某些步骤可以采用其他顺序或者同时进行。
为实现本发明所述的方法,本发明还提供了一种实现服务器多CPU系统节能的装置,图6为本发明装置实施例的组成结构示意图,如图6所示,该装置包括:
监测模块601,用于监测CPU资源的综合使用率;
判断模块602,用于判断当前运行的CPU是否符合关闭条件,并在符合关闭条件时通知移植程序模块603和电源控制模块604;
移植程序模块603,用于移植综合使用率低于预设的第i综合使用率关闭阈值的CPU所执行的程序;
电源控制模块604,用于有控制地关闭、开启CPU的电源,以及探测CPU的电源状态。
这里,所述判断模块602进一步包括:
第一判断子模块6021,用于判断所述综合使用率与预设的第i综合使用率关闭阈值之间的大小关系,并在综合使用率低于第i综合使用率关闭阈值时通知第二判断子模块6022;其中,i为当前运行的CPU的数目。
第二判断子模块6022,用于判断低于所述第i综合使用率关闭阈值的持续时间与预设的持续时间阈值之间的大小关系,并在达到持续时间阈值时通知移植程序模块603移植程序,通知电源控制模块604关闭CPU电源;
所述电源控制模块604,进一步包括:
关闭电源子模块6041,用于关闭移植程序后的CPU电源;
若所述第一判断子模块6021判断出所述综合使用率小于第一综合使用率关闭阈值时,则由所述第二判断子模块6022判断低于第一综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若是,则由所述移植程序模块603移植第二至第N个CPU执行的程序,并由关闭电源子模块6041关闭第二至第N个CPU的电源;
以此类推,若所述第一判断子模块6021判断出所述综合使用率小于第(N-1)综合使用率关闭阈值并大于第(N-2)综合使用率关闭阈值时,则由所述第二判断子模块6022判断所述低于第(N-1)综合使用率关闭阈值并大于第(N-2)综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若是,则由所述移植程序模块603移植第N个CPU执行的程序,并由关闭电源子模块6041关闭第N个CPU的电源。其中,N为服务器系统中CPU的数目。
侦测子模块6042,用于侦测CPU电源的状态;
通过侦测CPU电源的状态,进而可得知哪些CPU的电源是处于关闭状态的。
第三判断子模块6043,用于判断CPU的综合使用率是否达到预设的第i综合使用率开启阈值,在达到第i综合使用率开启阈值时通知开启电源子模块6044;
开启电源子模块6044,用于开启综合使用率达到第i综合使用率开启阈值的CPU的电源;
若所述第三判断子模块6043判断出CPU的综合使用率达到预设的第i综合使用率开启阈值,则所述开启电源子模块6044开启已关闭的CPU的电源。其中,i为当前运行的CPU的数目。
此处,当CPU链路型连接时,所述电源包括CPU的电源及该CPU内存的电源。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述即可。以上所述,仅为本发明的较佳实施例而已,只是用来说明和解释本发明,并非用于限定本发明的保护范围。在本发明的精神和权利要求保护范围之内,对本发明作用的任何修改、等同替换和改变,都落入本发明的保护范围。

Claims (9)

1.一种实现服务器多中央处理器CPU系统节能的方法,其特征在于,包括:
监测CPU资源的综合使用率;
判断当前运行的CPU是否符合预设的关闭条件,若符合,则移植CPU所执行的程序,并关闭移植程序后的CPU的电源;否则,继续监测CPU的综合使用率。
2.根据权利要求1所述的方法,其特征在于,所述判断当前运行的CPU是否符合关闭条件具体为:
判断综合使用率是否低于预设的第i综合使用率关闭阈值,如果不低于,则继续监测CPU的综合使用率;如果低于,则判断低于所述第i综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若达到,则移植第(i+1)至第N个CPU执行的程序,并关闭第(i+1)至第N个CPU的电源,若未达到,则继续监测CPU的综合使用率;其中,N为服务器系统中CPU的数目,i为当前运行的CPU的数目。
3.根据权利要求1或2所述的方法,其特征在于,关闭CPU电源后,该方法进一步包括:监测CPU资源的综合使用率;如果所述综合使用率达到预设的第i综合使用率开启阈值,则开启已关闭的CPU电源;否则,继续监测CPU的综合使用率;其中,i为当前运行的CPU的数目。
4.根据权利要求3所述的方法,其特征在于,所述开启已关闭的CPU电源,进一步包括:
侦测CPU电源的状态,第(i+1)至第N个CPU的电源关闭时,若所述综合使用率达到预设的第i综合使用率开启阈值,则开启第(i+1)个CPU的电源;其中,N为服务器系统中CPU的数目。
5.根据权利要求1或2所述的方法,其特征在于,所述移植CPU所执行的程序为:将CPU所执行的程序根据各CPU的任务繁重程度移植;存在主CPU时,先向主CPU移植。
6.一种实现服务器多CPU系统节能的装置,其特征在于,包括:
监测模块,用于监测CPU资源的综合使用率;
判断模块,用于判断当前运行的CPU是否符合关闭条件,并在符合关闭条件时通知移植程序模块和电源控制模块;
移植程序模块,用于移植CPU所执行的程序;
电源控制模块,用于关闭或开启CPU的电源以及探测CPU电源状态。
7.根据权利要求6所述的装置,其特征在于,所述判断模块进一步包括第一判断子模块和第二判断子模块;
第一判断子模块,用于判断所述综合使用率与预设的第i综合使用率关闭阈值之间的关系,并在所述综合使用率低于第i综合使用率关闭阈值时通知第二判断子模块;
第二判断子模块,用于判断低于所述第i综合使用率关闭阈值的持续时间与预设的持续时间阈值之间的关系,并在达到持续时间阈值时通知移植程序模块移植程序,通知电源控制模块关闭CPU电源;其中,i为当前运行的CPU的数目。
8.根据权利要求6或7所述的装置,其特征在于,所述电源控制模块包括:
关闭电源子模块,用于关闭移植程序后的CPU电源;
侦测子模块,用于侦测CPU电源的状态;
第三判断子模块,用于判断CPU的综合使用率是否达到预设的第i综合使用率开启阈值,在达到第i综合使用率开启阈值时通知开启电源子模块;
开启电源子模块,用于开启所述综合使用率达到第i综合使用率开启阈值的CPU的电源;其中,i为当前运行的CPU的数目。
9.根据权利要求6或7所述的装置,其特征在于,CPU链路型连接时,所述电源包括CPU的电源及该CPU内存的电源。
CN 200810247001 2008-12-29 2008-12-29 一种实现服务器多中央处理器系统节能的方法和装置 Active CN101770273B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200810247001 CN101770273B (zh) 2008-12-29 2008-12-29 一种实现服务器多中央处理器系统节能的方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200810247001 CN101770273B (zh) 2008-12-29 2008-12-29 一种实现服务器多中央处理器系统节能的方法和装置

Publications (2)

Publication Number Publication Date
CN101770273A true CN101770273A (zh) 2010-07-07
CN101770273B CN101770273B (zh) 2013-03-20

Family

ID=42503177

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200810247001 Active CN101770273B (zh) 2008-12-29 2008-12-29 一种实现服务器多中央处理器系统节能的方法和装置

Country Status (1)

Country Link
CN (1) CN101770273B (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957654A (zh) * 2010-09-10 2011-01-26 浪潮电子信息产业股份有限公司 一种降低系统能耗的方法
CN102223395A (zh) * 2011-05-11 2011-10-19 田文洪 一种无线射频识别网络中间件动态负载均衡的方法及装置
WO2012058786A1 (en) * 2010-11-03 2012-05-10 Telefonaktiebolaget L M Ericsson (Publ) Conserving the power of a node in a wireless communication system
CN102625453A (zh) * 2011-01-28 2012-08-01 诺基亚公司 用于动态选择rf资源分配中的调度策略的方法和装置
CN102945073A (zh) * 2012-11-15 2013-02-27 浪潮电子信息产业股份有限公司 一种大功率服务器供电的方法
CN103002168A (zh) * 2011-09-14 2013-03-27 中兴通讯股份有限公司 网络电话数字信号处理器资源管理方法及装置
CN103034539A (zh) * 2011-09-30 2013-04-10 英业达股份有限公司 伺服器系统及其电源管理方法
CN103516040A (zh) * 2013-09-27 2014-01-15 无锡柏瑞科技有限公司 节能服务器
CN104199761A (zh) * 2014-08-27 2014-12-10 北京中电普华信息技术有限公司 一种java应用系统的监控方法及装置
CN104516480A (zh) * 2014-12-08 2015-04-15 广东欧珀移动通信有限公司 一种降低系统功耗的方法及装置
CN105005373A (zh) * 2015-07-13 2015-10-28 中国科学院计算机网络信息中心 超级计算机中基于PCI Express总线的多GPU供电控制装置及方法
CN105302277A (zh) * 2015-10-19 2016-02-03 浪潮(北京)电子信息产业有限公司 一种服务器物理配置更新方法和系统
CN106095544A (zh) * 2016-05-31 2016-11-09 北京小米移动软件有限公司 中央处理器控制方法及装置
CN106598203A (zh) * 2016-12-21 2017-04-26 上海海事大学 一种数据密集环境下的单芯片多处理器系统的电源管理方法

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101957654A (zh) * 2010-09-10 2011-01-26 浪潮电子信息产业股份有限公司 一种降低系统能耗的方法
US9014746B2 (en) 2010-11-03 2015-04-21 Telefonaktiebolaget L M Ericsson (Publ) Conserving the power of a node in a wireless communication system
WO2012058786A1 (en) * 2010-11-03 2012-05-10 Telefonaktiebolaget L M Ericsson (Publ) Conserving the power of a node in a wireless communication system
CN102625453A (zh) * 2011-01-28 2012-08-01 诺基亚公司 用于动态选择rf资源分配中的调度策略的方法和装置
CN102625453B (zh) * 2011-01-28 2016-01-20 诺基亚公司 用于动态选择rf资源分配中的调度策略的方法和装置
CN102223395A (zh) * 2011-05-11 2011-10-19 田文洪 一种无线射频识别网络中间件动态负载均衡的方法及装置
CN103002168A (zh) * 2011-09-14 2013-03-27 中兴通讯股份有限公司 网络电话数字信号处理器资源管理方法及装置
CN103034539A (zh) * 2011-09-30 2013-04-10 英业达股份有限公司 伺服器系统及其电源管理方法
CN102945073A (zh) * 2012-11-15 2013-02-27 浪潮电子信息产业股份有限公司 一种大功率服务器供电的方法
CN103516040A (zh) * 2013-09-27 2014-01-15 无锡柏瑞科技有限公司 节能服务器
CN104199761A (zh) * 2014-08-27 2014-12-10 北京中电普华信息技术有限公司 一种java应用系统的监控方法及装置
CN104516480A (zh) * 2014-12-08 2015-04-15 广东欧珀移动通信有限公司 一种降低系统功耗的方法及装置
CN104516480B (zh) * 2014-12-08 2018-11-27 广东欧珀移动通信有限公司 一种降低系统功耗的方法及装置
CN105005373A (zh) * 2015-07-13 2015-10-28 中国科学院计算机网络信息中心 超级计算机中基于PCI Express总线的多GPU供电控制装置及方法
CN105302277A (zh) * 2015-10-19 2016-02-03 浪潮(北京)电子信息产业有限公司 一种服务器物理配置更新方法和系统
CN106095544A (zh) * 2016-05-31 2016-11-09 北京小米移动软件有限公司 中央处理器控制方法及装置
CN106095544B (zh) * 2016-05-31 2019-10-11 北京小米移动软件有限公司 中央处理器控制方法及装置
CN106598203A (zh) * 2016-12-21 2017-04-26 上海海事大学 一种数据密集环境下的单芯片多处理器系统的电源管理方法
CN106598203B (zh) * 2016-12-21 2019-04-23 上海海事大学 一种数据密集环境下的单芯片多处理器系统的电源管理方法

Also Published As

Publication number Publication date
CN101770273B (zh) 2013-03-20

Similar Documents

Publication Publication Date Title
CN101770273B (zh) 一种实现服务器多中央处理器系统节能的方法和装置
Beloglazov Energy-efficient management of virtual machines in data centers for cloud computing
US5535401A (en) Method and system of power and thermal management for a data processing system using object-oriented program design
JP6530774B2 (ja) ハードウェア障害回復システム
US8001402B2 (en) Method for power capping with co-operative dynamic voltage and frequency scaling via shared p-state table
KR101476568B1 (ko) 코어 마다의 전압 및 주파수 제어 제공
US9092218B2 (en) Methods and apparatus to improve turbo performance for events handling
US7689838B2 (en) Method and apparatus for providing for detecting processor state transitions
CN102057344B (zh) 睡眠处理器
US20110106935A1 (en) Power management for idle system in clusters
US20080016380A1 (en) Granular reduction in power consumption
CN102326132A (zh) 最大化虚拟机平台的降低功率状态的电源管理
CN103246335B (zh) 状态控制方法和电子设备
KR20060131543A (ko) 멀티-코어 프로세서의 프로세서 모드 제어장치 및 방법
EP3237998B1 (en) Systems and methods for dynamic temporal power steering
GB2427724A (en) High speed and low power mode multiprocessor system using multithreading processors
CN101859252A (zh) 使用信息处理系统中的资源的系统和方法
US20110239019A1 (en) Method and system for managing power consumption of a computing device
EP2972826B1 (en) Multi-core binary translation task processing
Cesarini et al. Countdown: A run-time library for application-agnostic energy saving in mpi communication primitives
CN101408792A (zh) 电源管理装置与其管理方法
CN102103403A (zh) 电源管理方法及应用此方法的计算机系统
Koutsovasilis et al. Exploiting Reduced Voltage Margins: From Node-to the Datacenter-level
KR101896494B1 (ko) 컴퓨팅 디바이스들에서의 전력 관리
CN109976490A (zh) 电源控制方法及电子设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant