CN115427934A - 管理用于虚拟机池的电力资源 - Google Patents

管理用于虚拟机池的电力资源 Download PDF

Info

Publication number
CN115427934A
CN115427934A CN202180028412.4A CN202180028412A CN115427934A CN 115427934 A CN115427934 A CN 115427934A CN 202180028412 A CN202180028412 A CN 202180028412A CN 115427934 A CN115427934 A CN 115427934A
Authority
CN
China
Prior art keywords
power
server
virtual machine
virtual machines
actions
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202180028412.4A
Other languages
English (en)
Inventor
I·马努萨基斯
A·G·昆布哈尔
R·G·比安奇尼
B·沃里尔
M·F·丰图拉
K·E·伍尔科克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN115427934A publication Critical patent/CN115427934A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • G06F9/4893Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues taking into account power or heat criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

本公开涉及用于使服务器设备能够利用更高百分比的电力资源、同时保持数据中心或其他组服务器设备的电力资源的足够可用性的系统、方法和计算机可读介质。例如,本文公开的系统基于虚拟机元数据并根据电力削减策略来确定和实施电力削减动作,以便在正常操作期间以及在各种服务器设备上的受限电力容量期间,支持数据中心上电力资源的显著更高的使用率。在此描述的系统提供更为有效的电力资源使用,同时保持针对数据中心的服务器所托管的各种虚拟机的服务可用性保证。

Description

管理用于虚拟机池的电力资源
背景技术
云计算系统是指可以远程存储和访问数据的计算设备的集合。例如,现代云计算基础设施通常包括以分层结构组织的物理服务器设备的集合,包括计算区域、集群、虚拟局域网(VLAN)、机架、故障域等。云计算系统通常使用不同的类型为各种客户和客户提供远程存储和计算功能的虚拟服务(例如,计算容器、虚拟机)。这些虚拟服务可以由云计算系统上的各个服务器节点托管。
随着对云计算资源的需求持续增长,与提供云计算资源相关的成本也在增加。例如,由于需要额外的服务器和数据中心来满足客户的需求,据估计,安装额外的设备和数据中心将在未来几年内花费数十亿美元。除了安装额外设备和数据中心的一般成本外,与为云计算基础设施设备供电相关的成本将继续上升。
许多服务器设备、服务器机架和数据中心未能以有效的方式使用现有的电力资源。例如,为了防止服务器设备出现故障或无法提供基于云的服务的充分可用性,许多服务器设备在远低于全电力容量的情况下运行。实际上,为了给服务器停机、服务器维护或可能导致服务器设备在一段时间内具有受限电力容量的事件做好准备,许多服务器设备在以60%或以下的容量运行,以便保持足够的电力容量储备。因此,服务器设备经常无法提供高效或经济有效的电力资源使用。
在管理云计算系统的电力资源的可用性方面存在这些和其他问题。
附图说明
图1示出了根据一个或多个实现的包括电力管理系统的云计算系统的示例环境。
图2示出了根据一个或多个实现的电力管理系统的示例实现。
图3示出了根据一个或多个实现将虚拟机分组为虚拟机池的示例实现。
图4示出了根据一个或多个实施方式管理服务器机架上的电力消耗的示例实施方式。
图5A-图5B示出了根据一种或多种实施方式的示例时间线,其显示了作为实施电力削减动作的结果的服务器机架上的预测电力消耗。
图6示出了根据一个或多个实施例的用于管理一个或多个服务器机架上的电力消耗的示例性一系列动作。
图7示出了可被包括在计算机系统内的某些组件。
具体实施方式
本公开一般涉及用于使服务器设备能够在正常操作条件下使用更高百分比的电力资源同时确保足够的电力资源可用于受限电力事件的电力管理系统。特别地,并且如本文将进一步详细讨论的,电力管理系统的特征和功能可以在各种服务器设备的正常操作期间以及受限电力容量(例如,规划好的服务器维护)期间,支持数据中心上的电力资源的显著更高的使用率。此外,电力管理系统可以更有效地使用电力资源,同时保持针对云计算系统所托管的各种虚拟机的保证(例如,服务水平协议(SLA))。
例如,在一个或多个实施例中,电力管理系统接收可部署在云计算系统上的多个虚拟机的元数据(例如,优先级信息)。电力管理系统可以识别与云计算系统上的一个或多个服务器机架的受限电力容量相关联的即将到来的受限电力事件。电力管理系统还可以基于接收到的元数据并且根据电力削减策略,确定要在服务器机架上执行的一个或多个电力削减动作(例如,断电、限电)。此外,电力管理系统可以在服务器机架上实施一个或多个电力削减动作。
如将在下文进一步详细讨论的,本公开包括具有本文描述的特征的多个实际应用,这些特征提供与增加电力资源的使用、同时保持对一组服务器设备(例如,服务器机架、数据中心)上的虚拟机的性能保证相关联的益处和/或解决与此关联的问题。本文结合由电力管理系统提供的各种特征和功能讨论了一些示例性益处。然而,应当理解,结合一个或多个实施方式明确讨论的益处是作为示例提供的,并不旨在成为电力管理系统的所有可能益处的综合列表。
例如,通过准确识别与受限电力容量相关联的即将到来的窗口或持续时间,电力管理系统可以在受限电力容量窗口之前和之后维持较高水平的电力使用。这确保了总体上更高的电力资源的使用率,从而可以显著降低为不断增长的客户群提供额外服务器资源的成本。事实上,通过将电力容量从60%增加到75%,电力管理系统可以将数据中心代管中心的标准7.2兆瓦(MW)容量增加到8.2兆瓦。更进一步,对于给定的代管中心(或简称为“数据中心代管”),本文所述的电力管理系统的一种或多种实施方式可以将电力使用率从7.2MW容量(例如,以60%容量运行的给定数据中心或代管中心)提高到9.6MW容量(例如,以>90%的容量运行的数据中心或代管中心)。
除了通常增加数据中心或其他服务器设备组的电力容量之外,电力管理系统还可以利用虚拟机元数据对虚拟机进行池化,使虚拟机能够根据SLA和其他性能来保证提供服务。例如,并且如下文将进一步详细讨论的,电力管理系统可以基于不同级别的服务保证(例如,随时间的可用性保证百分比)将虚拟机池化成组,使得电力管理系统能够对虚拟机的性能优先级化,而不会导致服务器设备托管的一个或多个虚拟机违反SLA。
为了准备受限电力事件和/或在受限电力事件和期间,除了池化虚拟机之外,电力管理系统还可以根据虚拟机元数据执行各种电力削减动作。如下文将更详细讨论的,电力管理系统可以选择性地实施电力削减动作,例如在一个或多个服务器机架上进行断电(例如,不同类型的断电)和限电,以防止在服务器机架上的电力使用在受限电力事件期间超过电力阈值水平。如上所述,并且如将进一步讨论的,电力管理系统可以执行或以其他方式实施各种电力削减动作而不违反虚拟机的服务保证。
如前述讨论中所示,本公开利用各种术语来描述本文所述系统的特征和优点。现在提供关于其中一些术语的含义的更多细节。例如,如本文所用,“云计算系统”指的是连接计算设备的网络,其向计算设备(例如,客户设备)提供各种服务。例如,如上所述,分布式计算系统可以包括以分层结构组织的物理服务器设备(例如,服务器节点)的集合,包括集群、计算区域、虚拟局域网(VLAN)、机架、故障域等。
在本文描述的一个或多个实施例中,云计算系统可以包括共享电气基础设施的一组服务器节点或多个设备。例如,在本文描述的一个或多个实施例中,多个服务器设备可以指一个或多个数据中心(例如,数据中心的代管中心或区域)的服务器机架。在本文描述的一个或多个示例中,一组服务器机架是指具有分布式冗余电气基础设施的托管中心(或“数据中心代管”),该基础设施对于其上托管的虚拟机能够实现五个九的可用性(例如,在定义的时间段内保证99.999%的可用性)。数据中心代管可以配备有备用不间断电源(UPS)和发电机容量,以承受由于计划外事件、计划维护或其他受限电力事件而导致的单个UPS或发电机停机。
如本文所用,“虚拟机”是指在服务器节点上模拟计算机系统,其提供云计算系统上的一个或多个应用程序的功能。虚拟机可以提供执行一个或多个操作系统所需的功能。此外,虚拟机可以利用支持硬件虚拟复制的服务器设备处理器上的管理程序。将理解,虽然本文描述的一个或多个特定示例和实现具体涉及虚拟机,但结合池化虚拟机描述的特征和功能可以类似地适用于托管在云计算系统的服务器节点上的任何基于云的服务。
如本文所用,“受限电力事件”是指一个或多个服务器节点的电力容量在一段时间内被限制的任何事件。例如,一个受限电力事件可以指在给定服务器节点、服务器机架或数据中心的多个服务器机架上安排或预测发生维护的时间窗口。在本文描述的一个或多个实施方式中,受限电力事件是指用于服务器节点或服务器节点组的电力使用率不能超过阈值使用率水平(例如,60%的电力使用率),这是服务器设备正在执行的其他处理的结果,和/或不会对云计算系统的硬件造成损坏。
如本文所使用的,“电力削减动作”是指在服务器节点上实施的在一段时间内降低服务器节点的电力使用的任何相关动作。例如,电力削减动作可以指限电,其中服务器节点(或多个服务器节点)的电力消耗被降低,而不关闭服务器节点或停止其上的虚拟机的操作。作为另一示例,电力削减动作可以指断电,其中一个或多个服务器或服务器机架被终止(例如,关机)。如下文将进一步详细讨论的,电力管理系统可以根据电力削减策略并基于托管在云计算系统的服务器节点上的虚拟机的元数据,来实施各种电力削减动作。
现在将结合描绘了示例实现的说明性附图,给出关于电力管理系统的附加细节。例如,图1示出了包括云计算系统102的示例环境100。云计算系统102可以包括任何数目的设备。例如,如图1所示,云计算系统包括一个或多个服务器设备104,其上实施有电力管理系统106。如下文将进一步详细讨论的,电力管理系统106可以收集与电力使用相关联的信息、云计算系统102上的设备的拓扑和、以及虚拟机元数据,以执行根据本文所述的一个或多个实施例的与管理电力资源使用相关联的特征和功能。
如图1所示,云计算系统102还包括任意数目的服务器机架108a-n。服务器机架108a-n可以指数据中心的服务器机架的集合、数据中心的区域、或一个或多个数据中心代管(colo)。如图1所示,服务器机架108a-n可以包括机架管理器110a-n和一组服务器节点112a-n。例如,第一服务器机架108a可以包括第一机架管理器110a和服务器节点112a。机架管理器110a可以管理服务器节点112a的操作。特别地,机架管理器110a可以做出关于虚拟机和其他服务的部署以及在服务器机架108a的服务器节点112a上实施各种电力削减命令的本地决策。每个附加服务器机架108b-n可以包括机架管理器110b-n和服务器节点112b-n,其具有与第一服务器机架108a上的对应组件相似的特征和功能。
如进一步所示,云计算系统102包括一个或多个电力系统114,用于向服务器机架108a-n提供电力资源。电力系统114可以包括多种电力相关设备,其向服务器机架108a-n提供电力相关服务。例如,电力系统114可以包括一个或多个配电单元(PDU),其包括向服务器机架108a-n的服务器节点112a-n提供电源的插座。电力系统114可以另外包括其他电力相关组件,例如配电硬件和其他有助于服务器机架108a-n的电力容量和电力消耗的设备。
如图1进一步所示,环境100包括与云计算系统102通信的客户端设备116。客户端设备116可以指能够访问云计算系统102上的数据和各种服务的各种类型的客户端设备。例如,客户端设备“智能手机”可以指移动设备,例如移动电话、智能电话、个人数字助理(PDA)、平板电脑、膝上型电脑或可穿戴计算设备(例如,耳机或智能手表)。客户端设备还可以指非移动设备,例如台式计算机、服务器节点(例如,来自另一个云计算系统)或其他非便携式设备。客户端设备116、服务器设备104和服务器节点112a-n可以包括如下文结合图7一般性讨论的其他特征和功能。
网络118可以包括一个或多个使用一个或多个通信平台或技术来传输数据的网络。例如,网络118可以包括互联网或其他数据链路,其能够在各个客户端设备116和云计算系统102的组件(例如,服务器设备104和/或在其上托管虚拟机的服务器节点)之间传输电子数据。
现在将结合根据本文的一个或多个实施例的电力管理系统106来讨论附加细节。例如,如图2所示,电力管理系统106可以包括虚拟机分配管理器202、电源数据管理器204、拓扑管理器206、工作负载管理器208和通信管理器210。如进一步所示,电力管理系统106可以包括数据存储212,其包括诸如电力削减策略、用于预测服务器维护的模型、历史电力使用数据、设备拓扑数据、以及电力管理系统106用于执行在此描述的特征和功能的任何其他信息。
如上所述,电力管理系统106可以包括虚拟机分配管理器202。在一个或多个实施例中,虚拟机分配管理器202将虚拟机分配到不同的虚拟机池。虚拟机分配管理器202可以在将虚拟机部署在服务器机架上之前或之后将虚拟机分组到池中。此外,虚拟机分配管理器202可以以多种方式并基于不同的优先级度量将虚拟机池中的虚拟机分组。
例如,虚拟机分配管理器202可以基于与虚拟机相关联的所有者或客户端的优先级对虚拟机进行分组。例如,在虚拟机被高优先级客户拥有或以其他方式与之关联的情况下,虚拟机分配管理器202可以将虚拟机分组到比属于低优先级客户的虚拟机更高的优先级池中。
作为另一个示例,虚拟机分配管理器202可以基于影响优先级对虚拟机进行分组。特别地,虚拟机分配管理器202可以基于对虚拟机执行一个或多个电力削减动作的影响(例如,客户影响)对虚拟机进行分组。例如,如果虚拟机不能在不潜在地违反服务可用性保证的情况下停止或显著减缓操作,虚拟机分配管理器202可以将虚拟机置于高优先级组中。备选地,如果虚拟机可以容忍服务器减速或甚至在一段延长的时间段内脱机(例如,在其他虚拟机或存储卷提供足够冗余的情况下),虚拟机分配管理器202可以将虚拟机置于低优先组。
除了通常基于彼此的相对优先级对虚拟机进行分组之外,虚拟机分配管理器202还可以基于能够针对虚拟机执行的电力削减动作,来对虚拟机进行分组。例如,如果一些虚拟机可能被配备为容忍限电,那些相同的虚拟机可能未被配备为容忍断电。在一个或多个实施例中,虚拟机分配管理器202可以根据能够在托管相应虚拟机的服务器节点上执行的节点动作将虚拟机分组在不同池中。下面结合图3讨论与池化虚拟机有关的附加信息。
如上所述并如图2所示,电力管理系统106包括电力数据管理器204。电力数据管理器204可以从一个或多个电力系统114收集电力相关数据(例如,实时电力消耗数据)。例如,电力数据管理器204可以收集和编译来自例如PDU和配电组件的不同系统的电力使用数据。电力使用数据可以包括随时间使用电力以及云计算系统102的特定设备(例如,服务器机架108a-n)使用电力的有关信息。如下文将讨论的,电力数据管理器204可以编译一段时间内的电力使用率数据,以生成反映一段时间内电力使用率的历史数据。
电力管理系统106还可以包括拓扑管理器206。拓扑管理器206可以收集或以其他方式维护与云计算系统102的拓扑相关联的信息。具体而言,拓扑管理器206可以维护包括服务器设备(例如,服务器机架、服务器节点、PDU、配电组件等)的层级结构的信息。拓扑管理器206可以维护关于连接了哪些服务器、服务器机架上的哪些交换机、路由器或其他设备与云计算系统102的其他设备进行通信、哪些变压器馈送到哪些服务器设备等的信息。在一个或多个实施例中,拓扑管理器206维护服务器清单,其包括指示电力或设备层级结构的任何信息。拓扑管理器206可以随时间更新拓扑信息(例如,随着新设备的连接或其他设备被断开、移除或替换)。
电力管理系统106还可以包括工作负载管理器208。工作负载管理器208可以实施一个或多个电力削减策略,以确定要针对云计算系统102的虚拟机和/或服务器设备执行的电力削减动作。例如,工作负载管理器208可以基于虚拟机元数据、电力使用信息的当前或历史状态信息电力削减策略,来确定执行限电动作或断电动作中的一个或多个,其中电力削减策略确定要在云计算系统102的哪些服务器上执行哪些动作。与各示例结合的进一步信息将在下文结合图4-图5B描述。
电力管理系统106还可以包括通信管理器210。在确定为了准备或响应于受限电力事件而要执行的一个或多个电力削减动作之后,通信管理器210可以传送一个或多个电力削减动作,以便在一个或多个服务器设备上实施。例如,通信管理器210可以将一个或多个电力削减命令传送到一个或多个机架管理器,以使机架管理器能够在服务器节点上本地实施电力削减动作。附加地或者备选地,通信管理器210可以将一个或多个电力削减命令直接传送到服务器机架上的服务器节点,以在相应的服务器节点上实施电力削减动作(例如,不传送电力削减命令到机架管理器)。
如进一步所示,电力管理系统106包括数据存储器212,其可以包括使电力管理系统106能够执行本文描述的特征和功能的任何信息。例如,数据存储212可以包括由虚拟机分配管理器202收集和维护的虚拟机元数据。数据存储212还可以包括由电力数据管理器204收集和维护的电力使用数据。数据存储212还可以包括拓扑数据,其包括关于云计算系统102的设备和设备之间的连接性的任何信息。数据存储212可以包括用于电力削减策略的数据,其包括关于如何分配虚拟机的规则,和/或基于在此描述的各种因素应当执行什么电力削减动作的规则。如图2所示,数据存储212可以包括存储在服务器设备104上的信息。备选地,数据存储212可以包括跨多个设备存储并且可由电力管理系统106的组件202-210访问的数据。
电力管理系统106的组件202-212中的每一个可以使用任何合适的通信技术相互通信。此外,虽然电力管理系统106的组件202-212在图2中被示为是独立的,任何组件或子组件可以被组合成更少的组件(例如组合成单个组件)或者被分成更多的组件,以服务于特定的实现。作为说明性示例,虚拟机分配管理器202可以在与附加组件204-210不同的服务器上实现。此外,与收集数据相关的一个或多个组件(例如,电力数据管理器204和拓扑管理器206)和与确定和实施电力削减动作相关的其他组件(例如,工作负载管理器208和通信管理器210)可被实施在不同的服务器上。
电力管理系统106的组件202-212可以包括硬件、软件或两者。例如,图2中所示的电力管理系统106的组件202-212可以包括一个或多个指令,其存储在计算机可读存储介质上并且可由一个或多个计算设备的处理器执行。当由一个或多个处理器执行时,一个或多个计算设备(例如,服务器设备104)的计算机可执行指令可以执行本文描述的一种或多种方法。备选地,电力管理系统106的组件202-212可以包括硬件,例如用于执行特定功能或功能组的专用处理设备。附加地或备选地,电力管理系统106的组件202-212可以包括计算机可执行指令和硬件的组合。
图3示出了根据一个或多个实现的虚拟机分配管理器202的示例实现。特别地,图3示出了分配管理器202(或电力管理系统106的其他组件)将虚拟机分组到多个虚拟机池中的示例工作流300。如下文将进一步详细讨论的,虚拟机池可用于确定要在云计算系统102的设备上执行的适当电力削减动作。
如图3所示,分配管理器202可以接收与部署多个虚拟机302相关联的信息。例如,分配管理器202可以评估先前部署在云计算系统102上的多个虚拟机302。附加地,或者作为备选,分配管理器202可以在将虚拟机部署在云计算系统102上之前接收关于虚拟机302的信息。在一个或多个实施例中,接收传入的虚拟机并且将虚拟机分组,因为它们已被部署。
如图3所示,分配管理器202还可以接收虚拟机优先级数据304。虚拟机优先级数据304可以包括与传入的虚拟机302相关联的任何元数据。例如,虚拟机优先级数据304可以包括基于与虚拟机关联的所有者或客户的用于虚拟机的优先级的指示。例如,如果客户是云计算系统102的高优先级客户,虚拟机优先级数据304可以包括将与虚拟机相关联的该客户的高优先级状态的指示。虚拟机优先级数据304可以包括与各个虚拟机的客户相关联的任意数目的优先级级别。
虚拟机优先级数据304还可以包括元数据,其与对托管虚拟机的服务器执行一个或多个电力削减动作的影响相关联。例如,虚拟机优先级数据304可以指示高优先级,其中虚拟机无法在不中断虚拟机的操作或对客户造成重大影响的情况下容忍限电和/或断电。作为另一示例,虚拟机优先级数据304可以指示低优先级,其中虚拟机能够容忍限电和/或断电而不会对客户或客户造成显著影响。
虚拟机优先级数据304还可以基于对各种电力削减动作的不同容忍级别来指示影响优先级的不同级别。例如,如果客户不会因限电而受到负面影响、但客户将因断电而受到显著影响,虚拟机优先级数据304可以指示影响优先级的某个中间级别。
除了与影响相关的度量之外,虚拟机优先级数据304还可以包括与不同的服务可用性阈值和/或与对应的虚拟机和/或客户相关联的性能保证(例如,服务水平协议)相关联的元数据。例如,如果第一个虚拟机具有保证五个9的可用性(例如,在预定时间段内99.999%服务可用性的保证)的SLA,而第二个虚拟机具有保证三个9的可用性(例如,在预定时间段内99.9%服务可用性的保证)的SLA,则虚拟机优先级数据304可以将第一虚拟机分组到具有比包括第二虚拟机的虚拟机池更高优先级的虚拟机池中。作为SLA规范的替代,虚拟机优先级数据304可以包括与一个或多个虚拟机的服务可用性相关联的任何数据。实际上,虚拟机优先级数据304可以基于服务水平可用性的度量来指示多个不同优先级中的任何一个。
除了虚拟机优先级数据304之外,分配管理器202还可以接收资源中心预测数据306。资源中心预测数据306可以指示与一个或多个即将到来的受限电力事件相关联的任何信息。例如,资源中心预测数据306可以包括与在一个或多个服务器机架上发生的受限电力事件的频率相关联的信息。此外,资源中心预测数据306可以包括与预期在服务器机架上发生的一个或多个受限电力事件的持续时间相关联的信息。
如上所述,资源中心预测数据306可以包括即将到来的或正在进行的受限电力事件的任何信息。例如,资源中心预测数据306可以包括关于特定时间和/或计划持续时间的计划维护(或其他受限电力事件)的信息。附加地或者备选地,资源中心预测数据306可以包括关于基于由电力管理系统106收集和维护的历史电力使用数据的预测的维护(或其他受限电力事件)的信息。
在一个或多个实施例中,电力管理系统106和/或资源中央系统将预测模型(例如,预测算法或机器学习模型)应用于收集的电力使用数据,以预测即将到来的受限电力事件。在一个或多个实施例中,电力管理系统106应用预测模型来确定电力中断事件的预测频率和持续时间。虽然该模型可以位于和实现在中央资源系统上,但该模型也可类似地实现在电力管理系统106上。
在一个或多个实施例中,电力管理系统106可以使用资源中心预测数据306(结合虚拟机优先级数据304)来确定用于传入虚拟机302的虚拟机池。具体而言,电力管理系统106可以确定虚拟机302的优先级度量,并且将虚拟机分组到与不同优先级相关联的多个虚拟机池308a-n中。例如,电力管理系统106可以将虚拟机302的第一子集分组到第一虚拟机池308a中,将虚拟机的第二子集302分组到第二虚拟机池308b中,以及虚拟机302的附加子集到第n个虚拟机池308n的附加虚拟机池中。
每个虚拟机池308a-n可以与不同的优先级度量相关联。例如,第一虚拟机池308a可以包括具有最高优先级的虚拟机、具有较低优先级的第二虚拟机池308b、以及具有直到第n个虚拟机池308n的各种优先级的任意数目的其他虚拟机池。此外,或作为基于优先级的递增级别简单地对虚拟机池进行分组的替代方案,电力管理系统106可以基于对各类电力削减动作的容忍类型和/或基于不同的服务水平保证,来分组虚拟机池308a-n。
在一个说明性示例中,第一虚拟机池可以包括与高优先级客户相关联并且具有与服务可用性的高阈值相对应的SLA的虚拟机(例如,五个9可用性或以上的服务保证)。作为另一个示例,第二虚拟机池可以包括与低优先级客户相关联并且具有比第一虚拟机池低的服务可用性级别的虚拟机(例如,三个9可用性的服务保证或不保证服务可用性级别)。
在一个或多个实施例中,电力管理系统106基于虚拟机的服务可用性(例如,预定的服务可用性或基于相应服务器节点的可用性)与任意数目的服务可用性阈值的比较,将虚拟机分组到各个虚拟机池中。例如,服务可用性阈值可被用来定义虚拟机的特定分组,其具有对应于不同范围的服务可用性度量相对应的服务可用性。
在一个或多个实施例中,电力管理系统106在考虑响应于即将到来的受限电力事件而执行的一个或多个电力削减动作时,简单地将虚拟机分组到虚拟机池308a-n中。这可以涉及将虚拟机分组到相应的虚拟机池308a-n中,而不修改部署或导致任何虚拟机在服务器节点之间迁移。
附加地或者备选地,电力管理系统106可以基于对应的虚拟机池308a-n,来选择性地部署虚拟机302。例如,电力管理系统106可以将分配给高优先级虚拟机池的虚拟机部署到具有大量空节点的服务器机架,以确保独立于即将到来的受限电力事件的足够服务器资源。此外,电力管理系统106可以将分配给高优先级虚拟机池的虚拟机,部署到资源中央预测数据306指示为与低频和/或低持续时间的受限电力事件相关联的特定服务器节点。以此方式,电力管理系统106可以将高优先级虚拟机部署到那些预期随着时间经历少量和/或低频率的受限电力事件的服务器机架。
作为另一示例,电力管理系统106可以将分配给较低优先级虚拟机池的虚拟机部署到可能已经部署有其他虚拟机的服务器机架。此外,电力管理系统106可以将较低优先级的虚拟机部署到预期随着时间具有更高频率和/或更长持续时间的受限电力事件的服务器节点。在任一情况下,电力管理系统106可以根据分配的虚拟机池来选择性地部署虚拟机,以避免由于服务器节点上的计划维护或其他受限电源事件而导致虚拟机违反SLA。
除了将虚拟机分配给各个虚拟机池并进一步部署虚拟机以根据分配的虚拟机池选择服务器机架/节点之外,电力管理系统106还可以基于虚拟机元数据(例如,分配的虚拟机池)以及关于云计算系统102的附加信息,来确定和实施电力削减动作。下面将结合图4讨论与确定和实施各种电力削减动作有关的附加细节。
例如,图4示出了电力管理系统106从多个不同的源接收数据以确定一个或多个电力削减动作并在示例服务器机架412上实施电力削减动作的示例工作流400。将会理解,尽管图4示出了在服务器机架412上确定和实施电力削减动作的具体示例,但是根据在此描述的一个或多个实施例,电力管理系统106可以类似地在任意数目的服务器机架上确定和实施各种电力削减动作。
如图4所示,电力管理系统106可以接收拓扑数据402、电气层级清单数据404和虚拟机分配数据406。根据上述一个或多个实施例,拓扑数据402可以包括关于云计算系统102的设备的任何信息系统,包括服务器机架412的设备和云计算系统102的其他设备之间的连接信息。电气层级清单数据404可以包括关于电力系统114的信息,包括PDU和配电组件。
虚拟机分配数据406可以包括与部署在服务器机架412的服务器节点416上的虚拟机相关联的任何信息。在一个或多个实施例中,虚拟机分配数据406包括部署在服务器机架412上的每个虚拟机的标识,虚拟机分配数据406可以另外指示服务器机架412上的虚拟机(例如,存储或计算机器)的类型。在一个或多个实施例中,虚拟机分配数据406包括虚拟机的优先级信息,例如包括客户优先级(例如,拥有虚拟机的客户的优先级)、影响优先级(例如,执行一个或多个电力削减操作的影响)或服务保证信息(例如,SLA或虚拟机的其他与服务器相关的保证)。
如进一步所示,虚拟机分配数据406可以从连接到服务器机架412的一个或多个电力系统114接收电力遥测数据408。如图4所示,电力遥测数据408可经由反馈回路提供,其中PDU和/或配电组件向电力管理系统106提供实时(或接近实时)电力使用数据以供进一步分析。如上所述,电力管理系统106可以编译电力遥测数据408以生成或以其他方式维护与服务器机架412的电力消耗的历史趋势相关联的电力使用数据的历史。在一个或多个实施例中,PDU和/或配电组件单独提供相应电力系统114的电力使用数据,并且电力管理系统106编译电力使用数据的不同流,以获得服务器机架412随时间的电力使用的准确表示。
如上所述,电力管理系统106可以使用电力遥测数据408来确定与服务器机架412(或服务器机架412的各个服务器节点416)的受限电力容量相关联的即将到来的受限电力事件。在一个或多个实施例中,电力管理系统106应用电力事件预测模型(例如,电力预测算法或机器学习模型)来预测即将到来的受限电力事件。备选地,在一个或多个实施例中,电力管理系统106接收与服务器机架412上即将到来的受限电力事件相关联的、调度的或预测的受限电力事件的指示(例如,来自中央资源服务器)。
如图4所示,电力管理系统106还可以接收或以其他方式访问电力削减策略410。电力削减策略410可以包括与是否执行电力削减动作相关联的规则以及用于确定执行哪些特定电力削减动作(以及何时)的规则。例如,为了降低电力消耗,电力削减策略410可以包括对电力削减动作的指示,例如可以执行的电力削减动作和/或限电,以便降低电力消耗以准备受限电力事件。
在一个或多个实施例中,电力削减策略410包括用于基于部署在其上的虚拟机的优先级度量来确定和实施服务器节点上的特定电力削减动作的规则。例如,电力削减策略410可以包括用于基于部署在服务器机架412的服务器节点416上的虚拟机是否被分组在特定虚拟机池内而对服务器机架412执行特定电力削减动作的策略。例如,在部署在服务器机架412上的虚拟机被分组在高优先级虚拟机池内的情况下,电力削减策略410可以包括限制某些电力削减动作在服务器机架412的选定服务器节点416上被实施的规则。备选地,在部署在服务器机架412上的虚拟机被分组在低优先级虚拟机池内的情况下,相比于与高优先级虚拟机池相关联的规则,电力削减策略410可以包括用于实现各种电力削减动作的限制性较小的规则。
除了与虚拟机池相关联的规则之外,电力削减策略410可以包括更加特定于与各种虚拟机相关联的不同优先级度量的规则。作为第一非限制性示例,在虚拟机提供高度冗余的无状态服务的情况下,电力削减策略410可以包括以下规则:基于对虚拟机的影响度量很低,断电是对于托管虚拟机的服务器节点的适当动作。因此,如果服务器机架412的服务器节点416可以托管任何数目的相似类型虚拟机,则电力削减策略410可以指示:选择性地终止服务器或者甚至终止整个服务器机架412,可能是为服务器机架412上或包括服务器机架412的服务器代管上的受限电源事件做好准备的适当电力削减动作。由于该服务是冗余的无状态服务,前端接口可以继续向客户提供服务,这是通过简单地将传入请求路由给能够在受限电力事件的整个持续时间内提供无状态服务的其他虚拟机和/或服务节点。
作为另一个非限制性示例,在虚拟机提供运行处理服务的非关键人工智能(AI)工作负载的情况下,电力削减策略410可以包括这样的规则:限电是用于托管虚拟机的一个或多个节点的适当动作(例如,不是断电或其他涉及终止一台或多台服务器的操作)。根据电力削减策略410,为了对受限电力事件做好准备或在受限电力事件期间,电力管理系统106可以通过放缓服务器机架412(或服务器机架412上的选定服务器节点416)的操作来实现限电,从而允许非关键AI工作负载继续,同时使用较少的处理资源(并且消耗更少的电力)。
作为另一个非限制性示例,在服务器机架412托管不能容忍任何故障点的关键数据库的情况下,电力削减策略410可以包括这样的规则:在任何情况下都不应在选定的服务器节点416和/或在服务器机架412上执行电力削减动作。相应地,如果针对服务器机架412识别到受限电力事件,电力管理系统106可以简单地避免将虚拟机分配给服务器机架412,其中虚拟机的分配将导致服务器机架412的电力使用超过可能干扰服务器维护的最小阈值。
尽管以上示例提供了根据一个或多个实施例的电力削减策略410的一些规则,但是应当理解,基于在此描述的与虚拟机相关联的优先级度量的实际上任意的组合,电力管理系统106可以实现对服务器机架和/或选择性服务器节点的任意目的电力削减动作。如将在下面结合图5进一步详细讨论的,电力管理系统106可以实施各种电力削减策略,以防止服务器节点的电力使用水平超过可能干扰服务器维护或其他受限电力事件的电力使用阈值水平。
除了执行电力削减动作之外,电力管理系统106还可以基于即将到来的受限电力事件执行一个或多个预防性缓解动作。例如,在服务器机架412上的电力使用预计超过阈值电力使用,这可能会在即将到来的受限电力事件期间干扰服务器节点416的操作,电力管理系统106可以采取各种预防性缓解措施,例如包括在受限电力事件之前将计划的工作负载从服务器机架412和/或在服务器节点之间迁移。
例如,在预计第一服务器机架在计划维护期间经历电力使用峰值的情况下,电力管理系统106可以将即将到来的工作负载转移到同时没有即将到来的计划维护的第二服务器机架。沿着类似的思路,电力管理系统106可以选择性地将工作负载从一个服务器节点移动到另一服务器节点(例如,在相同或不同的服务器机架上),为即将到来的受限电力事件做好准备。
在一个或多个实施例中,电力管理系统106实施预防性缓解动作和电力削减动作的组合。例如,如果即将到来的受限电力事件是指计划的维护,并且服务器机架412正在托管可预测的工作负载,则电力管理系统106除了在受限电力事件期间执行限电、断电或者电力削减动作的一些组合之外,可以选择性地将工作负载迁移到其他服务器机架。在一个或多个实施例中,电力管理系统106执行预期对客户具有最小影响(例如,根据电力调整策略410)的预防性缓解行动和电力调整行动的任何组合。
如图4所示,电力管理系统106可以多种方式实施电力削减动作(和/或预防性缓解动作)。例如,在一个或多个实施例中,电力管理系统106向机架管理器414提供机架命令418。在此使用的机架命令418是指将要在服务器机架412的一个或多个服务器节点416上被本地实施的任何电力削减命令。
作为向机架管理器414提供机架命令418的备选方案,在一个或多个实现中,电力管理系统106可以向一个或多个服务器节点416提供节点命令420。例如,电力管理系统106可以直接向服务器机架412上的一个或多个服务器节点416发出电力削减命令。
图5A-图5B示出了示例电力使用图502a-b,其显示了关于一个或多个服务器节点随时间的电力使用。例如,图5A示出了示例电力使用图502a,其示出了相对于低阈值506的随时间的预测电力使用,该低阈值506对应于可以分配给服务器节点的虚拟机和其他过程、服务器机架、服务器代管或者处理资源的其他集合、同时仍然允许为即将到来的计划中的服务器维护(或其他有限的电源事件)分配足够的电源使用的最大电力使用量。图5A还示出了对应于最大电力使用量的高阈值504,其可以在服务器维护窗口之外被分配给虚拟机和处理资源集合的其他过程。
图5A示出了基于虚拟机在一组处理资源上的当前分配随时间的预测电力使用508。如图5A所示,在即将到来的维护之外以及在即将到来的维护期间,预测的电力使用率508超过了低阈值506。因此,电力管理系统106可以根据本文描述的一个或多个实施例执行一个或多个动作,以防止在即将到来的维护窗口期间使用低阈值506。
图5B示出了示例电力使用图502b,其示出了根据一个或多个实施例的作为电力管理系统106确定和实施一个或多个电力削减动作的结果的更新的预测电力使用510。例如,如图5B所示,电力管理系统106可以开始执行一个或多个预防性缓解动作,例如将可预测的工作负载从服务器机架卸载到一个或多个附加服务器机架。
此外,如图5B所示,电力管理系统106可以执行一个或多个电力削减动作(例如,限电),使得在维护窗口期间本来将要出现的电力使用峰值随着时间的推移趋于平稳和散布而不超过低阈值。进一步如图5B所示,在服务器维护完成后,电力管理系统106可停止实施各种预防性缓解和/或电力削减动作,并允许电力使用再次超过低阈值506。
现在转到图6,该图示出了包括根据本文描述的一个或多个实施例的用于基于虚拟机元数据来确定和实施各种电力削减动作的一系列动作的示例流程图。尽管图6示出了根据一个或多个实施例的动作,但备选实施例可以省略、添加、重新排序和/或修改图6所示的任何动作。图6可以作为方法的一部分来执行。备选地,非瞬态计算机可读介质可以包括指令,当由一个或多个处理器执行时,使计算设备执行图6的动作。在更进一步的实施例中,系统可以执行图6的动作。
图6示出了根据一个或多个实施例的与在服务器机架上确定和实施各种电力削减动作有关的一系列动作600。如图6所示,一系列动作600包括接收元数据的动作610,该元数据指示多个虚拟机的一个或多个优先级度量。例如,在一个或多个实现中,动作620涉及接收多个虚拟机的元数据,元数据指示多个虚拟机的优先级度量。
在一个或多个实施例中,一系列动作600包括将多个虚拟机分组为虚拟机池,虚拟机池包括与云计算系统上的第一级别优先级相关联的第一虚拟机池和与云计算系统上的第二优先级相关联的第二虚拟机池。将多个虚拟机分组到虚拟机池中可以包括基于以下一个或多个对虚拟机池进行分组:虚拟机的一个或多个所有者的优先级级别,以及相对于服务可用性的一个或多个阈值级别的虚拟机的服务可用性级别。在一个或多个实施方式中,一系列动作600包括基于一个或多个虚拟机是被分组在第一虚拟机池内还是第二虚拟机池内,在一个或多个服务器机架的服务器节点上选择性地部署一个或多个虚拟机。
如图6所示,一系列动作600还包括动作620,其识别针对服务器机架的即将到来的受限电力事件,与服务器机架的持续一段时间的受限电力容量相关联。例如,在一种或多种实施方式中,动作620涉及识别与云计算系统的一个或多个服务器机架的持续一段时间的受限电力容量相关联的即将到来的受限电力事件。在一种或多种实施方式中,识别即将到来的受限电力事件包括以下一个或多个:基于一个或多个服务器机架的历史电力使用数据来预测即将到来的受限电力事件,或接收一个或多个服务器机架上的计划维护的指示。
如图6进一步所示,一系列动作600包括动作630,其基于接收到的元数据并根据电力削减策略确定要在服务器机架上执行的电力削减动作。例如,在一种或多种实施方式中,动作630涉及基于接收到的用于多个虚拟机的元数据并根据电力削减策略来确定要在一个或多个服务器机架上执行的一个或多个电力削减动作。电力削减动作可以包括以下一个或多个:减缓一个或多个服务器机架上的一个或多个服务器节点的操作(例如,限电),或选择性地关闭一个或多个服务器机架上的一个或多个服务器节点(例如,电力削减)。
如图6进一步所示,一系列动作600包括在服务器机架上实施一个或多个电力削减动作的动作640。例如,在一种或多种实施方式中,动作640涉及在一个或多个服务器机架上实施一个或多个电力削减动作。在一个或多个实施例中,在一个或多个服务器机架上实施一个或多个电力削减动作包括向一个或多个服务器机架的机架管理器提供一个或多个削减命令,其中向机架管理器提供一个或多个削减命令使机架管理器在一个或多个服务器机架上本地实施一个或多个电力削减动作。附加地或备选地,在一个或多个服务器机架上实施一个或多个电力削减动作可以包括将一个或多个电力削减命令直接提供给一个或多个服务器机架上的一个或多个服务器节点。
在一个或多个实施例中,确定一个或多个电力削减动作包括确定一个或多个服务器机架上的第一服务器节点正在托管与云计算系统上的第一客户账户相关联的第一虚拟机,该第一客户账户与第一级的用户账户相关联。客户优先级并确定一个或多个服务器机架上的第二服务器节点正在托管与云计算系统上与第二级客户优先级相关联的第二客户账户相关联的第二虚拟机。此外,在一个或多个服务器机架上实施一个或多个电力削减动作可包括基于第一级客户优先级和第二级客户优先级之间的优先级差异,对第一服务器节点执行一个或多个电力削减动作,而不在第二服务器节点上执行一个或多个电力削减动作。
在一个或多个实施例中,确定一个或多个电力削减动作包括确定一个或多个服务器机架上的第一服务器节点正在托管与第一级别的服务可用性相关联的第一虚拟机,以及确定该一个或多个服务器机架上的第二服务器节点正在托管与第二级保证服务可用性相关联的第二个虚拟机。此外,在一个或多个服务器机架上实施一个或多个电力削减动作可包括基于第一服务可用性级别和第二服务可用性级别之间的差异,在第一服务器节点上执行一个或多个电力削减动作而不在第二服务器节点上执行一个或多个电力削减动作。
图7示出了可以包括在计算机系统700内的某些组件。一个或多个计算机系统700可以用于实现这里描述的各种设备、组件和系统。
计算机系统700包括处理器701。处理器701可以是通用单片或多片微处理器(例如,高级RISC(精简指令集计算机)机(ARM))、专用微处理器(例如,数字信号处理器(DSP)、微控制器、可编程门阵列等。处理器701可以称为中央处理单元(CPU)。尽管在图7的计算机系统700中仅示出了单个处理器701,在备选配置中,可以使用处理器的组合(例如,ARM和DSP)。
计算机系统700还包括与处理器701进行电子通信的存储器703。存储器703可以是能够存储电子信息的任何电子组件。例如,存储器703可以实现为随机存取存储器(RAM)、只读存储器(ROM)、磁盘存储介质、光存储介质、RAM中的闪存设备、处理器包括的板载存储器、可擦除可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)存储器、寄存器等,包括它们的组合。
指令705和数据707可以存储在存储器703中。指令705可以由处理器701执行以实现这里公开的一些或全部功能。执行指令705可以涉及使用存储在存储器703中的数据707。本文描述的模块和组件的各种示例中的任何一个可以部分或全部地实现为存储在存储器703中并由存储器703执行的指令705。处理器701。本文描述的各种数据示例中的任何一个都可以在存储在存储器703中并且在处理器701执行指令705期间使用的数据707之中。
计算机系统700还可包括用于与其他电子设备通信的一个或多个通信接口709。通信接口709可以基于有线通信技术、无线通信技术或两者。通信接口709的一些示例包括通用串行总线(USB)、以太网适配器、根据电气和电子工程师协会(IEEE)802.11无线通信协议操作的无线适配器、蓝牙无线通信适配器和红外(IR)通信端口。
计算机系统700还可以包括一个或多个输入设备711和一个或多个输出设备713。输入设备711的一些示例包括键盘、鼠标、麦克风、遥控设备、按钮、操纵杆、轨迹球、触摸板和光笔。输出设备713的一些示例包括扬声器和打印机。通常包括在计算机系统700中的一种特定类型的输出设备是显示设备715。与本文公开的实施例一起使用的显示设备715可以利用任何合适的图像投影技术,例如液晶显示器(LCD)、发光二极管(LED)、气体等离子体、电致发光等。还可以提供显示控制器717,用于将存储在存储器703中的数据707转换为显示设备715上显示的文本、图形和/或运动图像(视情况而定)。
计算机系统700的各种组件可以通过一个或多个总线耦合在一起,总线可以包括电源总线、控制信号总线、状态信号总线、数据总线等。为了清楚起见,各种总线在图7中被示为总线系统719。
本文描述的技术可以在硬件、软件、固件或其任何组合中实现,除非具体描述为以特定方式实现。描述为模块、组件等的任何特征也可以在集成逻辑设备中一起实现,或者作为分立但可互操作的逻辑设备单独实现。如果在软件中实现,则这些技术可以至少部分地通过包括指令的非瞬态处理器可读存储介质来实现,所述指令在由至少一个处理器执行时执行本文所述的一种或多种方法。指令可以被组织成例程、程序、对象、组件、数据结构等,其可以执行特定任务和/或实现特定数据类型,并且可以在各种实施例中根据需要进行组合或分布。
计算机可读介质可以是可由通用或专用计算机系统访问的任何可用介质。存储计算机可执行指令的计算机可读介质是非瞬态计算机可读存储介质(设备)。承载计算机可执行指令的计算机可读介质是传输介质。因此,作为示例而非限制,本发明的实施例本发明可以包括至少两种截然不同的计算机可读介质:非瞬态计算机可读存储介质(设备)和传输介质。
如本文所用,非瞬态计算机可读存储介质(设备)可以包括RAM、ROM、EEPROM、CD-ROM、固态驱动器(“SSD”)(例如,基于RAM)、闪存、相更改存储器(“PCM”)、其他类型的存储器、其他光盘存储器、磁盘存储器或其他磁存储设备,或可用于存储计算机可执行指令形式的所需程序代码的任何其他介质或通用或专用计算机可以访问的数据结构。
在不脱离权利要求的范围的情况下,本文描述的方法的步骤和/或动作可以相互互换。换言之,除非正描述的方法的正确操作需要特定的步骤或动作顺序,否则可以修改特定步骤和/或动作的顺序和/或使用而不背离权利要求的范围。
“确定”一词涵盖了广泛的行动,因此,“确定”可以包括计算、计算、处理、推导、调查、查找(例如,在表格、数据库或其他数据结构中查找)、确定等。此外,“确定”可以包括接收(例如,接收信息)、访问(例如,访问存储器中的数据)等。此外,“确定”可以包括解决、选择、选择、建立等。
术语“包括”、“包括”和“具有”旨在具有包容性,并表示可能存在除所列元素之外的其他元素。此外,应当理解,对本公开的“一个实施例”或“一个实施例”的引用不旨在被解释为排除也包含所述特征的附加实施例的存在。例如,关于本文中的实施例描述的任何元件或特征可以与本文描述的任何其他实施例的任何元件或特征在兼容的情况下组合。
在不脱离本公开的精神或特征的情况下,本公开可以以其他特定形式体现。所描述的实施例被认为是说明性的而不是限制性的。因此,本公开的范围由所附权利要求而不是由前述描述指示。在权利要求等效的含义和范围内的变化将被包含在其范围内。

Claims (15)

1.一种方法,包括:
接收用于多个虚拟机的元数据,所述元数据指示用于所述多个虚拟机的优先级的度量;
识别与云计算系统的一个或多个服务器机架的持续一段时间的受限电力容量相关联的即将到来的受限电力事件;
基于接收到的用于所述多个虚拟机的所述元数据,并且根据电力削减策略,确定要在所述一个或多个服务器机架上执行的一个或多个电力削减动作;以及
在所述一个或多个服务器机架上实施所述一个或多个电力削减动作。
2.根据权利要求1所述的方法,还包括将所述多个虚拟机分组到虚拟机池中,所述虚拟机池包括与所述云计算系统上的第一级别优先级相关联的第一虚拟机池,以及与所述云计算系统上的第二级别优先级相关联的第二虚拟机池。
3.根据权利要求2所述的方法,其中将所述多个虚拟机分组到虚拟机池中包括:基于以下一项或多项来分组所述虚拟机池:
所述虚拟机的一个或多个所有者的优先级;或者
相对于服务可用性的一个或多个阈值级别的所述虚拟机的服务可用性级别。
4.根据权利要求2所述的方法,还包括基于所述一个或多个虚拟机是被分组在所述第一虚拟机池内还是所述第二虚拟机池内,选择性地在所述一个或多个服务器机架的服务器节点上部署一个或多个虚拟机。
5.根据权利要求1所述的方法,其中识别所述即将到来的受限电力事件包括以下一项或多项:
基于针对所述一个或多个服务器机架的历史电力使用数据,来预测所述即将到来的受限电力事件;或者
接收所述一个或多个服务器机架上的计划维护的指示。
6.根据权利要求1所述的方法,其中所述电力削减动作包括以下一项或多项:
减缓所述一个或多个服务器机架上的一个或多个服务器节点的操作;或者
选择性地关闭所述一个或多个服务器机架上的一个或多个服务器节点。
7.根据权利要求1所述的方法,
其中确定一个或多个电力削减动作包括:
确定所述一个或多个服务器机架上的第一服务器节点正在托管第一虚拟机,所述第一虚拟机与所述云计算系统上的第一客户账户相关联,所述第一客户账户与第一客户优先级级别相关联;以及
确定所述一个或多个服务器机架上的第二服务器节点正在托管第二虚拟机,所述第二虚拟机与所述云计算系统上的第二客户账户相关联,所述第二客户账户与第二客户优先级级别相关联,以及
其中在所述一个或多个服务器机架上实施所述一个或多个电力削减动作包括:基于所述第一客户优先级级别与所述第二客户优先级级别之间的优先级差异,在所述第一服务器节点上执行所述一个或多个电力削减动作,而不在所述第二服务器节点上执行所述一个或多个电力削减动作。
8.根据权利要求1所述的方法,
其中确定一个或多个电力削减动作包括:
确定所述一个或多个服务器机架上的第一服务器节点正在托管与第一服务可用性级别相关联的第一虚拟机;以及
确定一个或多个服务器机架上的第二服务器节点正在托管与第二服务可用性级别相关联的第二虚拟机,以及
其中在一个或多个服务器机架上实施所述一个或多个电力削减动作包括:基于所述第一服务可用性级别与所述第二服务可用性级别之间的差异,在所述第一服务器节点上执行所述一个或多个电力削减动作,而不在所述第二服务器节点上执行所述一个或多个电力削减动作。
9.根据权利要求1所述的方法,其中在所述一个或多个服务器机架上实施所述一个或多个电力削减动作包括:向所述一个或多个服务器机架的机架管理器提供一个或多个削减命令,其中向所述一个或多个服务器机架的机架管理器提供所述一个或多个削减命令使所述机架管理器在所述一个或多个服务器机架上本地实施所述一个或多个电力削减动作。
10.根据权利要求1所述的方法,其中在所述一个或多个服务器机架上实施所述一个或多个电力削减动作包括:直接向所述一个或多个服务器机架上的一个或多个服务器节点,提供一个或多个电力削减命令。
11.一种系统,包括:
一个或多个处理器;
与所述一个或多个处理器电子通信的存储器;以及
存储在所述存储器中的指令,所述指令是所述一个或多个处理器能够执行的,以用于:
接收用于多个虚拟机的元数据,所述元数据指示用于所述多个虚拟机的优先级的度量;
识别与云计算系统的一个或多个服务器机架的持续一段时间的受限电力容量相关联的即将到来的受限电力事件;
基于接收到的用于所述多个虚拟机的所述元数据,并且根据电力削减策略,确定要在所述一个或多个服务器机架上执行的一个或多个电力削减动作;以及
在所述一个或多个服务器机架上实施所述一个或多个电力削减动作。
12.根据权利要求11所述的系统,还包括指令,其能够被执行以将所述多个虚拟机分组到虚拟机池中,所述虚拟机池包括与所述云计算系统上的第一级别优先级相关联的第一虚拟机池,以及与所述云计算系统上的第二级别优先级相关联的第二虚拟机池。
13.根据权利要求11所述的系统,其中将所述多个虚拟机分组到虚拟机池中包括基于以下一项或多项来分组所述虚拟机池:
所述虚拟机的一个或多个所有者的优先级;或者
用于所述虚拟机的服务水平协议(SLA)。
14.根据权利要求11所述的系统,
其中确定一个或多个电力削减动作包括:
确定所述一个或多个服务器机架上的第一服务器节点正在托管第一虚拟机,所述第一虚拟机与所述云计算系统上的第一客户账户相关联,所述第一客户账户与第一客户优先级级别相关联;以及
确定所述一个或多个服务器机架上的第二服务器节点正在托管第二虚拟机,所述第二虚拟机与所述云计算系统上的第二客户账户相关联,所述第二客户账户与第二客户优先级级别相关联,以及
其中在所述一个或多个服务器机架上实施所述一个或多个电力削减动作包括:基于所述第一客户优先级级别与所述第二客户优先级级别之间的优先级差异,在所述第一服务器节点上执行所述一个或多个电力削减动作,而不在所述第二服务器节点上执行所述一个或多个电力削减动作。
15.根据权利要求11所述的系统,
其中确定一个或多个电力削减动作包括:
确定所述一个或多个服务器机架上的第一服务器节点正在托管与第一服务可用性级别相关联的第一虚拟机;以及
确定一个或多个服务器机架上的第二服务器节点正在托管与第二服务可用性级别相关联的第二虚拟机,以及
其中在一个或多个服务器机架上实施所述一个或多个电力削减动作包括:基于所述第一服务可用性级别与所述第二服务可用性级别之间的差异,在所述第一服务器节点上执行所述一个或多个电力削减动作,而不在所述第二服务器节点上执行所述一个或多个电力削减动作。
CN202180028412.4A 2020-04-14 2021-03-04 管理用于虚拟机池的电力资源 Pending CN115427934A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/848,713 2020-04-14
US16/848,713 US11650654B2 (en) 2020-04-14 2020-04-14 Managing power resources for pools of virtual machines
PCT/US2021/020767 WO2021211220A1 (en) 2020-04-14 2021-03-04 Managing power resources for pools of virtual machines

Publications (1)

Publication Number Publication Date
CN115427934A true CN115427934A (zh) 2022-12-02

Family

ID=75223458

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180028412.4A Pending CN115427934A (zh) 2020-04-14 2021-03-04 管理用于虚拟机池的电力资源

Country Status (4)

Country Link
US (1) US11650654B2 (zh)
EP (1) EP4136530A1 (zh)
CN (1) CN115427934A (zh)
WO (1) WO2021211220A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220100250A1 (en) * 2020-09-29 2022-03-31 Virtual Power Systems Inc. Datacenter power management with edge mediation block
US11755100B2 (en) * 2021-03-18 2023-09-12 Dell Products L.P. Power/workload management system
US11972301B2 (en) * 2021-04-13 2024-04-30 Microsoft Technology Licensing, Llc Allocating computing resources for deferrable virtual machines
WO2024102182A1 (en) * 2022-11-08 2024-05-16 Oracle International Corporation Techniques for orchestrated load shedding
WO2024102181A1 (en) * 2022-11-08 2024-05-16 Oracle International Corporation Techniques for orchestrated load shedding
WO2024102183A1 (en) * 2022-11-08 2024-05-16 Oracle International Corporation Techniques for orchestrated load shedding

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6487241B1 (en) * 1999-11-22 2002-11-26 Advanced Micro Devices, Inc. Method and apparatus employing cutback probe
US20080301473A1 (en) 2007-05-29 2008-12-04 International Business Machines Corporation Method and system for hypervisor based power management
US8464267B2 (en) * 2009-04-10 2013-06-11 Microsoft Corporation Virtual machine packing method using scarcity
CA2761038C (en) * 2009-05-08 2015-12-08 Consert Inc. System and method for estimating and providing dispatchable operating reserve energy capacity through use of active load management
US8862922B2 (en) * 2010-01-14 2014-10-14 International Business Machines Corporation Data center power adjustment
TW201222208A (en) * 2010-11-30 2012-06-01 Inventec Corp Server integrate system
JP2014059862A (ja) * 2012-08-22 2014-04-03 Canon Inc データフローのリソース割り当て装置および方法
US9515899B2 (en) * 2012-12-19 2016-12-06 Veritas Technologies Llc Providing optimized quality of service to prioritized virtual machines and applications based on quality of shared resources
US9436505B2 (en) 2013-02-22 2016-09-06 Red Hat Israel, Ltd. Power management for host with devices assigned to virtual machines
US9672068B2 (en) 2014-10-09 2017-06-06 Vmware, Inc. Virtual machine scheduling using optimum power-consumption profile
JP2018026042A (ja) * 2016-08-12 2018-02-15 富士通株式会社 移動制御プログラム、移動制御装置及び移動制御方法
US10401940B2 (en) 2016-10-10 2019-09-03 International Business Machines Corporation Power management in disaggregated computing systems
US11169592B2 (en) 2016-10-10 2021-11-09 International Business Machines Corporation SLA-based backup power management during utility power interruption in disaggregated datacenters
WO2019213466A1 (en) 2018-05-04 2019-11-07 Virtual Power Systems, Inc. Time varying power management within datacenters
US10776149B2 (en) 2018-07-25 2020-09-15 Vmware, Inc. Methods and apparatus to adjust energy requirements in a data center

Also Published As

Publication number Publication date
US20210318745A1 (en) 2021-10-14
EP4136530A1 (en) 2023-02-22
US11650654B2 (en) 2023-05-16
WO2021211220A1 (en) 2021-10-21

Similar Documents

Publication Publication Date Title
US11650654B2 (en) Managing power resources for pools of virtual machines
US11126242B2 (en) Time varying power management within datacenters
US11003492B2 (en) Virtual machine consolidation
US10429921B2 (en) Datacenter power management optimizations
US10128684B2 (en) Energy control via power requirement analysis and power source enablement
EP3507692B1 (en) Resource oversubscription based on utilization patterns in computing systems
US8656404B2 (en) Statistical packing of resource requirements in data centers
Stage et al. Network-aware migration control and scheduling of differentiated virtual machine workloads
US20180101220A1 (en) Power management in disaggregated computing systems
EP3289456A1 (en) Balancing resources in distributed computing environments
CN111399970B (zh) 一种预留资源管理方法、装置和存储介质
JP2015011716A (ja) グリッドコンピューティングシステムの遊休リソースによるタスク実行
US11972301B2 (en) Allocating computing resources for deferrable virtual machines
Zhang et al. Flex: High-availability datacenters with zero reserved power
TW202133055A (zh) 透過多層次相關性建立系統資源預測及資源管理模型的方法
US9607275B2 (en) Method and system for integration of systems management with project and portfolio management
CN110580198A (zh) OpenStack计算节点自适应切换为控制节点的方法及装置
Babu et al. Interference aware prediction mechanism for auto scaling in cloud
Ismaeel et al. Energy-consumption clustering in cloud data centre
WO2020206699A1 (en) Predicting virtual machine allocation failures on server node clusters
Sah et al. Scalability of efficient and dynamic workload distribution in autonomic cloud computing
Toeroe et al. Managing application level elasticity and availability
US20220276905A1 (en) Managing computational bursting on server nodes
Wanis et al. Modeling and pricing cloud service elasticity for geographically distributed applications
Nadesh et al. A quantitative study on the performance of cloud data Centre: Dynamic maintenance schedules with effective resource provisioning schema

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination