CN102759979A - 一种虚拟机能耗估计方法及装置 - Google Patents

一种虚拟机能耗估计方法及装置 Download PDF

Info

Publication number
CN102759979A
CN102759979A CN2011101158752A CN201110115875A CN102759979A CN 102759979 A CN102759979 A CN 102759979A CN 2011101158752 A CN2011101158752 A CN 2011101158752A CN 201110115875 A CN201110115875 A CN 201110115875A CN 102759979 A CN102759979 A CN 102759979A
Authority
CN
China
Prior art keywords
energy consumption
virtual machine
event information
functional unit
hardware resources
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
CN2011101158752A
Other languages
English (en)
Other versions
CN102759979B (zh
Inventor
刘亮
李立
周英
陈滢
王浩
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
Priority to CN201110115875.2A priority Critical patent/CN102759979B/zh
Priority to US13/456,776 priority patent/US9176557B2/en
Priority to US13/596,612 priority patent/US9043172B2/en
Publication of CN102759979A publication Critical patent/CN102759979A/zh
Application granted granted Critical
Publication of CN102759979B publication Critical patent/CN102759979B/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/28Supervision thereof, e.g. detecting power-supply failure by out of limits supervision
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16ZINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS, NOT OTHERWISE PROVIDED FOR
    • G16Z99/00Subject matter not provided for in other main groups of this subclass
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提出了一种虚拟机能耗估计方法及装置,具体地,提出了一种计算机系统中估算虚拟机能耗的方法和装置,该方法包括:获取所述系统硬件资源的系统能耗;获取由所述系统硬件资源划分出的多个功能单元的事件信息,并将所述事件信息映射至各个所述虚拟机;根据所述多个功能单元对应的多个能耗系数以及所述映射至各个所述虚拟机的所述功能单元的事件信息计算各个所述虚拟机的能耗。采用本发明的技术方案,可以提高虚拟机能耗估算的准确度。

Description

一种虚拟机能耗估计方法及装置
技术领域
本发明涉及虚拟机的能耗估计,具体涉及一种提高了准确度的虚拟机能耗估计方法及装置。
背景技术
在计算机系统中,虚拟机(VM)能耗无法直接测量,而虚拟机能耗又是计算机系统管理中的一个重要因素。
现有技术中存在有多种虚拟机能耗估计方式,例如,用系统总的能耗除以虚拟机的数量估算单个虚拟机能耗,或者,基于CPU运行时间的虚拟机能耗估计技术方案,即从虚拟机实例(VM instance)登录开始直至终止的时间,例如Amazon EC2采用的就是这种方式。
显然,现有技术中仅基于CPU单一因素进行估算的方法采用的都是比较粗粒度的估算方式,因此,现有技术中的能耗估算准确度低,仍然存在着改进的空间。
发明内容
根据本发明的一个方面,提供了一种计算机系统中估算虚拟机能耗的方法,所述计算机系统包括系统硬件资源以及多个虚拟机,所述方法包括:获取所述系统硬件资源的系统能耗;获取由所述系统硬件资源划分出的多个功能单元的事件信息,并将所述事件信息映射至各个所述虚拟机;根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗。
该方法还可以包括:所述根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗的步骤包括:根据预先确定的能耗权重得到各个所述功能单元的能耗,所述能耗权重是所述各个功能单元的能耗占所述系统能耗的比例;进而,根据所述系统硬件资源功能单元事件信息统计的事件总值对所述功能单元的能耗进行均分,确定所述能耗系数;根据所述映射后的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗;对所述各个虚拟机中所述功能单元的能耗进行求和估算所述各个虚拟机的能耗。
该方法的实施例还可包括:所述根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗的步骤包括:周期获取多组所述系统能耗,以及映射至各个所述虚拟机的所述功能单元的事件信息,进而计算所述多个能耗系数;根据所述映射至各个所述虚拟机的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗;对所述各个虚拟机的各个功能单元的能耗进行求和计算所述各个虚拟机的能耗。
根据本发明的另一个方面,提供了一种计算机系统中虚拟机能耗估算系统,所述计算机系统包括系统硬件资源以及多个虚拟机,所述估算系统包括:系统能耗获取部件,被配置为获取所述系统硬件资源的系统能耗;功能单元事件读取部件,被配置为获取所述由系统硬件资源划分出的多个功能单元的事件信息,并将所述事件信息映射至各个所述虚拟机;虚拟机能耗计算部件,被配置为根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算各个所述虚拟机的能耗。该估算系统还可以包括:其中,所述虚拟机能耗计算部件包括被配置为根据预先确定的能耗权重得到各个所述功能单元的能耗的部件,所述能耗权重是所述各个功能单元的能耗占所述系统能耗的比例;进而,被配置为根据所述系统硬件资源功能单元事件信息统计的事件总值对所述功能单元的能耗进行均分,确定所述能耗系数的部件;被配置为根据所述映射至各个所述虚拟机的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗的部件;被配置为对所述各个虚拟机中的所述功能单元的能耗进行求和计算所述各个虚拟机的能耗的部件。
采用本发明的技术方案可以提高虚拟机能耗估计的准确度。
附图说明
所附权利要求中阐述了被认为是本发明的特点的创造性特征。但是,通过参照附图阅读下面对说明性实施例的详细说明可更好地理解发明本身以及其优选使用模式、目标、特征以及优点,在附图中:
图1示出一种估算虚拟机能耗的计算机系统示意图。
图2示出虚拟机能耗估算方法流程图。
图3示出按照本发明的一个实施例中的具体流程。
图4示出在一个实施例中虚拟机HPM事件收集示意图。
图5示出虚拟机I/O吞吐量数据获取方法流程图。
图6A示出在一个实施例中块装置I/O吞吐量信息收集示意图。
图6B示出在一个实施例中网络收发装置I/O吞吐量信息收集示意图。
图6C示出在一个实施例中虚拟机I/O吞吐量信息收集示意图。
图7示出是本发明中第一种根据能耗系数计算虚拟机能耗的实施例。
图8示出不同CPU负载下计算机系统能耗权重示意图。
图9示出根据能耗权重确定虚拟机能耗的映射关系图。
图10示出是本发明中第二种根据能耗系数计算虚拟机能耗的实施例。
图11示出用于估算虚拟机能耗的计算机系统示意图。
图12示出示出了图11所示系统的一个具体的实施例图。
图13示出功能单元事件读取部件1102中可包括的I/O吞吐量读取器。
图14示出了按照本发明一实施例中的能耗计算部件1103示意图。
图15表示根据本发明一实施例的云计算节点。
图16示出表示根据本发明一实施例的云计算环境。
图17示出表示根据本发明一实施例的抽象模型层。
具体实施例
下面参照附图来说明本发明的实施例。在下面的说明中,阐述了许多具体细节以便更全面地了解本发明。但是,对于本技术领域内的技术人员明显的是,本发明的实现可不具有这些具体细节中的一些。此外,应当理解的是,本发明并不限于所介绍的特定实施例。相反,可以考虑用下面的特征和要素的任意组合来实施本发明,而无论它们是否涉及不同的实施例。因此,下面的方面、特征、实施例和优点仅作说明之用而不应被看作是所附权利要求的要素或限定,除非权利要求中明确提出。
现参照图1,示出了一种可进行虚拟机能耗估算的计算机系统。如图所示,该计算机系统中至少包括:虚拟机管理器(hypervisor)1001,是一种运行在系统硬件和操作系统之间的中间软件层,可允许多个虚拟机1002共享系统硬件资源1003,虚拟机管理器1001也可叫做虚拟机监视器(VMM,virtual machine monitor),通过使用虚拟机管理器可以隐藏特定计算平台的实际物理特性,为用户提供抽象的、统一的、模拟的计算环境,即虚拟机1002,图1中具有多个虚拟机,虚拟机中运行的操作系统被称为客户机操作系统(Guest OS)。图1中的系统硬件资源1003是虚拟机管理器所管理的硬件资源,可体现为主机系统,计算机集群,或者云计算环境中的一个或多个计算节点等任意方式均可。
以下将进一步介绍如何基于功能单元事件的统计,估算图1所示计算机系统中各个虚拟机能耗的方法。
图2示出了虚拟机能耗估算方法流程图,如图所示,该方法包括了以下步骤:
步骤2001,获取所述系统硬件资源的系统能耗。所属领域技术人员可采用现有的方式直接或间接测量系统能耗,在此不作赘述。
步骤2002,获取由所述系统硬件资源划分出的多个功能单元的事件信息,并将所述事件信息映射至各个所述虚拟机。
系统硬件资源1003,虚拟机1002均以相同的方式划分出多个功能单元,例如,CPU,Memory(存取设备),I/O等功能单元。其中,存取设备可包括任何类型的存取设备,例如内存存取设备或者硬盘存取设备;I/O单元可以包括任何类型的输入输出设备,例如块装置(Block device)I/O,网络装置发送与接收单元等。所属领域技术人员在此基础上可以任意组合出多个功能单元,为了进一步提高能耗估算的准确度,所述多个功能单元可以在系统硬件资源中选择主要耗能的单元,在一个优选的实施例中,所述多个功能单元至少包括CPU,然后可以再包括一个或两个其它主要耗能的功能单元,例如内存或者I/O。在确定主要耗能的功能单元时,可以表1所示的典型服务器中各部件能耗统计值作为参考,所属领域技术人员也可根据经验自行设定各功能单元的能耗权重。
表1
Figure BSA00000490218900051
所述功能单元的事件信息是计算机系统中的低级别执行信息(lowerlevel execution information),可以供高级别的分析应用。在一个实施例中,该功能单元的事件信息是硬件性能监控(HPM,Hardware PerformanceMonitor)事件信息,例如CPU,存取设备(Memory)的硬件事件计数。当今各种体系结构的处理器均可提供HPM,HPM通过一系列特殊目的的硬件寄存器在体系结构级别监控应用的性能。
该功能单元的事件信息还可以是I/O吞吐量信息,例如块装置(blockdevice),以及网络装置(network device)的吞吐量信息。对于I/O吞吐量信息,可以响应于I/O请求或I/O响应,读取所述I/O请求或所述I/O响应的吞吐量数据,然后根据所收集到的所述I/O请求或所述I/O响应信息中的标识信息,映射得到该请求或响应所对应的虚拟机。
步骤2003,根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗。
每个功能单元具有一对应的能耗系数,反映的是单位事件所对应的能耗,因此,根据所述映射至各个所述虚拟机的事件信息,以及所述能耗系数,即可估算出各个虚拟机的能耗。该能耗系数可以基于预先确定的能耗权重得来,也可以根据系统能耗以及所述映射至各个所述虚拟机的事件信息计算得来。
图3、图4以HPM为例,说明步骤2002的执行过程。对于每一个虚拟机的信息收集方法而言,当虚拟机处理器(VCPU)调度发生时,读取HPM事件信息,并将所读取的HPM信息映射为按虚拟机归类的信息。
图3示出了在上述步骤2002中获取所述系统硬件资源功能单元的事件信息的一种实施例,当虚拟机处理器(VCPU)调度发生,产生中断,如图所示,在子步骤3001获得HPM数据;在子步骤3002,从HPM数据中首先获得CPU/Memory数据D;在子步骤3003,根据物理CPU的ID(PCPUID),分析HPM信息进一步得到D所对应的虚拟机标识VID;在子步骤3004,获得HPM数据所包含的虚拟机对应的CPU/Memory数据<VID,D>。
然而,具体的实现方式上,可能因CPU体系结构、虚拟机管理器的不同而有所变化。参看图4,进一步以举例说明图3所示的流程,当发生VCPU调度时,即Scheduler:do_schedule()发生时,中断产生,同时可以获得HPM寄存器的HPM数据。根据调度时物理CPU(PCPU)的ID,映射获得ID为DomID的虚拟机所对应的HPM数据。其中的task_slice,调度器用这个结构和调度核心接口,包括了下一个运行的VM以及运行的时间片大小。当调度核心需要调度一个虚拟机时就会咨询当前的调度器,调度器通过返回这样的一个结构来确定下一个调度运行的虚拟机。
作为可选的步骤,可以配置HPM控制寄存器,以手动或者自动的方式识别并且暂存在线的CPU的处理器架构信息。通过配置HPM寄存器,可以根据CPU架构信息收集CPU或内存相关事件,不同架构的处理器可以监控不同数量的HPM事件及列表,还可指定门限值,当该事件超过门限值时硬件计数器增加。例如,在图12所示的实施例中,可于虚拟机管理器(hypervisor)启动时,配置如下信息:
CPU_Type:1
HPM_Num:2
HPM0_Evt:CPU run cycle
HPM0_Config:0x01
HPM0_Threshold:10000
HPM1_Evt:Mem access
HPM1_Config:0x02
HPM1_Threshold:1000
其中,可配置需要统计的HPM事件的数量HPM_Num,以及硬件事件列表HPM0_Evt:CPU run cycle,以及HPM1_Evt:Mem access。还包括门槛值HPM0_Threshold。在一个实施例中,可应用写模型相关寄存器(WRMSR)的方式进行配置。WRMSR将寄存器EDX:EAX的内容写到64位由ECX寄存器指定的MSR(model specific register,模式指定寄存器)中。
作为可选的步骤,还可以用于在虚拟机运行时,控制HPM事件收集的过程,或者用于开始/结束HPM数据计数;还可用于根据CPU架构信息重新配置HPM控制寄存器,特别是当发生虚拟机迁移(migration)的时候,就需要控制重新配置HPM控制寄存器。
在一个实施例中,当发生虚拟机时间片切换时,底层硬件可以自动上传中断信息至虚拟机管理器,可采用读取性能监视计数器(RDPMC)获取硬件性能统计信息,RDPMC用来从选定的计数器中装载当前计数值到EDX:EAX寄存器中,因此,在该实施例中,用来进行性能监测计数的HPM事件,可由RDPMC指令读出,按ECX的指定读事件监测计数器到EDX:EAX。然后获取功能单元的事件信息,并映射至各个所述虚拟机,例如,参看图12,可得到如下示范行的映射信息。
VM_ID:VM0
HPM0_Val:56000
HPM1_Val:3200
VM_ID:VM1
HPM0_Val:47000
HPM1_Val:1400
VM_ID:VM2
HPM0_Val:78000
HPM1_Val:3800
图5、图6以I/O吞吐量信息为例,说明步骤2002的执行过程。
其中,图5示出了收集I/O装置的数据吞吐量之流程图,用于在虚拟机运行时读取该请求或响应的吞吐量数据,根据所收集到的请求或响应信息中的特定标识信息,映射得到该请求或响应所对应的虚拟机标识。如图所示,在步骤5001中,I/O请求或响应发生;在步骤5002中,截获该I/O请求或响应,从所截获的请求或响应中得到所发生的吞吐量T;在步骤5003中,根据所截获的请求或响应特定的标识,进一步得到T所对应的虚拟机;在步骤5004中,获得该I/O操作所包含的虚拟机对应的I/O吞吐量<VID,D>。
图6A,6B以及6C以Xen为例说明I/O吞吐量信息收集方法,由于Citrix的Xen是一种半虚拟化(Para-Virtualization)的服务器虚拟化方法,另外还有Microsoft的Hyper-V。在虚拟化软件上面运行的多个虚拟机(虚拟机或guest OSes,客户操作系统),此外,还运行着一个管理VM(CitrixXen中成为Domain0,Microsoft Hyper-V中称为the Parent Partition)。而虚拟机在Citrix Xen叫做DomU,在Microsoft Hyper-V叫做子分区(ChildPartitions)。由于Domain0管理整个硬件平台上的所有输入输出设备驱动器(I/O device drivers),它里面包含了平台上所有输入输出设备驱动器。也就是说半虚拟化方法在虚拟机管理器里不对设备驱动器做虚拟(emulation),而仅对CPU和内存做虚拟,虚拟机自身不带有设备驱动器需要管理OS的协助,因此,在Xen中可借助Domain0来获取I/O吞吐量事件信息。
如图6A,6B所示Domain0是特别的并拥有与真实设备交互的设备驱动,例如网卡,这个驱动被称为后端驱动(Back End driver)。在被称为DomainU(DomU)的用户Domain有一个相应的前端驱动(Front End driver),其是虚拟设备的接口。为和真实设备通信,在DomU中前端驱动要连接后端驱动,通过请求通知(Request NotificatI/On)或者响应通知(RequestNotificatI/On)交互信息。两个Domain之间的内存页共享,通过Doamin0和DomainU,在这个页中设置一个共享内存环,为共享环设置事件通道(event channel),在Dom0和DomU之间相互传递一些信息,I/O读取器将会截获这些消息(请求或响应)。
如图6C所示,Xen为共享Domain间的内存提供了授权表(GrantTables),设备驱动使用授权表工作。每个Domain有它自己的授权表,并与xen共享。在这个表中的条目由授权引用(grant references)所标识。授权引用在Domain间传递,且所引用的共享页由授权表所指向。因此在本例中可以通过授权引用表的标识ref得到本次I/O操作吞吐量所对应的虚拟机ID。
对于全虚拟化的服务器虚拟化方法而言,例如VMware的ESX,ESX将硬件平台上的所有的输入输出设备也都虚拟化了,所以ESX里面含有所有这些设备驱动器,虚拟机无须从管理VM来获得设备驱动器服务。因此,所属领域技术人员明了,也可采用硬件性能监控器的方式获取I/O数据的吞吐量信息。
以下结合图7、图8进一步介绍步骤2003,并提供了多种实施例来说明如何根据所述多个功能单元对应的多个能耗系数以及所述映射至各个所述虚拟机的所述功能单元的事件信息计算各个所述虚拟机的能耗。
每个功能单元具有一对应的能耗系数,反映的是单位事件所对应的能耗,因此,根据所述映射至各个所述虚拟机的事件信息,以及所述能耗系数,即可估算出各个虚拟机的能耗。该能耗系数可以基于预先确定的能耗权重得来,也可以根据系统能耗以及所述映射至各个所述虚拟机的事件信息计算得来。
VM(i)能耗=a*Xi+b*Yi+c*Zi+f(d)                公式(1)
假设该计算机系统中共有n个虚拟机,对于第i个虚拟机而言,在一个特定的实施例中,可根据公式(1)计算能耗。其中,a,b,c分别是能耗参数,是每一个功能单元事件所对应的能耗,可划分出CPU,存取设备(Memory),I/O三个功能单元。可选的,还包括未获取事件信息的功能单元,在所述计算所述虚拟机的能耗的步骤中,将所述未获取事件信息的功能单元的能耗在所述虚拟机之间进行分配。其中未获取事件信息的功能单元是所划分出之功能单元之外的剩余部分,所属领域技术人员可以采用各种不同的实施例,例如既可包括不能获取事件信息的功能单元,例如电源,风扇等,也可包括可以获取事件信息但因耗能较小不进行获取的功能单元。因此,参数d是所划分出之功能单元之外的剩余部分的能耗,f(d)表示可以按照一定的方式在多个虚拟机之间分配剩余部分的能耗d,例如,可在公式(1)各个虚拟机对其进行均分,所属领域技术人员可对d采取其它分配方式,例如,以各虚拟机登录时间作为权重进行分配。
其中,Xi是映射至第i个虚拟机的CPU相关的HPM事件统计量,Yi是映射至第i个虚拟机的存取设备(Memory)相关的HPM事件统计量,Zi是映射至第i个虚拟机的I/O吞吐量相关的事件统计量,f(d)是分配的剩余部分的能耗。
a*Xsum+b*Ysum+c*Zsum+d=E                     公式(2)
对于整个计算机系统而言,公式2反映出了耗能系数、功能单元事件以及系统能耗之间的关系。其中,E是整个系统硬件资源的能耗,Xsum是n个虚拟机中各个Xi之和,在上述特定实施例中反映的是与CPU相关之HPM事件之和,Ysum是n个虚拟机中各个Yi之和,在上述特定实施例中反映的是与存取设备(Memory)相关之HPM事件之和。Zsum是n个虚拟机中各个Zi之和,在上述特定实施例中反映的是与I/O吞吐量相关事件之和。可选的,还可以包括参数d。
图7是本发明中一种根据功能单元的能耗权重来计算虚拟机能耗的实施例,实现了根据所述多个功能单元对应的多个能耗系数以及所述映射至各个所述虚拟机的所述功能单元的事件信息计算各个所述虚拟机的能耗。
在子步骤7001中,根据预先确定的能耗权重得到各个所述功能单元的能耗,所述能耗权重是所述各个功能单元的能耗占所述系统能耗的比例。
在一个实施例中,预先确定的能耗权重是一组数据,即,一组固定的能耗权重。参看表1,是一种示例性的服务器中各功能单元耗能情况统计表,可据此确定能耗权重。当然,所属领域技术人员,还可以基于经验数据选择不同的能耗权重,均不影响本申请的实施。
在另一个改进的实施例中,预先确定的能耗权重是多组数据,每组所述能耗权重具有相对应的CPU利用率。在所述根据预先确定的能耗权重得到各个所述功能单元的能耗的步骤中,根据所述系统硬件资源的CPU利用率调取所述能耗权重。
参看图8,CPU利用率从空闲(idle)到完全利用(full usage)的过程中,分别对应着不同的能耗权重,因此,可以根据计算负载情况,读取一组预先确定的与CPU利用率相对应的能耗权重,从而可以动态的调整能耗权重,进一步提高估算精度。需要特别说明的是,图8仅仅是一种示范性的说明,并不是为了限制本申请,所属领域技术人员在此信息的基础上,完全可以根据具体的系统硬件资源的情况,应用不同的CPU利用率以及与其相对应的能耗权重
在子步骤7002中,根据所述系统硬件资源功能单元事件信息统计的事件数量总值对所述功能单元的能耗进行均分,确定所述能耗系数。由于a*XDi=E*A*XDi/Xsum,体现的是能耗系数与预先确定的能耗权重之间的关系:a=E*A/Xsum,其它参数的计算类似。
在子步骤7003中,根据所述映射至各个所述虚拟机的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗。E*A*Xi/Xsum,E*b*Yi/Ysum,E*c*Zi/Zsum,d/n。
在子步骤7004中,对所述各个虚拟机中的各个功能单元的能耗进行求和计算所述各个虚拟机的能耗。
VM(i)能耗=E*A*Xi/Xsum+E*b*Yi/Ysum+E*c*Zi/Zsum+d/n,
该实施例可以反映为一种能耗关系映射的建立,图9所示的能耗映射关系示意图,按照各功能单元的能耗权重对计算机系统的能耗进行第一次映射,然后将功能单元事件映射至各个虚拟机上,再结合各主要功能单元的事件的份额,对各个主要功能单元的能耗进行第二次映射。显然,该种方式实质上是获取单位功能单元事件所对应能耗的过程,仍然是上述根据所述多个功能单元对应的多个能耗系数,以及所述映射至各个所述虚拟机的所述功能单元的事件信息来计算各个所述虚拟机的能耗。
图10是本发明中第二种根据能耗系数计算虚拟机能耗的实施例。
在步骤1010中,周期获取多组所述系统能耗,以及映射至各个所述虚拟机的所述功能单元的事件信息,进而计算所述多个耗能系数。参看公式(1)所示的实施例,由于Xsum,Ysum,Zsum,E四个参数值是可以测量统计的数值,因此,可以按照某一周期收集四个周期的数据。从而可以建立方程求得a,b,c,d四个参数值,其中d是可选的参数,由于在公式(1)所示范的实施例中有4个位置参数,因此去获取四个周期的数据才能求解方程,所属领域技术人员明了的是,如果采取其它方式的功能单元的划分,则可根据具体的未知参数的数目确定需要获取多少个周期的数据,以便求解方程。作为进一步的改进,可以上述方式求得多组参数数值,采用现有的拟合方法,对参数值作进一步的优化。
在步骤1020中,根据所述映射至各个所述虚拟机的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗。当确定出能耗系数后,可计算出各虚拟机功能单元的能耗,即,a*Xi,b*Yi,c*Zi,d。
在步骤1030中,对所述各个虚拟机的各个功能单元的能耗进行求和计算所述各个虚拟机的能耗。VM(i)能耗=a*Xi+b*Yi+c*Zi+d/n,其中,在该实施例中,选择的是对d进行均分。
以上参照附图描述了本发明的虚拟机能耗估计方法,下面分别参照附图描述根据本发明的实施例的虚拟机能耗估计装置。为简明起见,在以下描述中省略了与以上描述重复的部分细节,因此可参照以上描述获得对根据本发明的实施例的虚拟机能耗估算装置的更详细的了解。
图11示出了一种计算机系统中估算虚拟机能耗的装置,如图所示,该计算机系统包括系统硬件资源以及多个虚拟机,所述装置包括:
系统能耗获取部件1101,被配置为获取所述系统硬件资源的系统能耗。
功能单元事件读取部件1102,被配置为获取由所述系统硬件资源划分出的多个功能单元的事件信息,并将所述事件信息映射至各个所述虚拟机。在一个改进的实施例中,所述功能单元中包括CPU,以及至少一个所述系统硬件资源中能耗较大的功能单元。被配置为当所述虚拟机调度发生时,读取所述CPU事件信息,并将所读取事件信息映射至各个所述虚拟机的部件。功能单元事件读取部件1102可以包括图12所示的HPM读取器,用于实现图3、图4所示的流程。还可以包括图13所示的I/O吞吐量读取器,用于实现图5、图6中的方法步骤,因此,在一个改进的实施例中,功能单元事件读取部件1102可以包括被配置为当所述虚拟机调度发生时,读取所述内存事件信息,并将所读取事件信息映射至各个所述虚拟机的部件,还可以包括被配置为响应于所述I/O的请求或所述I/O的响应,读取所述I/O请求或所述I/O响应的吞吐量数据的部件,或者还可以包括被配置为根据所收集到的所述I/O请求或所述I/O响应信息中的标识信息,映射得到该请求或响应所对应的虚拟机标识的部件。
虚拟机能耗计算部件1103,被配置为根据所述多个功能单元对应的多个能耗系数以及所述映射至各个所述虚拟机的所述功能单元的事件信息计算各个所述虚拟机的能耗。
参看图12,是图11所示的系统的进一步的实施例,包括了一些具体的,或者可选的部件,如图所示:
HPM读取器1201,可以包括CPU事件读取器,或者包括存取设备(Memory)事件读取器。按照图12所示的实施例中,在读取通道中应用rdpmc的方式从PCPUs中的HPM寄存器中读取数据,即,HPM0_evt为HPM寄存器的一部分。
可选的,在虚拟机管理器中设置HPM配置器1202,用于实现前述的HPM配置步骤。HPM配置器既可以设置于虚拟机管理器中,也可以设置于在一个替代的实施例中,将HPM配置或控制的功能移到虚拟机中。在一个实施例中,可在配置通道中应用wrmsr的方式对HPM寄存器进行配置。
可选的,包括控制器1203,用以在虚拟机运行时控制HPM事件收集的过程,或者用于开始/结束HPM数据计数,还可以用于控制对HPM控制寄存器进行重新配置。控制器1203既可以设置于虚拟机管理器中,也可设置于虚拟机中。
参看图13,示出了功能单元事件读取部件1102中可以包括的I/O吞吐量信息读取器,该I/O吞吐量信息读取器主要用于实现前述图5、图6之I/O吞吐量信息获取步骤。在该图中所示的实施例中,由I/O吞吐量信息读取器将读取的I/O吞吐量信息映射至各个所述虚拟机,在一个替代的实施例中,还可以由其它部件进行映射。
图14是按照本发明一实施例中的虚拟机能耗计算部件1103的示意图,用于实现图7至图10中以及说明书中所描述的方法步骤,其中主要包括以下部分:
功能单元事件统计单元1401,用于对功能单元事件进行统计。根据映射至虚拟机的功能单元事件提供功能单元事件信息的总值,也可以周期的方式提供多组功能单元事件信息的总值。作为替换的实施例,事件统计单元1401可自行将功能单元事件映射至各个虚拟机。
能耗系数计算单元1402,用于计算能耗系数。在一个实施例中,可以接收统计单元1401提供的功能单元事件信息的总值,按照图7所示的步骤7001,7002计算能耗系数。在另一个实施例中,可接收统计单元1401按周期提供的多组功能单元事件信息的总值,按照图10所示的步骤1010,1020计算能耗系数。
虚拟机能耗计算单元1403,用于接收映射至虚拟机的功能单元事件,按照图7所示的步骤7003,7004,或者,图10所示的步骤1030,1040计算各个虚拟机的能耗。
作为本发明的一种扩展实施例,上述介绍的方法及装置还可以在云计算环境中实现,所述系统硬件资源中包括多个云计算节点,云计算消费者使用本地计算设备通过瘦客户机接口访问所述多个虚拟机。特别的是,这种相对于现有技术提供准确度更好的虚拟机能耗估算方案,能够为云计算环境提供更好的可测量的服务,通过监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
首先应当明白,尽管后续公开中包括了关于云计算的详细描述,但并不是将本公开所记载的技术方案的限定于云计算环境。本发明的实施例能够结合现在已知的或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模型,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源例如是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务,是以最小的管理成本或者最少的与服务提供者的交互就能快速提供和释放的资源。这种云模型可以包括至少五个特征,至少三个服务模型和至少四个部署模型。特征如下:
按需自助式服务:云消费者能单方面自动地按需提供计算能力,诸如服务器时间和网络存储,而无需与服务提供者进行人工交互。
广泛的网络接入:云计算能力可在网络上获取,并且是通过标准机制获取的,标准机制促进通过不同种类瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:将提供者的计算资源归入资源池,通过多租户(munti-tenant)模式服务于多重消费者,不同的实体资源和虚拟资源按照需要被动态地分配和再分配。因为消费者一般不控制甚至不知道所提供的资源的确切位置,但是可能在较高的抽象程度上指定位置(例如国家、州或数据中心),所以有一种位置独立感。
迅速的弹性:能迅速和有弹性地(有时是自动地)提供计算资源,以实现快速地扩展并且能快速地释放。对于消费者来说,可用的计算资源常常显得是无限的,在任何时候都能获取任何数量的计算资源。
可测量的服务:云系统通过利用适于服务(例如存储、处理、带宽和活动用户帐号)类型的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):给予消费者使用提供者在云基础架构上运行的应用的能力。应用是可通过诸如网络浏览器的瘦客户机接口从各种客户机设备访问的(例如基于网络的电子邮件)。可能除了是有限的特定于用户的应用配置设置外,消费者既不管理也不控制底层的云基础架构,包括网络、服务器、操作系统、存储、乃至单个应用能力。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建的或获得的应用,这些应用是用提供者所支持的程序设计语言和工具创建的。消费者不管理或控制基础的云基础架构,包括网络、服务器、操作系统或存储,但是对所部署的应用具有控制权,对托管环境配置的应用也可能有控制权。
基础架构即服务(IaaS):给予消费者提供处理、存储、网络和消费者能在其中部署和运行任意软件的基础计算资源的能力,其中软件可包括操作系统和应用程序。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和所部署的应用具有控制权,对选择的网络部件(例如主机防火墙)也可能拥有有限的控制权。
部署模型如下:
私有云:云基础架构是单独为某个组织运行的。云基础架构可以由该组织管理,也可以由第三方管理,可以存在于组织内,也可以存在于组织外。
共同体云:云基础架构被若干个组织共享,支持有共同利害关系(例如使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理,可以存在于组织内,也可以存在于组织外。
公共云:云基础架构向公众或大型产业群提供,并由出售云服务的组织拥有。
混合云:云基础架构是两个或更多的云(私有云、共同体云或公共云)的合成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础结构。
现在参考图15,图中显示了一个云计算节点的例子。云计算节点10仅仅是合适的云计算节点的一个示例,而并不意味着对本发明的实施例的功能和使用的范围的任何限制。总之,云计算节点10能够被实现和/或执行以上所述的任何功能。
在云计算节点10中有一个计算机系统/服务器12,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器12一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。
计算机系统/服务器12可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器12可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。
如图15所示,云计算节点10中的计算机系统/服务器12是以通用计算设备的形式表现的。计算机系统/服务器12的部件可以包括但不限于:一个或者多个处理器或者处理单元16,系统存储器28,连接不同系统部件(包括系统存储器28和处理单元16)的总线18。
总线18表示几种类型的总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任何总线结构的局域总线。举例(但不限于这些示例)来说,这些体系结构包括工业标准体系结构(ISA)总线,微通道体系结构(MAC)总线,增强型ISA总线、视频电子标准协会(VESA)局域总线以及外围部件互连(PCI)总线。
计算机系统/服务器12典型地包括多种计算机系统可读介质。这些介质可以为可被计算机系统/服务器12访问的任何可获得的介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
系统存储器28可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(RAM)30和/或高速缓存存储器32。计算机系统/服务器12可以进一步包括其它可以移动的/不可移动的,易失性/非易失性计算机系统存储介质。仅作为举例,存储系统34可以被提供用于读出和写入不可移动的、非易失性磁介质(未示出,通常称为“硬盘驱动器”)。尽管图中未示出,可以提供用于对可移动的非易失性磁盘(录入“软盘”)读写的磁盘驱动器,以及对可移动的非易失性光盘——诸如CD-ROM,DVD-ROM或者其它光介质——读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线18相连。如以下将进一步表示和描述的那样,存储器28可以包括至少一个程序产品,该程序产品有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
有一组(至少一个)程序模块42的程序/实用工具40,可以被存储在存储器28中,这样的程序模块42例如(但不限于)操作系统、一个或者多个应用程序、其它程序模块以及程序数据。操作系统、一个或者多个应用程序、其它程序模块、程序数据中的每一个或它们的某种组合中可能包括网络环境的实现。程序模块42通常执行这里描述的本发明的实施例中的功能和/或方法。
计算机系统/服务器12也可以与一个或多个外部设备14——诸如键盘、指向设备、显示器24等等——通信,与一个或者多个使用户能与计算机系统/服务器12交互的设备通信,和/或与使计算机系统/服务器12能与一个或多个其它计算设备通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口22进行。并且,计算机系统/服务器12还可以通过网络适配器20与一个或者多个网络——诸如局域网(LAN),广域网(WAN)和/或公共网络(例如因特网)——通信。如图所示,网络适配器20通过总线18与计算机系统/服务器12的其它模块通信。应当明白,尽管图中未示出,其它硬件和/或软件模块可以与计算机系统/服务器12一起使用。例子包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统,等等。
现在参考图16,该图描述了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备诸如个人数字辅助设备(PDA)或者是移动电话54A,台式电脑54B,笔记本电脑54C,和/或汽车计算机系统54N。节点10之间可以相互通信。可以在在一个或者多个网络——诸如如上所述的私有云、共同体云、公共云或混合云或者它们的组合——中,将节点10进行物理或者虚拟分组(图中未示出)。这允许云计算环境50提供云消费者无需在本地计算设备上维护资源就能请求的基础架构即服务、平台即服务和/或软件即服务。应当明白,图16示出的各类计算设备54A-N仅仅是示意性的,计算节点10以及云计算环境50可以与任何类型的网络上的和/或网络可寻址的连接上的任何类型的计算设备(例如使用网络浏览器)通信。
现在参考图17,该图示出了云计算环境50(图2)提供的一组功能抽象层。首先应当明白,图3所示的部件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图所示,提供了下列层和对应功能:
硬件和软件层60包括硬件和软件部件。硬件部件的例子包括:主机——例如
Figure BSA00000490218900201
系统;基于RISC(精简指令集计算机)体系结构的服务器——例如IBM
Figure BSA00000490218900202
系统;IBM
Figure BSA00000490218900203
系统;IBM
Figure BSA00000490218900204
系统;存储设备;网络和网络部件。软件部件的例子包括:网络应用服务器软件——例如IBM
Figure BSA00000490218900205
应用服务器软件;数据库软件——例如IBM
Figure BSA00000490218900206
数据库软件。(IBM,zSeries,pSeries,xSeries,BladeCenter,WebSphere以及DB2是国际商业机器公司在全世界各地注册的商标)。
虚拟层62提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器、虚拟存储、虚拟网络(包括虚拟私有网络)、虚拟应用和操作系统,以及虚拟客户端。
在一个示例中,管理层64可以提供下述功能:资源供应功能提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能在云计算环境内资源被使用时进行成本跟踪,并为这些资源的消费提供帐单和发票。在一个例子中,这些资源可以包括应用软件许可。安全功能为云消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能为根据SLA的预测了未来需求的云计算资源提供预先安排和供应。
工作负载层66提供了云计算环境可能实现的功能的示例。在该层中,可提供的工作负载或功能的示例包括:地图绘制与导航;软件开发及生命周期管理;虚拟教室的教学他提供;数据分析处理;交易处理;以及移动桌面。
以上参照附图描述了根据本发明的实施例的估算虚拟机能耗的计算机系统。应指出的是,以上描述仅为示例,而不是对本发明的限制。在本发明的其他实施例中,该方法可具有更多、更少或不同的模块,且各模块之间的连接、包含、功能等关系可以与所描述和图示的不同。
本发明可以硬件、软件、或硬件与软件的结合的方式实现。本发明可以集中的方式在一个计算机系统中实现,或以分布方式实现,在这种分布方式中,不同的部件分布在若干互连的计算机系统中。适于执行本文中描述的方法的任何计算机系统或其它装置都是合适的。一种典型的硬件和软件的组合可以是带有计算机程序的通用计算机系统,当该计算机程序被加载和执行时,控制该计算机系统而使其执行本发明的方法,并构成本发明的装置。
本发明也可体现在计算机程序产品中,该程序产品包含使能实现本文中描述的方法的所有特征,并且当其被加载到计算机系统中时,能够执行所述方法。
尽管已参照优选实施例具体示出和说明了本发明,但是本领域内的那些技术人员应理解,可在形式和细节上对其进行各种改变而不会背离本发明的精神和范围。

Claims (20)

1.一种计算机系统中虚拟机能耗的估算方法,所述计算机系统包括系统硬件资源以及多个虚拟机,所述方法包括:
获取所述系统硬件资源的系统能耗;
获取由所述系统硬件资源划分出的多个功能单元的事件信息,并将所述事件信息映射至各个所述虚拟机;
根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗。
2.如权利要求1所述的估算方法,其中,所述根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗的步骤包括:
根据预先确定的能耗权重得到所述系统硬件资源中各个所述功能单元的能耗,所述能耗权重是所述各个功能单元的能耗占所述系统能耗的比例;
根据所述系统硬件资源功能单元事件信息统计的事件数量总值对所述功能单元的能耗进行均分,确定所述能耗系数;
根据所述映射后的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗;
对所述各个虚拟机中所述功能单元的能耗进行求和估算所述各个虚拟机的能耗。
3.如权利要求1所述的估算方法,其中,所述根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗的步骤包括:将划分出的未获取事件信息的功能单元的能耗在所述虚拟机之间进行分配。
4.如权利要求2所述的估算方法,其中,在所述根据预先确定的能耗权重得到各个所述功能单元的能耗的步骤中,在预先确定多组所述能耗权重中根据所述系统硬件资源的CPU利用率调取相应的能耗权重。
5.如权利要求1所述的估算方法,其中,所述根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算所述虚拟机的能耗的步骤包括:
周期获取多组所述系统能耗,以及映射至各个所述虚拟机的所述功能单元的事件信息,进而计算所述多个能耗系数;
根据所述映射至各个所述虚拟机的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗;
对所述各个虚拟机的各个功能单元的能耗进行求和计算所述各个虚拟机的能耗。
6.如权利要求1至5中任一项权利要求所述的估算方法,所述功能单元中包括CPU,以及至少一个所述系统硬件资源中能耗较大的功能单元,所述方法包括:
读取所述CPU的事件信息,根据所述CPU的事件中的标识信息,将所述事件信息映射至各个所述虚拟机。
7.如权利要求1至5中任一项权利要求所述的估算方法,所述功能单元中包括存储单元,所述方法包括:
读取所述存储单元的事件信息,根据所述存储单元的事件中的标识信息,将所述事件信息映射至各个所述虚拟机。
8.如权利要求1至5中任一项权利要求所述的估算方法,所述功能单元中包括I/O,获取所述I/O吞吐量信息作为所述的I/O的事件信息,所述方法包括:
响应于所述I/O的请求或所述I/O的响应,读取所述I/O请求或所述I/O响应的吞吐量数据;
根据所收集到的所述I/O请求或所述I/O响应信息中的标识信息,映射得到该请求或响应所对应的虚拟机标识。
9.如权利要求1所述的估算方法,其中所述系统硬件资源包括硬件性能监控器,所述硬件性能监视器被配置为寄存所述功能单元的事件信息。
10.如权利要求前述任一项权利要求所述的估算方法,其中,所述系统硬件资源中包括多个云计算节点,云计算消费者使用本地计算设备通过瘦客户机接口访问所述多个虚拟机。
11.一种计算机系统中虚拟机能耗估算系统,所述计算机系统包括系统硬件资源以及多个虚拟机,所述估算系统包括:
系统能耗获取部件,被配置为获取所述系统硬件资源的系统能耗;
功能单元事件读取部件,被配置为获取所述由系统硬件资源划分出的多个功能单元的事件信息,并将所述事件信息映射至各个所述虚拟机;
虚拟机能耗计算部件,被配置为根据所述多个功能单元对应的多个能耗系数,以及根据所述映射后的事件信息,计算各个所述虚拟机的能耗。
12.如权利要求11所述的估算系统,其中,所述虚拟机能耗计算部件包括:
被配置为根据预先确定的能耗权重得到所述系统硬件资源的各个所述功能单元的能耗的部件,所述能耗权重是所述各个功能单元的能耗占所述系统能耗的比例;进而,
被配置为根据所述系统硬件资源功能单元事件信息统计的事件数量总值对所述功能单元的能耗进行均分,确定所述能耗系数的部件;
被配置为根据所述映射至各个所述虚拟机的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗的部件;
被配置为对所述各个虚拟机中的所述功能单元的能耗进行求和计算所述各个虚拟机的能耗的部件。
13.如权利要求11所述的估算系统,其中,所述虚拟机能耗计算部件进一步被配置为将划分出的未获取事件信息的功能单元的能耗在所述虚拟机之间进行分配。
14.如权利要求12所述的估算系统,其中,所述虚拟机能耗计算部件被配置为在预先确定多组所述能耗权重中根据所述系统硬件资源的CPU利用率调取相应的能耗权重。
15.如权利要求11所述的估算系统,其中,所述虚拟机能耗计算部件包括:
被配置为周期获取多组所述系统能耗,以及映射至各个所述虚拟机的所述功能单元的事件信息,进而计算所述多个能耗系数的部件;
被配置为根据所述映射至各个所述虚拟机的事件信息以及所述能耗系数,通过乘积计算所述各个虚拟机的各个所述功能单元的能耗的部件;
被配置为对所述各个虚拟机中的所述功能单元的能耗进行求和计算所述各个虚拟机的能耗的部件。
16.如前述任一项权利要求所述的估算系统,所述功能单元中包括CPU,以及至少一个所述系统硬件资源中能耗较大的功能单元,所述估算系统包括:
用于读取所述CPU的事件信息,根据所述CPU的事件信息中的标识信息,将所述事件信息映射至各个所述虚拟机的部件。
17.如前述任一项权利要求所述的估算系统,所述功能单元中包括存储单元,所述估算系统包括:
用于读取所述存储单元的事件信息,根据所述存储单元事件信息中的标识信息,将所述事件信息映射至各个所述虚拟机的部件。
18.如前述任一项权利要求所述的估算系统,所述功能单元中包括I/O,获取所述I/O吞吐量信息作为所述的I/O的事件信息,所述估算系统包括:
用于响应于所述I/O的请求或所述I/O的响应,读取所述I/O请求或所述I/O响应的吞吐量数据的部件;
用于根据所收集到的所述I/O请求或所述I/O响应信息中的标识信息,映射得到该请求或响应所对应的虚拟机标识的部件。
19.如权利要求11所述的估算系统,其中所述系统硬件资源包括硬件性能监控器,所述硬件性能监视器被配置为寄存所述功能单元的事件信息。
20.如前述任一项权利要求所述的估算系统,其中,所述系统硬件资源中包括多个云计算节点,云计算消费者使用本地计算设备通过瘦客户机接口访问所述多个虚拟机。
CN201110115875.2A 2011-04-29 2011-04-29 一种虚拟机能耗估计方法及装置 Active CN102759979B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201110115875.2A CN102759979B (zh) 2011-04-29 2011-04-29 一种虚拟机能耗估计方法及装置
US13/456,776 US9176557B2 (en) 2011-04-29 2012-04-26 Estimating virtual machine energy consumption
US13/596,612 US9043172B2 (en) 2011-04-29 2012-08-28 Estimating virtual machine energy consumption

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201110115875.2A CN102759979B (zh) 2011-04-29 2011-04-29 一种虚拟机能耗估计方法及装置

Publications (2)

Publication Number Publication Date
CN102759979A true CN102759979A (zh) 2012-10-31
CN102759979B CN102759979B (zh) 2016-03-30

Family

ID=47054453

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201110115875.2A Active CN102759979B (zh) 2011-04-29 2011-04-29 一种虚拟机能耗估计方法及装置

Country Status (2)

Country Link
US (2) US9176557B2 (zh)
CN (1) CN102759979B (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104506590A (zh) * 2014-12-11 2015-04-08 国云科技股份有限公司 一种基于虚拟集群的应用效能评估方法
CN104516773A (zh) * 2013-09-29 2015-04-15 国际商业机器公司 用于物理机的数据分配方法和数据分配装置
CN105264457A (zh) * 2014-02-28 2016-01-20 华为技术有限公司 能耗监控方法及装置
CN105389133A (zh) * 2015-12-02 2016-03-09 华为技术有限公司 一种虚拟存储器的驱动方法以及驱动器
WO2016106747A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 虚拟机能耗确定方法、物理机和网络系统
CN105808415A (zh) * 2016-03-09 2016-07-27 广东三盟信息科技有限公司 一种基于云计算环境的业务运行状态评估方法及其装置
CN106209433A (zh) * 2016-06-30 2016-12-07 上海天玑科技股份有限公司 一种云环境下面向架构的应用系统节能部署装置
CN107703878A (zh) * 2015-11-27 2018-02-16 中工科安科技有限公司 一种plc分布式远程io扩展模块
CN116881090A (zh) * 2023-09-06 2023-10-13 北京壁仞科技开发有限公司 计算装置以及控制计算装置中的计算核的能耗的方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8539078B2 (en) * 2010-07-08 2013-09-17 International Business Machines Corporation Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests
CN102759979B (zh) * 2011-04-29 2016-03-30 国际商业机器公司 一种虚拟机能耗估计方法及装置
US9342129B2 (en) * 2012-05-24 2016-05-17 Xerox Corporation Computing energy rating for cloud-based software services utilizing configuration parameters
US9710664B2 (en) * 2012-09-07 2017-07-18 Amrita Vishwa Vidyapeetham Security layer and methods for protecting tenant data in a cloud-mediated computing network
US9378057B2 (en) 2014-02-28 2016-06-28 Red Hat Israel, Ltd. Paravirtualized migration counter
CN103914119B (zh) * 2014-04-17 2017-01-18 江苏省电力公司盐城供电公司 一种虚拟机能耗电力计量方法及系统
US9389910B2 (en) 2014-06-02 2016-07-12 Red Hat Israel, Ltd. Paravirtualized migration counter for migrating a virtual CPU to a different physical CPU
US9823723B2 (en) 2014-09-16 2017-11-21 Apple Inc. Low-overhead process energy accounting
CN104375622B (zh) * 2014-11-28 2017-02-01 广东石油化工学院 云计算中基于动态加权负载评估结果的能耗评估模型
CN104468803B (zh) 2014-12-12 2018-02-09 华为技术有限公司 一种虚拟数据中心资源映射方法和设备
CN106133693B (zh) * 2015-02-28 2019-10-25 华为技术有限公司 虚拟机的迁移方法、装置及设备
US10267748B2 (en) * 2016-10-17 2019-04-23 Kla-Tencor Corp. Optimizing training sets used for setting up inspection-related algorithms
CN110362398B (zh) 2018-04-09 2023-09-12 阿里巴巴集团控股有限公司 虚拟机的调度方法和系统
CN109672585A (zh) * 2018-12-12 2019-04-23 郑州云海信息技术有限公司 一种用于监控云平台中的主机状态的方法和装置
US11943285B2 (en) * 2019-03-22 2024-03-26 International Business Machines Corporation Metering computing resources in cloud computing environments
US11249789B2 (en) * 2020-01-06 2022-02-15 International Business Machines Corporation Network performance optimization in a hypervisor-based system
US11493975B2 (en) * 2020-09-24 2022-11-08 Intel Corporation System, apparatus and method for providing power monitoring isolation in a processor

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102539A1 (en) * 2003-11-06 2005-05-12 International Business Machines Corporation Computer-component power-consumption monitoring and control
US20100070784A1 (en) * 2008-09-15 2010-03-18 Vmware, Inc. Reducing Power Consumption in a Server Cluster
CN101907917A (zh) * 2010-07-21 2010-12-08 中国电信股份有限公司 一种测量虚拟机能耗的方法和系统

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7225441B2 (en) 2000-12-27 2007-05-29 Intel Corporation Mechanism for providing power management through virtualization
US8909946B2 (en) 2005-11-15 2014-12-09 Microsoft Corporation Efficient power management of a system with virtual machines
US20080301473A1 (en) 2007-05-29 2008-12-04 International Business Machines Corporation Method and system for hypervisor based power management
US8996890B2 (en) 2008-02-07 2015-03-31 Dell Products L.P. Method for power conservation in virtualized environments
US9501124B2 (en) 2008-05-22 2016-11-22 Microsoft Technology Licensing, Llc Virtual machine placement based on power calculations
US7971078B2 (en) 2008-07-11 2011-06-28 International Business Machines Corporation System and method for measurement-based power and energy accounting for virtual machines
CN101739113B (zh) 2008-11-20 2013-04-10 国际商业机器公司 在虚拟化集群系统中进行能效管理的方法及装置
US9459678B2 (en) 2009-01-29 2016-10-04 Hewlett-Packard Development Company, L.P. Power manager for virtual machines
US8862914B2 (en) * 2010-02-26 2014-10-14 Microsoft Corporation Virtual machine power consumption measurement and management
US20120239323A1 (en) * 2011-03-16 2012-09-20 Microsoft Corporation Virtual Machine Power Usage Estimations
CN102759979B (zh) * 2011-04-29 2016-03-30 国际商业机器公司 一种虚拟机能耗估计方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102539A1 (en) * 2003-11-06 2005-05-12 International Business Machines Corporation Computer-component power-consumption monitoring and control
US7134029B2 (en) * 2003-11-06 2006-11-07 International Business Machines Corporation Computer-component power-consumption monitoring and control
US20100070784A1 (en) * 2008-09-15 2010-03-18 Vmware, Inc. Reducing Power Consumption in a Server Cluster
CN101907917A (zh) * 2010-07-21 2010-12-08 中国电信股份有限公司 一种测量虚拟机能耗的方法和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
BHAVANI KRISHNAN等: "VM Power Metering: Feasibility and Challenges", 《ACM SIGMETRICS PERFORMANCE EVALUATION REVIEW》, 31 December 2010 (2010-12-31), pages 56 - 60 *
JAN STOESS等: "Energy Management for Hypervisor-Based Virtual Machines", 《USENIX ANNUAL TECHNICAL CONFERENCE》, 31 December 2007 (2007-12-31), pages 1 - 14 *

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104516773A (zh) * 2013-09-29 2015-04-15 国际商业机器公司 用于物理机的数据分配方法和数据分配装置
US9875124B2 (en) 2013-09-29 2018-01-23 International Business Machines Corporation Data assignment and data scheduling for physical machine in a virtual machine environment
CN105264457A (zh) * 2014-02-28 2016-01-20 华为技术有限公司 能耗监控方法及装置
CN104506590B (zh) * 2014-12-11 2017-11-07 国云科技股份有限公司 一种基于虚拟集群的应用效能评估方法
CN104506590A (zh) * 2014-12-11 2015-04-08 国云科技股份有限公司 一种基于虚拟集群的应用效能评估方法
WO2016106747A1 (zh) * 2014-12-31 2016-07-07 华为技术有限公司 虚拟机能耗确定方法、物理机和网络系统
CN106170744A (zh) * 2014-12-31 2016-11-30 华为技术有限公司 虚拟机能耗确定方法、物理机和网络系统
CN107703878A (zh) * 2015-11-27 2018-02-16 中工科安科技有限公司 一种plc分布式远程io扩展模块
CN107703878B (zh) * 2015-11-27 2019-06-28 中工科安科技有限公司 一种plc分布式远程io扩展模块
CN105389133A (zh) * 2015-12-02 2016-03-09 华为技术有限公司 一种虚拟存储器的驱动方法以及驱动器
CN105389133B (zh) * 2015-12-02 2018-10-12 华为技术有限公司 一种虚拟存储器的驱动方法以及驱动器
CN105808415A (zh) * 2016-03-09 2016-07-27 广东三盟信息科技有限公司 一种基于云计算环境的业务运行状态评估方法及其装置
CN106209433A (zh) * 2016-06-30 2016-12-07 上海天玑科技股份有限公司 一种云环境下面向架构的应用系统节能部署装置
CN106209433B (zh) * 2016-06-30 2019-04-26 上海天玑科技股份有限公司 一种云环境下面向架构的应用系统节能部署装置
CN116881090A (zh) * 2023-09-06 2023-10-13 北京壁仞科技开发有限公司 计算装置以及控制计算装置中的计算核的能耗的方法
CN116881090B (zh) * 2023-09-06 2024-01-26 北京壁仞科技开发有限公司 计算装置以及控制计算装置中的计算核的能耗的方法

Also Published As

Publication number Publication date
US9176557B2 (en) 2015-11-03
US20120323509A1 (en) 2012-12-20
CN102759979B (zh) 2016-03-30
US9043172B2 (en) 2015-05-26
US20120296585A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
CN102759979B (zh) 一种虚拟机能耗估计方法及装置
CN104113585B (zh) 用于产生指示负载平衡状态的硬件级中断的方法和设备
Mansouri et al. Cloud computing simulators: A comprehensive review
US10489215B1 (en) Long-range distributed resource planning using workload modeling in hyperconverged computing clusters
US11902384B2 (en) Methods and apparatus to generate migration recommendations to migrate services between geographic regions
CN105940378B (zh) 用于分配可配置计算资源的技术
US10467129B2 (en) Measuring and optimizing test resources and test coverage effectiveness through run time customer profiling and analytics
WO2016101638A1 (zh) 一种电力系统云仿真平台的运营管理方法
Guzek et al. A holistic model of the performance and the energy efficiency of hypervisors in a high‐performance computing environment
CN105630575B (zh) 针对kvm虚拟化服务器的性能评估方法
Morariu et al. Shop-floor resource virtualization layer with private cloud support
US10169101B2 (en) Software based collection of performance metrics for allocation adjustment of virtual resources
US11677680B2 (en) Dynamic allocation of bandwidth to virtual network ports
Kommeri et al. Energy efficiency of dynamic management of virtual cluster with heterogeneous hardware
Jiang et al. Resource allocation in contending virtualized environments through VM performance modeling and feedback
KR101811317B1 (ko) 하나의 물리적 서버를 이용한 웹 기반 시뮬레이션 실행을 위한 독립 플랫폼
US20230040725A1 (en) Accessing topological mapping of cores
US10423330B2 (en) Data collection in a multi-threaded processor
Moshir Moghaddam Cost-Efficient Auto-scaling Containers in Cloud infrastructure for Micro-services
Warneke Massively parallel data processing on infrastructure as a service platforms
CN107015858A (zh) 云计算环境中云节点调度方法和装置
Arzuaga Using live virtual machine migration to improve resource efficiency on virtualized data centers
Ahmad Coordinating vertical and horizontal scaling for achieving differentiated QoS
Ganesan Energy-efficient cloud infrastructure for IoT big data processing
Kakkar Heuristic of VM allocation to reduce migration and energy at cloud server

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant