管理计算系统的功耗和性能的制作方法
【专利摘要】本文描述了一种用于管理计算系统的功耗和性能的方法和系统。该方法包括监视计算系统的总体功耗,以确定总体功耗高于还是低于总体功耗限制,并且监视每个计算系统的性能,以确定该性能是否在性能容限内。该方法进一步包括调整计算系统的功耗限制或计算系统的性能以使总体功耗低于总体功耗限制并且每个计算系统的性能在该性能容限内。
【专利说明】管理计算系统的功耗和性能
【技术领域】
[0001]本发明总体上涉及多个计算系统操作的管理。更特别地,本发明涉及多个计算系统的功耗和性能特性的同时管理。
【背景技术】
[0002]在多种情况下,数据中心中计算系统的组被分配特定功率预算,例如,总体功耗限制。为保持总体功耗低于数据中心级的功率预算,数据中心中主控的多数服务器被提供有其自身的功率预算。这些服务器包括连续监视由服务器消耗的功率的技术。当这种功耗超过给定功率预算时,服务器性能可被缩减或节流,以降低功率至低于功率预算。即使对于相同配置的(即同质的)运行相同工作负荷的计算系统,计算系统消耗的功率也可发生变化。这主要是由于计算系统中组件特性和环境条件的变化。因此,服从相同的功率预算的同质计算系统的性能可显著变化。例如,对于具有相同的功率预算的10000个同质计算系统的组,一些数量的计算系统可能不经受任何节流,而其他计算系统可节流多达20 %。
[0003]在一些情况下,工作负荷的计算可在多于一个的计算系统中发生。在这种情况下,工作负荷可分布横跨多个计算系统。这些计算系统通常相互通信或与中央控制器通信,以交换信息,同步信息或保持工作负荷完整性。由计算系统的功率预算导致的计算系统之间的性能差值可导致多个问题。例如,在分布式计算环境中,可只有一个计算系统,针对该系统,性能被节流20%以满足系统级的功率预算。然而,如果计算系统需要等待子任务的完成,则为保持足够的同步,聚集体的性能还可能被节流20%。作为第二示例,先前经验已经示出,个体计算系统的性能中的小变化可导致集合体的大的性能变化。这导致最小化执行各种操作(诸如OS任务,中断,背景任务等)的计算系统之间的变化的努力。因此,许多计算系统可操作于低于其功率预算所允许的性能下。
【专利附图】
【附图说明】
[0004]图I为计算系统的框图,计算系统可用于实现管理本文描述的计算系统的功耗和性能的技术;
[0005]图2为计算环境的框图,其可根据实施例使用;
[0006]图3为过程流程图,示出了一种用于管理计算系统的功耗和性能的方法;
[0007]图4为过程流程图,示出了一种用于基于计算系统的总体功耗调整计算系统的性能的方法;
[0008]图5为过程流程图,示出了一种用于确定计算系统的目标性能状态的方法;
[0009]图6为过程流程图,示出了一种用于基于在指定时间段上收集的功耗和性能数据调整每个计算系统的功耗限制的方法;
[0010]图7为过程流程图,示出了一种用于基于使用测量的功耗和性能数据构建的表来确定每个计算系统的功耗限制的方法;
[0011]图8为过程流程图,示出了一种用于基于处于统一功耗的计算系统的操作期间收集的性能数据调整每个计算系统的功耗限制的方法;
[0012]图9为过程流程图,示出了一种用于基于处于统一性能的计算系统的操作期间收集的功耗数据调整每个计算系统的性能的方法;
[0013]图10为过程流程图,示出了一种用于基于计算系统达到特定边界条件的时间调整每个计算系统的功耗限制的方法;以及
[0014]图11为框图,示出有形的,非暂存计算机可读介质,其存储用于管理计算系统的功耗和性能的代码。
[0015]本公开和图的全文中使用相同的数字来指代相似的组件和特征。100系列的数字指代最初在图1中出现的特征;200系列的数字指代最初在图2中出现的特征;等等。
【具体实施方式】
[0016]如上所讨论的,本文描述的实施例涉及多个计算系统的功耗和性能特性的同时管理。该实施例可允许把计算系统组的总体功耗的保持在可接受级别,同时保持计算系统的性能处于指定性能容限内。在一些实施例中,保持计算系统的性能处于指定性能容限内保证了全部计算系统操作在接近统一的性能级别,并且因此,当执行类似工作负荷时将具有类似的完成时间。
[0017]如本文所使用的,术语“性能”指代计算系统在执行特定工作负荷期间以及在执行特定工作负荷之后的响应。在各种实施例中,计算系统的性能根据特定性能度量来量化。性能度量可根据来自用户经由用户接口对计算设备的输入来定义。性能度量可基于特定参数。该参数可包括,例如,平均频率、特定工作负荷的完成时间、系统的响应性、帧速率、完成事务的数量、完成速率或通信速率(例如,带宽)等等。此外,性能度量可基于多个个体参数或可基于统计操作,例如,多个参数的均值。
[0018]本文描述的实施例可实现于包括多个计算系统的数据中心中。在各种实施例中,数据中心中的计算系统为同质计算系统,具有相同的硬件和软件配置。然而,数据中心中的计算系统还可为异质计算系统,具有不同的硬件和软件配置。
[0019]本文描述的实施例可用于基于由计算系统执行的特定工作负荷来管理计算系统的功耗和性能特性。此外,本文描述的实施例可特别用于执行高性能计算(HPC)操作的数据中心,针对这种数据中心,由各种计算系统执行的相关负荷的完成时间之间的小差值可对数据中心的总体操作具有大影响。
[0020]在下面的描述和权利要求中,术语“耦合”和“连接”及其派生词可被使用。应当理解这些术语并非意图作为相互的同义词。相反,在特定实施例中,“连接”可用于指示两个或多个元件相互直接物理或电接触。“耦合”可表示两个或更多元件直接物理或电接触。然而,“耦合”还可表示两个或更多元件不直接相互接触,但仍相互协作或交互。
[0021]一些实施例可被实现于硬件,固件和软件中的一个或组合中。一些实施例还可实现为存储于机器可读介质上的指令,该指令可被计算平台读取并执行,以执行本文描述的操作。机器可读介质可包括用于以机器(例如计算机)可读的形式存储或传输信息的任何机构。例如,机器可读介质可包括只读存储器(ROM);随机存取存储器(RAM);磁盘存储介质;光存储介质;闪存设备;或电,光,声音或其它形式的传播信号,例如,载波、红外信号、数字信号或传输和/或接收信号的接口等等。
[0022]实施例为一种实现方式或示例。说明书中对“一实施例”、“一个实施例”、“一些实施例”、“各种实施例”或“其它实施例"的引用表示结合该实施例描述的特定特征、结构或特性包括在至少一些实施例中,但不一定包括在本发明的全部实施例中。“ 一实施例”、“一个实施例”或“一些实施例”的各种出现不一定全部指代同一实施例。
[0023]不是所有本文描述和说明的组件、特征、结构、特性等都需要包括于特定的一个或多个实施例中。如果说明书声明了组件、特征、结构或特性“可以”,“可能”,“能”或“能够”被包括,那么例如该特定组件、特征、结构或特性不必须被包括。如果说明书或权利要求提至IJ“一”或“一个”元件,其并非表示只有一个元件。如果说明书或权利要求提到“一个附加”元件,其不排除存在多于一个附加元件。
[0024]应当注意,尽管一些实施例已参考特定实现方式被描述,但其它实现方式根据一些实施例是可能的。另外,电路元件或附图中图示和/或本文描述的其它特征的布置和/或顺序不必以所图示和描述的特定方式布置。许多其它布置根据一些实施例也是可能的。
[0025]在图中示出的每个系统中,各元件在一些情况下可各自具有相同的参考数字或不同的参考数字,以表明所表示的元件可能为不同的和/或类似的。然而,元件可足够灵活以具有不同的实现方式并与本文示出或描述的系统中的一些或全部一起工作。图中示出的各种元件可为相同的或不同的。哪一个称为第一元件并且哪一个称为第二元件是任意的。
[0026]图I为计算设备100的框图,其可用于实现管理本文描述的计算系统的功耗和性能的技术。计算设备100可为,例如,服务器、膝上型计算机、桌面计算机、平板电脑或移动设备等等。计算设备100可包括被适配为执行存储的指令的处理器102,,以及存储器设备104,其存储可由处理器102执行的指令。处理器102可为单核处理器、多核处理器、计算集群或任何数量的其它配置。存储器设备104可包括随机存取存储器(RAM)、只读存储器(ROM)、闪存或任何其他合适的存储器系统。由处理器102执行的指令可用于实现包括管理任何数量的计算系统的功耗和性能特性的过程。
[0027]处理器102可通过总线106连接至输入/输出(I/O)设备接口 108,输入/输出设备接口 108被适配为把计算设备100连接至一个或多个I/O设备110。I/O设备110可包括,例如:键盘和指点设备,其中指点设备可包括触摸板或触摸屏幕等。I/o设备110可为计算设备100的内建组件或可为在外部连接于计算设备100的设备。
[0028]处理器102还可通过总线106链接至显示器接口 112,显示器接口 112被适配为把计算设备100连接至显示器设备114。显示器设备114可包括作为计算设备100内建组件的显示器屏幕。显示器设备114还可包括在外部连接于计算设备100的计算机监视器、电视或投影仪等等。
[0029]网络接口控制器(NIC) 116可被适配为通过总线106把计算设备100连接至网络118。网络118可为广域网(WAN)、局域网(LAN)或互联网等等。通过网络118,计算设备100可访问数据120。计算设备100还可下载数据120中的任何并在计算设备100的存储设备122中存储数据120。
[0030]通过网络118,计算设备100可以通信方式耦合于多个计算系统124。在各个实施例中,计算系统124被包括于分布式计算环境中。另外,在一些实施例中,计算系统124被包括于数据中心中。计算系统124可为服务器、膝上型计算机、桌面计算机、平板计算机、移动设备等。
[0031]存储设备122可包括硬盘驱动器、光盘驱动器、闪存驱动器、驱动器阵列或其任何组合。存储设备122可包括管理代理126,其被配置为管理计算系统124的操作。例如,计算设备100可为数据中心管理系统,并且管理代理126可为数据中心管理代理,被配置为控制计算系统124的功耗和性能。管理代理126可使用经由网络118接收自任何计算系统124的功耗数据128和性能数据130管理计算系统124的操作。在各个实施例中,管理代理126为被配置为执行这种管理功能的任何类型的应用或程序,。
[0032]每个计算系统124可包括一个或多个局部管理代理(未示出),其可用于基于来自计算设备100中的管理代理126的输入直接控制计算系统124的操作。该局部管理代理可包括节点管理代理(未示出)和组件管理代理(未示出),如进一步关于图2讨论的。
[0033]要理解图1的框图并非意图指示计算设备100包括图1中所示的全部组件。另外,取决于特定实现方式的细节,计算设备100可包括图1中未示出的任何数量的附加组件。
[0034]图2为可根据实施例使用的计算环境200的框图。计算环境200可为分布式计算环境,诸如分布式数据中心。计算环境200可包括多个计算系统202,诸如例如,图2中所示的计算系统A 202A和计算系统B 202B。计算系统202可为能够执行本文描述的技术的任何类型的计算系统。例如,计算系统202可为服务器、膝上型计算机、桌面计算机、平板计算机、移动设备等。在各个实施例中,计算系统202为同质的,表示全部计算系统202包括相同的硬件和软件配置。然而,在一些实施例中,计算系统202为异质的,表示计算系统202包括不同的硬件或软件配置。
[0035]计算环境200还可包括数据中心管理系统204。数据中心管理系统204可包括数据中心管理代理(未示出)。数据中心管理代理可为硬件或软件可管理代理或可为主机操作系统(OS)或虚拟化OS。在一些实施例中,数据中心管理系统204为上面关于图1描述的计算设备100。数据中心管理系统204可被配置为监视并管理计算系统202的操作。另外,在一些实施例中,每个计算系统202可包括数据中心管理系统204,其直接驻留在计算系统202 中。
[0036]在各个实施例中,数据中心管理系统204通过计算环境200中的每个计算系统202监视功耗。数据中心管理系统204可使用功耗信息来动态地确定每个计算系统204的功耗限制,以使得计算环境200的总体功耗限制不被超过。例如,如果计算系统202为数据中心中的服务器,则该服务器的功耗限制可被确定以使得整个服务器框架的总体功耗限制不被超过。
[0037]此外,数据中心管理系统204可监视每个计算系统202的性能。计算系统202的性能可根据多个性能度量中的任何来定义,如上所讨论的。数据中心管理系统204可使用性能信息来确定计算系统的期望性能,以及计算系统204的性能容限。性能容限可定义计算系统202之间性能变化量的限制。
[0038]数据中心管理系统204可将功耗限制和性能信息传送至每个计算系统202中的节点管理代理208,如由箭头206指示的。在各个实施例中,数据中心管理系统204经由网络(诸如WAN、LAN或互联网)发送功耗限制、期望性能和性能容限至每个计算系统202中的节点管理代理208。
[0039]节点管理代理208可为被配置为执行针对计算系统202的平台级管理功能的任何类型的应用或程序。此外,节点管理代理208可为计算系统202中的具有多个刀片的系统或机箱。另外,节点管理代理208可为内部系统代理、基本输入/输出系统(BIOS)、固件或OS。
[0040]在各个实施例中,每个计算系统202中的节点管理代理208可确定针对计算系统202中每个中央处理单元(CPU) 210的插座的插座级功耗限制。节点管理代理208可将对应插座级功耗限制以及性能容限传送至计算系统204中的每个中央处理单元(CPU)210,如由箭头212指示的。
[0041]每个CPU 210可包括组件管理代理214,其被配置为动态地保持CPU 210的功耗处于或低于插座级功耗限制。组件管理代理214可为被配置为实现用于管理CPU 210的功耗的策略的任何类型的应用或程序。例如,组件管理代理214可为控制硬件、软件或固件,其为CPU 210或输入/输出控制器的部分。此外,组件管理代理可包括一个或多个集成单元。组件管理代理214可被配置为将CPU 210的性能保持在性能容限内。
[0042]每个计算系统202中的组件管理代理214可将插座级功耗和性能信息传送至节点管理代理208,如由箭头212指示的。节点管理代理208可使用插座级功耗和性能信息来确定计算系统202的平台级功耗和性能。此外,节点管理代理208可将计算系统202的平台级功耗和性能传送至数据中心管理系统204,如由箭头216指示的。在一些实施例中,数据中心管理系统204包括聚合器(未示出),其被配置为编译接收自计算系统202的节点管理代理208的平台级功耗和性能信息。
[0043]在各个实施例中,数据中心管理系统204使用平台级功耗和性能信息来管理计算系统202的操作。例如,数据中心管理系统204可基于计算系统202的总体功耗高于还是低于总体功耗限制来调整计算系统202的功耗限制。此外,数据中心管理系统204可基于平台级功耗和性能信息调整计算系统202的性能。
[0044]数据中心管理系统204可根据以下关于图3讨论的方法300管理每个计算系统202的功耗和性能。此外,数据中心管理系统204可利用多个特定策略(例如,关于图4-10讨论的方法400-1000)中的任一个来管理每个计算系统202的功耗和性能。
[0045]要理解,图2的框图并非意图指示计算环境200包括图2中所示的全部组件。另夕卜,根据特定实现方式的细节,计算环境200可包括任何数量的图2中未示出的附加组件。例如,多个数据中心管理系统204可被包括于计算环境200中。此外,多个节点管理代理208可被包括在一个计算系统202中或多个组件管理代理214可被包括在一个插座中。在这种实例中,一个代理可作为其它代理的主导装置或主人。这种所有权关系可以是固定的或可出于各种理由而改变。
[0046]在各个实施例中,数据中心管理系统204和任何节点管理代理208之间的通信以及任何节点管理代理208和对应组件管理代理214之间的通信可经由良好定义的协议促进。例如,这种通信可经由硬件信号或软件机制传输。此外,这种通信可经由网络传输。
[0047]图3为过程流程图,示出了用于管理计算系统的功耗和性能的方法300。计算系统可包括,例如:以上关于图I讨论的计算设备100和计算系统124或以上关于图2讨论的计算系统202。在各个实施例中,计算系统为同质计算系统,具有相同的硬件和软件配置。另夕卜,计算系统可包括数据中心中任何数量的计算系统,诸如例如,数据中心中的一个或多个服务器框架。
[0048]此外,方法300可经由远程计算系统中的数据中心管理代理执行。数据中心管理代理可包括例如:以上关于图1讨论的管理代理126或以上关于图2讨论的数据中心管理系统204。
[0049]在各个实施例中,方法300用于将多个计算系统的总体功耗保持为低于功率预算,例如,总体功耗限制。此外,方法300可用于将计算系统的性能保持在指定性能容限内。这可根据用于定义计算系统的性能的特定性能度量来保证全部计算系统操作在类似响应性级别、帧速率、频率、完成速率、带宽等。
[0050]根据方法300,计算系统的总体功耗限制可被确定。在一些实施例中,总体功耗限制根据功率的可用量而由数据中心管理代理自动确定。在其它实施例中,总体功耗限制响应于来自数据中心管理代理驻留在其上的计算系统的用户的输入而确定。
[0051]方法在框302开始,在该处计算系统的总体功耗被监视以确定总体功耗高于还是低于总体功耗限制。在一些实施例中,总体功耗由数据中心管理代理周期性地监视。这例如可通过从对应节点管理代理接收与每个计算系统的功耗和性能有关的信息来执行。这种信息可在数据中心管理代理的聚合器中被编译,并且可被用于确定计算系统的总体功耗高于还是低于总体功耗限制。
[0052]在框304,每个计算系统的性能被监视以确定每个计算系统的性能是否在性能容限内。取决于用于定义性能的特定性能度量,计算系统的性能可根据各种技术中的任一个而确定。
[0053]在框306,计算系统的功耗限制或计算系统的性能或两者被调整以使的总体功耗低于总体功耗限制并且每个计算系统的性能处于性能容限内。在各个实施例中,对计算系统的功耗限制和性能的调整根据以下关于图4-10描述的方法400-1000中的任一个来确定。
[0054]在同质计算系统的情况下,计算系统的性能可被统一调整,以使得总体功耗低于功耗限制。因此,计算系统可操作在相同的性能。
[0055]在一些实施例中,计算系统的功耗限制从远程计算系统中的数据中心管理代理被发送至计算系统中的节点管理代理。节点管理代理可被配置为将计算系统的功耗保持为低于功耗限制并且将计算系统的性能保持在性能容限内。节点管理代理可通过确定针对计算系统中的每个CPU的插座的插座级功耗限制和期望性能来管理计算系统的功耗和性能。此夕卜,每个CPU插座的组件管理代理可被配置为将功耗保持为低于插座级功耗限制并且将性能保持在性能容限内。
[0056]要理解的是,图3的过程流程图并非意图指示方法300的步骤要以任何特定顺序执行或在每种情况中都包括方法300的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括在方法300中。
[0057]图4为过程流程图,示出了用于基于计算系统的总体功耗调整计算系统的性能的方法400。在框402,方法开始为周期性监视计算系统的总体功耗。此外,可针对总体功耗确定上下阈值功耗。保持总体功耗低于上阈值功耗并且高于下阈值功耗可保证计算系统高效地操作。
[0058]在框404,响应于确定总体功耗超过上阈值功耗,计算系统的性能被减小。在各个实施例中,计算系统的性能被减小以使得总体功耗低于上阈值功耗。另外,如果计算系统是同质的,则计算系统的性能可同时并且相同地被减小。
[0059]在框406,响应于确定总体功耗低于下阈值功耗,计算系统的性能被增加。在各个实施例中,计算系统的性能被增加以使得总体功耗高于下阈值功耗。另外,如果计算系统是同质的,计算系统的性能可同时并且相同地被增加。
[0060]要理解,图4的过程流程图并非意图指示方法400的步骤要以任何特定顺序执行或在每种情况中都包括方法400的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括于方法400中。
[0061]图5为过程流程图,示出了用于确定计算系统的目标性能状态的方法500。如本文所使用的,术语“性能状态”指代在特定功耗操作或在特定功耗范围内操作的特定计算系统的性能级别。
[0062]方法在框502开始,在该处针对计算系统中设备的每个性能状态确定性能和最大功耗。设备可为例如包括在每个计算系统中的处理器。此外,设备可为包括在每个计算系统中的I/o设备。在一些实施例中,设备的性能状态被分析以总体上确定计算系统的近似性能状态。
[0063]在各个实施例中,根据高级配置和电源接口(ACPI)性能状态表确定每个性能状态的性能和最大功耗。ACPI性能状态表是用于确定计算系统中特定设备的功率和性能特性的工业标准。例如,设备的性能状态可指定特定设备的频率和最大功率数量。
[0064]在框504,基于每个性能状态的性能和最大功耗确定计算系统的目标性能状态。目标性能状态可被确定以使得总体功耗低于总体功耗限制并且计算系统的性能在性能容限内。此外,计算系统的性能状态可根据目标性能状态来调整。因为计算系统是同质的,所以计算系统的性能状态可同时并且相同地被调整。
[0065]在各个实施例中,如果总体功耗超过总体功耗限制,数据中心管理代理可选择负载周期,以在更高和更低的性能状态之间操作计算系统。负载周期的时段可根据在初始性能状态的理论功耗与在目标性能状态的理论功耗的比率来计算。负载周期的时段还可根据在初始性能状态的测量功耗与在目标性能状态的测量功耗的比率来计算。
[0066]要理解,图5的过程流程图并非意图指示方法500的步骤要以任何特定顺序执行或在每种情况中都包括方法500的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括于方法500中。
[0067]图6为过程流程图,示出了用于基于在指定时间段上收集的功耗和性能数据调整每个计算系统的功耗限制的方法600。方法在框602开始,在该处每个计算系统的功耗限制通过总体功耗限制除以计算系统的总数来确定。在各个实施例中,根据方法600利用的计算系统为同质计算系统。
[0068]在框604,计算系统被监视,以确定在指定时间段上的每个计算系统的功耗和性能。指定时间段可通过数据中心管理代理来自动确定或可通过数据中心管理代理驻留在其上的计算系统的用户确定。
[0069]在框606,基于特定时间段上的功耗和性能调整每个计算系统的功耗限制。每个计算设备的功耗限制可被调整以使得计算系统的性能保持在性能容限内。此外,数据中心管理代理可使用各种技术中的任一个来计算对每个计算设备的功耗限制的合适调整。例如,功耗限制可被增加或减小,以使得计算系统的操作一次仅由一个性能状态改变。作为另一示例,功耗限制可基于使用计算系统的ACPI性能状态表执行的计算而被增加或减小。
[0070]要理解,图6的过程流程图并非意图指示方法600的步骤要以任何特定顺序执行或在每种情况中都包括方法600的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括于方法600中。
[0071]图7为过程流程图,示出了用于基于使用测量的功耗和性能数据构建的表来确定每个计算系统的功耗限制的方法700。方法在框702开始,在其处每个计算系统操作于多个性能状态中的每一个。每个性能状态可包括性能和最大功耗。
[0072]在框704,与每个性能状态中的每个计算系统的功耗和性能相关的数据被收集。这种功耗和性能信息可按照规则或不规则间隔被收集。
[0073]在框706,基于所述数据构建包括测量的性能状态的表。每个测量的性能状态可包括测量的性能和测量的平均功耗。该表可比ACPI性能状态表更精确,这是因为该表基于收集自计算系统的实际数据。
[0074]在框708,该表被用于确定每个计算系统的功耗限制。功耗限制可被确定以使得计算系统的性能在性能容限内。
[0075]要理解,图7的过程流程图并非意图指示方法700的步骤要以任何特定顺序执行或在每种情况中都包括方法700的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括于方法700中。
[0076]图8为过程流程图,示出了用于基于在处于统一功耗的各计算系统的操作期间收集的性能数据来调整每个计算系统功耗限制的方法800。在各个实施例中,根据方法800利用的计算系统为同质计算系统。例如,可执行这样的方法800,其中希望仅操作具有最高性能的指定数量的计算系统。
[0077]方法在框802开始,在其处计算系统以统一功耗操作。统一功耗可通过总体功耗限制除以计算系统的总数来确定。
[0078]在框804,计算系统被监视,以确定在指定时间段上每个计算系统的性能。在框806,具有最高性能的指定数量的计算系统被确定。在框808,不在具有最高性能的指定数量的计算系统内的每个计算系统被断电。
[0079]在框810,基于特定时间段上的每个计算系统的性能调整指定数量的计算系统的每一个的功耗限制。例如,因为多个计算系统已被断电,针对指定数量的计算系统的每一个的功耗限制可被增加。这些计算系统的功耗限制可被确定以使得性能容限不被超过。
[0080]要理解,图8的过程流程图并非意图指示方法800的步骤要以任何特定顺序执行或在每种情况中都包括方法800的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括于方法800中。
[0081]图9为过程流程图,示出了用于基于处于统一性能的计算系统的操作期间收集的功耗数据来调整每个计算系统的性能的方法900。在各个实施例中,根据方法900利用的计算系统为同质计算系统。例如,可执行这样的方法900,其中希望仅操作具有最低功耗的指定数量的计算系统。
[0082]方法在框902开始,在该处计算系统以统一性能被操作。可使用针对计算系统的ACPI性能状态表来确定统一性能。此外,可基于来自数据中心管理代理驻留于其上的计算系统的用户的输入来确定统一性能。统一性能可被确定以使得总体功耗限制不被超过。
[0083]在框904,计算系统被监视,以确定每个计算系统在指定时间段上的功耗。在框906,具有最低功耗的指定数量的计算系统被确定。在框908,不在具有最低功耗的指定数量的计算系统内的每个计算系统被断电。
[0084]在框910,基于每个计算系统在特定时间段上的功耗来调整指定数量的计算系统中每一个的性能。例如,因为多个计算系统已被断电,指定数量的计算系统中每一个的性能可被增加。然而,计算系统的性能可被确定以使得总体功耗限制不被超过。
[0085]要理解,图9的过程流程图并非意图指示方法900的步骤要以任何特定顺序执行或在每种情况中都包括方法900的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括于方法900中。
[0086]图10为过程流程图,示出了用于基于计算系统达到特定边界条件的时间来调整每个计算系统的功耗限制的方法1000。根据方法1000,每个计算系统的功耗限制通过总体功耗限制除以计算系统的总数来确定。
[0087]方法在框1002开始,在该处每个计算系统的功耗和每个计算系统达到特定边界条件的时间被监视。例如,每个计算系统可在其在执行计算期间(例如,在执行特定工作负荷期间)达到特定边界条件时向数据中心管理代理报告。特定边界条件可为,例如,期望横跨各个计算系统的工作负荷同步的时间。此外,特定边界条件可为特定系统调用,该调用对全部计算系统可见。
[0088]在框1004,在最慢时间段中达到特定边界条件的计算系统子集的功耗限制被增力口。在框1006,在最快时间段中达到特定边界条件的剩余数量的计算系统的功耗限制被减小。这可保证具有不同性能特性的计算系统行在类似时间(例如,在特定时间段内)结束特定工作负荷的执行。
[0089]要理解,图10的过程流程图并非意图指示方法1000的步骤要以任何特定顺序执行或在每种情况中都包括方法1000的全部步骤。另外,取决于特定实现方式的细节,任何数量的附加步骤可包括于方法1000中。
[0090]在各个实施例中,方法400-1000中任一个可相互结合使用。换言之,取决于特定实现方式的细节,方法400-1000中任一个可按照任何顺序或按任何类型的组合执行。例如,方法800或900可在其他方法400-700或1000中任一个的实现之前执行。
[0091]方法300-1000可针对多个不同类型的计算系统中任一个被执行。例如,计算系统可被包括于HPC环境中或计算系统可为超级计算机。此外,计算系统可包括用于实现搜索引擎或电子商务存储等等的服务器或其它计算设备。因此,方法300-1000可根据方法300-1000正针对其执行的计算系统的特定组的性质来合适地调整。
[0092]方法300-1000中的任一个可在计算系统的操作期间的各个时间点被执行。例如,方法300-1000中的任一个可在计算系统正在被构建和配置时或在使用预先确定的工作负荷的计算系统启动期间被执行。在这种实例中,功耗和性能数据可例如存储于易失性或非易失性存储器中或外部数据库中。方法300-1000中的任一个可在实际工作计算被执行之前按需执行。在这种实例中,工作负荷可被预装载或可在运行中被提供。另外,方法300-1000中的任一个可在计算系统的操作期间被连续地或周期性地执行。
[0093]图11为示出有形的、非暂存计算机可读介质1100的框图,计算机可读介质1100存储用于管理计算系统的功耗和性能的代码。有形的,非暂存计算机可读介质1100可由处理器1102通过计算机总线1104访问。此外,有形的,非暂存计算机可读介质1100可包括被配置为指挥处理器1102执行本文描述的方法的代码。
[0094]本文讨论的各个软件组件可被存储于有形的计算机可读介质1100上,如图11中指示的。例如,功耗监视模块1106可被配置为确定多个计算系统的功耗以及计算系统的总体功耗。性能监视模块1108可被配置为确定计算系统的性能。性能监视模块1108还可被配置为确定计算系统的性能的差值是否超过性能容限。另外,功耗和性能管理模块1110可被配置为调整计算系统的功耗限制和性能,以使得总体功耗限制和性能容限不被超过。
[0095]应当理解,图11的框图并非意图指示有形的、非暂存计算机可读介质1100包括图11中所示的全部组件。另外,取决于特定实现方式的细节,图11中未示出的任何数量的附加组件可被包括于有形的、非暂存计算机可读介质1100中。
[0096]示例 I
[0097]本文提供了一种用于管理计算系统的功耗和性能的方法。方法包括监视计算系统的总体功耗,以确定总体功耗高于还是低于总体功耗限制,并且监视每个计算系统的性能以确定该性能是否在性能容限内。该方法进一步包括调整计算系统的功耗限制或计算系统的性能,以使得计算系统的总体功耗低于总体功耗限制并且每个计算系统的性能在性能容限内。
[0098]该方法可经由远程计算系统中的数据中心管理代理来执行。此外,计算系统的功耗限制可从远程计算系统的数据中心管理代理被发送至计算系统中的节点管理代理。节点管理代理可被配置为将计算系统的功耗保持为低于功耗限制并且保持计算系统的性能在性能容限内。
[0099]该计算系统可包括具有相同的硬件配置和相同的软件配置的同质计算系统。该计算系统的性能可被统一调整,以使得计算系统操作在相同的性能并且总体功耗低于总体功耗限制。
[0100]计算系统的总体功耗可被周期性地监视。响应于确定总体功耗超过上阈值功耗,计算系统的性能可被减小,以使得总体功耗低于上阈值功耗。响应于确定总体功耗低于下阈值功耗,计算系统的性能可被增加,以使得总体功耗高于下阈值功耗。
[0101]可根据高级配置和电源接口(ACPI)性能状态表来确定针对计算系统中的设备的每个性能状态的性能和最大功耗。计算系统的目标性能状态可基于针对每个性能状态的性能和最大功耗来确定。目标性能状态可被确定以使得总体功耗低于总体功耗限制并且计算系统的性能在性能各限内。
[0102]每个计算系统的功耗限制可通过总体功耗限制除以计算系统的总数来确定。计算系统可被监视以确定在指定时间段上每个计算系统的功耗和性能。每个计算系统的功耗限制可基于特定时间段上的功耗和性能被调整。每个计算设备的功耗限制可被调整以使得计算系统的性能保持在性能容限内。
[0103]计算系统可在统一功耗操作。计算系统可被监视以确定指定时间段上的每个计算系统的性能。具有最高性能的指定数量的计算系统可被确定。不在具有最高性能的指定数量的计算系统中的每个计算系统可被断电。针对指定数量的计算系统中的每一个的功耗限制可基于特定时间段上的每个计算系统的性能被调整。
[0104]计算系统可操作在统一性能。计算系统可被监视以确定每个计算系统在指定时间段上的功耗,并且具有最低功耗的指定数量的计算系统可被确定。不在具有最低功耗的指定数量的计算系统中的每个计算系统可被断电。指定数量的计算系统中每一个的性能可基于特定时间段上每个计算系统的功耗来调整。
[0105]每个计算系统可操作于多个性能状态的每一个中,其中每个性能状态包括性能和最大功耗。与每个性能状态中的每个计算系统的功耗和性能相关的数据可被收集。包括测量的性能状态的表可基于该数据被构建,其中每个测量的性能状态包括平均性能和平均功耗。该表可用于确定每个计算系统的功耗限制,其中功耗限制被确定以使得计算系统的性能在性能各限内。
[0106]每个计算系统的功耗以及每个计算系统达到特定边界条件的时间可被监视。针对在最慢时间段中达到特定边界条件的计算系统子集的功耗限制可被增加。针对在最快时间段中达到特定边界条件的剩余数量的计算系统的功耗限制可被减小。
[0107]示例2
[0108]本文提供了一种用于管理计算系统的功耗和性能的系统。该系统包括数据中心管理系统,其被配置为基于计算系统的总体功耗限制和性能容限来确定针对数据中心中的多个计算系统中每一个的平台级功耗限制。该系统还包括计算系统。每个计算系统包括节点管理代理,节点管理代理被配置为通过确定针对计算系统平台中每个插座的插座级功耗限制来将计算系统的平台级功耗保持为低于平台级功耗限制。每个计算系统还包括多个组件管理代理,其中每个组件管理代理被配置为保持针对计算系统中对应插座的插座级功耗限制。
[0109]该性能容限可包括计算系统之间指定的最大性能差值。此外,计算系统可为具有相同的硬件配置和相同的软件配置的同质计算系统。
[0110]该数据中心管理系统可被配置为根据高级配置和电源接口(ACPI)性能状态表确定针对计算系统中设备每个性能状态的性能和最大功耗。该数据中心管理系统还可被配置为基于针对每个性能状态的性能和最大功耗来确定计算系统的目标性能状态。目标性能状态可被确定以使得总体功耗低于总体功耗限制并且计算系统的性能在性能容限内。
[0111]该数据中心管理系统可被配置为通过总体功耗限制除以计算系统的总数来确定每个计算系统的功耗限制并且监视计算系统以确定每个计算系统在指定时间段上的功耗和性能。数据中心管理系统还可被配置为基于特定时间段上的功耗和性能来调整每个计算系统的功耗限制,其中每个计算设备的功耗限制被调整以使得计算系统的性能保持在性能容限内。
[0112]该数据中心管理系统可被配置为在多个性能状态的每一个中操作每个计算系统,其中每个性能状态包含性能和最大功耗,并收集与每个性能状态中的每个计算系统的功耗和性能相关的数据。数据中心管理系统还可被配置为基于该数据构建包括测量的性能状态的表,其中每个测量的性能状态包括平均性能和平均功耗。另外,数据中心管理系统可被配置为使用该表来确定每个计算系统的功耗限制,其中该功耗限制被确定以使得计算系统的性能在性能容限内。
[0113]该数据中心管理系统可被配置为调整每个计算系统的平台级功耗限制以使得计算系统的总体功耗小于总体功耗限制并且计算系统的性能在性能容限内。
[0114]示例3
[0115]本文提供了至少一个机器可读介质。该机器可读介质包括存储在其中的指令,响应于在计算设备上被执行,使计算设备监视计算系统的合并功耗,以确定合并的功耗高于还是低于合并的功耗限制,并且监视计算系统的性能之间的差值以确定该差值高于还是低于性能差值限制。另外,该指令使计算设备调整计算系统的功耗限制或计算系统的性能,以使得该合并的功耗低于该合并功的耗限制并且性能之间的差值低于性能差值限制。
[0116]该计算系统可包括具有相同的硬件配置和相同的软件配置的同质计算系统。该指令可使计算设备根据高级配置和电源接口(ACPI)性能状态表确定针对计算系统中设备的每个性能状态的性能和最大功耗。该指令还可使计算设备基于针对每个性能状态的性能和最大功耗确定计算系统的目标性能状态。该目标性能状态可被确定以使得合并的功耗低于合并的功耗限制并且性能之间的差值低于性能差值限制。
[0117]该指令可使计算设备通过把合并的功耗限制除以计算系统的总数来确定每个计算系统的功耗限制,并监视计算系统以确定每个计算系统在指定时间段上的功耗和性能。该指令还可使计算设备基于特定时间段上的功耗和性能来调整每个计算系统的功耗限制,其中每个计算设备的功耗限制被调整以使得计算系统的性能之间的差值低于性能差值限制。
[0118]该指令可使计算设备在多个性能状态的每一个中操作每个计算系统,其中每个性能状态包含性能和最大功耗,并且收集与在每个性能状态中的每个计算系统的功耗和性能相关的数据。该指令还可使计算设备基于该数据构建包括测量的性能状态的表,其中每个测量的性能状态包括平均性能和平均功耗。进一步,该指令可使计算设备使用该表来确定每个计算系统的功耗限制,其中该功耗限制被确定以使得性能之间的差值低于性能差值限制。要理解,前述示例中的细节可在一个或多个实施例中的任何地方使用。例如,上述计算设备的全部可选特征还可关于本文描述的方法或计算机可读介质中的任一个被实现。此夕卜,尽管流程图和/或状态图可在本文中用于描述实施例,但本发明不限于那些图或不限于本文中对应的描述。例如,流程不必经过每个图示的框或状态或按照如本文所图示和描述的完全相同的顺序移动。
[0119]本发明不限于本文所列的特定细节。事实上,受益于本公开的本领域技术人员将会理解,在本发明的范围内,根据在前描述和附图可作出许多其它变化。因此,所附权利要求包括定义本发明的范围的对其的任何修改。
【权利要求】
1.一种用于管理计算系统的功耗和性能的方法,包含: 监视所述计算系统的总体功耗以确定所述总体功耗高于还是低于总体功耗限制; 监视每个计算系统的性能以确定每个计算系统的性能是否在性能容限内;以及调整所述计算系统的功耗限制或所述计算系统的性能,以使所述计算系统的总体功耗低于总体功耗限制并且每个计算系统的性能处于所述性能容限内。
2.根据权利要求1的方法,其中所述方法经由远程计算系统中的数据中心管理代理执行。
3.根据权利要求2的方法,包含:从所述远程计算系统中的数据中心管理代理发送计算系统的功耗限制至所述计算系统中的节点管理代理,所述节点管理代理被配置为将所述计算系统的功耗保持为低于所述功耗限制并且所述计算系统的性能在所述性能容限内。
4.根据权利要求1的方法,其中所述计算系统包含具有相同的硬件配置和相同的软件配置的同质计算系统,。
5.根据权利要求4的方法,包含:统一调整所述计算系统的性能,以使所述计算系统操作于相同的性能并且所述总体功耗低于所述总体功耗限制。
6.根据权利要求4的方法,包含: 周期性地监视所述计算系统的总体功耗; 响应于确定所述总体功耗超过上阈值功耗,减小所述计算系统的性能,以使所述总体功耗低于所述上阈值功耗;以及 响应于确定所述总体功耗低于下阈值功耗,增加所述计算系统的性能,以使所述总体功耗高于所述下阈值功耗。
7.根据权利要求4的方法,包含: 根据高级配置和电源接口(ACPI)性能状态表确定针对所述计算系统中设备每个性能状态的性能和最大功耗;以及 基于针对每个性能状态的性能和最大功耗确定所述计算系统的目标性能状态,其中所述目标性能状态被确定,以使所述总体功耗低于所述总体功耗限制并且所述计算系统的性能在所述性能容限内。
8.根据权利要求4的方法,包含: 通过把所述总体功耗限制除以计算系统的总数确定每个计算系统的功耗限制; 监视所述计算系统以确定每个计算系统在指定时间段上的功耗和性能;以及基于在所述特定时间段上的功耗和性能来调整每个计算系统的功耗限制,其中每个计算设备的功耗限制被调整,以使所述计算系统的性能保持在所述性能容限内。
9.根据权利要求4的方法,包含: 以统一功耗操作所述计算系统; 监视所述计算系统以确定在指定时间段上每个计算系统的性能; 确定具有最高性能的指定数量的计算系统; 将不在具有所述最高性能的所述指定数量的计算系统中的每个计算系统断电;以及基于所述特定时间段上每个计算系统的性能来调整所述指定数量的计算系统中每一个的功耗限制。
10.根据权利要求4的方法,包含: 以统一性能操作所述计算系统; 监视所述计算系统以确定在指定时间段上每个计算系统的功耗; 确定具有最低功耗的指定数量的计算系统; 将不在具有所述最低功耗的所述指定数量的计算系统中的每个计算系统断电;以及 基于在特定时间段上每个计算系统的功耗来调整指定数量的计算系统中每一个的性倉泛。
11.根据权利要求1的方法,包含: 在多个性能状态的每一个中操作每个计算系统,其中每个性能状态包含性能和最大功耗; 收集与每个计算系统在每个性能状态中的功耗和性能相关的数据; 基于所述数据构建包含测量的性能状态的表,其中每个测量的性能状态包含平均性能和平均功耗;以及 使用所述表确定每个计算系统的功耗限制,其中所述功耗限制被确定以使所述计算系统的性能在所述性能容限内。
12.根据权利要求1的方法,包含: 监视每个计算系统的功耗和每个计算系统达到特定边界条件的时间; 增加在最慢时间段中达到所述特定边界条件的计算系统子集的功耗限制;以及 减小在最快时间段中达到所述特定边界条件的剩余数量的计算系统的功耗限制。
13.一种用于管理计算系统的功耗和性能的系统,包含: 数据中心管理系统,被配置为:基于多个计算系统的总体功耗限制和性能容限来确定数据中心中所述多个计算系统的每一个的平台级功耗限制;以及所述多个计算系统,其中每个计算系统包含: 节点管理代理,被配置为:通过确定所述计算系统的平台中的每个插座的插座级功耗限制来将所述计算系统的平台级功耗保持为低于所述平台级功耗限制;以及 多个组件管理代理,其中每个组件管理代理被配置为保持所述计算系统中对应插座的插座级功耗限制。
14.根据权利要求13的系统,其中所述性能容限包含所述多个计算系统之间的指定最大性能差值。
15.根据权利要求13的系统,其中所述多个计算系统包含具有相同的硬件配置和相同的软件配置的同质计算系统。
16.根据权利要求15的系统,其中所述数据中心管理系统被配置为: 根据高级配置和电源接口(ACPI)性能状态表确定所述计算系统中设备的每个性能状态的性能和最大功耗;并且 基于每个性能状态的所述性能和所述最大功耗确定所述计算系统的目标性能状态,其中所述目标性能状态被确定以使所述总体功耗低于所述总体功耗限制并且所述计算系统的所述性能在所述性能容限内。
17.根据权利要求15的系统,其中所述数据中心管理系统被配置为: 通过把所述总体功耗限制除以计算系统的总数来确定每个计算系统的功耗限制; 监视所述计算系统以确定每个计算系统在指定时间段上的功耗和性能;以及 基于在所述特定时间段上的所述功耗和性能调整每个计算系统的功耗限制,其中每个计算设备的所述功耗限制被调整以使所述计算系统的所述性能保持在所述性能容限内。
18.根据权利要求13的系统,其中所述数据中心管理系统被配置为: 在多个性能状态的每一个中操作每个计算系统,其中每个性能状态包含性能和最大功耗; 收集与每个性能状态中的每个计算系统的功耗和性能有关的数据; 基于所述数据构建包含测量的性能状态的表,其中每个所述测量的性能状态包含平均性能和平均功耗;以及 使用所述表确定每个计算系统的所述功耗限制,其中所述功耗限制被确定以使所述计算系统的所述性能在所述性能容限内。
19.根据权利要求13的系统,其中所述数据中心管理系统被配置为:调整针对所述多个计算系统中的每一个的平台级功耗限制,以使所述多个计算系统的总体功耗小于所述总体功耗限制并且所述多个计算系统的性能在所述性能容限内。
20.至少一个机器可读介质,具有存储在其中的指令,响应于在计算设备上执行,所述指令使所述计算设备: 监视所述计算系统的合并功耗,以确定合并功耗高于还是低于合并功耗限制; 监视所述计算系统的性能之间的差值,以确定所述差值高于还是低于性能差值限制;并且 调整所述计算系统的功耗限制或所述计算系统的性能,以使所述合并功耗低于所述合并功耗限制并且所述性能之间的所述差值低于所述性能差值限制。
21.根据权利要求20的至少一个机器可读介质,其中所述计算系统包含具有相同的硬件配置和相同的软件配置的同质计算系统。
22.根据权利要求21的至少一个机器可读介质,其中所述指令使所述计算设备: 根据高级配置和电源接口(ACPI)性能状态表确定针对所述计算系统中设备的每个性能状态的性能和最大功耗;并且 基于每个性能状态的性能和最大功耗确定所述计算系统的目标性能状态,其中所述目标性能状态被确定以使所述合并功耗低于所述合并功耗限制并且所述性能之间的差值低于所述性能差值限制。
23.根据权利要求21的至少一个机器可读介质,其中所述指令使所述计算设备: 通过把所述合并功耗限制除以计算系统的总数确定每个计算系统的功耗限制: 监视所述计算系统以确定每个计算系统在指定时间段上的功耗和性能;以及 基于所述特定时间段上的所述功耗和所述性能调整每个计算系统的所述功耗限制,其中每个计算设备的所述功耗限制被调整以使所述计算系统的所述性能之间的差值低于所述性能差值限制。
24.根据权利要求20的至少一个机器可读介质,其中所述指令使所述计算设备: 在多个性能状态的每一个中操作每个计算系统,其中每个性能状态包含性能和最大功耗; 收集与每个性能状态中的每个计算系统的功耗和性能相关的数据; 基于所述数据构建包含测量的性能状态的表,其中每个所述测量的性能状态包含平均性能和平均功耗;以及 使用所述表确定每个计算系统的所述功耗限制,其中所述功耗限制被确定以使所述性能之间的所述差值低于所述性能差值限制。
【文档编号】G06F1/28GK104335137SQ201280072500
【公开日】2015年2月4日 申请日期:2012年5月17日 优先权日:2012年5月17日
【发明者】D·V·博达斯, J·H·克拉福德, A·G·加拉 申请人:英特尔公司