一种虚拟机能耗电力计量方法及系统的制作方法

文档序号:6544153阅读:261来源:国知局
一种虚拟机能耗电力计量方法及系统的制作方法
【专利摘要】一种虚拟机能耗电力计量方法及系统。通过对各个虚拟机在运行时的处理器、内存、硬盘和输入输出设备进行数据采集,获得处理器能耗系数、内存能耗系数、硬盘能耗系数和输入输出设备能耗系数,处理器能耗计算部件、内存能耗计算部件、硬盘能耗计算部件和输入输出设备能耗计算部件从而能够依据这些处理器能耗系数、内存能耗系数、硬盘能耗系数和输入输出设备能耗系数准确地计算出虚拟机的能耗,有效地解决了不能准确测量虚拟机能耗的问题。
【专利说明】一种虚拟机能耗电力计量方法及系统
【技术领域】
[0001]本发明涉及电力计量【技术领域】,更具体地说,涉及一种虚拟机能耗电力计量方法及系统。
【背景技术】
[0002]数据中心的高能耗是一个亟待解决的问题。近年来,虚拟化技术和云计算模式快速发展起来,因其具有资源利用率高、管理灵活、可扩展性好等优点,未来的数据中心将广泛采用虚拟化技术和云计算技术.将传统的能耗管理技术与虚拟化技术相结合,为云计算数据中心的能耗管理问题提供了新的解决思路,是一个重要的研究方向。
[0003]云计算数据中心中数量众多的计算和存储设备无时无刻不在消耗着大量的能源,因此,能耗已经成为云计算技术发展关注的焦点之一。如何有效地对云计算环境的能耗进行评估和优化进而减少能耗成本,是当前云计算技术中亟待解决的技术问题。另外,从运营角度出发,在先期的基础设施搭建完成后,云计算环境在运行时的主要开销就是能耗,因此,如何基于能耗对用户进行合理的收费,也是关系到云计算技术能否被广泛接受并应用的关键问题。
[0004]虚拟机是云计算环境的基本管理单元,因此,云计算环境的能耗管理基础就是虚拟机的能耗管理,而能耗测量又是进行能耗管理(例如,评估、优化、计费等)的必要前提。但是,虚拟机的能耗信息很难被直接测量,即虚拟机的能耗电力计量,这是因为诸如电流、电压、功率等和能耗相关的信息都只能在物理器件上测得。当一台物理机上部署了多台虚拟机时,只有采用将测量所得的物理机能耗信息根据一定的规则分派到相关虚拟机的方法对虚拟机能耗进行估测。

【发明内容】

[0005]本发明的目的是提供一种虚拟机能耗电力计量方法及系统,通过采集物理机运行时主要参数,通过能耗计算部件获得能耗数据,克服了不能直接测量虚拟机能耗的问题。
[0006]本发明提供了一种虚拟机能耗电力计量方法,包括:采集各个虚拟机在运行时的处理器能耗系数;将处理器能耗系数作为输入,通过处理器能耗计算部件获得处理器能耗数据;采集各个虚拟机在运行时的内存能耗系数;将内存能耗系数作为输入,通过内存能耗计算部件获得内存能耗数据;采集各个虚拟机在运行时的硬盘能耗系数;将硬盘能耗系数作为输入,通过硬盘能耗计算部件获得硬盘能耗数据;采集各个虚拟机在运行时的输入输出设备能耗系数;将输入输出设备能耗系数作为输入,通过输入输出设备能耗计算部件获得输入输出设备能耗数据;利用所述各个虚拟机在运行时的处理器能耗数据、内存能耗数据、硬盘能耗数据、输入输出设备能耗数据以及物理机运行时的能耗计算所述各个虚拟机的能耗。
[0007]本发明虚拟机能耗电力计量方法及系统,通过对各个虚拟机在运行时的处理器、内存、硬盘和输入输出设备进行数据采集,获得处理器能耗系数、内存能耗系数、硬盘能耗系数和输入输出设备能耗系数,从而处理器能耗计算部件、内存能耗计算部件、硬盘能耗计算部件和输入输出设备能耗计算部件可以依据这些处理器能耗系数、内存能耗系数、硬盘能耗系数和输入输出设备能耗系数准确地计算出虚拟机的能耗,有效地解决了现有技术中不能准确测量虚拟机能耗的问题。
【专利附图】

【附图说明】
[0008]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0009]图1是本发明虚拟机能耗电力计量方法的第一实施例的流程示意图;
[0010]图2是本发明虚拟机能耗计算部件示意图。
[0011]图3是本发明虚拟机能耗电力计量系统的一实施例的结构示意图。
[0012]其中:201、能耗计算部件,202、处理器能耗计算部件,203、内存能耗计算部件,204、硬盘能耗计算部件,205、输入输出设备能耗计算部件,301、虚拟化管理程序,303、虚拟机,3041、处理器能耗系数获取装置,3042、内存能耗系数获取装置,3043、硬盘能耗系数获取装置,3044、输入输出设备能耗系数获取装置,3051、处理器,3052、内存,3053、硬盘,3054、输入输出设备。
【具体实施方式】
[0013]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。本发明的示例性实施例及其说明用于解释本发明,但并不构成对本发明的不当限定。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0014]在进行实施例描述之前,需要说明的是,为了说明的方便及具体化,本组实施例针对的是虚拟机能耗电力计量方法及系统,但并不仅限于实施例中列举所限定的范围。
[0015]虚拟机的能耗与处理器、内存、硬盘和输入输出设备的运行有关,从而虚拟机能耗与处理器、内存、硬盘和输入输出设备的能耗相关。虚拟机的实时迁移、高可用性等特性均涉及操作处理器、内存、硬盘和输入输出设备。
[0016]全面分析虚拟机运行过程中在处理器、内存、硬盘和输入输出设备上产生的能耗影响,并采集相关的处理器、内存、硬盘和输入输出设备运行的相关参数,通过处理器、内存、硬盘和输入输出设备能耗计算部件以及物理机运行时的能耗,进而计算出各个虚拟机的能耗。虚拟机实际运行功耗主要与处理器、内存、硬盘和输入输出设备功耗相关。
[0017]图1是本发明虚拟机能耗电力计量方法的一实施例的流程示意图。
[0018]如图1所示,该实施例包括以下步骤:
[0019]S101,采集各个虚拟机在运行时的处理器能耗系数。处理器能耗系数为处理器使用率,通过操作系统获得处理器使用率,或者在处理器运行时对处理器硬件上相关的一系列性能事件进行监测并计数从而得到相关处理器使用率。[0020]S102,通过处理器能耗计算部件获得处理器能耗数据。
[0021]处理器能耗数据主要包括处理器运行能耗和Cache运行能耗。处理器的运行与Cache运行具有极大的相关性。得到的处理器能耗系数,输入到处理器能耗计算部件通过运算即可得到处理器能耗数据。
[0022]S103,采集各个虚拟机在运行时的内存能耗系数。
[0023]内存能耗系数是内存吞吐量,也是记录最后一层的缺失次数。上述内存能耗系数通过参数采集装置获取,也可以通过处理器获得。
[0024]S104,通过内存能耗计算部件获得内存能耗数据。
[0025]得到的内存能耗系数,输入到内存能耗计算部件通过运算即可得到内存能耗数据。
[0026]S105,采集各个虚拟机在运行时的硬盘能耗系数。
[0027]硬盘能耗包括虚拟机对磁盘操作产生的能耗,虚拟机对硬盘操作包括读操作、写操作等,可以跟踪虚拟机对硬盘读、写字节数和读写操作所耗费的时间,这些硬盘读、写字节数和读写操作所耗费的时间参数为硬盘能耗系数。
[0028]S106,通过硬盘能耗计算部件获得硬盘能耗数据。
[0029]得到的硬盘能耗系数,输入到硬盘能耗计算部件通过运算即可得到硬盘能耗数据。
[0030]S107,采集各个虚拟机在运行时的输入输出设备能耗系数。
[0031]服务器等主机设备频繁操作输入输出设备,此时虚拟机对各种输入输出设备的操作,采集虚拟机在运行时的输入输出设备能耗系数,其中,各个虚拟机在运行时的输入输出设备能耗系数可以包括输入输出设备的数据流量信息。
[0032]S108,通过输入输出设备能耗计算部件获得输入输出设备能耗数据。
[0033]得到的输入输出设备能耗系数,输入到输入输出设备能耗计算部件通过运算即可得到输入输出设备能耗数据。
[0034]S109,利用所述虚拟机在运行时的处理器能耗数据、内存能耗数据、硬盘能耗数据、输入输出设备能耗数据以及物理机运行时的能耗计算所述虚拟机的能耗。
[0035]通过处理器、内存、硬盘和输入输出设备的能耗计算部件计算各个虚拟机的能耗,即,在获得处理器、内存、硬盘和输入输出设备能耗计算部件的能耗数据后,每个虚拟机在处理器、内存、硬盘和输入输出设备上产生的能耗可以根据虚拟机在不同功能部件能耗中的贡献份额计算得到,然后通过汇总并与物理机运行时的能耗相比较,就获得了完整的虚拟机能耗数值。虚拟机操作处理器、内存、硬盘和输入输出设备的能耗应与物理机运行时的能耗相一致。该实施例可以自动化实现,全程无需人工干预。
[0036]图2是本发明虚拟机能耗计算部件示意图。
[0037]如图2所示,能耗计算部件201包括处理器能耗计算部件202,内存能耗计算部件203,硬盘能耗计算部件204,输入输出设备能耗计算部件205。即,处理器能耗计算部件202,内存能耗计算部件203,硬盘能耗计算部件204,输入输出设备能耗计算部件205为计算部件,根据输入参数,计算获得能耗数据。
[0038]处理器能耗计算部件202形式如下:
[0039]Ecpu (T) =KcpuUcpu (T)+Rcpu,其中,Ecpu (T)表示T时间内处理器能耗数据,Ucpu (T)表示T时刻的处理器使用率,Rcpu为修正系数,Kcpu和Rcpu均为常数,通过单独测量处理器功耗特性参数获得;或者在产品设计阶段,通过各种测试,将测试获得的常数数值存储在系统中,当需要获取数值时,只需要从系统中直接读取。
[0040]内存能耗计算部件203形式如下:
[0041]Emem (T) =KmemUmem (T),其中,Emem (T)表示 T 时间内内存能耗数据,Umem (T)表示虚拟机在T时刻内的缺失次数,Kmem为常数,通过单独测量内存功耗特性参数获得;或者在产品设计阶段,通过各种测试,将测试获得的常数数值存储在系统中,当需要获取数值时,只需要从系统中直接读取。
[0042]硬盘能耗计算部件204形式如下:
[0043]Edisk (T) =KrUr (T) +KwUw (T)+Rdisk,其中,Edisk (T)表示 T 时间内硬盘能耗数据,Ur (T)和Uw (T)表示虚拟机对硬盘读、写操作所消耗的时间,Kr和Kw为常数,Rdisk为修正系数,Kr、Kw和Rdisk通过单独测量虚拟机操作硬盘获得;或者在产品设计阶段,通过各种测试,将测试获得的常数数值存储在系统中,当需要获取数值时,只需要从系统中直接读取。
[0044]输入输出设备能耗计算部件205形式如下:
[0045]Eio (T)=KioUio (T)+Rio,其中,Eio (T)表示T时间内输入输出设备能耗数据,Uio (T)表示虚拟机对输入输出设备操作所产生的数据流量信息,Kio为常数,Rio为修正系数,Kio和Rio通过单独测量虚拟机操作输入输出设备获得;或者在产品设计阶段,通过各种测试,将测试获得的常数数值存储在系统中,当需要获取数值时,只需要从系统中直接读取。
[0046]各个虚拟机在运行时的处理器、内存、硬盘和输入输出设备能耗数据与物理机运行时的能耗之间的线性关系动态地建立能耗计算部件,并利用能耗计算部件计算各个虚拟机的能耗。
[0047]使用预先设定的能耗计算部件,而是根据系统的实际运行情况实际测量相关数值,从而能够更准确地计算出各个虚拟机的实际运行能耗。
[0048]图3是本发明虚拟机能耗电力计量系统的一实施例的结构示意图。
[0049]如图3所示,该实施例中的系统包括:虚拟化管理程序301、虚拟机303、处理器3051、内存3052、硬盘3053、输入输出设备3054。
[0050]假设在一台物理机上配置了 4台虚拟机,即虚拟机303具体包括虚拟机3031、虚拟机3032、虚拟机3033、虚拟机3034。实际运行的虚拟机数量根据实际应用需要和硬件设备所能支持的虚拟机数量来确定,并不仅限于4个虚拟机。
[0051]虚拟化管理程序301管理虚拟机与处理器、内存、硬盘和输入输出设备,其中包含处理器能耗计算部件202,内存能耗计算部件203,硬盘能耗计算部件204,输入输出设备能耗计算部件205等部件。即,处理器能耗计算部件202,内存能耗计算部件203,硬盘能耗计算部件204,输入输出设备能耗计算部件205为计算部件,根据输入参数,计算获得能耗数据。
[0052]处理器能耗系数获取装置3041,采集各个虚拟机在运行时的处理器能耗系数。处理器能耗系数为处理器使用率,通过操作系统获得处理器使用率,或者在处理器运行时对处理器硬件上相关的一系列性能事件进行监测并计数从而得到相关处理器使用率。[0053]处理器能耗计算部件依据处理器能耗系数获得处理器能耗数据。
[0054]处理器能耗数据主要包括处理器运行能耗和Cache运行能耗。处理器的运行与Cache运行具有极大的相关性。
[0055]内存能耗系数获取装置3042,采集各个虚拟机在运行时的内存能耗系数。
[0056]内存能耗系数是内存吞吐量,也是记录最后一层的缺失次数。上述内存能耗系数通过参数采集装置获取,也可以通过处理器获得。
[0057]内存能耗计算部件依据内存能耗系数获得内存能耗数据,输入到内存能耗计算部件通过运算即可得到内存能耗数据。
[0058]硬盘能耗系数获取装置3043,采集各个虚拟机在运行时的硬盘能耗系数。
[0059]硬盘能耗包括虚拟机对磁盘操作产生的能耗,虚拟机对硬盘操作包括读操作、写操作等,可以跟踪虚拟机对硬盘读、写字节数和读写操作所耗费的时间,这些硬盘读、写字节数和读写操作所耗费的时间参数为硬盘能耗系数。
[0060]硬盘能耗计算部件依据硬盘能耗系数,输入到硬盘能耗计算部件通过运算即可得到硬盘能耗数据。
[0061]输入输出设备能耗系数获取装置3044,采集各个虚拟机在运行时的输入输出设备能耗系数。
[0062]服务器等主机设备频繁操作输入输出设备,此时虚拟机对各种输入输出设备的操作,采集虚拟机在运行时的输入输出设备能耗系数,其中,各个虚拟机在运行时的输入输出设备能耗系数可以包括输入输出设备的数据流量信息。
[0063]输入输出设备能耗计算部件得到的输入输出设备能耗系数,输入到输入输出设备能耗计算部件通过运算即可得到输入输出设备能耗数据。
[0064]利用所述虚拟机在运行时的处理器能耗数据、内存能耗数据、硬盘能耗数据、输入输出设备能耗数据以及物理机运行时的能耗通过系统整体能耗计算部件计算所述虚拟机的能耗。
[0065]本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置和系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0066]专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0067]结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或【技术领域】内所公知的任意其它形式的存储介质中。
[0068]对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
【权利要求】
1.一种虚拟机能耗电力计量方法,其特征在于,所述方法包括: 采集各个虚拟机在运行时的处理器能耗系数; 将处理器能耗系数作为输入,通过处理器能耗计算部件获得处理器能耗数据; 采集各个虚拟机在运行时的内存能耗系数; 将内存能耗系数作为输入,通过内存能耗计算部件获得内存能耗数据; 采集各个虚拟机在运行时的硬盘能耗系数; 将硬盘能耗系数作为输入,通过硬盘能耗计算部件获得硬盘能耗数据; 采集各个虚拟机在运行时的输入输出设备能耗系数; 将输入输出设备能耗系数作为输入,通过输入输出设备能耗计算部件获得输入输出设备能耗数据; 利用所述各个虚拟机在运行时的处理器能耗数据、内存能耗数据、硬盘能耗数据、输入输出设备能耗数据以及物理机运行时的能耗计算所述各个虚拟机的能耗。
2.根据权利要求1所述的方法,其特征在于,所述处理器能耗系数为处理器使用率。
3.根据权利要求1所述的方法,其特征在于,所述内存能耗系数为内存记录最后一层的缺失次数。
4.根据权利要求1所述的方法,其特征在于,所述硬盘能耗系数为硬盘读、写字节数和读写操作所耗费的时间。
5.根据权利要求1所述的方法,其特征在于,所述输入输出设备能耗系数为输入输出设备的数据流量信息。
6.一种虚拟机能耗电力计量系统,其特征在于,所述系统包括: 处理器能耗系数获取装置,采集各个虚拟机在运行时的处理器能耗系数; 处理器能耗计算部件,依据处理器能耗系数获得处理器能耗数据; 内存能耗系数获取装置,采集各个虚拟机在运行时的内存能耗系数; 内存能耗计算部件,依据内存能耗系数获得内存能耗数据; 硬盘能耗系数获取装置,采集各个虚拟机在运行时的硬盘能耗系数; 硬盘能耗计算部件,依据硬盘能耗系数获得硬盘能耗数据; 输入输出设备能耗系数获取装置,采集各个虚拟机在运行时的输入输出设备能耗系数; 输入输出设备能耗计算部件,依据输入输出设备能耗系数获得输入输出设备能耗数据; 利用所述各个虚拟机在运行时的处理器能耗数据、内存能耗数据、硬盘能耗数据、输入输出设备能耗数据以及物理机运行时的能耗计算所述各个虚拟机的能耗。
7.根据权利要求6所述的系统,其特征在于,所述处理器能耗系数为处理器使用率。
8.根据权利要求6所述的系统,其特征在于,所述内存能耗系数为内存记录最后一层的缺失次数。
9.根据权利要求6所述的系统,其特征在于,所述硬盘能耗系数为硬盘读、写字节数和读写操作所耗费的时间。
10.根据权利要求6所述的系统,其特征在于,所述输入输出设备能耗系数为输入输出设备的数据流量信息。
【文档编号】G06F1/28GK103914119SQ201410156014
【公开日】2014年7月9日 申请日期:2014年4月17日 优先权日:2014年4月17日
【发明者】包重华, 邵乃华, 夏晓燕 申请人:国家电网公司, 江苏省电力公司, 江苏省电力公司东台市供电公司, 江苏茂源电气有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1