专利名称:功率封顶系统及方法
功率封顶系统及方法
背景技术:
计算机系统能够从它们相关的电源汲取相当大量的功率。在一些情况中,在计算机系统上执行的工作负荷可能对计算机系统的处理器提出这样的要求以使得超出电源的额定功率。超出额定功率增加了计算机系统的热输出,结果对计算机系统的冷却基础设施提出要求并且可能对计算机系统部件造成损害。超出额定功率还可能造成计算机系统部件的非预期损失,诸如通过使电路断路器跳闸(trip)。
参照下面的附图进行详细描述,其中同样的附图标记指代同样的对象,并且其中图1是示出计算机系统的框图,在该计算机系统上安装并运行示例性功率封顶 (capping)系统;图2是与图1的示例性功率封顶系统一起使用的示例性功率封顶控制器的框图; 以及图3A和;3B是示出图1的功率封顶系统的示例性操作的流程图。
具体实施例方式在任何计算机系统中,典型地,处理器复合体将成为最大的功率消耗者。在处理器上执行的工作负荷需要处理器消耗功率,并且随着工作负荷需求增加,处理器功耗也增加, 在该意义上该功率消耗是直接的。功率消耗也是间接的,因为所增加的处理器需求可能增加存储器和外围设备的使用,并且将产生更多的热,从而需要增加的冷却系统操作。可以通过降低处理器的核心频率(例如将核心频率从3. OGHz降低到2. OGHz)来控制或降低处理器复合体中的功耗。也可以通过控制CPU时钟的平均有效频率来降低功耗。为了使用频率以及CPU时钟控制机制(有时称作CPU时钟下调(down-clocking))实现功耗控制,处理器复合体可能安装了软件例程,其监视处理器功耗,并且当处理器功耗达到指定阈值时,调整核心频率以及CPU时钟之一或两者。该阈值可以是可调整的并且可以由系统管理员设置。然而,这种限制或降低处理器功耗的途径是相对缓慢的,并且在处理器功耗被降低到指定阈值之前可能要花费30秒或者更多的时间。通过设立上面所述的处理器功率封顶方案,系统管理员或设计者随后能够确定用于计算机系统的冷却系统要求。然而,这样的功率封顶方案的采用不一定允许系统设计者限制系统的电源的大小和数量。这是因为虽然上面所述的功率封顶方案能够将平均处理器功耗维持在指定阈值或低于指定阈值,但是该方式不能限制当处理器工作负荷突然增加时出现的功耗中的几乎瞬时的峰值。为了改善计算机系统上的功率封顶性能,这里公开了一种增强型的功率封顶系统及相应方法,其加强了 CPU时钟下调,从而以更动态的方式控制功耗,以便消除在所设置的功耗阈值之上的功率峰值,或者至少在持续时间上将所述功率峰值减少到几分之一秒(small fractions of a second)。图1是示出计算机系统100的框图,该系统上安装并运行示例性功率封顶系统。 图1中所示的计算机系统100是理想化的系统,其包括具有多核处理器111、113、115以及 117的处理器复合体110,双列直插式存储器模块(DIMM) 120,双电源131和133,硬盘驱动器141和143以及冷却风扇151、153及155。这些组件通过电源线101连接。本领域技术人员能够理解,该计算机系统100将包括为了清楚性的原因而未显示出的其他组件。另外, 所显示的组件的数量,诸如例如三个冷却风扇,仅仅是为了举例说明而不是进行限制。此外,组件的布置也是说明性的,并且在不脱离如权利要求所述的本发明的范围的情况下,许多其他的组件组合及布置是可能的。电源可以是冗余电源,并且例如可以被标定为每个1200瓦,总额定功率MOO瓦。 在运行过程中,为了从电源获得最大效率,仅仅一个电源将运行,只要该电源能够满足计算系统组件的需求。典型地,单独的电源将以大约90%的容量运行。当需要附加的容量时,第二电源投入运行。为了实现功率封顶方案,示出了结合在计算机系统100中的增强型的、示例性功率封顶系统200。该功率封顶系统200包括到系统100的一些或所有组件(“被开关组件”) 的电源线上的单独连接或开关。该连接或开关可以是电子开关,并且在一个实施例中,该开关是场效应晶体管(FET)。因此,功率封顶系统200包括分别到硬盘驱动器141和143的电源线101上的FET 241和M3,以及分别到冷却风扇151、153和155的电源线101上的 FET251、253和255。正如后面将要讨论的那样,通过功率中断信号,这些FET可以被用于快速且暂时地断开从电源131和133到相关计算机系统被开关组件的功率。而且,如图1所示,被开关组件可以由单独的FET连接。在一个替代实施例中,诸如风扇151、153和155的相似类型的被开关组件,可以由单个主FET进行连接,以便当单个主FET被断开时,同时从所有风扇移除功率。在又一实施例中,风扇组可以由单个FET连接。 在再一个实施例中,所有的被开关组件可以由单个主FET连接。减少到被开关组件的FET 的数量可以减少功率中断信号的响应时间,并将减少与功率封顶系统200 —起安装的硬件组件的数量。与处理器复合体110相关的命令/监视器210,以及与电源131和133分别相关的监视器231和233也是功率封顶系统的一部分。命令/监视器210用于监视来自处理器 111、113、115和117的工作负荷需求,并且当需求处于或接近预定值时,或者当需求以超过预设值的速率增加时,提供相应的信号。这些值的确定以及相应信号的使用将在后面详细描述。作为功率封顶过程的一部分,命令/监视器210还用于发送命令到处理器复合体110 以及可能到单独的处理器。监视器231和233用于监视它们相关的电源的运行,并且在电源发生故障或失灵后提供信号。FET和监视器通过信号及控制线201、1/0连接器260及输出线261而耦合到功率封顶控制器300。本领域技术人员应当理解,控制线201实际上可以包括多条且单独的线, 并且可以采用多个I/O连接。控制及信号线被监视器用来向功率封顶控制器300报告信息, 并向FET传送控制信号。将参照图2对其进行更详细描述的功率封顶控制器300可以被结合到计算机系统 100中或者可以是分离组件。在一个实施例中,功率封顶控制器300被安装在处理器复合体110上。在另一实施例中,功率封顶控制器300是与计算机系统100安装在相同的外壳中的分离的处理器。在另一实施例中,计算机系统100仅是更大的计算机系统的子集,并且功率封顶控制器300被安装到总体板载管理器(OA)模块中。在该最后一个实施例中,计算机系统100可以是刀片式服务器中的单个刀片,该刀片式服务器具有处于OA的管理控制下的多个刀片。此外,在该最后一个实施例中,电源及风扇的布置和数量可能与图1中所示的不同。图2是与图1的示例性功率封顶系统200 —起使用的示例性功率封顶控制器300 的框图。该控制器300包括电源监视器310,处理器监视器320,命令模块330,报告生成器 340,用户接口 350及数据库360。电源监视器310接收来自电源监视器231和233的关于它们各自电源131和133的状态的信息。该信息可以包括例如电源何时是接通的或何时被断电,其功率输出是多少(以瓦特或者全功率的百分比计),以及环境温度。因此,例如,如果电源131和133之一被非故意地关闭,电源模块310将接收相应的信号。处理器监视器320用于监视包括单独处理器111、113、115和117的处理器复合体 110的运行。在一个实施例中,处理器监视器320监视处理器复合体110的功耗(以瓦特计)。可以在两个分离的模块中实现该功耗监视稳定状态模块322和可选瞬时模块324。 模块322从处理器复合体110接收功耗信息,并且在一个实施例中,接收关于计算机系统 100中的其他功耗组件的功耗信息,并将该功耗信息与可调整阈值以及可用功率水平进行比较。其他功耗组件的功耗信息可以作为固定或基线值而被设置在模块中,或者可以直接或间接地从计算机系统100的单独组件进行监视。例如,当计算机系统100在运行中时(通电),风扇151、153和155可以一直运行,每个汲取10瓦特的功率。因此,模块322可以将 30瓦特的基线水平设置在其算法中以计及无论何时计算机系统100通电时风扇的功耗。可替代地,当风扇通电时,模块322可以接收风扇功率信号,并将10瓦特加到总功耗以计及该组件。可用功率水平可以由电源监视器310提供。因此,例如,如果在特定时间电源131、133 中只有一个处在运行中,相比于当两个电源都在运行时的情况,可用功率水平将降低。如果接收到的功耗信息超出阈值或者接近可用功率极限,模块322发送信号到命令模块330,如后面所述的那样,该命令模块330运行以降低计算机系统100中的功耗。瞬时模块324监视计算机系统100中的功耗以及功耗增加或降低的速率。功耗的快速瞬时增加可能作为处理器复合体110上的工作负荷的急剧增加的结果而发生。可替代地,失去电源可能产生类似的瞬时效果一功耗超过或者很快将超过功率阈值或可用电源。如果功耗超过可调整阈值,与模块322很类似,模块3M将发送信号到命令模块330。 另外,如果功耗的变化速率使得基于当前的功耗,可调整阈值将被超出或者可用功率水平将被超出,则瞬时模块3M将发送第二信号到命令模块330。功耗的变化速率可以基于功率的实际改变(每秒钟增加的瓦特数),并且可以考虑从瞬时过程开始直到达到稳定状态功率封顶阈值为止的时间量。因此,在瞬时过程开始处的初始功耗可以是确定对瞬时过程的响应的一个因素。以较低的初始功耗开始,与以较高的初始功耗开始相比,可能会产生不同的响应。作为瞬时响应的例子,假定计算机系统从两个电源汲取1500瓦特的功率,(分为从电源131汲取1080瓦特并且从电源133汲取420瓦特),并且电源稳定状态功率封顶阈值是总额定功率的90%,或者是2160瓦特。处理器需求的突然上升导致来自于电源133的功耗以每秒100瓦特的速率增加。在6秒钟多一些的时间内,将达到功率封顶阈值。瞬时模块3 可以设置有5秒钟的瞬时过程时间阈值。可以选择该瞬时过程时间阈值,以允许功率封顶系统通过也减慢CPU时钟速率并降低处理器频率来尽力防止超出稳定状态功耗阈值,并且少于5秒钟的瞬时过程时间可以被系统管理员判定为太短。因此,响应于该快速瞬时过程,命令模块330发送功率中断信号到被开关组件。在另一实施例中,除了处理器复合体100之外的计算机系统组件的功耗可以由分离的监视系统进行监视,包括监视每个功耗组件的功耗的监视系统。在又一实施例中,来自这些非处理器组件的预期功耗可以被估计为处于形成基线功耗的固定值。命令模块330接收来自于处理器监视器320的输入信号,并发送一个或多个适当信号到计算机系统100中的各个组件。例如,模块330可以引导处理器复合体110转换到较低运行频率,或者降低CPU时钟速率。然而,当也许可能需要的是更为迅速的功耗降低时, 处理器复合体110的运行状况的这种改变导致功耗的缓慢下降。因此,当瞬时模块3M感测到阈值以上的功率时,或者感测到功耗的增加速率高于指定量时,从命令模块330发送一个或多个不同的信号,并且这些不同的信号执行不同的功能。在一个实施例中,响应于来自瞬时模块的信号而源自命令模块330的两个信号被发送到FET 241、243、251、253及255 中的一个或多个,以断开从电源133和135到与那些FET相关联的组件的电源线101。到 FET的该命令信号通过使相关组件断电,将导致计算机系统100中的功耗的近似于即时的下降。一旦功耗的变化速率已经降低到其预设值以下,和/或一旦总功耗低于预设的稳定状态阈值,那么之前与电源131和133断开连接的组件可以被重新连接。因此,到这些组件 (例如风扇150,153,155)的功率的失去应当很短,大概50毫秒到最多大约30秒的量级。 在计算机系统100外壳内的这种短持续时间的主动冷却的失去应该不会导致组件过热方面的任何问题。类似地,到硬盘驱动器141和143的功率的失去将是短持续时间的,并且不会对数据存储操作产生不利影响。报告生成器340可以用于产生功率封顶报告,包括持续时间、原因及受影响的组件。该报告可以在正在发生的基础上(on an as occurring basis)提供,或者可以是累计的、历史报告。用户接口 350允许系统管理员设置瞬时和稳定状态阈值以由功率封顶控制器300使用,请求报告,并且执行与功率封顶系统200相关的其他管理功能。数据库360用于存储与功率封顶操作相关的历史数据。图3A和;3B是示出功率封顶系统200的示例性功率封顶操作400的流程图。该操作400以块405开始。在块410,功率封顶系统200监视功耗以及可用功率,其中系统管理员设置稳定状态或准稳定状态功耗和瞬时功耗变化水平。在块415,处理器复合体监视器 320检测功耗的增加(作为要求来自电源131和133的更多功率的增加的处理器工作负荷的结果)。可以由通过监视器210的增加的电流,或者相关的电参数(诸如瓦特数)来表示增加的功耗的检测。在块420,处理器监视器320计算处理器复合体的功耗的变化速率 (ROC)。在块425,瞬时模块3M确定功耗的变化速率是否超过可变阈值。如果超过阈值,则操作400转到块430。在块430,处理器监视器320发送瞬时超出信号到命令模块430。然后,操作400转到块450。如果未超出阈值,则操作400转到块435,并且稳定状态模块322 确定功耗是否超出稳定状态阈值。如果未超出稳定状态极限,则操作400返回到块410,但是如果超出了稳定状态极限,则操作400转到块440。在块440,处理器监视器320发送稳定状态阈值超出信号到命令模块330。然后操作400转到块445。在块445,命令模块330制定并发送命令到一个或多个FET,以造成电源线101中的断路。在块450,命令模块330发送命令到所有的FET以断开电源线101。另外,命令模块330引导处理器复合体110以便降低CPU时钟速率,并且以降低后的运行频率运行。在块445或450之后,该操作400转到块455。在块455,在断开计算机系统100的指定组件的连接并降低时钟速率和频率(如果合适的话)后,该功率封顶系统200继续监视功耗和瞬时速率。在块460,检查功耗以确定是否小于稳定状态阈值加上滞后值。如果功耗被如此降低,则操作400转到块465,并且向断电的计算机系统组件恢复功率。时钟速率和频率也可以恢复。在块470,报告生成器340产生功率封顶事件的报告,并且该数据然后被存储在数据库360中。操作400然后返回到块410。虽然该操作400已经描述为按照特定顺序进行,本领域技术人员能够理解,这里公开的概念内的其他顺序也是可能的。与图2的功率封顶系统200相关的信号处理的各种公开的实施例可以实现为软件、硬件、固件或这些技术的任意组合。程序装置(programming)可以实现为一个或多个模块(也称作代码子例程,或者面向对象的程序设计中的“对象”)。对于各种可选实施例,该程序装置的位置将是不同的。例如,信号处理的程序装置可以在控制器300或者计算机系统100的其他组件上实现。控制器300可以从某类型的长期存储介质访问该程序装置,所述长期存储介质诸如半导体、磁和光学设备,包括可移除盘以或硬盘驱动器。可替代地,该程序装置包含在存储器(诸如手持便携式电子设备的存储器)中,并由处理器使用总线访问。在存储器中、在物理介质上包含程序装置,和/或通过网络分发软件代码的技术和方法对于本领域技术人员来说是众所周知的。作为计算机可读介质,功率封顶程序装置可以采用计算机可用存储介质上的计算机程序产品的形式,所述介质具有包含在该介质中的计算机可用程序代码。可以采用任何合适的计算机可用或计算机可读介质。计算机可用或计算机可读介质可以是例如但不限于电子、磁、光、电磁或半导体系统、装置、设备或介质。计算机可读介质的更多具体例子 (非穷举列表)包括具有一个或多个导线的电连接,便携式计算机盘,硬盘,随机存取存储器(RAM),只读存储器(ROM),可擦除可编程只读存储器(EPR0M或闪存),光纤,便携式紧凑盘只读存储器(CD-ROM),光学存储设备或磁存储设备。已经参照方法、装置(系统)及计算机程序产品的流程示和/或框图描述了信号处理方法。流程示和/或框图中的每个块,以及流程示和/或框图中的块的组合,能够由计算机程序指令实现。这些计算机程序指令可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生结果,从而使得该指令创建用于实现流程图和/或一个或多个框图块中指定的功能/动作的手段,其中该指令经由计算机或其他可编程数据处理装置的处理器执行。该计算机程序指令也可以加载到计算机或其他可编程数据处理装置上,以使得在计算机或其他可编程装置上执行一系列的操作步骤,以产生计算机实现的处理过程,从而使得在计算机或其他可编程装置上执行的指令提供用于实现流程图和/或一个或多个框图块中指定的功能/动作的步骤。这里所采用的术语和描述仅通过举例说明的方式进行阐述并且不打算作为限制。本领域技术人员能够认识到,在如所附权利要求以及它们的等同物所限定的本发明的精神和范围内的许多变化都是可能的,其中所有的术语除非另有指示应以其最广泛可能的含义理解。
权利要求
1.一种用于在计算机系统中暂时地对功耗进行封顶的功率封顶系统,该计算机系统具有包括至少一个电源和一个处理器的多个组件,该功率封顶系统包括多个功率监视器,每个功率临视器与该计算机系统的至少一个组件相关联;一个或多个开关,每个开关与至少一个所述组件相关联;以及功率封顶控制器,其包括用于实现功率封顶方法的程序装置,该程序装置包括电源监视器,其监视从所述电源到所述多个组件的功率的可用性,处理器监视器,其监视处理器的功率需求,并且当达到功率相关阈值时,产生功率降低信号,以及命令模块,其接收功率降低信号,并产生第一功率降低命令,以断开至少一个所述开关,由此计算机系统中的功耗被降低。
2.如权利要求1的系统,其中处理器监视器包括稳定状态模块,其将功耗水平与稳定状态阈值相比较,并且当达到稳定状态阈值时,产生第一信号;以及瞬时模块,其将功耗的变化速率与瞬时阈值相比较,并且当达到瞬时阈值时,产生第二信号,其中功率降低信号包括第一信号及第二信号中的一个或两个。
3.如权利要求1和2中任意一个的系统,其中所述多个组件包括计算机系统冷却风扇, 并且开关与计算机系统冷却风扇相关联,并且当断开时,开关移除到计算机系统冷却风扇的功率。
4.如权利要求3的系统,其中每个冷却风扇都设有开关。
5.如权利要求4的系统,其中所选择的计算机系统冷却风扇被断电。
6.如权利要求3的系统,其中所有的计算机系统冷却风扇通过单个主开关进行控制。
7.如权利要求1和2中任意一个的系统,其中所述多个组件包括计算机系统硬盘驱动器,并且开关与计算机系统硬盘驱动器相关联。
8.如权利要求1-8中任意一个的系统,其中开关是FET。
9.如权利要求1的系统,其中命令模块提供第二功率降低命令,其降低时钟速率以及处理器频率。
10.如权利要求1的系统,其中当功耗被降低到稳定状态阈值以下时,命令模块引导开关闭合,从而恢复到所述组件的功率。
11.如权利要求1的系统,其中计算机系统包括至少两个相等地额定的电源,其中所述至少两个电源中的一个的失去自动降低稳定状态功耗阈值。
12.一种用于在计算机系统中暂时地对功耗进行封顶的方法,该计算机系统包括至少一个电源,至少一个处理器,以及通过一个或多个开关耦合到电源的一个或多个被开关组件,该方法包括步骤确定电源的可用性;确定计算机系统中的功耗,其中所确定的功耗水平低于功耗阈值;检测计算机系统中功耗的增加,其中功耗水平超过功耗阈值;以及断开一个或多个开关,以使一个或多个被开关组件断电,从而降低计算机系统中的功^^ ο
13.如权利要求12的方法,其中功耗阈值是瞬时阈值,该方法进一步包括确定功耗的变化速率;将所确定的功耗的变化速率与瞬时阈值进行比较;以及当达到瞬时阈值时,断开该一个或多个开关。
14.如权利要求12的方法,其中当功耗降低到稳定状态阈值以下时,该方法进一步包括闭合开关,从而恢复到被开关组件的功率。
15.如权利要求12的方法,其中被开关组件是计算机系统冷却风扇,并且当断开时,该开关移除到冷却风扇的功率。
全文摘要
一种用于暂时地对功耗进行封顶的系统及相应方法,包括用于确定若干组件的总功耗的机构,用于将功率与一个或多个flic组件断开连接以及重新连接的机构,以及用于确定何时将功率与所述组件断开连接以及何时将它们重新连接的机构。
文档编号G06F1/32GK102395937SQ200980158787
公开日2012年3月28日 申请日期2009年4月17日 优先权日2009年4月17日
发明者C·V·华, D·J·塞普利斯 申请人:惠普开发有限公司