专利名称:管理分布式计算系统中的功率供应的制作方法
管理分布式计算系统中的功率供应背景向诸如数据中心、网格、云、容器等大規模计算基础结构中的大量的分布式计算元件供应功率(power)通常是ー个具有挑战性的问题。通常,使用静态连线(wiring)和功率备份基础结构来将固定的功率预算或功率量分配到多个功率消耗元件,包括计算机服务器、存储设施、以及网络设备等(统称为计算元件)。这些元件的功率消耗不是静态的,而是经常随着在这些元件上执行的用户应用的动态工作负载或数据访问模式而改变。由这些改变所带来的ー个问题在于静态功率分配基础结构可能即便在其他元件存在多余容量时也不能容易地向需要功率的元件重新分配功率。目前,为了在这种改变期间保持系统工作,向该系统的每ー不同部分提供大量的多余功率容量以便能够适应每一部分中的动态需求变化。因此,在功率供应系统的ー个部分中功率可能未被充分利用,而同时在该功率供应系统的另一部分中功率可能不足。 下面讨论与动态功率管理相关的技木。概述以下概述仅是为了介绍在以下详细描述中讨论的某些概念而被包括的。本概述并不是全面的,并且不g在描绘所要求保护的主题的范围,该范围由所附的权利要求书来阐明。简言之,可以在线方式,或者将在线方式与离线方式相组合地,监视各计算元件的功率消耗,并且可跨越功率分配基础结构将功率使用与功率可用性或指定预算相比较。例如,功率分配基础结构可能跨数据中心联位(房间)、机架、电路、容器、或个体服务器或群集具有固定的功率预算。当超出被预算的边界的一个或多个处的功率预算(或接近超出或预测要超出)时,可启动功率预算实施来主动地(或抢先地)减少该基础结构中的过载部分(或者预测要过载的部分,分别地)中的功率使用。基于用户和/或操作者所指定的功率管理策略,使用一个或多个实施机制来控制功率使用。这些机制可包括以下的或其他的。工作负载中导致増加的功率使用的部分或全部可被迁移到功率基础结构中没有超出功率预算的那些部分(例如,不同的联位(colo))。对于无状态服务,可终止过载点处的应用实例或托管(host)应用实例的虚拟机(VM),并且在稍后的时间在同一服务器或不同服务器上实例化新的实例或托管新实例的VM ;即便在应用状态可被重新创建的情况下(例如,在即时消息收发服务中使用存储在用户客户端中的信息),这些技术也是适用的。应用组件本身或托管应用组件的虚拟机可被迁移或临时挂起执行(例如,分页(page)到存储)并在稍后的时间在同一服务器或不同服务器上恢复,过载部分中的服务器可被关闭或变换到低功率执行状态或低功率睡眠状态并在该基础结构的其他部分中启动类似的服务器。进入数据中心的用户エ作负载可被重新定向到同一数据中心或其他数据中心中的非过载部分中的服务器。可通过減少某些服务器(例如,执行低优先级或低收益应用的那些服务器)上的CPU处理器频率(和/或存储器/高速缓存分配以及存储器带宽以及其他资源)来减少那些服务器上的功率使用。可減少分配给某些应用的CPU时间,从而允许处理器以低功率执行状态或低功率睡眠状态花费更多时间,并因此减少平均功率提取。可向用户、操作者、以及软件应用发送自动化的功率警告,可通过改变它们的处理类型(例如,电影流传输服务器可从高清分辨率切換到标准清晰度)来对所述警告进行响应,并且減少的工作负载減少了所提取的功率。可重定向进入的用户请求,并且可基于可用功率容量、动态功率定价/可用性、托管计算元件的可用性及容量、迁移成本(诸如迁移中导致的带宽和等待时间)以及其他因素来跨地理上分布的数据中心迁移工作负载。还可调用由所部属的软件和硬件提供的其他功率控制选项。许多附带特征将參考以下的详细描述并结合附图
考虑以在下文解释。附图简述根据附图阅读以下详细描述,将更好地理解本发明,其中在所附描述中使用相同的附图标记来指代相同的部分。图I示出用于ー计算基础结构的功率分配系统。
图2示出计算基础结构。图3示出用于实现能量实施模块(EEM)功能的两个模块。图4示出用于跨机架管理功率消耗的一实现。图5示出由管理系统执行的实例功率管理过程。详细描述功率分配概览图I示出用于ー计算基础结构的功率分配系统100。大多数数据中心、服务器场等具有某种程度上固定的功率供应系统。即,功率是以固定部分提供的,所述部分随着从功率供应器或功率源102到最終消耗功率的计算设备104的距离而減少。尽管已经知道功率供应器或功率源改变分配给各电路的功率的量,然而在任何给定时刻,为了讨论可假定该供应是固定的,或者动态地改变分配的能力是有限的或不便的。例如,忽略在线缆、变压器、开关等中的功率损耗,可以从源102到分配点114 (例如,邻居、校园、功率子站等)、到电路1116、到电路3118、到各设备104以不断减少的固定量106、108、110、112提供功率。所述计算元件或设备104可以是诸如服务器、交換机、路由器、数据存储设备(例如,磁带排(tapebank))、容器、用于计算机刀片等的机架等等的计算元件。数据中心、计算云、或其他类型的协调计算基础结构可依赖功率分配系统100,比如图I中示出的功率分配系统。例如,服务器的群集可用于向顾客提供通用服务/应用托管。在许多情况下,在任何给定时刻运行的各种类型的被托管应用以及它们的工作负载可能以难以预测或预先知晓的方式波动。错误状态、网络或服务器故障、对被托管的应用/服务的增加的外部需求、以及许多其他因素可能无法预测且快速地增加个体服务器、服务器群集、超级计算机、甚至整个数据中心(它们可能在物理上远离而可经由网络集成以提供一致且统ー的托管服务)的计算负载,并因此增加其功率消耗。类似地,低计算工作负载可在功率供应基础结构的另一部分中创建多余的未消耗的功率。图2示出计算基础结构。该示例基础结构具有两个数据中心100。为了讨论,可认为数据中心100是用于安置计算元件或设备104并可能向它们提供功率、冷却、人类操作者访问等的任何任意単元。分布式管理系统130具有获得主机处的应用的资源使用的測量,以及云托管平台的不同运行时属性和特征,和/或聚集任意主机组的测量(例如,存储器使用、CPU利用、活动进程/线程、网络连接、网络带宽使用、功率消耗、盘驱动器活动、存储器错误、高速缓存命中率等)的能力。对于可使用的各种技术之ー的附加描述,參见申请号为12/774,203,代理人档案号为328557. 01,标题为“管理云计算系统上的应用的运行时执行(Managing Runtime Execution of Applications on Cloud ComputingSystems),,、提父日为2012年5月5日的美国专利申请,通过对其引用将其结合于此。功率监视和管理数据中心100可包括各种计算设备104。计算设备104可包括应用托管软件132,该软件允许向设备供应各种应用134,所述应用通常将经由网络访问并提供数据,包括向其外部用户提供数据。计算设备104还可托管数据库、提供DNS或web服务、提供负载平衡器、或其他专用的基础结构型软件。计算设备104还可具有监视组件135,该监视组件向管理系统130提供性能、资源使用、可用性、功率消耗、以及网络统计数据以及其他度量和属性。计算设备104的监视组件135可合作以形成对等网络以计算全局状态的聚集视图,或允许将数据收集到中心服务器或多个逻辑中心化服务器,以用于自动化分析和决策(稍后讨论)、聚集、共享、相关推断等。监视组件135被示出为驻留在托管软件132内,因为托管软件132可便于管理监视组件135。然而,监视组件不需要被托管软件132管理。监视组件135可以是独立的,并且与托管软件132分开,或者在某些计算设备104上,监视组件135可由托管 软件132处理,而在其他计算设备上它们可以是自治的。数据中心100还可具有管理和组织单元,例如,群集136、子群集138、建筑物140、容器、联位、以及其他。各组织单元可对应于固定功率量106、108、110、112中的各个。管理系统130获得关于各层组织(诸如个体设备、和/或群集、和/或子群集、和/或电路等)的功率使用的信息。管理系统130可获得设备104的使用等级并得出组织单元(诸如机架、群集、容器、联位等)的使用等级、以及被托管的应用和VM(虚拟机)的性能、服务级协定(SLA)、以及优先级等。管理系统130进而可确定哪些组织単元具有多余的和/或不足的功率。管理系统130随后可指示(例如,经由网络消息或直接地经由控制台終端)各设备104采取动作,所述动作将减少和/或増加功率消耗。例如,管理系统130可向设备104传送消息来迁移、終止、收紧(throttle down)等应用142。在迁移的情况下,应用142可被移动到(或激活,放松)等另ー设备104上具有多余的可用功率的功率単元上。可为多个其他应用、虚拟机等执行同一过程。净效应将是有问题的功率単元上的功率消耗将降低,而另一功率単元上的功率消耗将增加,但是这两个单元上的功率使用将在它们的指定功率预算内。可为多个功率单元执行同一过程来确保它们的运行时功率使用不超出它们的指定功率预算。在一个实施例中,通过使用虚拟机,管理系统130可调节服务器或设备104上的计算负载(并因此调节功率消耗)。该管理系统可迁移整个虚拟机、減少/増加对虚拟机可用的计算资源(例如,増加/减少虚拟CPU速度、虚拟存储器、高速缓存分配、存储器带宽分配等),比如说,基于它们的优先级、收益级别、利用率,临时挂起其执行并在稍后的时间在同一服务器或在不同服务器上恢复,或以其他方式操纵或重新配置虚拟机来调整计算负载以适合跨越数据中心100、云基础结构等的当前功率分配。在另ー实施例中,管理系统130可根据当前功率使用致使云计算基础结构将用户请求路由到托管在同一数据中心或不同数据中心中的不同服务器。为了阐述,管理系统130可为各功率消耗単元(例如,联位、容器、机架、个体服务器)具有功率封顶(cap)或限制,其中在虚拟化的云环境中实施功率封顶。这可允许功率过度预定(over-subscription),其中被托管的应用或VM的聚集峰值功率消耗超出指定功率预算,这可减少功率供应成本。某些商业可用的服务器或设备104用硬件来提供功率计量和封顶(capping)功能,而用于使用动态电压频率缩放(DVFS)实施功率预算的方法是可用的。然而,当多个分布式应用或虚拟化应用共享一物理服务器时,在服务器上作为整体实施功率封顶影响该服务器上的所有正在运行的VM的性能。由于这些应用中仅一个应用中有多余负载,这可能影响多个应用的性能。而且,这些功率相关的方面可体现在功率策略中。注意,功率策略可指定或表征应用行为的期望特征,诸如在一天的不同时间或在不同用户需要和工作负载期间不同服务器组件(或分组)上的功率消耗的特征。对于功率相关策略的示例,参见上面提到的相关专利申请的图4。还参见对策略的相关讨论。通过允许为个体应用或VM指定功率策略,在每应用或每VM基础上调节功率消耗可是可能的。当物理服务器超出其功率封顶时,在任何服务器或设备104上运行的能量实施模块(管理系统130的实施例或组件)能够通过以下方式来实施封顶根据用户指定的策略,选择性地扼流对个体应用或VM的资源分配、临时挂起正在运行的VM的子集的执行并在稍后时间在同一服务器上或在不同服务器上恢复该子集、终止该VM并在稍后时间在同一服务器上或在不同服务器上实例化托管新应用实例的新VM (在无状态服务的情况下,也用 于支持应用状态的重新创建的有状态服务)、或其他动作。例如,用户策略可能要求用于低优先级应用的VM首先被封顶,并且如果这一动作不足以满足功率封顶,随后可扼流较高优先级的VM。可使用EEM来实现共享云基础结构中的优先级知晓能量记账和实施。假定云服务器托管来自其工作负载动态改变的高优先级交互式应用的VM,以及执行诸如web爬行(crawling)、数据复制、科学工作负载、以及DryadLINQ/Map-Reduce作业等后台任务的低优先级VM。可基于VM放置约束跨越各云服务器来分布来自所有应用的VM。EEM监视所使用的所有服务器上的功率封顶。当EEM检测到正在超出功率封顶或者预测可能在不久的将来超出功率封顶时,它根据所指定的实施策略来实施该封顶。考虑EEM中的用于功率封顶实施的以下示意性策略“减少低优先级后台VM的CPU分配、并且仅在不足以使功率消耗进入指定功率预算时收紧给高优先级VM的资源。”根据该策略,当向服务器机架供应功率的电路断路器接近其容量时,EEM将首先选择该机架内的服务器上的低优先级VM来减少功率使用,而不是收紧整个服务器,收紧整个服务器可能是对在其上运行的高优先级VM施加扼流。功率策略实施图3示出用于实现能量实施模块(EEM)功能的两个模块。功率监视器160模块监视功率使用,而基于优先级的功率分配器(PPA) 162模块实施功率策略。图3还示出应用163、用户策略规范164、以及应用监视器166,其中的每一个均在上面提到的相关专利申请中描述过。关于功率监视器160,如果基于硬件的功率测量设施在该服务器或设备104上可用,则这一设施可用于功率监视器160。某些服务器具有这种内建的功率计量硬件,但是如果这种硬件不可用,则可使用其他技术。例如,WattsUp PRO ES功率计量器可用于测量服务器功率。在这种情况下,用于该功率计量器的串行化协议驱动器可以被接口到应用监视器166来访问功率数据。应用监视器166可将功率数据转发到其他监视器或管理模块来聚集、相关、和分析等。关于PPA 162,可通过改变分配给该服务器上的VM的CPU时间或比例或用其他方式来实施功率封顶。在一个实施例中,处理器时间扼流本身可能就足够了,因为处理器通常贡献了小型服务器的总功率消耗的大部分。作为附加或替代,例如,可执行每进程、每应用、或每VM扼流。当所分配的CPU时间减少时,服务器的处理器以低功率/执行状态花费更多时间,由此减少功率使用。在一个实施例中,可使用Windows Hyper-V来虚拟化。诸如Xen VMM等类似功能在其他系统中可用。对于关于如何修改Hyper-V来改变CPU时间分配的更多细节,参见R. Nathuji、P. England、P. Sharma和A. Singh.在2009年4月的第四届计算机系统和网络中的反馈控制实现和设计国际研讨会(FeBID)中的“用于虚拟化服务器的反馈驱动的 qos-知晓的功率预算(Feedback drivenqos-aware power budgeting forvirtualized servers),,。尽管对托管多个VM的个体服务器的处理器时间扼流可能解决该服务器的功率封顶,然而,也可跨多个服务器管理功率。在数据中心中,多个服务器可能正在运行同一云服务,例如,具有HTTP前端的多层web和电子商务应用、应用中间层、以及数据库后端。从而,扼流一个服务器可能致使该服务器成为该云服务的瓶颈,由此降低整个服务的性能。而且,服务器可能共享公共功率供应并且可能具有基于其功率供应容量的外壳级(enclosurelevel)(例如,机架、容器)的总功率消耗限制。因此,功率管理可能需要在数据中心中在外 壳级执行。为了允许此功能,可实现简单的全局功率控制策略。功率管理的示例图4示出用于跨机架管理功率消耗的一实现。应当注意,可使用机架以外的任何功率管理单元,例如,建筑物、电路、容器、联位、不间断电源等。如图4中所示,功率监视器160 (例如,功率计量表)测量跨机架188的所有服务器180的总功率消耗,并将这些值发送到管理系统130,管理系统130可以是协作代理的网络、应用监视程序、或运行在指定管理服务器上的程序、以及其他配置。管理系统130还收集每个服务器180上运行的个体VM 186的功率使用,可使用功率监视器160来计算每VM功率使用,例如在每一服务器180上的根系统管理程序中运行的Joulemeter (参见A. Kansal> F. Zhao、J. Liu、N. Kothari以及 A. Bhattacharya 的“虚拟机功率计量和供应(Virtual machinepower metering andprovisioning)”,关于云计算的ACM研讨会,2010年)。当管理系统130检测到一机架(例如机架I 188)的功率消耗高于预定功率预算时,它选择该机架188上具有最高功率利用的必要数量的VM 186 (以满足功率预算)来迁移到以低于其功率预算操作的其他机架一诸如机架2 I 92 —上的未被充分利用的服务器190上,并将指示此决定的消息发送到资源管理器194来致动。如果未被充分利用的服务器不可用于托管被迁移的VM,或者迁移成本比其益处更昂贵,则这些VM可被临时挂起执行并例如在稍后的时间恢复。本示例功率策略尽管很简单,但是会减少在其迁移期间VM的性能。为了最小化对性能的影响,一种替代策略会是首先将处理后台任务(例如,用于web搜索的计算索引、map-reduce作业、科学工作负载、DryadLINQ/Map-Reduce作业等)的VM 186 (或向其赋予最高优先级)从具有功率容量过载的机架迁移到在低于其功率容量的机架上托管的未被充分利用的服务器,并且如果仍不足以满足功率过载机架上的功率封顶,则该策略可以是迁移处理前台任务的VM并对交互式VM赋予迁移的最低处理优先级。而且,基于将功率利用、优先级、收益级、以及用户交互性(例如,对性能的SLA惩罚)以及其他因素进行组合的混合方案可被用来划分VM的迁移优先级来满足跨机架的功率预算。这样的策略的两个示例如下。向VM赋予迁移优先级的第一个混合示例策略会是将较高的优先级赋予较高的功率消耗,并且如果两个VM具有相同的功率使用,则使对性能影响具有较低的SLA惩罚的VM更优先。第二个混合示例策略会使将较高的优先级赋予对性能降低具有最少SLA惩罚的VM,并且如果两个VM对性能的SLA惩罚相同,则选择具有较高功率消耗的VM。如上,如果未被充分利用的服务器不可用于托管被迁移的VM,或者迁移成本比其益处更昂贵,则这些VM可被临时挂起执行并在稍后的时间在同一服务器或在不同服务器上恢复,以及其他策略。图5示出由管理系统130执行的实例功率管理过程。重复地接收功率测量220。重复地使用所述测量来标识222需要减少其功率消耗的功率基础结构。然后将与所标识222的功率基础结构相对应的候选计算元件(例如,应用、VM、CPU、服务器)标识224为用于迁移或者用于执行其他功率减少动作的潜在候选。可基于用户和/或操作者创作的功率使用和实施策略来标识224计算元件。在其中收紧所标识224的计算元件可能需要在别处的计算的补偿性增加的实施例中,该过程可包括标识226适合作为重新分配228所标识224的计 算元件的目标的基础结构。例如,功率管理策略可提供将被赋予使其计算负载增加的优先权的计算元件的条件或特征,例如,具有未被充分利用的功率容量的计算元件。在接收到进一步的功率测量后,该过程可以可选地确定230所标识的基础结构是否使其功率消耗充分降低。如果否,则可不采取更多的动作232。可使用其他过程来完成功率平衡。在一个实施例中,可将功率分配和SLA性能相组合,并且如果应用性能不满足SLA,则可分配更多功率,或者可防止功率被减少。结语简言之,可监视各计算元件的功率消耗并且可跨功率分布基础结构将功率使用与功率可用性或指定的预算进行比较。例如,功率分配基础结构可能跨数据中心联位(房间)、机架、电路、容器、或个体服务器或群集具有固定的功率预算。当超出被预算的边界的一个或多个处的功率预算(或接近超出或预测要超出)时,可启动功率预算实施来主动地减少该基础结构中的过载部分中的功率使用。基于用户和/或操作者所指定的功率管理策略,使用一个或多个实施机制来控制功率使用。这些机制可包括以下的或其他的。导致增加的功率使用的工作负载和处理这些工作负载的应用或VM中的一部分或全部可被迁移到功率基础结构中没有超出功率预算的那些部分。虚拟机可被迁移,过载部分中的应用实例或服务器可被关闭而该基础结构的其他部分中的类似应用实例或服务器可被启动。进入数据中心的用户进来请求以及正在运行的工作负载可被重新定向或迁移到同一数据中心或其他数据中心中的非过载部分中的服务器。可通过减少某些服务器(例如,执行低优先级或低收益应用的那些服务器)上的CPU处理器频率(或存储器/高速缓存/存储器带宽分配以及其他资源,每应用或每VM)来减少那些服务器上的功率使用。可减少分配给某些应用的CPU时间,从而允许处理器以低功率执行状态或低功率睡眠状态花费更多时间,并因此减少平均功率提取。可向用户、操作者、以及软件应用发送自动化的功率警告,可通过改变它们的处理类型(例如,电影流传输服务器可从高清分辨率切换到标准清晰度)来对所述警告进行响应,并且减少的工作负载减少了所提取的功率。可基于可用功率容量、动态功率定价/可用性、托管计算元件的可用性及容量、迁移成本(诸如迁移中导致的带宽和等待时间)以及其他因素来跨地理上分布的数据中心迁移工作负载。还可调用由所部属的软件和硬件提供的其他功率控制选项。以上讨论的实施例和特征都可用储存在易失性或非易失性计算机或设备可读介质中的信息的形式来实现。这被认为至少包括诸如光学存储(例如,⑶一 ROM)、磁介质、闪速ROM、或存储可快速访问的数字信息的任何现有或未来装置等介质。所存储的信息可采用机器可执行指令(例如,经编译的可执行二进制代码)、源代码、字节代码、或可用于允许或配置计算机设备来执行上述各实施例的信息的任何其它形式。这还被认为至少包括诸如RAM和/或在程序的执行期间存储诸如CPU指令等信息以实现一实施例的虚拟存储器等易 失性存储器,以及存储允许程序或可执行代码被加载和执行的信息的非易失性介质。实施例和特征可在任何类型的计算设备上执行,这些计算设备包括便携设备、工作站、服务器、移动无线设备等。
权利要求
1.一种由计算机执行的方法,所述方法包括 接收来自多个服务器计算机和/或应用和/或虚拟机(VM)的功率測量,所述功率測量包括所述服务器计算机的或个体应用的或托管所述应用的VM的功率消耗的測量,所述服务器计算机从在所述服务器计算机外部的相应的功率基础结构単元接收功率; 评估所述功率測量来确定所述功率基础结构単元中的一个是否需要減少功率使用;以及 响应于确定存在功率减少需要,向从该功率基础结构単元接收功率的一个或多个服务器计算机发送ー个或多个消息,所述消息致使所述ー个或多个服务器计算机上的计算的减少。
2.如权利要求I所述的方法,其特征在于,需要功率減少的功率基础结构単元是通过从多个服务器计算机的所接收的功率測量中计算和预测的总功率并基于所述总功率确定要減少所述多个服务器计算机的计算负载来标识的,所述多个服务器计算机从所述功率基础结构单兀接收其功率。
3.如权利要求2所述的方法,其特征在于,所述确定是使用功率消耗策略来执行的,其中所述策略指定希望的或強制的功率使用特征。
4.如权利要求I所述的方法,其特征在于,计算和/或功率的減少是通过停用、終止和重新创建、迁移、重新分配资源、和/或调整运行在所述ー个或多个服务器计算机上的虚拟机(VM)上的工作负载来实现,所述停用包括临时挂起或暂停井随后在同一服务器或在不同服务器上恢复,所述终止和重新创建包括終止过载点处的应用实例并在稍后的时间在同一服务器或在不同服务器上实例化新实例或托管它们的VM,其中在必要时在其上重新创建应用状态。
5.如权利要求I所述的方法,其特征在干,计算和/或功率的減少是通过致使所述ー个或多个服务器计算机上的ー个或多个CPU消耗更少的功率来实现的,而致使所述ー个或多个服务器计算机上的ー个或多个CPU消耗更少的功率是通过使用诸如频率缩放的处理器功率管理调节器改变影响其功率消耗的CPU的设置来实现的。
6.如权利要求I所述的方法,其特征在干,进ー步响应于标识该功率消耗単元,増加没有从过载的功率基础结构単元接收功率的一个或多个服务器计算机上的计算负载。
7.如权利要求6所述的方法,其特征在干,増加计算是通过激活或改变没有从过载的功率基础结构单元接收功率的一个或多个服务器计算机上执行的ー个或多个VM来实现的。
8.ー种方法,包括 接收定义计算设备的功率消耗限制的策略; 接收所述计算设备的功率消耗的測量; 从所述測量确定所述计算设备中的ー个超出所述策略中的功率消耗限制或对超出所述策略中的功率消耗限制有贡献;以及 响应于所述确定,致使所述计算设备中的一个的功率消耗減少,其中所述计算设备中的所述ー个不是与执行所述过程的计算设备相同的设备。
9.如权利要求8所述的方法,其特征在干,还包括进ー步通过如下动作对所述确定进行响应标识从没有向所确定的计算设备供应功率的功率基础结构获得功率的ー个或多个计算设备,并且致使所标识的一个或多个计算设备的功率消耗的増加。
10.如权利要求8所述的方法,其特征在于,功率消耗的増加和/或功率消耗的减少是通过以下动作中的ー个或多个来实现的改变CPU频率设置、改变高速缓存分配、改变存储器分配、改变存储器带宽分配以及其他资源、改变应用的处理优先级、或向应用发送信号以致使所述应用増加或減少其计算负载。
11.如权利要求8所述的方法,其特征在于,所述测量是由作为所述计算设备的硬件的一部分的功率监视器提供和/或由在所述计算设备中的一些上运行的估计虚拟机的功率消耗的软件模块提供的。
12.—种由ー个或多个计算机执行的用于管理多个计算机中的功率消耗的方法,所述方法包括 重复地评估多个计算机的功率消耗,以便通过聚集任何给定的多个计算机中的单个计算机的功率消耗的标记来评估所述给定的多个计算机,其中所述评估标识过度消耗功率的多个计算机并且标识不足地消耗功率的多个计算机;以及 通过向第一多个计算机中的一些计算机传送第一消息来指示所述ー些计算机降低它们的计算工作负载来对所述第一多个计算机已被标识为过度消耗功率做出响应;以及 通过向被标识为不足地消耗功率的第二多个计算机中的其他计算机传送第二消息来进ー步对所述第一多个计算机已被标识为过度消耗功率做出响应,所述第二消息指示所述其他计算机増加它们的计算工作负载。
13.如权利要求12所述的方法,其特征在于,所述评估是基于由在所述计算机上运行的软件应用所提供的功率消耗的估计的。
14.如权利要求12所述的方法,其特征在于,在所述计算机上运行的功率监视程序提供所述计算机中的单个功率消耗的測量,并且通过减少CPU速度、暂停或减慢应用程序、改变虚拟机的配置、重新分配资源或迁移应用来降低所述计算工作负载。
15.如权利要求12所述的方法,其特征在于,所述指示降低计算工作负载是通过将虚拟机从所述第一多个计算机迁移走来执行的。
全文摘要
通过重复地评估多个计算机的功率消耗,一个或多个计算机管理多个计算机中的功率消耗,以便通过聚集任何给定的多个计算机中的单个计算机的功率消耗的标记来评估所述给定的多个计算机。所述评估标识或预测过度消耗功率的多个计算机并且标识不足地消耗功率的多个计算机。向被标识为过度消耗功率的第一多个计算机发送消息以指示其包含的计算机或虚拟机(VM)中的一些降低它们的计算工作负载。向被标识为不足地消耗功率的第二多个计算机发送消息以指示其他计算机增加他们的计算工作负载。
文档编号G06F1/26GK102844724SQ201180015946
公开日2012年12月26日 申请日期2011年3月18日 优先权日2010年3月25日
发明者N·简恩, A·坎萨尔 申请人:微软公司