CN107003713B - 用于电力管理的逻辑分区的事件驱动的方法和系统 - Google Patents

用于电力管理的逻辑分区的事件驱动的方法和系统 Download PDF

Info

Publication number
CN107003713B
CN107003713B CN201580067536.8A CN201580067536A CN107003713B CN 107003713 B CN107003713 B CN 107003713B CN 201580067536 A CN201580067536 A CN 201580067536A CN 107003713 B CN107003713 B CN 107003713B
Authority
CN
China
Prior art keywords
logically
data processing
processor
pool
event
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.)
Active
Application number
CN201580067536.8A
Other languages
English (en)
Other versions
CN107003713A (zh
Inventor
C.S.艾德
K.温德泽尔
A.库马
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 CN107003713A publication Critical patent/CN107003713A/zh
Application granted granted Critical
Publication of CN107003713B publication Critical patent/CN107003713B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • 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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • 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/329Power saving characterised by the action undertaken by task scheduling
    • 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/3293Power saving characterised by the action undertaken by switching to a less power-consuming processor, e.g. sub-CPU
    • 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
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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
    • 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/4557Distribution of virtual machine instances; Migration and load balancing
    • 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
    • Y02BCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO BUILDINGS, e.g. HOUSING, HOUSE APPLIANCES OR RELATED END-USER APPLICATIONS
    • Y02B70/00Technologies for an efficient end-user side electric power management and consumption
    • Y02B70/10Technologies improving the efficiency by using switched-mode power supplies [SMPS], i.e. efficient power electronics conversion e.g. power factor correction or reduction of losses in power supplies or efficient standby modes
    • 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
    • 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
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Landscapes

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

Abstract

一种响应于检测到可能增加或减少留存在逻辑分区计算环境中的逻辑分区的总体资源需求的系统事件,利用事件驱动重新优化在逻辑分区计算环境中逻辑分区处理系统池内重新分配一个或多个逻辑分区的方法、系统和程序产品。重新优化可用于在较少的处理器节点上合并逻辑分区,以提高掉电硬件资源的能力,从而降低电力消耗。

Description

用于电力管理的逻辑分区的事件驱动的方法和系统
技术领域
本发明通常涉及计算机和计算机软件,特别是涉及逻辑分区计算环境。
背景技术
随着随后的每一代的计算系统通常以降低的成本在性能、功能、和存储容量上的提高,计算技术以显著的速度发展着。此外,数据中心的电力(power)管理近年变得日益重要,能源之星合规以及“绿色”计算机系统和数据中心的概念的出现证明了这一点。电力成本和环境顾虑尤其对于拥有大数据中心的企业而言是重要的问题。因此,建立节能系统和解决方案的计算机和软件制造商可能在市场上具有明显的优势。
电力管理技术通常涉及监视工作负载和环境因素,并以系统或系统池内的计算资源之间移动工作负载的方式实现与电力消耗相关的某些优点。这个优点可以通过对系统或系统中组件进行掉电(进入低电力状态或者彻底关闭),或者通过避免数据中心中的热点,或者通过避免高电力消耗区域或次数而获得。被移位的工作负载一般是调度(dispatch)单元(当在处理器核之间移动工作负载以促进处理器和存储器折叠(folding)),或者是应用程序/任务(当在数据中心的系统之间移动工作负载)。
许多数据中心采用逻辑分区,其使得计算机能够用于一起运行多个操作环境或操作系统。在一般的实施例中,单个逻辑分区的计算机或者数据处理系统可以在对应的多个逻辑分区(LPAR)中运行多个操作系统,也称为虚拟机(VM)。每个操作系统留存(reside in)在其自己的逻辑分区中,其中从计算机分配一部分物理处理器、整个物理处理器、或者多个物理处理器给每个逻辑分区。此外,计算机内存的一部分被分配给每个逻辑分区。通常称为管理程序(hypervisor)或虚拟机监视器(VMM)的底层分区管理器管理和控制逻辑分区。管理程序通常是系统固件的一部分,并管理对操作系统和逻辑分区的资源分配。如此,一个逻辑分区的计算机可以运行一个或多个逻辑分区,从而虚拟化由应用程序、操作系统、和配置为在这些逻辑分区中运行的其他程序代码使用的底层硬件资源。
在大数据中心中,通常存在足够的处理能力使得逻辑分区能够以数据中心的总工作量仅位于数据中心中的可用硬件资源的子集的方式被放置,从而使得一些硬件资源能够被掉电以降低总体电力消耗。然而,考虑到许多工作负载的动态性质,在数据中心中的向各种硬件资源的逻辑分区的最佳分配可能随时间而变化,并且在某些情况下可能需要管理员行动来解决次优的逻辑分区分配。在某些情况下,次优分配可能甚至不很明显,导致数据中心的电力消耗过剩和/或性能下降。
发明内容
本发明通过提供如权利要求1所述的方法和对应的如权利要求所述的系统和计算机程序来解决与现有技术相关的这些和其它的问题,其响应于对于留存在逻辑分区计算环境中的逻辑分区的可能增加或减少的整体资源需求的系统事件的检测,利用事件驱动的重新优化来重新分配逻辑分区数据处理系统池内的一个或多个逻辑分区。在某些情况下,例如,重新优化可以用于在较少的处理器节点上合并逻辑分区以提高针对硬件资源掉电的潜力从而降低电力消耗。
因此,符合本发明的一个方面,可以在包括设置在逻辑分区数据处理系统池中的处理器节点的集合的逻辑分区计算环境中管理电力消耗。可以通过分配多个逻辑分区到逻辑分区数据处理系统池来管理电力消耗,以优化在逻辑分区计算环境中的电力消耗,在分配多个逻辑分区之后,自主地监视针对改变分配给逻辑分区数据处理系统的逻辑分区资源需求的系统事件的逻辑分区数据处理系统池,基于监视逻辑分区数据处理系统池来检测改变分配给逻辑分区数据处理系统池的逻辑分区的资源需求的第一系统事件,并且,响应于检测到第一系统事件,通过将多个逻辑分区的至少一个子集动态地重新分配给处理器节点的集合并且动态地修改设置在逻辑分区数据处理系统池中的处理器节点的集合中的至少一个处理器节点的电力状态,来重新优化在逻辑分区计算环境中的电力消耗。
表征本发明的这些和其它的优点和特征在本申请所附的权利要求中被阐述,并形成其进一步的部分。但是,为了更好地理解本发明,并且通过其使用获得的优点和目的,应参考附图以及补充的描述性内容,其中描述了本发明的示例性实施例。
附图说明
图1A和1B是适于实施符合本发明的逻辑分区计算环境的示例硬件(图1A)和软件(图1B)环境的框图。
图2是在符合本发明的一个实施例中用于执行事件驱动重新优化的模型的框图。
图3A-3B示出了表示可以由图1A的协调器(orchestrator)组件执行的示例重新优化例程的流程图,其响应于授权(entitled)容量减少系统事件来重新优化逻辑分区计算环境的电力消耗。
图4A-4D示出了表示可以由图1A的协调器部件执行的示例重新优化例程的流程图,其响应于授权容量增加系统事件来重新优化逻辑分区计算环境的电力消耗。
具体实施方式
符合本发明的实施例响应于对于可能增加或减少留存在逻辑分区计算环境中的逻辑分区的整体资源需求的系统事件的检测,利用事件驱动的重新优化来重新分配逻辑分区计算环境中逻辑分区数据处理系统池内的一个或多个逻辑分区。在某些情况下,例如,重新优化可以用于在较少的处理器节点上合并逻辑分区以提高硬件资源掉电的潜力,从而降低电力消耗。
在这方面,逻辑分区计算环境可以被认为包括支持逻辑分区(或虚拟化)的一个或多个数据处理系统,其中至少一些数据处理系统包含多个处理器节点,所述多个处理器节点表示能够主管(host)一个或多个逻辑分区的硬件资源。符合本发明的逻辑分区计算环境通常支持分区移动性的概念(其可以由除分区移动性以外的名称指代),由此宿主在一个逻辑分区数据处理系统上的逻辑分区可以在运行期间被移动到不同的逻辑分区数据处理系统,在某些情况下很少地或不中断服务。
在这方面,处理器节点可以被认为包括数据处理系统中的可用硬件资源的任何子集,并且通常(虽然不是必需地)包括一个或多个处理器、一个或多个存储器设备、以及在某些情况下包括额外的硬件资源(例如输入/输出(I/O)资源)、网络资源或者能够分配给逻辑分区的其他类型的资源。在一些实施例中的处理器节点可以被实施为多芯片模块、电路板或卡、书(book)、抽屉、机架、插槽、机箱或甚至其组合。在一些实施例中,处理器节点也可以是独立的计算机系统。在事件驱动重新优化被用于优化电力消耗的实施例中,处理器节点还可以基于硬件资源的分组(grouping)来定义,所述硬件资源可以分别地被连通电源、切断电源或者以其它方式被控制以增加或者减少电力消耗。因此,从这里描述的实施例的角度来看,处理器节点至少包括可以与单独于其他处理器节点被掉电或者完全切断电源的处理器和存储器的集合。
在本发明的一些实施例中,可以在逻辑分区计算环境中管理电力消耗,所述逻辑分区计算环境包括设置在逻辑分区数据处理系统池中的处理器节点的集合。可以通过分配多个逻辑分区到逻辑分区数据处理系统池来管理电力消耗,以优化在逻辑分区计算环境中的电力消耗,在分配多个逻辑分区之后,自主地监视针对改变分配给逻辑分区数据处理系统的逻辑分区资源需求的系统事件的逻辑分区数据处理系统池,基于监视逻辑分区数据处理系统池来检测改变分配给逻辑分区数据处理系统池的逻辑分区资源需求的第一系统事件,并且,响应于检测到第一系统事件,通过将多个逻辑分区的至少一个子集动态地重新分配给处理器节点的集合、并且动态地修改设置在逻辑分区数据处理系统池中的处理器节点的集合中的至少一个处理器节点的电力状态,来重新优化在逻辑分区计算环境中的电力消耗。
在一些实施例中,处理器节点的集合包括设置在逻辑分区数据处理系统池中的第一逻辑分区数据处理系统中的第一处理器节点,第一系统事件减少资源需求,并且重新优化在逻辑分区计算环境中的电力消耗,包括降低处理器节点集合中第一处理器节点的电力状态、以及将先前分配给第一处理器节点的至少一个逻辑分区移动到逻辑分区数据处理系统池中的第一逻辑分区数据处理系统或者不同的逻辑分区数据处理系统中的一个或多个不同的处理器节点。在一些实施例中,第一系统事件是逻辑分区电源切断事件、逻辑分区休眠暂停事件、有源逻辑分区迁移出池事件、从逻辑分区动态移除处理器容量事件或者从逻辑分区动态移除存储器容量事件。
在一些实施例中,处理器节点的集合包括设置在逻辑分区数据处理系统池中的第一逻辑分区数据处理系统中的第一处理器节点,第一系统事件增加资源需求,并且重新优化在逻辑分区计算环境中的电力消耗包括增加第一处理器节点的电力状态、以及使用通过增加处理器节点的电力电平(power level)而获得的的容量来满足增加的资源需求。在一些实施例中,第一系统事件是逻辑分区电源连通事件、逻辑分区休眠恢复事件、有源逻辑分区迁移入池事件、动态添加处理器容量到逻辑分区事件或者动态添加存储器容量到逻辑分区事件。
在一些实施例中,逻辑分区数据处理系统池中的第一逻辑分区数据处理系统包括来自处理器节点的集合的第一和第二处理器节点,并且动态地修改处理器节点集合中的至少一个处理器节点的电力状态包括在保持第二处理器节点的电力状态的同时对第一处理器节点进行掉电或上电。在一些实施例中,逻辑分区数据处理系统池中的第一逻辑分区数据处理系统包括来自处理器节点的集合的多个处理器节点,逻辑分区数据处理系统池中的第二逻辑分区数据处理系统包括来自处理器节点的集合的单个处理器节点,并且动态地修改处理器节点集合中的至少一个处理器节点的电力状态包括在保持第一逻辑分区数据处理系统中多个处理器节点中的每个的电力状态的同时对第二逻辑分区数据处理系统进行掉电或上电。
对于本领域普通技术人员来说,许多变化和修改将是显而易见的,因从下面的描述将变得显而易见的。因此,本发明不限于本文讨论的具体实施。
硬件和软件环境
转向附图,其中相同的数字在多个视图中都表示相同的部分,图1A-1B示出了符合本发明的逻辑分区计算环境或装置10中的主要硬件和软件组件。如图1A所示,装置10可以被配置为多节点系统,其中物理硬件分布在设置在多个计算机或者数据处理系统16中的多个物理处理器节点14之间,其中数据处理系统16设置在一个或多个池18中。每个处理器节点14包括一个或多个处理器20、一个或多个存储器设备22、以及在一些实施例中包括附加硬件,诸如输入/输出(I/O)硬件24(例如,一个或多个输入/输出(I/O)适配器)和/或网络硬件26。适当的网络功能(未示出)也可以用于在各种处理器节点14与系统16以及其他外部系统之间提供数据通信。
可以使用适于实施逻辑分区环境的任何多个不同架构来实施设备10。例如,在一个实施例中,设备10可以作为可以从国际商业机器公司可购得的电力770、780或795系统来实施,其配置对本领域普通技术人员来说将显而易见并具有即时公开的益处。然而,应当理解,适于执行逻辑分区环境的其他架构可以用于本发明的其他实施例中,因此本发明不限于这里公开的特定架构。
每个处理器20可以被作为单线程或多线程处理器、和/或作为单核或多核处理器来实施,而每个存储器22可以被认为包括存储器设备的一个或多个级(level),例如基于DRAM的主存储(storage)、以及一个或多个级的数据、指令和/或组合高速缓存(cache),其中某些高速缓存如本领域所公知地服务于单个处理器或多个处理器。此外,设备10的存储器可以被认为包括物理上位于设备10中的其他位置的存储器存储(memory storage),例如处理器中的任何高速缓冲存储器、以及用作虚拟存储器的任何存储容量,例如存储在大容量(mass)存储设备上、或存储在耦合到设备10的另一计算机上。
设备10在一个或多个核、管理程序、操作系统等的控制下运行,并且执行或者以其它方式依赖于各种计算机软件应用程序、组件、程序、对象、模块、数据结构等,如将在下面更详细地描述。另外,各种应用程序、组件、程序、对象、模块等也可以经由网络(例如在分布式或客户-服务器计算环境中)在耦合到设备10的另一计算机中的一个或多个处理器上执行,由此,实施计算机程序的功能所需的处理可以在网络上分到多个计算机。
例如,图1B示出可以留存在设备10中的系统16内的各种软件组件28-42。管理程序28可以主管一个或多个逻辑分区(LPAR)30,并且分配一部分系统16的物理硬件资源(例如处理器、存储器和/或与一个或多个处理器节点14相关联的IO资源)到每个逻辑分区30,这里由一个或多个虚拟处理器(VP)32、虚拟存储器34和虚拟输入/输出(VIO)资源36表示。每个逻辑分区30可以继而主管操作系统38,并且可选地主管中间设备40以及一个或多个任务和/或应用程序42。应当理解,每个逻辑分区30(其可以指代虚拟机器或虚拟计算机)也可以以模拟独立物理计算机的方式运行,并且如此可以实际主管任何能够由计算机主管的软件组件。
附加的硬件和/或软件组件也可以留存在装置10中,例如大容量存储硬件、诸如打印机或显示器的外部输入/输出设备、以及例如软件管理控制台(HMC)的管理硬件和/或软件,借此,装置的硬件和/或软件配置可以由管理员管理。逻辑分区的环境可以以无数个的方式实施,并且可以包括无数个的硬件和/或软件变化,并且如此,本发明不限于这里公开的特定实施。
本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
此外,基于在本发明的具体实施例中实施的这些指令的应用程序,可以标识一个或多个在本文中统称为“程序代码”的计算机可读程序指令。然而,应当理解,以下的任何特定程序命名仅仅是为了方便而使用,并且因此本发明不应该仅限于在由这种命名标识和/或暗示的任何特定应用程序中使用。此外,考虑到计算机程序一般可以以无限种方式被组织到例程、程序、方法、模块、对象等中,以及可以在留存在一般计算机内的各种软件层(例如操作系统、库、API、应用程序、小应用程序等)之间分配程序功能的各种方式,应当理解,本发明不限于这里描述的程序功能的特定组织和分配。
本领域技术人员将认识到,图1A-1B所示的示例环境不意在限制本发明。实际上,本领域技术人员将认识到,在不脱离本发明的范围的情况下,可以使用其他替代的硬件和/或软件环境。
用于电力管理的逻辑分区环境的事件驱动重新优化
数据中心的电力管理近年变得日益重要,能源之星合规以及“绿色”计算机系统和数据中心的概念的出现也证明了这一点。电力成本和环境顾虑尤其对于拥有大数据中心的企业而言是重要的问题。因此,建立节能系统和解决方案的计算机和软件制造商可能在市场上具有明显的优势。
电力管理技术通常涉及监视工作负载和环境因素,并以系统或系统池内的计算资源之间移动工作负载的方式实现与电力消耗相关的某些优点。这个优点可以通过对系统或系统中组件进行掉电(进入低电力状态或彻底关闭),或通过避免数据中心中的热点,或通过避免高电力消耗区域或次数而获得。被移位的工作负载一般是调度单元(当在处理器核之间移动工作负载以促进处理器和存储器折叠),或是应用程序/任务(当在数据中心的系统之间移动工作负载)。
符合本发明的实施例通过利用用于在单个模块化系统或系统池中动态放置逻辑分区的框架来进一步进行电力管理,例如数据中心内的电力管理,以此方式来优化对于通过分区合并、和关闭池中的系统、或关闭池中未被使用的系统部件来节省电力的潜力。逻辑分区可以基于系统事件被动态地移动,所述系统事件释放处理容量因而潜在地允许更多硬件资源被掉电、或是增加处理容量的需求因而潜在地需要硬件资源被连通电源。
在所示实施例中,可以使用系统事件的动态和自主监视来检测增加或减少在系统池中运行的逻辑分区的授权处理容量的系统事件。响应于这些系统事件,可以调整逻辑分区的放置,以便优化系统池中的合并以及优化对于使硬件资源掉电的潜力。在一些实施例中,例如,在系统池中运行的逻辑分区的授权处理和/或存储器容量可以指代逻辑分区的资源需求。如此,增加授权容量的系统事件可以被认为增加池中运行的逻辑分区的资源需求,而降低授权容量的系统事件可以被认为降低池中运行的逻辑分区的资源需求。
这种方法优于调度级工作负载移位的一个优点是电力节省的潜力通常可以更大。处理器折叠可以允许单独的处理器核和芯片、以及关联的存储器(在某些情况下)被置于较低电力状态,这在某些情况下也可以导致较低的系统风扇速度。然而,处理器折叠方法的电力接通延迟要求通常阻止资源被完全切断电源。然而,如这里所述的基于逻辑分区的方法,其允许处理折叠、以及将池中的系统的完全切断电源、或者将包含可单独供电的处理器和存储器域(domain)(即,处理器节点)的系统的部分掉电,例如处理器书(book)或处理器抽屉。这里所描述的基于逻辑分区的方法也可以不舍弃授权容量,并且如此,电力接通延迟要求通常可以较不严格,而且进一步地掉电通常是可能的。
这种方法优于应用/任务级工作负载移位的一个优点是该方法通常避免了应用程序/任务级移位通常所需的集群(clustering)和高可用性(HA)配置驱动的OS和应用程序复杂性。这里描述的方法可以影响(leverage)可能已经用于诸如硬件和/或软件维护的其他目的的逻辑分区移动性(LPM)能力。因此,在某些情况下,将逻辑分区移动性如此扩展到电力管理可以不需要对集群或HA能力的附加投入。
这里描述的方法还可以在模块化的企业级系统中具有优势,例如上述的电力770、780和795系统,其结合了多个节点(例如,用于电力795系统的处理器书、或用于电力770和电力780系统的CEC抽屉),其中的每一个可以与其余部分分别地被切断、和被连通电源。节点级电力管理通常对于企业级系统来说是重要的,因为它们可以支持大量的逻辑分区以及如下困难:在池中的其他位置找到足够的未使用的容量以将系统上的所有分区重新定位到其他系统因而系统可以切断电源的困难。因此,这里描述的系统和容量建模和逻辑分区放置算法可以支持整个系统以及单个节点被电源连通/切断,所述单个节点诸如在这些模块化系统中利用的单个节点,而其他方法通常限于系统级电源切断/连通。
在本发明的一个实施例中,例如,可以在计算机系统池上执行事件驱动的重新优化,其中可以移动逻辑分区以便在池中的一个或多个计算机系统中释放足够的容量,使多节点计算机系统中的一个或多个节点或整个计算机系统能够被掉电,例如转换到较低电力状态。为了本实施例的目的,计算机系统的集合或池将被称为电力管理池。
同样在该实施例中,电力管理池中的计算机系统可以实施为具有可以单独地被上电和掉电的多个处理器节点的企业级系统中的一个或两个(例如,上述电力770,780和795系统)、以及没有多个可单独供电的处理器节点的较低端系统。
作为示例,图1A示出了多个池18,其中每个池18可以在某些方面被认为是电力管理池,其包括一个或多个计算机系统16,每个计算机系统16包括一个或多个处理器节点14。为了这个实施例的目的,每个处理器节点14可以是可单独地供电的,尽管本发明在其它实施例中不受此限制。
为了实施事件驱动的重新优化,在一些实施例中可以使用例如在系统管理器件46上运行的协调器组件44。例如,在一个实施例中,协调器组件可以包括与分区布置设施协作的能量管理设施。例如,一个适当的实施利用运行有源能量管理器(Active EnergyManager)能量管理设施的系统指挥系统管理器件、和VMControl分区放置设施(均可从国际商业机器公司购得)来实施协调器组件的功能。应当理解,系统管理器件可以包括一个或多个处理器、存储器和其他计算机组件,以执行实施这里描述的功能的程序代码,并且在一些实施例中,留存在数据处理系统10中的附加程序代码和/或硬件组件可以由系统管理器件结合这里描述的事件驱动的重新优化来接入。此外,在一些实施例中,协调器组件的功能可以完全留存在设备10的一个或多个系统16内,例如在逻辑分区内、管理程序内、中间件内、操作系统内、系统固件内、硬件管理控制台内等。因此,应当理解,本发明不限于主要在系统管理器件内的事件驱动的重新优化的特定实施,如下文针对所示实施例所述。
所示实施例中的系统管理器件46自主地监视与电力管理池18中的系统16相关联的系统事件,其可以改变逻辑分区授权容量。在这方面,自主监视可以被认为是在管理员的方向之外的监视(尽管在一些实施例中可以支持启用和禁用监视)。系统管理器件46还将逻辑分区从一个系统16动态地移位到一个或多个其他系统16,努力以电力优化的方式布置逻辑分区,以便减少一个或多个系统16的利用到足以使一个或多个处理器节点或整个系统掉电的程度。当处理器节点掉电时,主系统16上的管理程序28可以将在该处理器节点上运行的任何逻辑分区30重新定位到同一系统16上的其他处理器节点14中的可用容量。此外,系统管理设备46监视需要被重新连通电源的容量的事件,并根据需要对这种容量连通电源。应当理解,在其他实施例中,系统管理器件可以能够直接管理处理器节点上的逻辑分区的放置。
图2接下来示出用于在本发明的一个实施例中使用的电力管理池52、系统54、节点56和逻辑分区(LPAR)58的示例数据模型50,示出了池52可以包括一个或多个系统54,并且每个系统54可以包括一个或多个处理器节点56,并且可以在特定时间具有分配给系统54的一个或多个LPAR 58。模型50可以由例如协调器和/或系统管理器件使用,以符合本发明的方式执行事件驱动的重新优化。
下面的表I-IV提供了可以在模型50中定义的池52、系统54、节点56和LPAR 58中的每个的示例属性:
表I:池属性
属性 描述
numSystems 系统个数
systemArray 系统标识符阵列
表II:系统属性
Figure GDA0002117125320000131
Figure GDA0002117125320000141
表III:节点属性
属性 描述
installedProc 安装在节点上的总处理容量
installedMem 安装在节点上总存储器容量
poweredOn True=节点上电(有源);False=节点掉电(无源)
powerRating 表示节点的相关电力要求的数值
表IV:分区属性
Figure GDA0002117125320000142
Figure GDA0002117125320000151
在所示实施例中,以下系统事件可以被自主地监视并从系统管理器件用信号通知(signal)给协调器组件,用于启动电力管理池中的逻辑分区和电力消耗的重新优化:
-逻辑分区电源切断(*)
-逻辑分区电源连通
-逻辑分区休眠暂停(*)
-逻辑分区休眠恢复
-有源逻辑分区迁移出池(*)
-活跃逻辑分区迁移入池
-动态处理器移除(DLPAR)(*)
-动态处理器添加(DLPAR)
-动态存储器移除(DLPAR)(*)
-动态存储器添加(DLPAR)
由以上(*)指定的事件可以被称为授权容量减少系统事件,其通常导致处理器和/或存储器容量由于分区授权容量减少而释放,潜在地允许分区合并和处理器节点和/或系统的掉电(例如,去激活(deactivation))。在所示实施例中,这些授权容量减少系统事件可以在它们发生之后用信号通知(signal)给协调器组件。应当理解,动态处理器/存储器移除事件从运行的逻辑分区动态地移除处理器/存储器容量。
未被(*)指定的事件可被称为授权容量增加系统事件,其通常由于分区授权容量的增加而导致附加的处理器和/或存储器容量被消耗。如果处理器节点和/或系统作为电力节省措施而被切断电源,则为了满足对附加处理器和/或存储器容量的要求,可取的或者必需的是为其中的一些或全部重新连通电源(激活(activation))。通常,在所示实施例中,这些授权容量增加系统事件可以在它们发生之前用信号通知给协调器组件。应当理解,动态处理器/存储器添加事件动态地添加处理器/存储器容量到正在运行的逻辑分区。
在本文讨论的实施例中,响应于授权容量减小或授权容量增加系统事件,可以改变至少一个节点和/或系统的电力状态。改变电力状态通常可以包括增加或减小电力状态。增加电力状态可以包括:例如对节点和/或系统从切断状态连通电源、从较低电力模式切换到较高电力模式、或者增加节点或系统的电力消耗的任何其它改变,通常与增加节点或系统的处理容量一致。相反地,降低电力状态可以包括:例如将节点和/或系统从接通状态切断电源、从较高电力模式切换到较低电力模式、或者降低节点或系统的电力消耗的任何其它改变,通常与降低节点或系统的处理能力一致。
此外,响应于授权容量减小或授权容量增加系统事件,并且通常与改变节点或系统的电力状态相关联,一个或多个逻辑分区可以在节点和/或系统之间移动以有效地重新优化(例如,从电力管理的角度)电力管理池中的节点和/或系统之间的逻辑分区的分配。应当理解,响应于系统事件的池中的逻辑分区分配的任何优化可以被认为是对逻辑分区分配的先前优化的重新优化。还将理解,在一些实施例中,以这里讨论的方式逻辑分区分配的优化可以手动或自动地执行,但不是特别地响应于上述系统事件(例如在初始系统设置之后或在另一个时间被管理员认为有用)中的一个。
图3A-3B示出了当用信号通知授权容量降低系统事件时,反映可以在协调器组件中发生的处理的重新优化例程100的示例,并且如上所述,通常在与事件相关联的操作(例如,分区电源切断、分区休眠暂停、活动分区迁出池、动态处理器移除或动态存储器移除操作)已被执行之后。在一些实施例中,例程100也可以由管理员手动启动,以优化分区放置并且可能使处理器节点和/或系统掉电。
例程100可以接收用于电力管理池的上述模型作为输入,并且通过将targetFound标记设置为true来在块102开始。块104启动WHILE循环,其执行到targetFound为false时。块104将控制传递给块106,以确定池中的任何系统是否满足要被切断电源的标准,例如,通过对于池中的每个系统确定该系统是否连通电源以及用于该系统的授权处理器和存储器容量(entitledProroc和entiledMem)是否都为零。如果是这样,系统可以被切断电源。
接下来,在块108中,将targetFound设置为false,并且块110启动FOR循环以处理池中的每个电源连通的系统(在一些实施例中可以跳过电源切断的系统)。对于每个这样的系统,块112将LPAR阵列、系统阵列、目标节点变量和目标系统变量中的每个初始化为空(null),并且块114启动FOR循环以处理系统中的每个电源连通的节点(被电源切断的节点可以在一些实施例中被跳过)。
参考图3B,对于当前系统中的每个被电源连通的节点,块116确定必须减少多少授权处理器和存储器容量以使当前节点掉电,并确定分区(LPAR)集合以从当前系统迁移出以使当前节点能够掉电。在一个实施例中,例如,为了使当前系统(S)上的当前节点(N)掉电而必须减少的授权处理器和存储器容量可以如下计算:
requiredReductionInEntitledCapProc=N.installedProc-((S.activeProc*S.utilizationLimitProc)-S.entitledProc)
requiredReductionInEntitledCapMem=N.installedMem-((S.activeMem*S.utilizationLimitMem)–S.entitledMem)
此外,在一些实施例中,如果所计算的结果小于零,则这些值中的每个可以被设置为零。
在一个实施例中,为了确定从当前系统迁移出的分区集合,可以执行搜索以确定分区集合,其授权容量之和最接近但仍大于或等于所需的减少量。这种确定的输入可以包括:其中要移动的分区集合要被计算的系统、授权处理器容量所需的减少量和授权存储器容量所需的减少量,其中输出是从当前系统迁移出的一个或多个逻辑分区。
接下来,块118确定是否找到了任何合适的逻辑分区,并且如果是,则块120确定将逻辑分区迁移到的目的地系统集合。在一个实施例中,例如,该确定可以接收LPAR阵列作为输入,并且可以搜索具有足够多余授权容量来接收迁移逻辑分区的池中的其他系统,然后可以将结果输出为目的地系统集合。在一个实施例中,可以为LPAR阵列中的每个逻辑分区选择一个目的地系统,尽管在一些实施例中多个逻辑分区可以被移动到特定系统。确定潜在的目的地系统是否可能具有足够的容量可以基于针对系统的installedProc、installedMem、activeProc、activeMem、entitledMem、utilizationLimitProc、和/或utilizationLimitMem属性,例如,用具有足够多余有源容量而非具有足够多余已安装容量来支持(favoring)系统,并记得为系统设定的利用限制。
接下来,块122确定是否找到了任何合适的目的地系统集合,如果是,则将控制传递到块124以确定当前节点是否是比存储在目标节点变量中的任何先前标识的节点“更好”的选择。还可以检查以确定目标节点变量中是否还没有存储其他节点,由此当前节点将由目标节点变量来标识。在这方面,在一个实施例中,当当前节点具有比由目标节点变量标识的节点更高的电力要求(powerRating)时,可以指示更好的选择,因为可以通过将当前节点(而不是目标节点)切断电源而获得潜在的更大的电力节省。在其他实施例中,可以使用其他标准来确定一个节点是否是比另一节点更好的选择,例如基于所预期的掉电时间或多种因素的组合。
如果当前节点被认为是更好的选择,则块124将控制传递给块126,以设置目标节点变量以标识当前节点、设置目标系统变量以标识当前系统、设置LPAR阵列为在块116中确定的LPAR的集合、设置系统阵列为在块120中标识的系统集合、并将targetFound设置为True以指示已经发现要掉电的合适的节点。在块126完成时、或者响应于块118、122或124中的任何一个的否定确定,将控制返回到块114(图3A)以通过当前系统中的节点继续循环。一旦处理了当前系统中的所有节点,块114将控制返回到块110以通过池中的其他系统继续循环。
一旦所有系统都已被处理,块110将控制传递给块128以确定targetFound是否已被设置为True。如果是,则将控制传递到块130,以将LPAR阵列中的逻辑分区迁移到系统阵列中的系统,并且将由目标节点和目标系统变量标识的节点切断电源。在块130完成时、或者如果在块128中targetFound被确定为False,则将控制返回到块104以执行另一次迭代(如果最后一次迭代(iteration)标识合适的目标节点以切断电源(targetFound为True))。一旦没有标识进一步的电源切断机会,块104终止例程100。
接下来,图4A-4D示出重新优化例程150的示例,其反映了当用信号通知授权容量增加系统事件时可能发生在协调器组件的处理。在一些实施例中,例程150也可由管理员手动启动。
通常可以在与事件相关联的操作(例如,分区连通电源、分区休眠恢复、有源分区迁移入池、动态处理器添加或动态存储器添加操作)已被执行之前调用(call)例程150。例程150可以接收电力管理池的模型、以及处理增加事件所需的处理器和存储器容量作为输入。在一些实施例中,并非处理器和存储器容量需要,要连通电源/恢复/迁移的分区标识可以被提供,使得可以从模型获得所需的处理器和存储器容量。
例程150通过将目标系统变量设置为空在块152中开始。该变量将作为例程的结果返回,以指示其上可以使用所请求的容量的系统。接下来,块154启动FOR循环以确定是否可以从已经连通电源的资源、以及在没有移动分区的情况下满足所请求的容量。对于池中的每个连通电源的系统,并且当目标系统变量为空时,块156确定所需的有源处理器和存储器容量。例如,在一个实施例中,可以为当前系统(S)确定所需的容量如下:
requiredActiveProc=(S.entitledProc+requestedProcCapacity)/S.utilizationLimitProc
requiredActiveMem=(.entitledMem+requestedMemCapacity)/S.utilizationLimitMem
块158接下来确定当前系统(S)是否具有足够的有源处理器和存储器容量(例如,其中S.activeProc>=requiredActiveProc以及S.activeMem>=requiredActiveMem)。如果是,则将目标系统设置为当前系统,并且将控制返回到块154,由此,由于目标系统不再为空,块154将控制传递给块162。类似地,如果块158确定当前系统不具有足够的有源容量,块158将控制传递给块154以处理池中附加的连通电源系统。
块162接下来确定目标系统变量是否仍为空(因此,所请求的容量尚未被处理),如果是,则将控制传递给块164以启动另一个FOR循环来处理池中每一个连通电源的系统,以确定是否所请求的容量可以通过移动一个或多个逻辑分区从已经连通电源的的资源来处理。对于每个连通电源的系统,块164将控制传递到块166(图4B),以将LPAR和系统阵列最初设置为空。
接下来,块168确定在当前系统上必须减少多少授权处理器和存储器容量以适应所请求的容量,并且确定分区集合以从当前系统迁移出以实现所需的容量减少量。然后,将确定的分区集合存储在LPAR阵列中。在一个实施例中,例如,可以使用requestedProcCapacity和requestedMemCapacity来计算必须减少的授权处理器和存储容量,如下所示:
requiredReductionInEntitledCapProc=requestedProcCapacity-((S.activeProc*S.utilizationLimitProc)-S.entitledProc)
requiredReductionInEntitledCapMem=requestedMemCapacity-((S.activeMem*S.utilizationLimitMem)–S.entitledMem)
在一个实施例中,为了确定要从当前系统迁移出的分区集合,可以执行搜索以确定分区集合,其授权容量之和最接近但仍大于或等于所需的容量减少量。这种确定的输入可以包括要计算的要移动的分区集合的系统、授权的处理器容量的所需的减少量和授权存储器容量的所需的减少量,其中输出是从当前系统迁移出的一个或多个逻辑分区的阵列。
接下来,块170确定是否找到任何合适的逻辑分区(即,LPAR阵列不为空),如果是,则块172确定将LPAR阵列中的逻辑分区迁移到的目的地系统集合,其中结果存储在系统阵列中。在一个实施例中,例如,确定可以以与上面针对图3B的块120讨论的类似的方式来执行。
接下来,块174确定是否找到了任何合适的目的地系统集合(即,系统阵列不为空),并且如果是,则将控制传递到块176以将LPAR阵列中的分区迁移到系统阵列中的系统,并将目标系统设置为当前系统。
在块176完成时、或响应于块170或174中的任一个的否定确定,将控制返回到块164(图3A)以通过池中的系统继续循环。一旦所有系统被处理,块164将控制传递给块178以确定目标系统变量是否仍为空(因此,所请求的容量尚未被处理)。
如果是,则将控制传递到块180以尝试查看所请求的容量是否可以通过对池中的连通电源的系统上的节点连通电源来处理。具体地,块180将最优节点阵列和最优系统变量设置为空。最佳节点阵列存储一个或多个被确定为适合于连通电源的节点,以便处理所请求的容量。最优系统变量指示最优节点阵列在其中留存的系统。
块182接下来启动FOR循环来处理池中的每个电源连通的系统。对于每个这样的系统,块182将控制传递到块184(图4C)以确定在有源处理器和存储器容量中所需的增加量,并且确定电源切断节点集合以便连通电源以处理所需的增加量。在一个实施例中,例如,可以计算以下值来确定系统的有源处理器和存储器容量的所需增加量(S):
requiredActiveProc=(S.entitledProc+requestedProcCapacity)/S.utilizationLimitProc;
requiredIncreaseInActiveCapacityProc=requiredActiveProc-S.activeProc;
requiredActiveMem=(.ententledMem+requestedMemCapacity)/S.utilizationLimitMem;
requiredIncreaseInActiveCapacityMem=requiredActiveMem-S.activeMem;
确定电源切断节点的集合以连通电源可以考虑节点电力等级(rating),使得所选择的集合在所有合格的集合中使用最小量的电力。
接下来,块186确定是否已经发现了要连通电源的电源切断的节点集合,并且如果是,则确定该集合是否比存储在当前最佳节点阵列(如果有的话)中的集合“更好”。例如,可以在所确定的集合的合计电力等级与最佳节点阵列的合计电力等级之间进行比较,并且如果所确定的集合具有较低的合计电力等级,则将控制传递到块188以设置最佳节点阵列为所确定的集合、并设置最优系统为所确定的节点集合在其中留存的当前系统。
在块188完成之后,或者如果块186确定最佳节点阵列仍然是最优的,则将控制返回到块182(图4A)以处理池中剩余的电源连通系统。一旦所有系统都被处理,块182然后将控制传递到块190(图4D)以确定是否已经找到最佳节点集合(即,最佳节点阵列不为空)。如果是,则将控制传递到块192以将最佳节点阵列中的每个节点连通电源,并设置目标系统为所确定的最佳系统。
在块192完成之后,或者如果在块190中没有找到最佳节点,则将控制传递到块194以再次确定目标系统变量是否仍为空(因此,所请求的容量尚未被处理)。然后,如果是这样,则将控制传递到块196以启动处理以确定是否可以通过将整个系统连通电源来处理所请求的容量。具体地,块196将临时(temp)目标系统变量设置为空,并且块198启动FOR循环以处理池中的每一个被电源切断的系统。对于每一个这样的系统,块200例如通过将所请求的容量除以对于系统的利用限制(例如,useLimitProc和utilizationLimitMem)来确定对于系统的所需有源容量。
块202然后确定对于系统的安装容量(例如,installedProc和installedMem)是否满足(例如,大于或等于)所需的有源容量。如果是,则块202还确定当前系统的安装容量是否低于由临时目标系统变量(如果有的话)标识的系统的那些容量。如果是,则将控制传递到块204以设置临时目标系统变量为当前系统。在块204完成时,或者如果块202不确定当前系统是适当的,则将控制返回到块198以处理池中的任何剩余的被电源切断的系统。
一旦所有被电源切断的系统被处理,块198将控制传递到块206以确定是否临时目标系统变量不为空(即,标识出合适于连通电源的系统)。如果是,则将控制传递到块208以将由临时目标系统变量标识的系统连通电源,并设置目标系统变量为被连通电源的系统。然后,将控制传递到块210以返回目标系统变量并终止例程。
如果块206确定临时目标系统变量为空,则块208被旁路(bypassed),并且将控制进行到块210以终止例程。此外,还将理解,一旦目标系统变量被设置为非空值,块162、178和194中的每一个将有效地将控制传递到块210,从而指示所请求的容量已被处理。
可以对与本发明一致的所示实施例进行各种修改。因此,本发明依附于所附权利要求。

Claims (9)

1.一种管理逻辑分区计算环境中的电力消耗的方法,该环境包括设置在逻辑分区数据处理系统池中的处理器节点的集合,所述方法包括:
将多个逻辑分区分配给逻辑分区数据处理系统池,以优化逻辑分区计算环境中的电力消耗;
在分配所述多个逻辑分区之后,针对改变分配给逻辑分区数据处理系统池的逻辑分区的资源需求的系统事件,自主地监视逻辑分区数据处理系统池;
基于监视所述逻辑分区数据处理系统池,检测改变分配给逻辑分区数据处理系统池的逻辑分区的资源需求的第一系统事件;以及
响应于检测到系统管理器件用信号通知的所述第一系统事件,通知协调器组件以通过将所述多个逻辑分区的至少一个子集动态地重新分配给所述处理器节点的集合、并且动态地修改设置在逻辑分区数据处理系统池中的处理器节点的集合中至少一个的电力状态,来重新优化所述逻辑分区计算环境中的电力消耗,其中通过在处理器节点集合中的处理器节点之间移动至少一个逻辑分区而将所述多个逻辑分区的至少一个子集动态地重新分配给所述处理器节点的集合。
2.根据权利要求1所述的方法,其中所述处理器节点的集合包括设置在逻辑分区数据处理系统池中的第一逻辑分区数据处理系统中的第一处理器节点,其中所述第一系统事件减少资源需求,并且,其中重新优化所述逻辑分区计算环境中的电力消耗包括降低所述处理器节点的集合中的第一处理器节点的电力状态、以及将先前分配给所述第一处理器节点的至少一个逻辑分区移动到逻辑分区数据处理系统池中第一逻辑分区数据处理系统或者不同逻辑分区数据处理系统中的一个或多个不同的处理器节点。
3.根据权利要求2所述的方法,其中,所述第一系统事件是逻辑分区电源切断事件、逻辑分区休眠暂停事件、有源逻辑分区迁移出池事件、从逻辑分区中动态移除处理器容量事件、或从逻辑分区中动态移除存储器容量事件。
4.根据权利要求1所述的方法,其中,所述处理器节点的集合包括设置在逻辑分区数据处理系统池中的第一逻辑分区数据处理系统中的第一处理器节点,其中,所述第一系统事件增加资源需求,并且其中,重新优化所述逻辑分区计算环境中的电力消耗包括增加所述第一处理器节点的电力状态、以及使用通过增加所述处理器节点的电力电平而获得的容量来满足增加的资源需求。
5.根据权利要求4所述的方法,其中所述第一系统事件是逻辑分区电源连通事件、逻辑分区休眠恢复事件、有源逻辑分区迁移入池事件、动态添加处理器容量到逻辑分区事件、或动态添加存储器容量到逻辑分区事件。
6.根据权利要求1所述的方法,其中,所述逻辑分区数据处理系统池中的第一逻辑分区数据处理系统包括来自所述处理器节点集合的第一和第二处理器节点,并且其中,动态地修改所述处理器节点的集合中至少一个处理器节点的电力状态包括在维持第二处理器节点的电力状态的同时对第一处理器节点进行掉电或上电。
7.根据权利要求1所述的方法,其中,所述逻辑分区数据处理系统池中的第一逻辑分区数据处理系统包括来自所述处理器节点集合的多个处理器节点,其中,所述逻辑分区数据处理系统池中的第二逻辑分区数据处理系统包括来自处理器节点集合的单个处理器节点,并且其中,动态地修改处理器节点集合中的至少一个处理器节点的电力状态包括在保持所述第一逻辑分区数据处理系统中多个处理器节点的每一个的电力状态的同时对所述第二逻辑分区数据处理系统进行掉电或上电。
8.一种管理逻辑分区计算环境中的电力消耗的系统,包括适于执行根据前述方法权利要求1-7之一的方法的所有步骤的装置。
9.一种管理逻辑分区计算环境中的电力消耗的计算机可读存储介质,其存储计算机程序,该计算机程序包括用于当所述计算机程序在计算机系统上执行时执行根据前述方法权利要求1-7之一的方法的所有步骤的指令。
CN201580067536.8A 2014-12-19 2015-12-02 用于电力管理的逻辑分区的事件驱动的方法和系统 Active CN107003713B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/576,370 2014-12-19
US14/576,370 US9886083B2 (en) 2014-12-19 2014-12-19 Event-driven reoptimization of logically-partitioned environment for power management
PCT/IB2015/059280 WO2016097913A1 (en) 2014-12-19 2015-12-02 Event-driven reoptimization of logically-partitioned environment for power management

Publications (2)

Publication Number Publication Date
CN107003713A CN107003713A (zh) 2017-08-01
CN107003713B true CN107003713B (zh) 2020-03-24

Family

ID=56126024

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580067536.8A Active CN107003713B (zh) 2014-12-19 2015-12-02 用于电力管理的逻辑分区的事件驱动的方法和系统

Country Status (6)

Country Link
US (3) US9886083B2 (zh)
JP (1) JP6679146B2 (zh)
CN (1) CN107003713B (zh)
DE (1) DE112015004564B4 (zh)
GB (1) GB2549230B (zh)
WO (1) WO2016097913A1 (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9983652B2 (en) * 2015-12-04 2018-05-29 Advanced Micro Devices, Inc. Balancing computation and communication power in power constrained clusters
US10445009B2 (en) * 2017-06-30 2019-10-15 Intel Corporation Systems and methods of controlling memory footprint
US10824215B2 (en) 2018-07-31 2020-11-03 Nutanix, Inc. Managing power budget of multiple computing node clusters in a computing rack system
CN109708086A (zh) * 2018-12-05 2019-05-03 新奥数能科技有限公司 一种优化泛能站中燃气锅炉调度的方法和装置
JP7280476B2 (ja) * 2019-01-30 2023-05-24 日本電信電話株式会社 クラスタリングシステムおよびクラスタリング方法
CN111861551B (zh) * 2020-07-08 2023-12-05 海宁同兴智慧园区管理有限公司 一种园区用电智慧监测管理系统
US11972304B1 (en) * 2021-05-25 2024-04-30 United Services Automobile Association (Usaa) Systems and methods for automatic detection of an event and providing resources customized based on the event

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7167821B2 (en) * 2000-06-06 2007-01-23 Microsoft Corporation Evaluating hardware models having resource contention
US7523454B2 (en) 2001-03-06 2009-04-21 Hewlett-Packard Development Company, L.P. Apparatus and method for routing a transaction to a partitioned server
JP4119239B2 (ja) 2002-12-20 2008-07-16 株式会社日立製作所 計算機資源割当方法、それを実行するための資源管理サーバおよび計算機システム
US8156490B2 (en) * 2004-05-08 2012-04-10 International Business Machines Corporation Dynamic migration of virtual machine computer programs upon satisfaction of conditions
US20140067771A2 (en) 2004-07-09 2014-03-06 International Business Machines Corporation Management of a Scalable Computer System
JP4895266B2 (ja) * 2005-12-28 2012-03-14 富士通株式会社 管理システム、管理プログラムおよび管理方法
US8146089B2 (en) 2006-06-14 2012-03-27 Intel Corporation Sharing resources of a partitioned system
CN101470634B (zh) 2007-12-24 2012-05-09 联想(北京)有限公司 Cpu资源调度方法及cpu资源调度装置
JP4488072B2 (ja) * 2008-01-18 2010-06-23 日本電気株式会社 サーバシステム、及びサーバシステムの電力削減方法
US7650488B2 (en) 2008-06-18 2010-01-19 Intel Corporation Communication between processor core partitions with exclusive read or write to descriptor queues for shared memory space
JP4922255B2 (ja) * 2008-06-30 2012-04-25 株式会社日立製作所 情報処理システムおよびそのシステムにおける省電力制御方法
US9047083B2 (en) * 2008-09-15 2015-06-02 Vmware, Inc. Reducing power consumption in a server cluster
US8910169B2 (en) 2008-09-30 2014-12-09 Intel Corporation Methods and systems to perform a computer task in a reduced power consumption state
US8117613B2 (en) * 2009-04-08 2012-02-14 Microsoft Corporation Optimized virtual machine migration mechanism
JP5531465B2 (ja) * 2009-06-30 2014-06-25 日本電気株式会社 情報システム、制御装置、そのデータ処理方法およびプログラム
JP5471080B2 (ja) * 2009-06-30 2014-04-16 日本電気株式会社 情報システム、制御装置、そのデータ処理方法およびプログラム
US8291430B2 (en) 2009-07-10 2012-10-16 International Business Machines Corporation Optimizing system performance using spare cores in a virtualized environment
JP5435399B2 (ja) * 2009-10-07 2014-03-05 日本電気株式会社 省電力化システム、省電力化方法、及び省電力化用プログラム
JP5378946B2 (ja) * 2009-10-26 2013-12-25 株式会社日立製作所 サーバ管理装置およびサーバ管理方法
US8402259B2 (en) 2009-11-30 2013-03-19 International Business Machines Corporation Accelerating wake-up time of a system
US8627123B2 (en) * 2010-03-25 2014-01-07 Microsoft Corporation Managing power provisioning in distributed computing
JP5097263B2 (ja) * 2010-12-17 2012-12-12 株式会社日立製作所 計算機システム、その消費電力低減方法、及びそのプログラム
JP5664339B2 (ja) * 2011-03-01 2015-02-04 富士通株式会社 情報処理装置、仮想マシン管理方法および仮想マシン管理プログラム
US8819691B2 (en) 2011-05-04 2014-08-26 International Business Machines Corporation Logical partition defragmentation within a data processing system
JP5576827B2 (ja) * 2011-06-03 2014-08-20 日本電信電話株式会社 サーバ管理システム、サーバ管理装置、サーバ管理方法、及びサーバ管理プログラム
US8909785B2 (en) 2011-08-08 2014-12-09 International Business Machines Corporation Smart cloud workload balancer
US8745237B2 (en) 2011-10-21 2014-06-03 Red Hat Israel, Ltd. Mapping of queues for virtual machines
US9047087B2 (en) * 2012-02-01 2015-06-02 Vmware, Inc. Power management and virtual machine migration between logical storage units based on quantity of shared physical storage units
WO2013158139A1 (en) 2012-04-16 2013-10-24 Hewlett-Packard Development Company, L.P. Virtual computing resource orchestration
US9158668B2 (en) 2012-06-27 2015-10-13 International Business Machines Corporation System and program product to allocate and reallocate CPU resources needed to utilize full available network adapter bandwidth capacity for logical partition migration
JPWO2014045549A1 (ja) 2012-09-19 2016-08-18 日本電気株式会社 マシン配置計画を生成する情報処理装置及びマシン配置計画生成方法
US20140237475A1 (en) * 2013-02-15 2014-08-21 Apple Inc. Sleep/wake with suppression and donated importance
JP6032089B2 (ja) * 2013-03-26 2016-11-24 富士通株式会社 管理プログラム、装置及び方法
US9189410B2 (en) 2013-05-17 2015-11-17 Vmware, Inc. Hypervisor-based flash cache space management in a multi-VM environment
WO2015070101A1 (en) 2013-11-08 2015-05-14 Silicon Graphics International Corp. Shared memory eigensolver
US10397131B2 (en) 2014-09-09 2019-08-27 Vmware, Inc. Method and system for determining bandwidth demand

Also Published As

Publication number Publication date
US20180081423A1 (en) 2018-03-22
WO2016097913A1 (en) 2016-06-23
GB2549230A (en) 2017-10-11
US9772677B2 (en) 2017-09-26
US20160179185A1 (en) 2016-06-23
DE112015004564T5 (de) 2017-06-22
US9886083B2 (en) 2018-02-06
CN107003713A (zh) 2017-08-01
US10664040B2 (en) 2020-05-26
DE112015004564B4 (de) 2020-04-02
GB201711272D0 (en) 2017-08-30
US20160179583A1 (en) 2016-06-23
JP2018504665A (ja) 2018-02-15
JP6679146B2 (ja) 2020-04-15
GB2549230B (en) 2019-05-29

Similar Documents

Publication Publication Date Title
CN107003713B (zh) 用于电力管理的逻辑分区的事件驱动的方法和系统
US11797327B2 (en) Dynamic virtual machine sizing
US11181970B2 (en) System and method for performing distributed power management without power cycling hosts
US10241674B2 (en) Workload aware NUMA scheduling
US9152200B2 (en) Resource and power management using nested heterogeneous hypervisors
US9268394B2 (en) Virtualized application power budgeting
US8423811B2 (en) Transparently increasing power savings in a power management environment
US20160196157A1 (en) Information processing system, management device, and method of controlling information processing system
US20130055277A1 (en) Logical Partition Load Manager and Balancer
US9323317B2 (en) System and methods for DIMM-targeted power saving for hypervisor systems
US9015418B2 (en) Self-sizing dynamic cache for virtualized environments
US20180341482A1 (en) Method and arrangement for utilization of a processing arrangement
Chang et al. Green computing: An SLA-based energy-aware methodology for data centers
Chuang et al. Modified Packing Algorithm for Dynamic Energy-Saving in Cloud Computing Servers

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