CN109791532A - 分散计算***中的功率管理 - Google Patents

分散计算***中的功率管理 Download PDF

Info

Publication number
CN109791532A
CN109791532A CN201780060774.5A CN201780060774A CN109791532A CN 109791532 A CN109791532 A CN 109791532A CN 201780060774 A CN201780060774 A CN 201780060774A CN 109791532 A CN109791532 A CN 109791532A
Authority
CN
China
Prior art keywords
workload
power
processor core
processor
sla
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.)
Granted
Application number
CN201780060774.5A
Other languages
English (en)
Other versions
CN109791532B (zh
Inventor
E.施恩菲尔德
J.A.比文斯
R.马辛德鲁
K.达斯
李旻
H.V.拉马萨米
阮耀平
V.萨拉普拉
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN109791532A publication Critical patent/CN109791532A/zh
Application granted granted Critical
Publication of CN109791532B publication Critical patent/CN109791532B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/324Power saving characterised by the action undertaken by lowering clock frequency
    • 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
    • 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
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5094Allocation of resources, e.g. of the central processing unit [CPU] where the allocation takes 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/30Means for acting in the event of power-supply failure or interruption, e.g. power-supply fluctuations
    • 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)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Power Sources (AREA)

Abstract

用于分散计算***中的功率管理,根据预测的期望工作负载,将初始电功率电平集分配到处理器核心集,其中所述初始功率电平集聚合到初始集体合同功率电平。动态地将电功率分配到处理器核心集内的各个处理器核心,以产生执行集体所需工作负载的能力,同时将处理器核心集的电功率维持在初始集体合同电功率电平的阈值内的近似恒定的电功率电平。

Description

分散计算***中的功率管理
技术领域
本发明一般涉及大规模计算,尤其涉及分散(disaggregated)计算环境中的功率(power)管理。
背景技术
大规模计算的流行类型是云计算,其中资源可以经由诸如计算机网络的通信***交互和/或访问。资源可以是在一个或多个计算装置(例如服务器)上运行的计算装置、存储装置、应用和/或其他计算机相关装置和/或服务的软件呈现模拟和/或仿真。例如,取决于完成所请求任务所需的处理能力,存储空间和/或其他计算资源的量,多个服务器可以传送和/或共享可以跨服务器扩展和/或合同的信息。词“云”暗示计算装置、计算机网络和/或以这种布置交互的其他计算机相关装置之间的互连图的云形外观。
云计算可以作为因特网上的服务提供,例如以“基础设施即服务”(IaaS)、“平台即服务”(PaaS)和/或“软件即服务”(SaaS)的形式。IaaS通常可以在按服务付费的基础上提供物理或虚拟计算装置和/或附件,并且客户端/用户可以在其上加载和/或安装和管理平台、应用和/或数据。PaaS可以提供计算平台和解决方案堆栈作为服务,例如,举例来说,软件开发平台,应用服务,例如团队协作,web服务集成,数据库集成和/或开发者社区便利。SaaS可以将软件许可作为应用部署到客户,以便按需服务使用。SaaS软件提供商可以将应用托管在自己的云上,或者将这些应用从云下载到云客户端,在使用后或按需合同到期后禁用应用。
提供这样的服务允许用户以与用户可能需要的计算资源一样多的方式访问而无需购买和/或维护提供服务所需的基础设施,例如硬件和/或软件。例如,用户可以改为通过订阅,购买和/或其他方式保护访问来获得访问。因此,云计算可以是提供信息技术服务的成本有效的方式。基本需求是增强支持和维护这个快速增长的行业的基础***和基础设施。
因此,本领域需要解决上述问题。
发明内容
从第一方面看,本发明提供了一种用于由处理器装置在分散计算***中进行功率管理的方法,包括:根据预测的期望工作负载,将初始电功率电平集分配到分散计算***中的处理器核心集,其中所述初始功率电平集聚合到初始集体合同功率电平;以及动态地将电功率分配到处理器核心集内的各个处理器核心,以产生执行集体所需工作负载的能力,同时将处理器核心集的电功率维持在初始集体合同电功率电平的阈值内的近似恒定的电功率电平。
从另一方面来看,本发明提供了一种用于在分散计算***中的功率管理的***,该***包括:至少一个处理器装置,其中所述至少一个处理器装置:根据预测的期望工作负载,将初始电功率电平集分配到分散计算***中的处理器核心集,其中所述初始功率电平集聚合到初始集体合同功率电平,以及动态地将电功率分配到处理器核心集内的各个处理器核心,以产生执行集体所需工作负载的能力,同时将处理器核心集的电功率维持在初始集体合同电功率电平的阈值内的近似恒定的电功率电平。
从另一方面来看,本发明提供了一种用于在分散计算***中的功率管理的计算机程序产品,所述计算机程序产品包括计算机可读存储介质,其可由处理电路读取并存储由处理电路执行的指令,用于执行执行本发明步骤的方法。
从另一方面来看,本发明提供了一种存储在计算机可读介质上并可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行本发明的步骤。
提供了由处理器装置在分散计算***中进行功率管理的各种实施例。在一个实施例中,一种方法包括根据预测的期望工作负载,将初始电功率电平集分配到分散计算***中的处理器核心集,其中所述初始电功率电平集聚合到初始集体合同功率电平;以及动态地将电功率分配到处理器核心集内的各个处理器核心,以产生执行集体所需工作负载的能力,同时将处理器核心集的电功率维持在初始集体合同电功率电平的阈值内的近似恒定的电功率电平。
除了前述示例性实施例之外,还提供了各种其他***和计算机程序产品实施例,并提供了相关的优点。提供前述发明内容是为了以简化的形式介绍一些概念选择,其将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。所要求保护的主题不限于解决背景技术中提到的任何或所有缺点的实施方式。
附图说明
现在将仅通过示例的方式参考优选实施例描述本发明,如以下附图所示:
图1是说明分散计算环境的硬件结构的框图,其中可以实现本发明的各方面;
图2是示出分散计算环境的硬件结构的附加框图,其中可以实现本发明的各方面;
图3是说明根据本发明各方面的用于分散计算***中的功率管理的方法的流程图;
图4是说明根据本发明各方面的分散计算***中的功率管理的高级视图的框图;
图5是说明根据本发明各方面的用于分散计算***中的功率管理的功率管理算法的流程图;以及
图6是示出根据本发明各方面的分散计算***中的功率管理的优先级调度的图表。
具体实施方式
计算资源通常由提供商在固定配置级别预先配置。一个方面是每个单独的计算资源,例如存储器大小、中央处理单元(CPU)的数量、磁盘大小等具有有限的边界。另一方面是每个计算平台具有有限数量的物理定制选项。今天的工作负载(workloads)正在这些限制下运行,这随后是计算环境中使用诸如内存交换和缓存优化等技术的原因。
云计算的出现改变了人们如何通过提供即用即付模型来利用计算资源的范例。服务提供商已创建公共云,以允许按需访问需要此类计算资源的用户。如上所述,通过因特网或专用网络连接或通过作为基础保持的固定基础设施的共同定位来提供对云资源的访问,并在需要时通过随需应变资源来增强。然而,底层基础设施是固定计算配置集,当缩放或降级需求合适时,它们提供不灵活性。
基础设施即服务(IaaS)云的底层架构通常是如上所述的数据中心中使用的传统硬件。用户可以直接访问硬件,也可以访问其中包含的虚拟机。但是,由于构建服务器作为配置一次的机箱的固定特性,在构建机箱时,数据中心下的基础架构非常严格且不灵活。因此,云软件提供仿真以创建云服务已知的灵活的按需功能。然而,这种功能非常有限,因为许多机制依赖于依赖于服务器机箱的软件,这种架构早在个人计算机时代就已发生,转变为按需服务。
虚拟机(VM)是基于在服务器的一部分上运行的实体的软件技术,可能与其他这样的实体共享相同服务器。它表示按需计算的单位,其中每个这样的实体被指定有预定数量的虚拟CPU和存储器。一旦定义后,VM无法更改其基本资源,例如添加内存或添加虚拟CPU。这是因为这样的VM与其他VM共享固定的预构建服务器机箱的硬件资源,并且可能无法取代其他用户以为第一用户的资源扩展腾出空间。虽然原则上这是可能的(例如,通过将其他用户(实时VM迁移)迁移到其他服务器),但是这样的操作会产生大量的流量增加并且需要数据中心网络上的过载。此外,相对而言,按需提供新VM可能花费不切实际的时间量(例如,分钟,而真实世界事件可能需要在亚秒时间内响应事件)。因此,不存在真实、真实世界和相应的按需云基础设施的概念。这种情况可能会迫使用户为更糟糕的需求(最大处理器数量/速度,最大内存)配置资源,并在不需要时保持VM,只是为了能够在相对时间内响应真实世界事件。
对于通过应用程序接口(API)实现的云服务,用户不直接访问操作***,而是通过API发出请求。然后,计算由底层操作***和硬件基础结构处理。一些提供商提供一定程度的扩展和弹性,这对用户API是透明的。但是,扩展级别受应用类型和单个计算资源的容量限制。例如,如果工作负载需要大量内存使用,则无法单独扩展内存大小。因此,整体资源利用(utilization)较差,而且这种解决方案也不具有成本效益。
鉴于上述情况,分散计算***在构建用于云中的裸机计算***时提供灵活性和弹性,以向云用户或“租户”提供按需灵活性。分散计算***被称为具有大量物理硬件资源池的***,例如CPU、加速器、存储器装置和存储装置,其可以动态地切换彼此连接的单独硬件资源,而无需关闭任何硬件或运行应用。可以选择来自这些池的单独硬件资源以按需组装计算机***。因此,可以在分散的***中组装具有单独计算资源的灵活容量的裸机计算机***,使得基于最适合于各个工作负载的硬件资源配置来计算工作负载。在一个实施例中,例如,对于存储器密集型工作负载,可以构造具有极高的存储器容量能力但具有更适中的CPU和其他资源容量的***。
在这些分散的***中,可以采用各种应用级服务级别协议(SLA)以按需动态地提供硬件资源,并确保租户正在接收他们已经购买的计算服务,同时保留总成本以及用于云服务提供商和租户两者的绩效效率模型。
从电功率利用的角度来看,现代数据中心操作具有以下两个期望的目标。首先,在现代数据中心中,由于服务器、机架、电缆和存储中的大量资本投资以及集成在这些***中的软件许可成本,希望以尽可能接近100%的组件利用运行驻留***。因此,不希望关闭装置(即休眠或睡眠模式),因为这意味着浪费了与此相关的硬件和软件许可的所有投入资本。
第二,给定从公用事业公司为数据中心分配的(合同的)电功率范围,非常希望在该分配的(合同的)功率范围内以一些小的方差(例如,在分配的功率的+/-5%内)运行。功率是宝贵的资源,公用事业公司具有有限的总功率,它们可以产生并通过电网供电。公用事业公司无法快速调整功率产生来匹配功率消耗的快速和大幅波动。因此,数据中心必须消耗一定范围的功率使用。公用事业公司需要平衡功率产生和功率消耗,因为它们的发电机可以根据周期性需求进行调整,但无法针对这些大量不规律的功率使用变化进行调整。当数据中心不规律地未充分利用合同功率时,公用事业公司可能必须燃烧产生的额外功率,以便它们不会损坏其发电机。因此,公用功率提供合同可能规定,客户(例如,数据中心运营商)的功率使用的大的变化可能导致额外费用形式的代价高昂的处罚。因此,快速进入睡眠模式并节省功率以需要再次使用该功率时快速移回并不总是有益的。
如果可以实现上述两个目标的组合,则存在显著的性能、吞吐量、利用和成本效益,其中受益方包括公用事业公司(成本效益)、数据中心/云提供商(性能、利用和成本效益)、以及最终用户/云客户(性能、吞吐量和成本效益)。实现这两个目标的组合将有助于同时提高用户工作负载的硬件资源、性能和吞吐量的利用,同时在分配的功率范围内运行,从而降低公用事业公司、数据中心提供商和最终用户的成本。
基于以上两个考虑,本发明考虑了基于SLA对其运行的工作负载的需求来管理对处理核心的电功率分配的问题。为了解决这个问题,必须通过动态地重新调整处理核心(以及电路,晶体管时钟频率)运行的时钟速度和电压来优化工作负载的吞吐量。吞吐量与性能不同,因为实现每线程或核心更高的性能是可能的,但相对使用更多的功率;而使用更多具有更低性能(即更低的时钟速度)的更多核心,但更低的每核心功率以实现更高的总吞吐量。
在分散的计算环境中,客户(租户)可以为服务器提供一定数量的资源,其中并非所有资源都需要相同的吞吐量(从而具有相同的时钟速度)以始终运行工作负载。对于某些工作负载,在需要更低/更高的时钟速度时重新调整电压可能是有益的,这样功耗可以更好地与处理核心运行的吞吐量一致。请注意,较高性能(较高时钟速度)的跳跃是非线性的,因此比在较低时钟速度下运行需要更多功率。但是,如果吞吐量是目标,则可以通过具有更多核心的较低时钟速度来实现,但是,虽然使用的总功率较小,但是存在更高的资源使用(即,更多处理核心)。
现有技术的处理器、服务器和操作***具有基于诸如标准化公平共享策略的固定策略来调整每个处理器核心的电压和时钟频率的能力。然而,同样不能基于已知的、预测的或请求的工作负载需求进行这样的调整。因此,在更改处理核心的吞吐量时,他们无法考虑SLA期限(terms)。为了解决这些缺点,本发明提出了一种技术,该技术基于工作负载的SLA承诺来分配功率,同时最大化来自公用事业公司的总合同功率分配的使用。另外,本发明提供了一种技术,以基于使用模式和预测来确定用于应该从公用事业公司签订下一个合同期限的数据中心的总功率。
在整个公开中使用以下术语和变量,其中提供定义是为了清楚和理解:
a.总利用量(Total_Utilized):以数据中心内所有工作负载当前使用的电功率表示的总能力。
b.合同总量(Total_Contracted):从电公用事业公司为数据中心签订的总电功率分配。
c.合同方差(Contracted Variation):电功率范围与数据中心和电公用事业公司之间达成的可接受的不会产生处罚的方差(例如+/-5%)。
d.总可用量(Total_Available):数据中心的总处理能力,以电功率表示,其可以重新分配给工作负载。(Total_Available=Total_Contracted–Total_Utilized)
e.当前分配的工作负载(Workload_Current_Allocated):以分配给每个工作负载的电功率表示的当前处理能力。
f.工作负载预测需求(Workload_Predicted_Demand):基于学习的工作负载模型的资源使用预测。
g.工作负载资源超额(Workload_Resource_Overage):基于与当前资源分配相比的预测需求,以电功率表示的工作负载需求或剩余能力。(对于特定工作负载,Workload_Resource_Overage=Workload_Current_Allocated–Workload_Predicted_Demand,其中如果Workload_Resource_Overage>0,则工作负载具有以电功率表示的过剩处理能力。否则,工作负载需要比当前分配的更多功率)。
h.工作负载分配比例(Workload_Allocated_Proportion):以当前分配给特定工作负载的电功率方式表示的处理能力的比例与在所有工作负载中分配的总功率之间的比率。
i.分配的总工作负载(Total_Workload_Allocated):以所有工作负载分配的电功率方式表示的总处理能力。
j.资源单位(Resource_Unit):最大化资源单位。资源单元包括以电功率(即兆瓦)表示的处理能力。在这种情况下,资源单位的示例可以是从增加处理特定工作负载的核心或者可以动态分配给特定工作负载的处理组件的功率得到的附加处理能力。
时间窗口(Time_Window):总可用量电功率最大化的持续时间的时间窗口。可以用可配置的粒度(例如,每秒、分钟、小时、日、周等)来定义任何特定的时间窗口。
现在转向图1,示出了分散计算环境的框图,包括云环境100。在云环境100内,分散计算***包括物理硬件资源200。物理硬件资源200可以包括硬件资源的分类,例如存储装置池202、图形处理单元(GPU)装置池204、CPU装置池206、存储器装置池208和网络装置池210。物理硬件资源200与功率管理模块250通信。功率管理模块250可以包括诸如工作负载资源利用预测器258、功率最大化引擎260和功率分配器262之类的组件,每个组件可以与工作负载统计数据库254、配置数据库252、工作负载资源利用监视***256和功率提供引擎264通信。
如将进一步讨论的,配置数据库252存储数据中心级变量的预定义值(例如,以Total_Contracted,Total_Utilized和Total_Available表示的功率)。工作负载统计数据库254负责接收数据中心中期望的工作负载的统计信息(例如,用于唯一工作负载ID的分配的资源(Workload_Current_Allocated)、预测的需求(Workload_Predicted_Demand)、资源超额(Workload_Resource_Overage)、当前消耗、平均利用和其他运行时统计、工作负载SLA类型、业务逻辑和工作负载影响)。
工作负载资源利用预测器258基于从工作负载资源利用监视***256收集的度量来建模工作负载使用模式,其负责监视***中的每个工作负载的利用。功率分配器262基于功率最大化引擎260的计算准备功率分配指令,并将功率分配指令发送到功率提供引擎264。功率提供引擎264调用从功率分配器262接收的指令(即,增加或减少处理特定工作负载的核心或将释放的处理组件迁移到特定工作负载的功率)。功率最大化引擎260从工作负载资源利用预测器258接收输入,并如先前定义的那样计算各种变量。
在与云环境100通信时,功率管理模块250,提供组件260和物理硬件资源200是租户212A、212B和212n。租户212A、212B和212n可以与由任何信号承载介质提供的云环境100通信。
应注意,图1中所示的元件仅提供可包括在分散计算架构中的相关组件的示例。例如,功率管理模块250可以包括除工作负载资源利用预测器258、功率最大化引擎260、功率分配器262、工作负载统计数据库254、配置数据库252、工作负载资源利用监视***256和功率提供引擎264之外的其他组件,同时保持在本发明的范围内。另外,管理模块250和其中的组件可以在物理上包括单独的实体、或者可以组合成一个实体。此外,可以执行功率管理模块250的职责,从而执行其中的组件,并且由物理组件、计算机代码或其组合来组成。
图2是示出图1的物理硬件资源200部分的框图。存储装置池202中包括存储装置202A、202B和202n。GPU装置池204包括GPU装置204A、204B和204n。CPU装置池206包括CPU装置206A、206B和206n。存储器装置池208包括存储器装置208A、208B和208n。最后,网络装置池210包括网络装置210A、210B和210n。每个上述硬件资源可以经由信号承载介质与另外的一个或多个上述硬件资源通信。
在物理硬件资源200内,以实线出现的每个硬件资源(即存储装置202A、GPU装置204A、CPU装置206A、存储器装置208A和网络装置210A)是被分配给一个或多个租户的硬件资源(即租户212A、212B、212n)。以虚线出现的硬件资源(即存储装置202B、202n、GPU装置204B、204n、CPU装置206B、206n、存储器装置208B、208n和网络装置210B、210n)是未分配的硬件资源,其对于各个租户212A-n工作负载是按需可用的。
可以以任意量向每个各个租户212A-n分配单独的各个硬件资源200。在一个实施例中,每个各个租户212A-n可以在总***容量和/或各个硬件资源200的可用数量的限制内被分配任意数量的单独的各个硬件资源200。例如,从存储器池分配给各个租户212A-n的存储器装置208A-n可以以最小的分配单元(例如,字节或字)提供,直到总***容量的限制和/或存储器装置208A-n的可用数量。
在另一个实施例中,可以在量子步长大小限制内为每个各个租户212A-n分配单独的各个硬件资源200。例如,存储器装置208A-n可能需要在全存储器或半存储器双列直插存储器模块(DIMM)单元的量子大小上分配,以确保在读取/写数据时从各个存储器装置208A-n到处理器的全带宽。在分散***中尤其如此,因为存储器装置208A-n通过光纤/光学开关直接连接到处理器存储器单元(用于读/写存储器事务),就好像它是本地连接到处理器芯片上的一样,但在位置上可能有一小段距离(例如1米)。在另一示例中,因为分散的***不是基于虚拟组件而是基于物理组件(即实际芯片而不是核心或VM),所以量子大小限制可能要求最少一个中央处理单元(CPU)装置206A-n分配给租户212A-n,其中附加的CPU装置206A-n以两个、四个等数量提供给租户212A-n。
在本文的各种描述的实施例中,本发明使用现有的预测技术来估计工作负载的需求并分配可用功率,或者移除工作负载的分配功率(基于工作负载优先级),否则其将被浪费。监视和跟踪总可用功率。功率维持在与数据中心的合同公用功率尽可能小的方差。在一些实施例中,基于工作负载的优先级将可用总功率分配给需要的工作负载,以便为它们提供额外的吞吐量提升,同时将总体利用保持在针对这样的数据中心合同的范围功率内。例如,增加运行这种优先工作负载的处理核心的电压并由此增加时钟速度将使用额外的功率,但是出于好的原因(例如,每当更高优先级的工作负载不使用功率时可以执行大数据分析)。如果数据中心的总可用功率不足以匹配最大合同公用功率,而工作负载需要基于预测需求的额外功率,则***会删除估计的剩余功率和/或降低分配给某些工作负载的电压(优先级较低)并根据预测的需求将其分配给更高优先级的工作负载。
工作负载的优先级基于其分配给租户212a-n的SLA或其他业务规则来确定。通过分配可用的剩余功率并在与名义上分配的方差范围内将可用的总功率推向零,***平衡数据中心消耗的总功率并更有效地匹配公用事业公司实际合同的功率范围。
因此,本发明试图最大化从公用事业公司合同的功率的利用而不是降低功耗,其中在最大化分配的功率的使用时考虑SLA或其他商业逻辑要求。这是与现有技术的重要区别,现有技术主要使未充分利用的服务器休眠或断电以节省功耗。在另一现有技术中,基于高/低使用来调整功率,但是其不着重于通过利用具有机会性SLA的工作负载来调整功率传送,同时保持SLA,从而最大化使用从公用事业公司分配的功率。另外,同时,所公开的发明还提高了在数据中心部署的硬件和软件的利用和吞吐量。
如上所述,该功能通过基于策略的功率管理服务来实现,该功能实现了一种技术,以将功率利用方差维持在公用事业公司分配(合同)的范围内,同时最大化功率的这种使用及其利用,从而实现所需的工作负载吞吐量。这在分散计算***中是唯一可实现的,因为处理组件可以从一个工作负载快速切换到另一个工作负载,并且大型分散***具有驱动许多并发工作负载的能力。因此,无论是活动的还是处于挂起的模式,以及要恢复的其他工作负载,总是存在要执行的工作负载,所有这些工作负载都可以在响应时间的毫秒内快速触发。
使用上述示例,如果公用事业公司已经分配(合同)10兆瓦的功率且具有可接受的±5%方差而没有对这种功率使用方差的惩罚,则数据中心被分配9.5-10.5兆瓦的功率范围。即使范围是可接受的,具有高资本投资的数据中心也希望处于总功率利用的上限(即过度利用而不是利用不足),从而将数据中心内的总额外可用功率推向零,同时保持执行允许的10.5兆瓦的目标。
本发明的功能所识别的一个基本原理是每个处理器/处理器核心(不仅在分散计算***中而且在一般计算中)使用的能量/功率是对执行各个工作负载的工作和利用相对于每个单独处理器/处理器核心在给定时间段内能够消耗的最大量功率或能量的度量。单独的处理器能够消耗的最大量功率或能量取决于芯片本身的单独的规格(设计),处理器基于其冷却预算消耗和可用功率量(例如公用事业公司提供的功率量或输入功率规格)能够驱散的热量。例如,随着超大规模集成(VLSI)芯片技术的发展,可以在芯片的给定区域内制造越来越小的晶体管,可以实现更多功能-然而,虽然这些晶体管也能更快地切换,并且可能在比以前更大的晶体管更低的电压下运行,它们可能不是全部工作(并非芯片中的所有晶体管都会切换)和/或由于冷却限制,功率输送设计等原因,可用的能量或功率可能保持不变。
换句话说,与现有技术一样,处理器利用通常基于其所有进程的操作***状态来计算,处理器/处理器核心具有在给定时间段内运行的“运行”与“空闲”进程。然而,当进程处于“运行”状态时,它执行的工作量(即它消耗的功率或能量的量)在很大程度上取决于处理器运行的代码。例如,一些代码在浮点中是重的,而另一些代码正在执行内存事务,并在读取内存时因缓存未命中而暂停(操作***无法测量的很短时间)(即使当将多线程/问题发送到来自所有核心的内存控制器时)。因此,输入/输出(I/O)操作可以具有更高的等待时间,使得如果核心/进程等待I/O,则该进程通常***作***标记为“I/O等待”。这不能提供对“工作”量或者否则不提供处理器/处理器核心的基本利用的准确测量。
因此,本发明以不同方式计算每个处理器/处理器核心或者更确切地说任何功能子***组件的利用。这里提供的功能提供了可以实时计算和测量多个“能量因子”的每一个,以通过比较每个能量因子的计算的总工作量与在给定的时间段内各个处理器/处理器核心能够消耗的最大功率量,获得每个处理组件的总利用(例如,在该示例中,处理器/处理器核心)。也就是说,每个处理器/处理器核心的利用不是由它是否“运行”进程或是“空闲”来确定,而是考虑处理器/处理器核心正在运行“什么”进程。计算的能量因数可以包括处理器/处理器核心的分配电压和时钟速度(或对分配的电压和时钟速度的调整),消耗的功率量(实时或在预定时间帧内),正在执行的进程类型(例如,取决于代码,SLA或其他因素),和/或正在执行的特定处理器指令。当然,如本领域技术人员将理解的,可以考虑多种其他因素或因素子集。
另外,需要观察在处理器芯片(其具有处理器核心集合)中,其基于所提及的因素(例如,封装的功率分配/冷却设计,或者分配给该处理器芯片的功率等)限于最大能量(功率)耗散,每个核心可以按照其特定工作负载执行不同的指令集,和/或可以具有不同的高速缓存存储器命中(从完美到不好的)行为,这将暂停多发布存储器事务并要求核心等待内存读取(因为核心速度远高于内存延迟读取时间)。因此,每个核心可以消耗不同的能量水平。这可能导致对作为整体提供给处理器芯片的能量的不同利用(其具有多个核心,每个核心处于不同速度和电压)。为了在处理器芯片上使用这种能量,不同的核心可能有机会以更高的电压和更高的时钟速度运行(这就是为什么需要更高的电压-以在更高的时钟速度运行)以便保持能量利用尽可能接近100%。
如果给定的处理器芯片(这里同样,在该示例中使用处理器芯片,其中可以引用任何功能组件)不能出于任何原因使用其分配的能量,并且在尝试本文提供的所有进程之后,使用已经分配给该处理器芯片的尽可能多的能量,如果确定总体利用读数具有负比率则可以说处理器未被充分利用。每个组件或子***(例如处理器)的总体利用读数可以计算如下:(每个芯片实际使用的能量-每个芯片的最小能量)/(每个芯片的最大能量-每个芯片的最小能量),其中每个芯片的最小能量是处理器芯片消耗的能量即使核心没有处理任何东西,每个芯片的最大能量是芯片被允许消耗的最大总能量,在封装的冷却设计中,或者,该芯片允许的分配能量,以及实际使用的能量是每个芯片使用的总能量。所有这些都是在时间窗T上测量的,时间窗T可以是短持续时间(例如几秒或一分钟)。
可以使用总体利用读数的各种模式来基于在预定时间段内对每个组件或子***的总体利用读数的计算来对工作负载进行分类。也就是说,对于处理子***、存储器子***、加速器子***和/或网络子***的总体利用读数可以被视为在预定时间段内分散***的功率管理的一部分,以对同一类的检测到的类似输入工作负载进行分类。
例如,分类可以包括:a)高速缓存友好工作负载,其消耗来自存储器子***的相对少的能量和来自高速缓冲存储器子***的更多能量,而核心子***和/或加速器子***仍然消耗能量用于执行计算;b)缓存不友好的工作负载,其消耗来自存储器子***的相对更多的能量,并且通过其高速缓冲存储器子***消耗更少的能量,而核心子***或加速器子***仍然消耗用于执行计算的能量;c)计算绑定(computation-bound)的工作负载,其从核心或加速器子***消耗相对更多的能量,而从其内存和/或其网络子***消耗相对较少的能量;以及d)输入/输出(I/O)绑定的工作负载,它们从其网络子***消耗相对更多的能量,而从其核心和加速器子***消耗相对较少的能量。
这些分类可用于动态地将功率分配给各独组件或子***和/或动态地将多个单独组件或子***分配给具有类似的过去总体利用读数的检测到的输入工作负载。考虑先前工作负载x的示例,其在获得分散***中的所有组件或子***的总体利用读数时被发现是计算绑定的工作负载。当此工作负载x返回时(无论是相同的工作负载还是类似的工作负载),分散***能够确定工作负载x将需要更多的处理器能量或更多的处理器分配以有效地执行工作负载x。分散***还能够确定工作负载x不需要那么多的内存和网络功率,或者分配的内存和网络组件数量较少。因此,分散***能够实时地基于来自过去经历的总体利用读数来调整分配给单独工作负载的多个组件和/或调整分配给用于执行工作负载的单独组件的功率(是按比例放大还是按比例缩小)。在其他实施例中,该总体利用读取模式可用于动态地将功率和/或组件和子***分配给单独用户、某些应用或其组合。
因此,使用多个能量因子计算聚合工作并获得每个处理器/处理器核心(或其他组件)的总利用,可用于在处理器/处理器核心或其他子***之间重新分配功率以便平衡功率或否则使用下面描述的算法,在整个***中使用较少的能量来取消分配组件或子***以获得相同的吞吐量。
图3示出了用于分散计算***中的功率管理的方法300。可以根据本发明在图1和图2中、在其它中、在各种实施例中描绘的任何环境中执行方法300。当然,如本领域技术人员在阅读本说明书时所理解的,可以在方法300中包括比图3中具体描述的操作更多或更少的操作。
方法300的每个步骤可以由操作环境的任何合适的组件执行。例如,在各种实施例中,方法300可以部分或全部由处理器或其中具有一个或多个处理器的一些其他装置执行。处理器(例如,以硬件和/或软件实现的处理电路、芯片和/或模块,并且优选地具有至少一个硬件组件)可以在任何装置中用于执行一个或多个方法300的步骤。说明性处理器包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)、等等、其组合、或本领域已知的任何其他合适的计算装置。
方法300通过根据预测的期望工作负载将初始电功率电平(electrical powerlevels)集分配到分散计算***中的处理器核心集开始(步骤302),其中该初始功率电平集聚合到初始集体合同功率电平(collective contracted power level)(步骤304)。将电功率动态地分配给处理器核心集内的各个处理器核心,以产生执行集体所需工作负载的能力,同时将该处理器核心集的电功率维持在初始集体合同电功率电平的阈值内的近似恒定的电功率电平(步骤306)。该方法结束(步骤308)。
在一些实施例中,功率管理模块250可以将工作负载优先化为不同的类别,其中每个类别包括允许的时钟速度和电压的范围(例如,高(时钟速度范围a-b);中(时钟速度范围c-d);低(时钟速度范围e-f))。功率管理模块250还可以基于对工作负载的使用模式的分析和时钟速度要求的预测(例如,一些工作负载可以有季节性或周期性的资源利用模式)来动态地调整每个类别的范围(处理器/处理器核心的电压和时钟速度)。当然,如本领域普通技术人员将理解的,取决于实际实现,可以使用除“高、中和低”优先级、类别或范围之外的许多其他类别和优先级。
进一步的动作可以基于其使用要求和预测来执行工作负载的重新分类。例如,如果低优先级工作负载始终需要其时钟速度范围的上限级别,则应将其重新分类为中优先级工作负载。相反,如果高优先级工作负载通常需要时钟速度允许范围的较低级别,则可以将其重新分类为中优先级工作负载,依此类推。另外,可以基于需求将功率分配给某些工作负载,以便通过降低功率并因此降低其他较低优先级或较低需求工作负载的时钟速度来提高处理器/处理器核心的性能(时钟速度)。此外,功率管理模块250的机制可以根据优先级分布的预测/预报来确定下一个期限(term)的更准确的合同功率量。
继续参考图4,示出了本发明的一个实施例的框图,高级视图400。***分析历史使用数据410以估计高、中、低(或其他预定义)类别412的时钟速度下限/上限范围。***基于历史使用数据410中观察到的变化动态地重新调整高、中、低类别的范围。在一个示例中,可以静态地定义类别的范围,而在另一个示例中,可以基于历史使用模式410和需求的预报来自动估计范围。
***使用历史使用数据410来以时钟速度和电压414的不同优先级对工作负载进行分类。基于SLA,优先级,资源依赖性来执行工作负载组420的等级(ranking),以确定重新分配资源(功率)的顺序416。可以考虑不同的因素以形成分组工作负载的标准。一个有利的标准集可以集中在具有互补资源使用模式的工作负载,其中资源移动将具有最小影响。例如,具有高SLA的工作负载X可能具有高使用模式并且将被分类为高时钟速度范围类别而不是另一工作负载Y也具有高SLA但可能具有低使用模式将被分类为低时钟速度范围类别。利用具有互补资源使用模式的这些工作负载来重新分配电功率将有助于最大化电功率利用,从而在满足SLA的同时最小化总可用功率。另一标准集可以是工作负载所有者指定一组工作负载的标准,其中存在组性能目标或组功率节省目标,其中组的目标比特定工作负载的目标更重要。然后,***动态地重新分配功率以允许从一个工作负载到另一个工作负载的更高时钟速度以满足时钟速度需求418。
此外,可以在检测到输入电源(例如,公用功率)已经减少时执行对每个处理器/处理器核心的分配或重新分配的电压和时钟速度的调整。例如,在公用电网的“褐变(“browning”)”期间,直接功率故障需要不间断电源(UPS)或发电机使用,或者数据中心输入功率未达到满负荷的其他情况,依赖于正在执行的相应工作负载的SLA要求,可以从处理器重新分配功率(调整其中的电压和时钟速度),将较低优先级的工作负载执行到较高优先级的工作负载。
在不再提供公用功率的情况下是这样的,其中数据中心需要首先在电池功率上运行一段时间(例如几秒到一分钟)(允许适当关闭未被选择在电力短缺期间继续运行的SLA的工作负载),直到数据中心的备用发电机能够启动并在线提供一定量的功率(即发电机可以产生正常运行中使用的总公用功率的一部分,仅用于覆盖那些已经签约(contracted)在这种电力中断上运行的工作负载和SLA)。
发电机需要一些时间来启动并且花费一些时间来改变它们的输出功率(power),就像通过将油门一直踩到底来加速汽车时要经过一定的滞后才能达到完全加速一样。因此,UPS通常在功率中断后立即使用,以使整个数据中心进入功率紧急模式,关闭未明确签约功率不足的服务器和服务(例如,通过拍摄存储器图像的快照并快速将图像推送到闪存以稍后创建恢复点)。几秒钟后(例如通常为10-30秒),发电机能够稳定其发电量,为其他服务和资源池提供备用功率,这些服务和资源池在功率不足/紧急情况下可以继续运行或以其他方式参与运行。在备用发电期间,目标是尽可能多地节省为备用发电机供电所需的燃料,如果服务或资源池不使用或需要备用功率,则将其关闭,以稍后在几毫秒内基于分散的体系结构重新启动。对于签约在备用功率上运行的服务/工作负载/资源池,执行服务的速度将是维持该服务及其处理所需的实时吞吐量的最小可能性。因此,需要对时钟速度和电压进行不断调整以降低该服务/工作负载/资源池的能量消耗,并且仅当检测到的吞吐量低于实时处理按合同的交付所需的吞吐量时才增加。
鉴于这种处理在产生备用功率时可能是不稳定的,数据中心电池组(batteryfarm)用作平滑统计平均值,以缓解调整本地发电机功率输出所花费的时间与必须响应实际事件所需的时间之间的方差(variation),并具有额外的处理能量需求。在低谷(valley)使用时,发电机产生的额外功率存储在电池中,直到发电机将其功率输出调节得更低(并消耗更少的燃料),反之亦然,在发电机产生更多功率输出并消耗更多燃料之前电池瞬间提供所需的额外功率。
在一些情况下,取决于在由UPS,发电机或其组合减少和/或中断公用功率期间提供的电功率量,可以重新分配功率(在发电机功率的预定时间段之后),从一个或多个处理器执行较低优先级工作负载(根据SLA)到较高优先级工作负载,使得较低优先级工作负载被停止或暂时中止,直到恢复正常公用功率。
在其他情况下,鉴于组件,区域或分散***正在执行具有SLA要求的工作负载,这些要求不包括在中断期间的备用功率,某些单独的组件或子***(即处理器核心、处理器等)、子***的区域(即处理器池、存储器组件池等)或整个组合的分散***,可能不提供备备用电功率。例如,在公用功率中断期间(或在检测到超过预定阈值的公用功率降低时),数据中心中的UPS可以保持某些组件或***被供电,直到发电机启动并开始向数据中心,包括单独的组件或***供电。在以发电机功率运行的预定时间段之后,***可以开始***地关闭(并因此切断功率)单独的组件或***。这可以包括分散***关闭粒状组件,诸如单独的处理器或处理器核心、子***池(例如,处理器池、存储器组件等)或者可以包括关闭一个或多个完全组合的分散***。
在另一示例中,可以指定数据中心的某些“区域”用于运行具有不同优先级的SLA的工作负载。可以指定数据中心的一个区域(其中具有多个分散***)用于运行高优先级SLA工作负载,可以指定一个区域用于运行中优先级SLA工作负载,并且可以指定一个区域用于运行低优先级SLA工作负载。在公用功率减少或中断期间,在预定时间段已经过去之后,可以关闭运行低优先级SLA工作负载的数据中心区域(并因此其中的多个分散***)并从发电机功率中移除。为此,整个区域可以同时关闭并从发电机功率中移除,或者根据正在执行的工作负载的SLA层次结构,在***流程中,区域内的某些分散***可能首先关闭,然后关闭其他***,然后关闭更多***。当然,如本文所述,“高优先级”、“中优先级”和“低优先级”仅代表少数示例以清楚地解释本发明。在实际实现中,可以根据实现的特定需要考虑各种优先级、SLA考虑或其他因素。
这些工作负载/SLA可以是许多用例。例如,数据中心可能具有在灾难恢复情况下在主数据中心的替代站点中的工作负载,这些工作负载通常不运行,而是从第一个数据中心维护在更新状态,但是,如果灾难影响主(第一)数据中心位置,则可能需要运行。另一个用例可能包括通常具有高优先级SLA的工作负载,其具有不在这种灾难恢复或停电情况下运行的例外。
因此,如果在正常操作期间数据中心的总功耗为10兆瓦,则其可能仅需要1兆瓦的应急发电,这最终节省了数据中心提供商和用户的成本。使用本文提供的功率平衡算法和方法,一些高优先级SL可能实际上并不像通常那样消耗所有功率,因为它们可能做较少的工作和/或这样可以在较低的时钟速度和电压下运行以便保存需要的备用功率。
此外,使用这些模型和方法,可以基于使用模式估计总功耗并且预测满足数据中心424的工作负载需求的下一个合同期的电功率供应量将更准确。
此外,参考图5公开了另一个实施例。图5示出了根据本发明一个实施例的用于分散计算***中的功率管理的方法500。可以根据本发明在图1和图2中、在其它中、在各实施例中描绘的任何环境中执行方法500。当然,如本领域技术人员在阅读本说明书时所理解的,可以在方法500中包括比图5中具体描述的操作更多或更少的操作。
方法500的每个步骤可以由操作环境的任何合适的组件执行。例如,在各种实施例中,方法500可以部分或全部由处理器或其中具有一个或多个处理器的一些其他装置执行。处理器(例如以硬件和/或软件实现的处理电路、芯片和/或模块,并且优选地具有至少一个硬件组件)可以在任何装置中用于执行一个或多个方法500的步骤。说明性处理器包括但不限于中央处理单元(CPU)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)等、其组合、或任何本领域已知的其他合适的计算装置。
开始(步骤502),使用诸如标准回归建模技术的公知方法为每个工作负载建模使用模式(步骤504)。如上所述,由于功率利用的微小方差保持在合同电功率范围内,其目标是将Total_Available驱动接近0(这样可以使用最大利用提供的功率),但是,在所有情况下,Total_Available应该比Total_Contracted乘以Contracted_Variance小。然而,在传统的服务器绑定环境中,如果出现不稳定的需求,可能希望保持功率储备以快速分配给高优先级SLA,但是在分散环境中,可以在几毫秒内快速触发资源的重新分配。
继续,在每个Time_Window t内(步骤506),功率管理算法550计算如下:
对于每个工作负载i(步骤510),计算Workload_Resource_Overagei并将其存储在工作负载统计数据库254中(步骤512),表示为:
-Workload_Resource_Overagei=Workload_Current_Allocatedi-Workload_Predicted_Demandi
例如,基于SLA和/或影响策略和/或业务逻辑来排序Workload_Resource_Overage(步骤514)。确定工作负载i是否具有Workload_Resource_Overage>0或Workload_Resource_Overage<0(步骤516)。如果工作负载i具有Workload_Resource_Overage>0,则从具有正的Workload_Resource_Overagei的所有工作负载中移除资源,从而具有剩余资源(步骤518),并且计算Total_Available(步骤520),表示为:对于每个工作负载i:
-如果Workload_Resource_Overagei>0,那么,Workload_Current_Allocatedi=Workload_Current_Allocatedi-Resource_Unit
-Total_Available=Total_Available+Resource_Unit
如果在步骤516,工作负载i具有Workload_Resource_Overage<0,则将资源分配给具有负Workload_Resource_Overage的工作负载,从而具有对资源的更大需求(步骤522),并且计算Total_Available(步骤524),表达为:对于每个工作负载i:
-如果Workload_Resource_Overagei<0则,
-Workload_Current_Allocatedi=Workload_Current_Allocatedi+Resource_Unit
-Total_Available=Total_Available-Resource_Unit
继续,然后确定是否Total_Available>0(或>>0)或Total_Available<0(步骤526)。如果在步骤526,Total_Available>0(或>>0),则基于现有分配的比例,或基于指定策略和SLA的关于工作负载扩展的手动输入,资源按比例分配给现有工作负载或能够运行的额外工作负载(步骤528),表示为:对于每个工作负载i,
-Workload_Allocated_Proportioni=Workload_Current_Allocatedi/Total_Workload_Allocated
-Workload_Current_Allocatedi+=Workload_Allocated_Proportioni*Total_Available
-Total_Available=0
如果在步骤526,Total_Available低于0,则基于现有分配的比例或关于SLA中的工作负载扩展的手动输入,从Workload_Current_Allocatedi按比例地移除资源或者暂停工作负载(步骤530),表示为:
对于每个工作负载i,
-Workload_Allocated_Proportioni=Workload_Current_Allocatedi/Total_Workload_Allocated
-Workload_Current_Allocatedi-=Workload_Allocated_Proportioni*Total_Available
-Total_Available=0
对于每个工作负载i,使用功率管理算法550迭代地更新步骤504中引用的模型。
在一些实施例中,当Total_Available>0时,优先级顺序可用于在工作负载之间分配额外功率,如图6中的图表所示。表600示出了优先级顺序的示例,该优先级顺序可以用于在总可用功率高于零时按照优先级1到4的顺序在工作负载之间分配额外功率。表600示出了第一优先级可以基于关键的、可预测的SLA,第二优先级基于不稳定但关键的SLA的,第三优先级基于机会性和可预测的SLA,以及第四优先级基于不稳定的,机会性的SLA工作负载。当Total_Available低于0时,相同的顺序反向用于确定移除功率的优先级(即,从工作负载优先级4到1)。当然,如本领域普通技术人员将理解的,除了所描述的那些之外,可能存在额外的SLA优先级,其将以相同的比例修改上述分配功率的顺序。
在其他实施例中,本发明提供了一种新颖的机制,通过将像处理器内核一样细粒度的处理组件(即处理器的一部分)提供的能量测量聚合到包含多个处理器的机架上,直至并包括整个数据中心本身内的所有组件(如加速器、网络组件、内存、缓存等)来测量整个数据中心的总利用)。这种能量测量方法不是从数据中心的“功率室”收集这种测量,而是为那些没有访问权限的人或其他更为偶然的用户(不是高级管理员)提供了独特的机会,以获得关于数据中心内组件的实际利用的指标,以便实现这些组件的更好的整体效率和吞吐量,从而允许用户考虑他们已经租用的资源的收集以及他们如何优化这些资源,除了数据中心运营商之外,他们可以在不同的SLA优先级内过度提供资源,并且仍然可以执行各种SLA条件,并在同一成本平台上生成额外收入。这些机制与获得温度或其他复杂和侵入性读数相反,以确定现有技术中通常应用的资源和/或数据中心利用。
例如,当不是数据中心所有者的用户需要知道数据中心的利用是什么时(如上面基于能量的利用而不是基于操作***的进程利用状态所定义的),可以实现虚拟探测器(probe)以在多个不同的服务器上读取处理组件或其部分(处理器核心等)的能量寄存器。可以将这样的探测器结合为可以在云服务提供商处定义的最小可能的虚拟机(VM)实体。
该探测器有两个方面。探测器通常在某个时间段或时间间隔(例如一分钟)读取处理器/服务器的能量消耗寄存器(其聚合该服务器的所有核心的能量使用)。这可能还包括处理器封装能量、核心能量、内存能量、加速器(例如GPU核心或FPGA,如果可用)的能量以及网络组件的能量的读数。
在探测器模式中,这样的小VM在很长一段时间(周,月左右)运行并收集以下数据:在处理器中曾观察到的最大能量;处理器中曾观察到的最小能量;以及通过计算每次探测器读取例如处理器芯片/服务器时读取的能量读数差异,随时间观察到的能量平均值。如果探测器恰好位于始终忙碌的服务器中,它将始终读取最大能量。同样,如果探测器恰好位于空闲服务器中,它将始终读取最小能量。
接下来,在数据中心中运行的所有探测器上,针对在相同类型的服务器中分配的那些探测器计算全局最小能量和全局最大能量(其中服务器类型引用云服务运营商提供的服务器可能的不同规范-例如,在不同类型中,服务器可能具有不同的处理器版本或使用较旧代的处理器而不是新一代等)。对于分配给相同类型服务器的所有探测器,在预定时间计算全局最大值和最小值,以获得并入相同类型服务器的所有探测器中数据中心的总体利用。
如果在数据中心存在统计上有意义数量的探测器,监视每个不同的服务器(如下所述),则该数据中心的整体利用可计算为能源或功率利用为:(所有探测器的平均值(或者每个随时间看到的平均能量)-从所有被探测的服务器计算的全局最小功率)/(从所有被探测的服务器计算的全局最大功率-从所有被探测的服务器计算的全局最小功率)。
为了将新探测器添加到现有探测器集,现有探测器集的每一个运行“功率病毒(power virus)”(专门设计用于根据服务器中分配的微小VM生成最大能耗的指令集)。功率病毒的运行/停止时间模式将是被分配的VM的新候选监视探测器检测到的密钥。然后,所有现有VM探测器中的功率病毒在可以检测到的情况下运行(例如,关闭10秒,开启20秒,关闭20秒,开启5秒等),以通过新的小型VM中的新候选探针形成可检测能量变化的峰/谷链。该模式或密钥在较长的时间段(例如,几分钟至一小时左右)内重复,以允许新候选探测器的准确检测。
然后,新的候选探测器读取处理器芯片或服务器正在使用的能量,因为它能够观察到。如果与其他(现有)探测器生成的开/关周期的功率病毒模式有任何关联,则将释放新的候选探测器并且在分配新VM之前等待随机等待时间,在该虚拟机中重新开始进程。类似地,如果新的候选探测器连续观察到没有变化的最大能量输出,则将释放新的候选探测器,并且在随机等待时间之后,将为新探测器提供新的VM分配。因此,添加新探测器的过程将确保在将所有探测器转换为正探测能量/功耗之前,仅分配在不同服务器上运行的唯一探测器。
新探测器的分配将继续并且可以在几天或更长时间内发生,直到成功分配基于运行云服务的数据中心位置的已知或估计大小的统计上有意义数量的探测器。这个数字来自统计的已知技术。此外,以这种方式监控数据中心的总时间也应该足够长,以观察由于星期几引起的大部分变化或掩盖其他事件(例如假期、夏季休假或开始新数据中心与已建立的数据中心),这可能会影响测量的平均利用。
在其他实施例中,在用户测量侧,运行由分散***中的资源组成的数百个服务器实例的公司(其中“组合”是指***通过布线组合在一起,在此示例中,光纤交换机连接光纤以形成子***或资源池之间的端到端连接)也可以直接访问以读取所有分配的服务器的能量消耗,因此还可以评估工作负载性能以及它们的使用效率如何。这可能有利于用户至少在某些时候降低成本,这取决于其所有分配资源的能源使用模式以及所使用的子***/资源类型以及在什么时候使用等。此功能直接归因于分散***的使用。同样请注意,这种分散与云计算通常提供的按需模型是分开的。在按需模型中,用户可以获得更多资源(VM),直到最终托管多个用户的VM的预构建物理服务器盒的限制。在分散设计中,资源根据需要按用户附加,并且以更具弹性的格式附加,因为资源池非常大,因此可以根据需要添加处理器或其他组件(例如,按比例放大或具有多个插槽的SMP)没有资源是否物理上位于同一服务器“盒子”的限制。
相反,数据中心的所有者或运营商将读取所有组合的服务器和所讨论的资源的能量消耗(例如,处理器、存储器、加速器、存储、通信网络、每个处理器中的高速缓存、以及任何/所有感兴趣的功能子***)。作为数据中心整体管理的一部分,通过数据中心运营商可以访问的虚拟机管理程序或控制网络,可以促进这种读取所有子***的能量消耗的访问。
每一段时间的聚合能量读数将为操作员提供在数据中心中运行的所有工作负载的准确使用状态和操作概况。这可以是利用能量的处理器。例如,如果处理器持续以低利用运行,则运营商可以添加更多要分配的工作负载,或者可以减少用于数据中心的处理器池中的处理器数量等。
该方法也适用于考虑的层次结构。例如,数据中心中的一些“区域”可能比其他区域更有用。这些区域是资源池可以在动态服务器组合中共享的区域。其他区域可能利用较低,因此平衡区域之间的能量和工作负载可以提供更好的利用并随着时间的推移提供更好的效率。这也可以从存储器能量使用与缓存或与加速器(GPU,FPGA等)相比可见,这些都有助于更好地确定区域中的资源匹配和/或所测量的所有数据中心。
重要的是要注意,除了所讨论的方法和方案之外还提供了这些机制,用户可以在不作为数据中心运营商的访问的情况下执行(其中用户通过探测/功率病毒VM等访问能量消耗)。因此,作为数据中心运营商,不需要使用探测器或功率病毒VM,因为操作员可以直接读取任何位置和任何子***/功能单元的任何能量消耗,并且这样的操作员显然可以寻址并由此知道所有相关资源的位置和ID,就像非运营商一样,没有进行任何统计上有意义的探测。
本发明可以是装置,***,方法和/或计算机程序产品。该计算机程序产品可以包括计算机可读存储介质(或媒体),其上具有计算机可读程序指令,用于使处理器执行本发明的各方面。
计算机可读存储介质可以是有形装置,其可以保留和存储指令以供指令执行装置使用。计算机可读存储介质可以是例如但不限于电子存储装置、磁存储装置、光存储装置、电磁存储装置、半导体存储装置或前述的任何合适组合。计算机可读存储介质的更具体示例的非详尽列表包括以下内容:便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式光盘只读存储器(CD-ROM)、数字通用光盘(DVD)、记忆棒,软盘、机械编码装置,例如在其上记录有指令的凹槽中的穿孔卡或凸起结构,以及前述的任何合适的组合。这里使用的计算机可读存储介质不应被解释为暂时性信号本身,例如无线电波或其他自由传播的电磁波、通过波导或其他传输介质传播的电磁波(例如,通过光纤电缆的光脉冲)或通过电线传输的电信号。
这里描述的计算机可读程序指令可以经由网络从计算机可读存储介质或外部计算机或外部存储装置下载到各个计算/处理装置,例如,因特网、局域网、广域网和/或无线网络。网络可以包括铜传输电缆,光传输光纤,无线传输,路由器,防火墙,交换机,网关计算机和/或边缘服务器。每个计算/处理装置中的网络适配器卡或网络接口从网络接收计算机可读程序指令,并转发计算机可读程序指令以存储在各个计算/处理装置内的计算机可读存储介质中。
用于执行本发明的操作的计算机可读程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,包括诸如Smalltalk,C++等的面向对象的编程语言,以及诸如“C”编程语言或类似编程语言的传统过程编程语言。计算机可读程序指令可以完全在用户的计算机上、部分在用户的计算机上,作为独立的软件包,部分地在用户的计算机上,以及部分地在远程计算机上或完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,通过互联网使用互联网服务提供商)。在一些实施例中,包括例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA)的电子电路可以通过利用计算机可读程序指令的状态信息来执行计算机可读程序指令以个性化电子电路,以便执行本发明的各方面。
这里参考根据本发明实施例的方法、装置(***)和计算机程序产品的流程图和/或框图来描述本发明的各方面。将理解,流程图图示和/或框图的每个框以及流程图图示和/或框图中的框的组合可以由计算机可读程序指令实现。
这些计算机可读程序指令可以被提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器以产生机器,使得通过计算机的处理器或其他可编程数据处理装置执行的指令创建用于实现流程图和/或框图或框中指定的功能/动作的装置。这些计算机可读程序指令还可以存储在计算机可读存储介质中,该计算机可读存储介质可以指示计算机,可编程数据处理装置和/或其他装置以特定方式起作用,使得其中存储有指令的计算机可读存储介质包括制品,该制品包括实现流程图和/或框图或框中指定的功能/动作的各方面的指令。
计算机可读程序指令还可以被加载到计算机、其他可编程数据处理装置或其他装置上,以使得在计算机、其他可编程装置或其他装置上执行一系列操作步骤以产生计算机实现的过程,使得在计算机、其他可编程装置或其他设备上执行的指令实现在流程图和/或框图或框中指定的功能/动作。
附图中的流程图和框图说明了根据本发明的各种实施例的***、方法和计算机程序产品的可能实现的体系结构、功能和操作。在这方面,流程图或框图中的每个框可以表示模块、段或指令的一部分,其包括用于实现指定的逻辑功能的一个或多个可执行指令。在一些替代实施方式中,框中提到的功能可以不按图中所示的顺序发生。例如,连续示出的两个方框实际上可以基本上同时执行,或者这些方框有时可以以相反的顺序执行,这取决于所涉及的功能。还应注意,框图和/或流程图图示的每个框以及框图和/或流程图图示中的框的组合可以由执行特定功能或动作的专用硬件***来实现,或者执行专用硬件和计算机指令的组合。

Claims (18)

1.一种用于由处理器装置在分散计算***中进行功率管理的方法,包括:
根据预测的期望工作负载,将初始电功率电平集分配到分散计算***中的处理器核心集,其中所述初始功率电平集聚合到初始集体合同功率电平;以及
动态地将电功率分配到处理器核心集内的各个处理器核心,以产生执行集体所需工作负载的能力,同时将处理器核心集的电功率维持在初始集体合同电功率电平的阈值内的近似恒定的电功率电平。
2.如权利要求1所述的方法,其中所述期望工作负载包括与各个处理器核心相关联的各个工作负载,与各个处理器核心相关联的各个工作负载由多个租户请求。
3.如权利要求2所述的方法,还包括基于与各个处理器核心相关联的各个工作负载的工作负载吞吐量监视统计信息,以预测期望工作负载。
4.如权利要求2或3所述的方法,其中多个租户集拥有服务等级协议(SLA),并且根据所述SLA将所述电功率动态地分配给各个处理器核心。
5.如权利要求4所述的方法,还包括根据SLA的优先级动态分配电功率,其中各个SLA具有比其他SLA更高的优先级。
6.如权利要求2至5任一项所述的方法,还包括使用功率管理算法在时间窗口内计算与各个处理器核心相关联的各个工作负载的每个的功率模型。
7.如权利要求6所述的方法,还包括使用所述功率管理算法将来自各个工作负载之一的电功率动态分配到所述各个工作负载的另一个,其中所述电功率被动态分配以将所述近似恒定的电功率水平维持在所述初始集体合同功率电平的阈值内。
8.如权利要求7所述的方法,还包括:根据各个工作负载的每个之一并且在时间窗结束之后,使用功率管理算法迭代地更新功率模型。
9.一种用于在分散计算***中的功率管理的***,所述***包括:至少一个处理器装置,其中所述至少一个处理器装置:
根据预测的期望工作负载,将初始电功率电平集分配到分散计算***中的处理器核心集,其中所述初始功率电平集聚合到初始集体合同功率电平;以及动态地将电功率分配到处理器核心集内的各个处理器核心,以产生执行集体所需工作负载的能力,同时将处理器核心集的电功率维持在初始集体合同电功率电平的阈值内的近似恒定的电功率电平。
10.如权利要求9所述的***,其中所述期望工作负载包括与各个处理器核心相关联的各个工作负载,与各个处理器核心相关联的各个工作负载由多个租户请求。
11.如权利要求10所述的***,其中,所述至少一个处理器装置基于与各个处理器核心相关联的各个工作负载的工作负载吞吐量监视统计信息,以预测期望工作负载。
12.如权利要求10或11所述的***,其中多个租户集拥有服务等级协议(SLA),并且根据所述SLA将所述电功率动态地分配给各个处理器核心。
13.如权利要求12所述的***,其中,所述至少一个处理器装置根据SLA的优先级动态分配电功率,其中各个SLA具有比其他SLA更高的优先级。
14.如权利要求10至13任一项所述的***,其中,所述至少一个处理器装置使用功率管理算法在时间窗口内计算与各个处理器核心相关联的各个工作负载的每个的功率模型。
15.如权利要求14所述的***,其中,所述至少一个处理器装置使用所述功率管理算法将来自各个工作负载之一的电功率动态分配到所述各个工作负载的另一个,其中所述电功率被动态分配以将所述近似恒定的电功率水平维持在所述初始集体合同功率电平的阈值内。
16.如权利要求15所述的***,其中所述至少一个处理器装置根据各个工作负载的每个之一并且在时间窗结束之后,使用功率管理算法迭代地更新功率模型。
17.一种用于分散计算***中的功率管理的计算机程序产品,该计算机程序产品包括:
计算机可读存储介质,其可由处理电路读取并存储用于由处理电路执行的指令,用于执行根据权利要求1至8任一项的方法。
18.一种存储在计算机可读介质上并可加载到数字计算机的内部存储器中的计算机程序,包括软件代码部分,当所述程序在计算机上运行时,用于执行权利要求1到8任一项的方法。
CN201780060774.5A 2016-10-10 2017-10-05 分散计算***中的功率管理 Active CN109791532B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/289,272 US10401940B2 (en) 2016-10-10 2016-10-10 Power management in disaggregated computing systems
US15/289,272 2016-10-10
PCT/IB2017/056154 WO2018069797A1 (en) 2016-10-10 2017-10-05 Power management in disaggregated computing systems

Publications (2)

Publication Number Publication Date
CN109791532A true CN109791532A (zh) 2019-05-21
CN109791532B CN109791532B (zh) 2023-04-25

Family

ID=61828934

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780060774.5A Active CN109791532B (zh) 2016-10-10 2017-10-05 分散计算***中的功率管理

Country Status (6)

Country Link
US (1) US10401940B2 (zh)
JP (1) JP6850344B2 (zh)
CN (1) CN109791532B (zh)
DE (1) DE112017005131T5 (zh)
GB (1) GB2570075A (zh)
WO (1) WO2018069797A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414070A (zh) * 2020-03-06 2020-07-14 苏州浪潮智能科技有限公司 一种机箱功耗管理方法、***及电子设备和存储介质
CN114816025A (zh) * 2021-01-19 2022-07-29 联想企业解决方案(新加坡)有限公司 功率管理方法和***

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10671147B2 (en) * 2017-12-18 2020-06-02 Facebook, Inc. Dynamic power management for artificial intelligence hardware accelerators
US11031787B2 (en) 2018-09-14 2021-06-08 Lancium Llc System of critical datacenters and behind-the-meter flexible datacenters
US10976801B2 (en) * 2018-09-20 2021-04-13 Intel Corporation System, apparatus and method for power budget distribution for a plurality of virtual machines to execute on a processor
CN110955513B (zh) * 2018-09-27 2023-04-25 阿里云计算有限公司 一种服务资源的调度方法及***
US10956230B2 (en) * 2018-10-01 2021-03-23 Vmware, Inc. Workload placement with forecast
CN109408230B (zh) * 2018-10-10 2021-07-20 中国科学院计算技术研究所 基于能耗优化的Docker容器部署方法及***
CA3183109A1 (en) 2019-05-15 2020-11-19 Upstream Data Inc. Portable blockchain mining system and methods of use
US10963029B1 (en) * 2019-06-26 2021-03-30 Amazon Technologies, Inc. Power virus generation
US11868106B2 (en) 2019-08-01 2024-01-09 Lancium Llc Granular power ramping
US11397999B2 (en) 2019-08-01 2022-07-26 Lancium Llc Modifying computing system operations based on cost and power conditions
US11593177B2 (en) * 2020-03-18 2023-02-28 Vmware, Inc. Cost-savings using ephemeral hosts in infrastructure as a service environments based on health score
US11650654B2 (en) 2020-04-14 2023-05-16 Microsoft Technology Licensing, Llc Managing power resources for pools of virtual machines
CN111784104A (zh) * 2020-05-25 2020-10-16 佛山市华全电气照明有限公司 一种智慧多功能杆上设备的用能动态分配管理方法及***
US20220318056A1 (en) * 2021-03-30 2022-10-06 Advanced Micro Devices, Inc. Dynamic system power load management
US11733902B2 (en) 2021-04-30 2023-08-22 International Business Machines Corporation Integrating and increasing performance of disaggregated memory in operating systems

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120290865A1 (en) * 2011-05-13 2012-11-15 Microsoft Corporation Virtualized Application Power Budgeting
US8595515B1 (en) * 2007-06-08 2013-11-26 Google Inc. Powering a data center
CN103440028A (zh) * 2008-10-31 2013-12-11 英特尔公司 多处理器核心的功率管理
US20140100706A1 (en) * 2012-10-05 2014-04-10 Dell Products L.P. Power system utilizing processor core performance state control
CN104715340A (zh) * 2015-03-30 2015-06-17 重庆工商职业学院 一种基于绿色能源的云计算能源管理***及方法
US20170300359A1 (en) * 2014-10-30 2017-10-19 Hewlett Packard Enterprise Development Lp Policy based workload scaler

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7134029B2 (en) 2003-11-06 2006-11-07 International Business Machines Corporation Computer-component power-consumption monitoring and control
US7379791B2 (en) 2004-08-03 2008-05-27 Uscl Corporation Integrated metrology systems and information and control apparatus for interaction with integrated metrology systems
US7308591B2 (en) 2004-12-16 2007-12-11 International Business Machines Corporation Power management of multi-processor servers
US7681054B2 (en) * 2006-10-03 2010-03-16 International Business Machines Corporation Processing performance improvement using activity factor headroom
US7979729B2 (en) 2007-11-29 2011-07-12 International Business Machines Corporation Method for equalizing performance of computing components
US8001403B2 (en) * 2008-03-14 2011-08-16 Microsoft Corporation Data center power management utilizing a power policy and a load factor
US8301742B2 (en) 2008-04-07 2012-10-30 International Business Machines Corporation Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments
EP2343649B1 (en) * 2008-10-30 2017-10-25 Hitachi, Ltd. Operation management apparatus of information processing system
US9778718B2 (en) 2009-02-13 2017-10-03 Schneider Electric It Corporation Power supply and data center control
US8904394B2 (en) 2009-06-04 2014-12-02 International Business Machines Corporation System and method for controlling heat dissipation through service level agreement analysis by modifying scheduled processing jobs
US8478451B2 (en) * 2009-12-14 2013-07-02 Intel Corporation Method and apparatus for dynamically allocating power in a data center
US8489904B2 (en) * 2010-03-25 2013-07-16 International Business Machines Corporation Allocating computing system power levels responsive to service level agreements
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
US8832476B2 (en) 2010-09-28 2014-09-09 Google Inc. Power allotment distribution in a data center
US8843933B1 (en) 2011-05-25 2014-09-23 Vmware, Inc. System and method for managing a virtualized computing environment
EP2795424A4 (en) 2011-12-22 2016-06-01 Schneider Electric It Corp SYSTEMS AND METHOD FOR REDUCING THE ENERGY STORAGE REQUIREMENTS IN A DATA CENTER
KR20130101693A (ko) 2012-03-06 2013-09-16 삼성전자주식회사 이종의 운영체제를 사용하는 가상화 시스템의 전력 관리 방법 및 장치
US9298247B2 (en) 2012-11-27 2016-03-29 International Business Machines Corporation Distributed power budgeting
US20140222225A1 (en) * 2013-02-06 2014-08-07 Gregory C. Rouse Energy management system and method
WO2014147700A1 (ja) 2013-03-18 2014-09-25 富士通株式会社 情報処理装置、情報処理装置の停止方法、及び情報処理装置の停止プログラム
US9557792B1 (en) 2013-05-31 2017-01-31 Amazon Technologies, Inc. Datacenter power management optimizations
KR20150001102A (ko) 2013-06-26 2015-01-06 한국전자통신연구원 가상 머신을 이용한 서버 전력 예측 장치 및 그 방법
US9477279B1 (en) 2014-06-02 2016-10-25 Datadirect Networks, Inc. Data storage system with active power management and method for monitoring and dynamical control of power sharing between devices in data storage system
US9575536B2 (en) * 2014-08-22 2017-02-21 Intel Corporation Methods and apparatus to estimate power performance of a job that runs on multiple nodes of a distributed computer system
US9645629B2 (en) 2014-09-25 2017-05-09 Microsoft Technology Licensing, Llc Providing energy consumption analytics of cloud based service
US9971391B2 (en) 2015-12-23 2018-05-15 Intel Corporation Method to assess energy efficiency of HPC system operated with and without power constraints
US10237335B2 (en) 2016-06-15 2019-03-19 Advanced Micro Devices, Inc. Managing cluster-level performance variability without a centralized controller

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8595515B1 (en) * 2007-06-08 2013-11-26 Google Inc. Powering a data center
CN103440028A (zh) * 2008-10-31 2013-12-11 英特尔公司 多处理器核心的功率管理
US20120290865A1 (en) * 2011-05-13 2012-11-15 Microsoft Corporation Virtualized Application Power Budgeting
US20140100706A1 (en) * 2012-10-05 2014-04-10 Dell Products L.P. Power system utilizing processor core performance state control
US20170300359A1 (en) * 2014-10-30 2017-10-19 Hewlett Packard Enterprise Development Lp Policy based workload scaler
CN104715340A (zh) * 2015-03-30 2015-06-17 重庆工商职业学院 一种基于绿色能源的云计算能源管理***及方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111414070A (zh) * 2020-03-06 2020-07-14 苏州浪潮智能科技有限公司 一种机箱功耗管理方法、***及电子设备和存储介质
CN111414070B (zh) * 2020-03-06 2021-10-15 苏州浪潮智能科技有限公司 一种机箱功耗管理方法、***及电子设备和存储介质
CN114816025A (zh) * 2021-01-19 2022-07-29 联想企业解决方案(新加坡)有限公司 功率管理方法和***

Also Published As

Publication number Publication date
US20180101220A1 (en) 2018-04-12
US10401940B2 (en) 2019-09-03
WO2018069797A1 (en) 2018-04-19
CN109791532B (zh) 2023-04-25
JP2020502611A (ja) 2020-01-23
DE112017005131T5 (de) 2019-08-01
JP6850344B2 (ja) 2021-03-31
GB201906513D0 (en) 2019-06-26
GB2570075A (en) 2019-07-10

Similar Documents

Publication Publication Date Title
CN109791532A (zh) 分散计算***中的功率管理
US10884821B2 (en) Measuring utilization of resources in datacenters
Mao et al. Scaling and scheduling to maximize application performance within budget constraints in cloud workflows
Wang et al. Adaptive scheduling for parallel tasks with QoS satisfaction for hybrid cloud environments
Xiong et al. Intelligent management of virtualized resources for database systems in cloud environment
US10819599B2 (en) Energy consumption as a measure of utilization and work characterization in a system
US11693698B2 (en) System and method for infrastructure scaling
US20180101214A1 (en) Sla-based power management in disaggregated computing systems
US10545560B2 (en) Power management and utilization detection of computing components
Piraghaj Energy-efficient management of resources in enterprise and container-based clouds
Rathinaraja et al. Dynamic ranking-based MapReduce job scheduler to exploit heterogeneous performance in a virtualized environment
RahimiZadeh et al. Design and evaluation of a joint profit and interference-aware VMs consolidation in IaaS cloud datacenter
Lu et al. InSTechAH: Cost-effectively autoscaling smart computing hadoop cluster in private cloud
Bermejo et al. Improving the energy efficiency in cloud computing data centres through resource allocation techniques
Piraghaj Energy-efficient management of resources in container-based clouds
Sahal et al. Effective virtual machine configuration for cloud environment
Kumar et al. QoS‐aware resource scheduling using whale optimization algorithm for microservice applications
Sáez et al. Design support for performance aware dynamic application (re-) distribution in the cloud
Chikhaoui et al. A cost model for hybrid storage systems in a cloud federations
Prasad et al. Resource allocation in cloud computing
Peer Mohamed et al. An efficient framework to handle integrated VM workloads in heterogeneous cloud infrastructure
Shahbazi et al. Smart deployment of virtual machines to reduce energy consumption of cloud computing based data centers using gray wolf optimizer
Sharma et al. An Empirical Study of Different Techniques for the Improvement of Quality of Service in Cloud Computing
Mazrekaj et al. DYNAMIC RESOURCE ALLOCATION IN CLOUD COMPUTING
Sharma Energy Efficient Resource Management and Task Scheduling at the Cloud Data Center

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
GR01 Patent grant
GR01 Patent grant