首页> 中国专利> 限制功耗的功率管理电子系统与方法

限制功耗的功率管理电子系统与方法

摘要

施加可变的组功率限制,以限制计算机系统中的设备组的净功耗,并且施加到每个设备的可变功率限制是独立可调整的,以满足当前组功率限制。根据选择性地减少低利用率设备的设备功率限制以及增加高利用率设备的设备功率限制的功率管理方法,动态地选择设备功率限制。

著录项

  • 公开/公告号CN101430595A

    专利类型发明专利

  • 公开/公告日2009-05-13

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200810169872.5

  • 发明设计人 托马斯·M·布雷;威廉·J·皮亚扎;

    申请日2008-10-10

  • 分类号G06F1/32(20060101);

  • 代理机构11105 北京市柳沈律师事务所;

  • 代理人周少杰

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-17 21:57:44

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-02-10

    专利权的转移 IPC(主分类):G06F1/32 登记生效日:20160119 变更前: 变更后: 申请日:20081010

    专利申请权、专利权的转移

  • 2011-04-20

    授权

    授权

  • 2009-07-08

    实质审查的生效

    实质审查的生效

  • 2009-05-13

    公开

    公开

说明书

技术领域

本发明涉及诸如计算机系统的具有多个消耗功率电子设备的电子系统中的功率管理。

背景技术

服务器与其他计算机硬件经常被一起编组到机架(rack)上以节约空间,并且将服务器与基础结构置于中心位置用于由管理员访问。管理这些“机架系统”可能比分别管理大量散布的服务器难度更小、花费更少。在市面上存在多种可用的机架系统,并且尺寸与密度各不相同。某些机架系统可能会围绕服务器构造,这些服务器是自支持的,即每个服务器具有单独的机箱(chassis)、板上电源、冷却风扇、以及其他支持设备。自支持服务器可能会被编组到机架或者塔式配置之中,并且相互联网以及联网到客户端计算机。使用“刀片服务器”越薄,机架系统能够实现的密度就越高,“刀片服务器”具有共享的支持模块,其连接在多刀片机箱之中。由于具备较窄形式因素并且共享诸如风扇与电源模块等支持模块,刀片服务器通常会达到较高的密度。目前可用的某些更紧凑的机架系统服务器安排包括可从IBM得到的SYSTEM X服务器和eServer BLADECENTER(IBM、BLADECENTER和SYSTEM X为IBM公司的注册商标)。

功率管理对于操作机架系统的许多方面是重要的,如为了最小化操作服务器的成本,控制服务器生成的热量,以及优化系统的性能与效率。基于反馈的功率管理系统可以涉及例如具有内置功率计电路的母板、ACPI、以及其他硬件和/或软件元素。系统可以由公共电源或者配电单元(PDU)供电。某些系统包括诸如基板管理控制器(BMC)的电路,维护处理器使用该电路来监视服务器的实时功耗。使用该反馈,维护处理器可以“调节(throttle)”服务器上的处理器和/或存储器,以将功耗维持在设置点或者由管理员设置、并且由机箱管理模块监视的“功率上限”之下。

已知有许多方法用来分别控制服务器的功耗。这些方法包括各种“功率封顶(capping)”方法。功率封顶涉及通过选择性地降低处理器性能,对服务器施加功率限制。服务器可以例如利用功率计以测量被吸收的功率量,并且当达到功率阈值时通过调节处理器和/或存储器即时地响应功耗增加,来施加功率限制。虽然功率封顶技术对于个别地管理服务器的功耗有用,但是也需要考虑其他系统范围的参数。例如,除了个别地管理服务器的功耗之外,还需要考虑对于作为整体的系统的功率限制。另外,每个服务器的功率顶与其实际功耗之间的总计余量表示未使用的功率可用性。

因此,寻求改进的功率管理技术,以处理服务器级与系统级两者的功率考虑。具体地,希望更好地利用系统可用的功率,并且最大化服务器上的吞吐量(throughput)。还希望提供一种功率管理方法,其响应于置于系统上的可变需求,并且考虑到可能被施加于系统上的策略设置。

发明内容

一个实施例提供了一种限制具有多个消耗功率的电子设备的电子系统功耗的方法。选择用于所述多个设备的组功率限制,并且对每个设备选择并且施加设备功率限制。动态地调整设备功率限制,使得设备组的设备功率限制的和不超过该组功率限制。动态地调整设备功率限制包括以下中的一个或者两者:识别低利用率设备的子集,并且减少一个或多个低利用率设备的设备功率限制;或者识别高利用率设备的子集,并且增加一个或多个高利用率设备的设备功率限制。该方法可以实现为计算机可读介质中的计算机程序产品,用来在电子系统中管理功率。

另一个实施例提供了一种功率管理电子系统,其具有多个互连的电子设备。每个电子设备包括:调节机制,用于在相关设备功率限制内选择性地限制该设备的功耗;以及功率计电路,用于检测该电子设备的功耗,并且输出表示所检测的功耗的功耗信号。提供电源用于为每个电子设备提供可变量的功率。功率管理模块与功率计通信用于接收功耗信号,根据每个设备的功耗计算其利用率,并且动态地调整设备功率限制。通过识别低利用率设备的子集并且减少一个或多个低利用率设备的设备功率限制、或者识别高利用率设备的子集并且增加一个或多个高利用率设备的设备功率限制,动态地调整设备功率限制,使得设备功率限制的和不超过组功率限制。驻留在每个设备之上的本地控制器被配置来施加为该设备选择的设备功率限制。

从以下描述以及权利要求书,本发明的其他实施例、方面、以及优点将显而易见。

附图说明

图1为可以根据本发明进行功率管理的示例性的可安装到机架上的多服务器计算机系统的透视图;

图2为在多服务器计算机系统环境下,根据本发明一个实施例的功率管理计算机系统的示意图;

图3为概示根据本发明一个实施例的控制计算机系统消耗的功率的示例性方法的流程图;

图4为概示用来限制计算机系统的功耗的算法的更具体和详细的实施例的流程图;以及

图5为电子系统的示意图,其图示根据本发明的功率管理方法如何可以同时应用于该电子系统的多个级别的示例。

具体实施方式

本发明提供了一种系统、方法、以及计算机程序产品,用来管理具有多个消耗功率的电子设备的电子系统中的功率。提供对于设备组的功率限制,并且在组中的各设备之间动态地分配功率限制,使得每个设备在设备功率限制内操作。设备功率限制被个别地、动态地调整,使得各设备功率限制的和基本等于组功率限制。本发明特别适用于具有多个安装在机架上的服务器以及支持硬件设备的计算机系统的领域。由此,将在管理到包含服务器网络的计算机系统的功率的情况下深入讨论本发明。本领域技术人员可以理解,本发明也可以用于具有多个消耗功率的电子设备的其他电子系统。

根据本发明的一方面,对于电子系统的一组设备选择和施加可变的组功率限制,以限制该组设备的净功耗。对每个设备选择并且施加可变的设备功率限制,并且调整设备功率限制以满足当前组功率限制。功率管理系统和方法可以由以软件实现的功率管理算法控制,该软件在物理介质上实现,并且可以由电子系统使用。一般地,功率管理算法可以包括用来选择性地增加一个或多个利用率最高的设备的设备功率限制的子程序或者软件对象,或者用来选择性地减少一个或多个利用率最低的设备的设备功率限制的子程序或者软件对象。该功率管理方法可以在设备层次的多个级别上进行。例如,电子系统可以包括具有多个服务器机架的数据中心,其中每个服务器机架具有多个服务器。在一个级别上,可以管理到特定机架中的服务器组的功率,使得到特定机架上的设备组的功率不超过为该特定机架指定的组功率限制。在另一个级别上,可以管理到数据中心的功率,使得到机架组的功率不超过为该机架组、或者为该数据中心整体指定的组功率限制。

在一个实施例中,计算每个设备的当前利用率作为设备功耗对设备功率限制的比率。如果各设备功率限制的和小于当前组功率限制,则可以增加一个或多个利用率最高的设备的设备功率限制。如果各设备功率限制的和大于当前组功率限制,则可以减少一个或多个利用率最低的设备的设备功率限制。可以对各设备功率限制进行小调整(增加或者减少),使得这些调整可以在多个设备之间展开。例如,可以执行编程循环,其中在该编程循环的每次迭代中,计算每个设备的利用率,并且将一个或多个利用率最高或最低的设备的设备功率限制调整一小的预定增量或者减量。

在一个实施例中,可以识别最低利用率的设备的子集(例如包括10%的具有最低利用率的设备的子集)以及最高利用率的设备的子集(例如包括10%的具有最高利用率的设备的子集)。可以增加一个或多个利用率最高的设备的设备功率限制,并且可以减少一个或多个利用率最低的设备的设备功率限制。在另一个实施例中,可以一次一个设备地进行这些调整。例如,在每次迭代中,可以减少仅对所有设备中的单个的利用率最低的设备的设备功率限制,并且可以增加仅对所有设备中的单个的利用率最高的设备的设备功率限制。

可以执行该编程循环,直至设备功率限制的和基本等于组功率限制。组功率限制可以响应于各种策略设置随时间变化。如果将设备功率限制增加预定量的特定迭代会使设备功率限制的和明显超过组功率限制、或者将设备功率限制减少预定量的特定迭代会使设备功率限制的和明显低于组功率限制,则可以在该迭代中进行更小的调整,使得设备功率限制的和等于组功率限制。通过这种方式,设备功率限制可以尽可能地靠近组功率限制,以最大化设备的吞吐量,而不会超出组功率限制。

图1为可以根据本发明进行功率管理的示例性的可安装到机架上的多服务器计算机系统10的透视图。计算机系统10包括机箱11,其容纳多个刀片服务器12以及其他硬件设备。每个刀片服务器12可以包括一个或多个微处理器、硬驱动器、以及存储器,以维护一个或多个公用或者独立的网络。计算机系统10还包括多种共享支持模块,包括机箱管理模块15、一个或多个电源模块16、一个或多个风扇模块17、以及多个交换机模块18。管理模块15管理机箱、刀片服务器、以及其他模块。电源模块16为系统供电。风扇模块17生成通过机箱11的气流,以冷却计算机系统。交换机模块18提供刀片服务器I/O与网络之间的网络连接性。可能包含声学模块(未显示)以减少噪声。刀片服务器12安装在机箱11的前部20,并且支持模块15-18安装在机箱11的后部22。刀片服务器12与支持模块15-18接触称为中平面(midplane)的内部机箱接口,其提供刀片服务器12、模块、媒体托盘、以及机箱中DC配电之间的所有互连。中平面上的连接器将刀片服务器12耦合于支持模块15-18,以减少布线要求,并且便利刀片服务器12的安装与移除。

图2为在多服务器计算机系统环境下的根据本发明一个实施例的功率管理计算机系统30的示意图。计算机系统30可以示意性地表示例如图1的多服务器计算机系统10或者其子系统。计算机系统30包括“N”个服务器12。每个服务器12包括可以被选择性地调节的一个或多个处理器或者CPU 31与存储器33。电源36为计算机系统30供电。电源36在此处描述为在服务器12中共享的单个电源模块,如图1的电源模块16。可替换地,电源36可以包括多个电源模块,如每个服务器12一个板上电源模块。还包含了冷却单元32,用来冷却服务器12。此处,冷却单元32描述为每个服务器12包含一个冷却风扇。可替换地,显示冷却单元32可以是例如共享的风扇模块(如图1的风扇模块17),其生成通过机箱的气流以冷却多个服务器12。提供功率管理模块38,用于通过设置并且动态调整每个服务器12的设备功率限制,管理到多个服务器12的功率。每个服务器12还包括本地控制器40,其与功率管理模块38协调工作,用来控制与管理功耗,包括由功率管理模块38施加为服务器12动态选择的设备功率限制。

功率管理模块38和/或服务器12可用的功率管理软件50提供了用来实现功率管理方法的逻辑。软件50可能驻留在计算机可读的物理介质之上。对于本说明书的目的,计算机可读的物理介质可以为能够容纳、存储、传送、传播、或者传输程序以由指令执行系统、装置或者设备使用或者与其联合使用的任何装置。计算机可读介质的例子包括半导体或者固态存储器、磁带、可移除计算机小盘、随机存取存储器(RAM)、只读存储器(ROM)、硬磁盘、以及光盘。光盘的当前例子包括致密盘-只读存储器(CD-ROM)、致密盘-读/写存储器(CD-R/M)、以及DVD。该介质可以为电子的、磁的、光学的、电磁的、红外的、或者半导体系统(或者装置或设备)或者传播介质。该物理介质可以由计算机系统10读取到管理模块38、服务器12或者两者的系统存储器中,用于被功率管理模块38与服务器12访问和执行。处理器31可以通过系统总线被直接或者间接耦合到存储器33或者其他存储器元件。存储器33可以包括在实际执行程序代码期间使用的本地存储器、大型存储设备、以及高速缓冲存储器,高速缓冲存储器提供对至少某些程序代码的临时存储,以减少在执行期间必须从大型存储设备检索代码的次数。

可以直接或者通过中间的I/O控制器,将输入/输出(I/O)设备(如键盘、显示器、定点器件)耦合到系统。也可以使用网络适配器,以允许将数据处理系统(如通过中间的私有或者公共网络)耦合到其他数据处理系统或远程打印机或者存储设备。调制解调器、电缆调制解调器、以太网卡、以及无线网络适配器为网络适配器的示例。用户可以通过输入设备(如键盘与鼠标)输入命令与信息到计算机系统中。其他输入设备可以包括麦克风、游戏杆、游戏垫、触摸垫、卫星天线、扫描器等等。这些与其他输入设备经常通过耦合到系统总线的USB(通用串行总线)连接到处理单元,但是可以通过其他接口连接,如串行端口接口、并行端口、游戏端口等等。包括显示设备的图形用户界面(GUI)也可以通过诸如视频适配器的接口连接到系统总线。由此,诸如系统管理员的用户可以例如输入和编辑策略设置。

用户可选的策略设置的例子可以包括但不限于系统如何处理涉及性能、故障管理、安全、以及能量效率的决定。该系统最终将使用这些策略设置来建立用于分配给服务器的工作负荷的附加标准。例如,策略设置可以指定某些服务器具有较高优先级、乃至“关键使命”,而其他服务器具有较低优先级、乃至“非关键使命”。故障保护策略设置可以指定在较高优先级或关键使命服务器上检测到故障条件的情况下,将较低优先级或非关键使命服务器上的工作负荷暂时挂起,以将来自较高优先级或关键使命服务器的工作负荷转移到较低优先级或非关键使命服务器。涉及能量管理的策略设置的另一个示例为指定在所有服务器都在经受工作负荷增加的情况下,应该以减少非关键使命服务器的设备限制为代价,允许特定的关键使命服务器增加它们的设备限制。

该实施例中的本地控制器40包括基板管理控制器(BMC)42。BMC 42为嵌入在母板中的专用微控制器,并且为智能平台管理接口(IPMI)架构中的组件。BMC 42的功能一般包括:接收来自传感器的输入,以及如果任何参数没有保持在预定限制之内,则发送提醒给管理员。BMC管理系统管理软件与平台硬件之间的接口。内置于计算机系统中的传感器向BMC报告关于如功率、温度、冷却风扇速度、以及操作系统(OS)状态的参数。BMC监控传感器,并且如果任何参数没有保持在预定限制之内,则可以通过网络发送提醒给系统管理员,指示系统的潜在故障。管理员还与BMC进行远程通信,以进行某些纠正动作,如重置或者对系统进行电力循环(power cycling),以使挂起的OS再次运行。嵌入传感器包括功率传感器44,其感测服务器12的功耗,并且输出表示其的信号。功率管理模块38与功率计44通信,并且处理功耗信号,从而以以下详述的本发明方法规定的方式控制到服务器的功率。

在一个示例性架构中,到BMC的物理接口可能包括SMBus总线、诸如RS-485串行控制台的串行通信接口、地址与数据线、以及智能平台管理总线(IPMB),其使BMC能够接受来自系统中其他管理控制器的IPMI请求消息。BMC可以利用IPMI协议与远程客户端上的BMC管理工具(BMU)通信。BMU通常为命令行接口(CLI)应用。取决于用户的安全考虑,通过LAN到BMC的连接可能使用或不使用加密。除BMC 40的常规功能之外,BMC40还被配置来根据功率管理方法的实施例对各个服务器12施加动态设备功率限制。虽然此处以示例的方式描述了特定架构,但是本发明设想该BMC架构会随时间变化,并且本发明可以适于以与此类修改的架构工作。本发明还设想功率管理计算机系统的替换实施例,其可以在不使用BMC的情况下实现功率管理方法。

通过设计,使每个服务器都具有其在正常操作下可以维持的最大功耗值。该“最大功率能力”典型地为硬件限制,如电源在物理上能够提供给该服务器的最大功率量,或者服务器被设计来从电源提取多少能量的上限。通过设计,还使每个服务器都具有“最小功耗水平”,其为服务器在加电时(如当服务器空闲时)将消耗多少功率的下边界。某些服务器的最小功耗水平可以接近零。根据本发明的一方面,可以对每个服务器施加小于该服务器的最大功率能力的可变的设备功率限制。功率管理模块38可以选择并且动态地、独立地调整要由每个服务器12的本地控制器40施加的每个服务器12上的设备功率限制。每个服务器12的设备功率限制的值可以在服务器的最大与最小功耗水平之间的范围内任意变化,但是不必变化到过该范围的全部。例如,服务器可以具有100W的最大功率能力与5W的最小功耗水平,并且功率管理模块38可以在20W与80W之间的范围内改变该服务器的设备功率限制。

根据该功率管理方法,功率管理模块38可以根据每个服务器12的“使用率”为该服务器动态地调整设备功率限制。服务器的使用率涉及其实时功耗,并且可以表示为关于服务器当前功耗对该服务器的当前设备功率限制或者最大功率能力的比较值。服务器的使用率可以表示为例如服务器的瞬间功耗对其最大功率能力的比例或者百分比。为了说明,在特定时刻具有100W的最大功率能力、80W的当前设备功率限制、以及40W的当前功耗的服务器,根据前一个的使用率定义,将具有50%的使用率,或根据后一个使用率定义,将具有40%的使用率。其他使用率定义也在本发明的范围内。

本地控制器40可以使用各种技术来对服务器12施加设备功率限制。此类技术可以包括选择性地“调节”处理器31或存储器33,将子系统置于功率节省操作模式,或者将未使用电路断电。限制功耗的其他例子包括:降低处理器34的时钟频率或者工作电压,将等待或者保持状态引入到处理器31的活动中,执行处理器时钟选通,降低处理器供应电压,或者在各设备之间转移工作负荷。虽然在处理器负荷与服务器中的功耗之间可以存在某些相关性,但是由于基础微架构的行为、逐芯片基础上的晶体管变化、以及影响功耗的许多其他复杂因素,处理器负荷不总是为功耗的可靠指示。因此,本地控制器40典型地包含精确测量与反馈控制系统,其可以例如使用在BMC上运行的硬实时功能实现。作为硬实时比例控制系统,本地控制器40通过BMC 42与功率计44能够在毫秒时间级上调整功率。该功能可以被软件50使用来实现根据本发明的功率管理。

图3为概示根据本发明一个实施例的控制到计算机系统的功率的示例性方法的流程图。该流程图的步骤可以由软件实现,如由图2的功率管理计算机系统30使用的软件50。该方法设想计算机系统包括一组消耗功率的电子设备,如一组服务器。可以对每个设备施加设备功率限制,并且可以对整个组施加“组功率限制”。例如,在一组每个都具有100W最大功率能力的10个设备中,可以施加每个高达100W的可独立调整的设备功率限制。该组设备将具有100W(10个服务器×100W/服务器)的最大功率能力,因此可以对该组设备施加高达1000W的组功率限制。

在步骤60,选择组功率限制。组功率限制是动态的,并且可以响应于策略考虑随时间变化。例如,在许多能源市场中,电力价格在一天中有变化,在这种情况下,一个策略考虑可以为减少在峰值价格小时期间的组功率限制。由此,图3的流程图被构造为循环,其中循环重复步骤60,并且所选组功率限制可以随时间变化。在步骤62,比较组功率限制与各设备功率限制。具体地,可以比较组功率限制与各设备功率限制的和,以保证各设备功率限制的和不超过组功率限制。在步骤64,可以调整设备功率限制,使得各设备功率限制的和不超过组功率限制。然后根据步骤66,施加当前各设备功率限制。由于执行由机器进行的软件步骤的物理限制,如流程图的步骤能够被执行的时间级别,可能会有一短暂的时间段,其间各设备功率限制的和确实超过了组功率限制。优选地,任何此类延迟被最小化,并且计算机系统上用来执行指令的处理器一般快得足以最小化此类延迟。例如,可以在步骤60的一次迭代中减少组功率限制,并且在执行比较步骤62、并且在各设备功率限制可以在步骤64中调整且在步骤66中施加之前,可能经过短的时间段。

在根据本发明的功率管理方法中,可以使用各种方法来调整与施加设备功率限制。一般地,一种方法为在步骤64的每次迭代中识别组中的高利用率设备(HUD)的子集,并且如果在步骤62确定各设备功率限制的和小于组功率限制,则选择性地增加该子集的一个或者多个的设备功率限制。例如,高利用率设备的子集可以仅为一个设备,如组中的单个利用率最高的设备。可替换地,高利用率设备的子集可以为多个设备,如选择的百分比的利用率最高设备。例如,高利用率设备的子集可以为组中10%的具有最高利用率的,并且可以选择该子集中的一个或多个设备(不必是利用率最低的设备)进行设备功率限制增加。类似地,可以在步骤64识别组中的一个或多个低利用率设备(LUB)的子集,并且如果在步骤62确定各设备功率限制的和大于组功率限制,则可以减少这些设备的一个或多个的设备功率限制。例如,可以减少单个利用率最低的设备的设备功率限制。可替换地,可以减少低利用率设备的子集中的一个或多个设备(不必是利用率最低的设备)的设备功率限制。可以更具体地执行图3概示的方法的步骤以产生用于实现功率管理方法的更详细的算法。

图4为概示用来管理到计算机系统的功率的算法的更具体和详细的实施例的流程图。在步骤100,考虑如以上列出的等策略考虑。例如,在确定要分配多少功率给计算机系统时,可以考虑一天中的时间以及在特定时间随时间变化的电力成本。在步骤101,获得组功率限制(PLG)。在步骤101的每次迭代时,更新组功率限制。在步骤101的某些迭代中,组功率限制将改变,而在其他迭代中,组功率限制将不改变。例如,由于在步骤100中考虑的策略设置,如响应于随时间变化的能源成本、功率可用性,或者根据数据中心的特定区域中根据所呈现的工作负荷的性质使用服务器的偏好,组功率限制可能改变。在步骤102,将各设备功率限制的和(∑PLI)与组功率限制比较。利用条件步骤104与106来确定各设备功率限制的和是小于还是大于组功率限制。如果各设备功率限制的和既不小于也不大于组功率限制,则该算法直接循环回到步骤101,用于更新组功率限制。如果根据条件步骤104各设备功率限制的和小于组功率限制,则触发子程序(“循环”)110,来选择性地增加设备功率限制。如果根据条件步骤106各设备功率限制的和大于组功率限制,则触发另一子程序(“循环”)120,来选择性地减少设备功率限制。

在执行步骤104与106时可以采用模糊逻辑,即用来实现图4的算法的软件的程序员或者用户可以选择触发条件步骤104与106之一所需的精度水平。例如,程序员(例如,在编写代码时)或者用户(例如,在图形用户界面中选择用户偏好时)可以指定各设备功率限制的和必须小于组功率限制(步骤104)或大于组功率限制(步骤106)至少选择的设置点值。希望使用设置点,例如用来防止当各设备功率限制的和已经接近等于组功率限制时不必要的调整。

参照循环110,在步骤112,获得每个设备的利用率水平。先前已经描述了如何获得利用率的例子。为了讨论图4中的算法的目的,假定特定设备的利用率为该设备的当前功耗对于当前该设备功率限制的比例或者百分比。还将假定一次一个设备地增加设备功率限制,尽管另外的实施例可以基本同时地增加多个设备的设备功率限制。在步骤114,将选择的HUD的设备功率限制增加如可选值的三个值114A、114B、114C中的最小的一个。选择的HUD可以为从一个或多个HUD子集(如组中10%的利用率最高的设备)中选择的设备,或者该子集可以小到单个HUD。如果要从多个HUD的子集中选择HUD,则可以考虑策略设置,如从HUD子集中选择较高优先级的服务器。在一个示例中,选择了利用率最高的设备,即当前具有功耗对设备功率限制的最大比例、并且相应地在其设备功率限制与功耗之间具有最小余量的设备。在两个设备具有相同的最高利用率值的情况下,可以使用僵局仲裁器(tiebreaker),或者任何设备功率限制的增加量可以在形成僵局的最高利用率设备之间分割。根据步骤114,可以将选择的HUD的设备功率限制增加在可选值菜单中描述的三个值114A、114B、114C中的最小的一个。具体地,可以将选择的HUD的设备功率限制增加缺省的常量“X”瓦(可选值114A)、组功率限制与各个功率限制的和之间的差(可选值114B)、或者当前最高利用率设备的最大功率能力PLI(MAX)与当前设备功率限制之间的差(可选值114C)。如果选择可选值114A,则将设备功率限制增加缺省值,并且循环110从步骤112重复。在循环110的下一次迭代中,重新计算利用率值,并且先前对选择的HUB增加设备功率限制可能会导致不同的HUB子集。该方法根据各设备的功率需求,通过一次X瓦地系统地增加需要最多功率的设备的设备功率限制,将优先级赋予设备功率限制增加。

进行循环110的一次或多次迭代,每次都增加选择的HUD的设备功率限制,直至各设备功率限制的和等于组功率限制。在循环110的每次迭代中,选择X作为缺省增量(可选值114A),除非以及直至缺省增量会使当前选择的HUD超过其最大功率能力PLI(MAX),或者使设备功率限制的和超过组功率限制。为这些例外情况指定可选值114B、114C。具体地,如果三个可选值中的最小值为PLI(MAX)-PLI(CURR),则选择可选值114C。作为选择可选值114C的结果,当前利用率最高的设备的设备功率限制被增加到其PLI(MAX)的全值,并且无法再被增加。因此,在步骤114中其当前设备功率限制等于PLI(MAX)的任何设备可以被临时从循环110中的进一步的设备功率限制增加中排除,在这种情况下,设备功率限制增加可以被替代地施加于组中其设备功率限制小于其PLI(MAX)的最高利用率设备。被临时排除的(多个)设备以后可以被再次包含作为设备功率限制增加的候选,例如如果以及当在随后执行循环120中降低了相关设备功率限制时(以后讨论)。重复循环110,直至设备功率限制的和等于当前选择的组功率限制。具体地,重复循环110,直至选择可选值114B。选择可选值114B使设备功率限制的和等于组功率限制。在选择可选值114B之后,该算法因此返回到步骤101,以更新组功率限制。

相反,如果在条件步骤106中确定设备功率限制的和大于组功率限制,则需要减少一个或多个设备功率限制以满足组功率限制。如果在步骤101的迭代中减少了组功率限制,例如,如果在峰值价格小时期间进入节能模式,则可能发生这种情况。由此,触发条件步骤106导致流程图的右手侧的循环120,用于选择性地减少设备功率限制,直至设备功率限制的和不再超过组功率限制。为了最大化服务器吞吐量,循环120将设备功率限制刚好减少到各设备功率限制的和基本等于组功率限制。在步骤122,获得每个设备的利用率水平,如上所述。选择LUB的子集,其可能再次包含多个LUD或者单个LUD。在一个示例中,可以从每个设备的所计算的利用率,容易地识别出最低利用率设备,即具有功耗对设备功率限制的最低比例、以及相应地在设备功率限制与其功耗之间具有最大余量的设备。

在循环120,减少一个或多个LUD的设备功率限制。在两个设备具有相同的最低利用率值的情况下,可以使用僵局仲裁器,或者任何减少量可以在形成僵局的最低利用率设备之间分割。根据步骤124,可以将当前选择的LUD的设备功率限制减少在可选值菜单中描述的三个值124A、124B、124C中的最小的一个。具体地,可以将选择的LUD的设备功率限制减少缺省的常量X瓦(可选值124A)、各个功率限制的和与组功率限制之间的差(可选值124B)、或者当前选择的LUD的当前设备功率限制与最小功率能力PLI(MIN)之间的差(可选值124C)。如果选择可选值124A,则将设备功率限制减少缺省值X,并且循环120从步骤122重复。在循环110的下一次迭代中,重新计算利用率值,并且先前对一个设备减少设备功率限制可能会导致不同的设备为该随后迭代中的当前最低利用率设备。该方法通过一次X瓦地系统地减少需要最小功率的设备的设备功率限制,根据设备的功率需求将优先级赋予设备功率限制减少。

可以执行循环120的一次或多次迭代,每次都减少当前选择的LUD的设备功率限制,直至各设备功率限制的和等于组功率限制。再次地,可以由用户或者程序员选择进行该判定所需的精度水平,并且如果希望的话,可以使用模糊逻辑。在循环120的每次迭代中,选择X作为缺省减少,除非并且直至该缺省减少会使当前选择的LUD低于其最小功率能力PLI(MIN),或者使各设备功率限制的和低于组功率限制。为这些例外情况指定可选值124B和124C。具体地,如果三个可选值中的最小值为PLI(CURR)-PLI(MIN),则选择可选值124C。作为选择可选值124C的结果,当前选择的LUD的设备功率限制被减少到其PLI(MIN),并且无法再被减少。因此,在步骤124中其当前设备功率限制等于PLI(MIN)的任何设备可以被临时从循环120中的进一步的设备功率限制减少中排除,在这种情况下,设备功率限制减少可以被替代地施加于组中其设备功率限制大于其PLI(MIN)的另一LUD。被临时排除的(各)设备以后可以被再次包含作为设备功率限制减少的候选,例如如果以及当在随后执行循环100中增加了相关设备功率限制时(以后讨论)。重复循环120,直至各设备功率限制的和等于当前选择的组功率限制。具体地,重复循环120,直至选择可选值124B。选择可选值124B使各设备功率限制的和等于组功率限制。在选择可选值124B之后,该算法因此返回到步骤101,以更新组功率限制。

根据步骤100考虑策略设置也可以允许该算法跳出循环,否则在特定条件下可能会产生该循环,如当在步骤114B或者124B中各功率限制的和等于组功率限制时。在此类情况下,对于服务器的功率分配可能会对步骤101的许多次循环保持静态,直至在步骤100中的对于策略设置的考虑在步骤101中影响了组功率限制。例如,在一种情况下,如果额外的功率分配可用,则高利用率和/或高优先级服务器可能会得益于额外的功率分配(通过增加设备功率限制),但是各设备功率限制的和与组功率限制可能会在步骤114的每次迭代中处于平衡。在这种情况下,可以对于一个或多个低利用率设备或者优先级低而利用率较高的设备减少设备功率限制,使得可以为一个或多个较高优先级或者高利用率的设备增加设备功率限制,而各设备功率限制的和不超过组功率限制。

可选地,如果在完成循环110或者循环120之前组功率限制变化,则可以配置该算法终止循环110或者循环120,并且返回到步骤101以更新组功率限制。

图5为一种电子系统的示意图,其显示在本发明的另一实施例中根据应用到该电子系统的系统层次如何管理功率的示例。图5的电子系统包括数据中心200,其具有三个服务器机架230A、230B、230C。机架230A-C不需相同,但是显示得好象相同以简化讨论。主电源236为数据中心200供电。机架230A-C可以都由主电源236供电。每个机架230A-C都包括多组5个服务器12以及每架一个电源36A-C。可以根据本发明的功率管理方法,并发地在第一与第二级上同时管理功率。在该层次的第一级上,可以将每个机架当作一组,并且可以将每个服务器当作第二级组的设备。在第二级上,可以将整个数据中心当作一组,并且将每个机架当作该第二级组的“设备”。对于这两个级别的每一个,可以分别选择两个分开并且不同的组功率限制。可以根据图4的功率管理算法,根据例如所指定的组/设备关系在每级设备之间管理功率。

具体地,在第一级功率管理方法中,可以将每个机架230A-C当作一组,并且可以将每个服务器12当作其所属组的“设备”。根据本发明,可以例如根据图4的算法管理到每个组(机架230A、230B、或者230C)的功率。可以为分别由电源36A、36B、以及36C供电的每个机架230A-C唯一地指定组功率限制。可以为每个服务器12动态地调整动态设备功率限制,使得每个机架230A、230B、或者230C中的5个服务器12的各设备功率限制的和不超过为该机架指定的组功率限制。

在第二级上,可以将整个数据中心200当作“组”,并且可以将每个机架230A-C当作该组的“设备”。根据本发明,可以例如根据图4的算法管理到该组(数据中心200)的功率。例如,可以为由主电源236供电的整个数据中心200指定组功率限制。可以为每个机架230A、230B、230C指定并且动态调整动态设备功率限制,使得三个机架230A、230B、与230C的各设备功率限制的和不超过为数据中心200指定的组功率限制。

得益于本公开的本领域技术人员会理解,可以进一步设想更多的级别,其中根据在图4的功率管理算法中指定的设备/组关系,在每个级别上管理功率。

权利要求书以及此处说明书中使用的术语“包含”、“包括”、以及“具有”应该被当作指示开放的组,其可以包括未指定的其他元素。术语“一”与词的单数形式应该被认为包含该词的复数形式,从而该术语意味着配备了一个或多个某种东西。术语“一个”或者“单个”可以用来指示意指一且仅一个某种东西。类似地,当意指特定数目的某种东西时,可以使用其他特定整数值,例如“两个”。术语“优选地”、“优选的”、“优选”、“可选地”、“可能”、以及类似的术语用来指示所指称的项目、条件、或者步骤为本发明的可选(未必要)特征。

虽然已经相对于有限数目的实施例描述了本发明,但是得益于本公开的本领域技术人员会理解,可以设想未脱离此处公开的本发明的范围的其他实施例。因此,本发明的范围仅由权利要求书限定。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号