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

上传人:t**** 文档编号:5740008 上传时间:2019-03-15 格式:PDF 页数:20 大小:970.36KB
返回 下载 相关 举报
摘要
申请专利号:

CN200810247001.0

申请日:

2008.12.29

公开号:

CN101770273A

公开日:

2010.07.07

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):G06F 1/32申请日:20081229|||公开

IPC分类号:

G06F1/32

主分类号:

G06F1/32

申请人:

中兴通讯股份有限公司

发明人:

刘俊

地址:

518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

优先权:

专利代理机构:

北京派特恩知识产权代理事务所(普通合伙) 11270

代理人:

张颖玲;王黎延

PDF下载: PDF下载
内容摘要

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

权利要求书

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内存的电源。

说明书


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

    【技术领域】

    本发明涉及服务器系统节能技术,更具体地,涉及一种实现服务器多中央处理器(CPU,Center Process Unit)系统节能的方法和装置。

    背景技术

    信息化技术在社会生活中逐渐占据主角位置,服务器系统作为信息化业务的核心载体,其作用也越来越重要。但是,大量服务器系统因其需要长时间不间断运行的特性,而带来了巨大的能量消耗,尤其是随着多核心CPU的应用,服务器系统的能耗也日益增加。因此,服务器系统的节能设计备受关注,已成为同类产品核心竞争力的一部分。

    目前,节能服务器产品的设计方向主要是对其能耗现状进行优化,并结合当前服务器产品的技术状况对CPU进行节能设计。通常,利用服务器系统自身任务管理器中的CPU侦测程序、或后开发的系统管理应用程序来侦测CPU的使用率,然后,依据CPU使用率的高低来调节CPU的频率,以减少CPU的耗电量,从而达到节能的目的。例如,在CPU使用率较低时,将CPU的频率降低,从而减少CPU的能耗。但是,现有技术还不能直接对CPU的电源进行操作,而且,现有技术通过侦测CPU使用率来调节CPU频率的方式存在一定的能量损耗,节能效果有限,并未达到最优。

    【发明内容】

    有鉴于此,本发明的主要目的在于提供一种实现服务器多CPU系统节能的方法和装置,可减少电能损耗,提高电能利用率。

    为达到上述目的,本发明公开了一种实现服务器多中央处理器CPU系统节能的方法,包括:监测CPU资源的综合使用率;

    判断所述综合使用率是否低于预设的第1至第i个CPU的综合使用率关闭阈值,如果不低于,则继续监测CPU的综合使用率;如果低于,则判断低于所述第1至第i个CPU的综合使用率关闭阈值的持续时间是否达到预设的持续时间阈值,若达到,则移植第(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电源状态。

    其中,所述判断模块进一步包括第一判断子模块和第二判断子模块;所述第一判断子模块,用于判断所述综合使用率与预设的第1至第i个CPU的综合使用率关闭阈值之间的关系,并在综合使用率低于第1至第i个CPU的综合使用率关闭阈值时通知第二判断子模块;所述第二判断子模块,用于判断低于所述第1至第i个CPU的综合使用率关闭阈值的持续时间与预设的持续时间阈值之间的关系,并在达到持续时间阈值时通知移植程序模块移植程序,通知电源控制模块关闭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 Platform Management Interface)和智能平台管理总线(IPMB,Intelligent Platform Management 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 Server2008Hyper‑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为Peripheral Component 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的电源;否则,返回步骤501;

    其中,本实施例若采用图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内存的电源。

    在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述即可。以上所述,仅为本发明的较佳实施例而已,只是用来说明和解释本发明,并非用于限定本发明的保护范围。在本发明的精神和权利要求保护范围之内,对本发明作用的任何修改、等同替换和改变,都落入本发明的保护范围。

    

一种实现服务器多中央处理器系统节能的方法和装置.pdf_第1页
第1页 / 共20页
一种实现服务器多中央处理器系统节能的方法和装置.pdf_第2页
第2页 / 共20页
一种实现服务器多中央处理器系统节能的方法和装置.pdf_第3页
第3页 / 共20页
点击查看更多>>
资源描述

《一种实现服务器多中央处理器系统节能的方法和装置.pdf》由会员分享,可在线阅读,更多相关《一种实现服务器多中央处理器系统节能的方法和装置.pdf(20页珍藏版)》请在专利查询网上搜索。

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1