亚星游戏官网-www.yaxin868.com


    1. 山东亚星游戏官网机床有限公司铣床官方网站今天是:2025-04-04切换城市[全国]-网站地图
      推荐产品 :
      推荐新闻
      技术文章当前位置:技术文章>

      一种虚拟机功耗测量方法

      时间:2023-06-15    作者: 管理员

      专利名称:一种虚拟机功耗测量方法
      技术领域:
      本发明涉及虚拟机技术领域,具体地说,本发明涉及一种虚拟机功耗测量方法。
      背景技术:
      云计算作为一种新兴的计算模式,近年来已在科学计算、网络服务、海量数据存储等领域广泛应用。虚拟机技术是支撑云计算的重要基石,它给数据中心的管理带来了高效和便捷的优势,降低了物理服务器所需的数目,提高了能源利用效率。虚拟化环境中,配置、任务分配、调度等管理的粒度由物理主机变成了虚拟机,所以有必要对虚拟机的能耗值进行监测,以作为管理和决策的依据。现有技术中,主要通过监控若干种资源(例如CPU、Cache、磁盘和内存等)的使用状态,然后建立线性模型,进而动态实时地预测虚拟机的能耗。例如,现有的一种虚拟机实时能耗计量方法包括:采集每个虚拟机的CPU利用率、内存利用率、磁盘吞吐量、物理节点的实测能耗,匹配成训练 向量;重复上一步,得到预定数量的、非线性的训练向量,构建得到训练向量集合;对训练向量集合中的训练向量进行线性拟合,采用最小二乘法计算分类三段模型的权重参数;在实际应用环境中,采集实际运行的虚拟机的CPU利用率、内存利用率、磁盘吞吐量,根据实际运行的虚拟机的数量和所有实际运行的虚拟机的CPU利用率之和,确定相应的分类三段模型及其权重参数,计算得到待监听虚拟机以及物理服务器的能耗值。上述方案能够在一定程度上解决估测虚拟机的能耗的问题,并且对部分符合线性模型的虚拟机的测量的准确性较高。然而,虚拟机的类型、运行环境及其负载多种多样,其功耗并非总是呈现出线性特征。图1示出了一个虚拟机的实测功耗与Cache失效率的关系图,该试验中主机配置为2个Xeon (R) E56456_core处理器(具有12个逻辑核),64GB内存,操作系统为Cent0S6.2x86_64,虚拟机管理器为KVM,在主机上仅运行I个虚拟机,该虚拟机配置为6个逻辑核,12GB内存,虚拟机上的负载为SPECCPU2006中的429.mcf,运行过程中CPU利用率固定。从图1中可以看出,该虚拟机实测功耗与Cache失效率并非线性关系,此时采用的线性模型难以与实际情况相匹配,可能会导致虚拟机功耗的测量出现较大误差。因此,上述基于线性模型的虚拟机功耗测量方法应用场景受到限制,尤其难以适应虚拟机的负载变化多样的场景。综上所述,当前迫切需要一种适用范围广且准确的虚拟机功耗测量方法。

      发明内容
      本发明的任务是提供一种适用范围广且准确的虚拟机功耗测量方法。为实现上述发明目的,本发明提供了一种虚拟机功耗测量方法,包括下列步骤:I)实时监测各虚拟机的CPU和内存使用状态;2)根据每台主机的二维查找表得出各虚拟机的动态功耗;一个所述二维查找表记录一个特定虚拟机在一个特定主机上的在各种CPU和内存使用状态下的虚拟机动态功耗。其中,所述二维查找表的建立方法包括下列步骤:
      21)在某一主机上启动第一个虚拟机时,监测该虚拟机的CPU和内存使用状态以及相应的主机整体功耗,进而建立该主机对于所述第一个虚拟机的二维查找表;22)当前主机运行的所有虚拟机的二维查找表均已知的前提下,在当前主机上启动一个新的虚拟机,监测该主机中各个虚拟机的CPU和内存使用状态,以及相应的主机整体功耗,进而建立当前主机对于所述新的虚拟机的所述二维查找表。其中,所述CPU使用状态用CPU利用率表征,所述内存使用状态用Cache失效率表征。其中,所述Cache失效率为LLC失效率。其中,所述步骤21)中,主机整体功耗减去主机静态功耗即为该虚拟机的动态功耗。其中,所述步骤22)中,新的虚拟机动态功耗=主机整体功耗-主机静态功耗-其他虚拟机动态功耗,其中其他 虚拟机动态功耗根据所监测的其它虚拟机的CPU和内存使用状态以及相应的二维查找表得出。其中,所述步骤21)和22)还包括:在建立虚拟机二维查找表的过程中,对虚拟机进行一定时间的采样使其基本覆盖CPU和内存使用状态的变化范围,然后再对二维查找表进行插值,得到完整的二维查找表。其中,对二维查找表进行插值的方法包括下列步骤:210)将已采集的数据填入二维查找表LUT中;211)将二维查找表LUT的第一行LUT [O][]全部填入O ;212)在二维查找表LUT所有拥有已确定值的行LUT[i_cpu][]中,对于每段连续的空白序列:a)若空白单元序列的前后邻居单元均为已确定值,则以两邻居单元的平均值作为整个空白序列的值或者在两邻居单元之间进行线性插值;b)若只有惟一的邻居单元为已确定值,以该邻居单元的值作为整个空白单元序列的值;213)在二维查找表LUT第一列LUT[] [O]中,若最后一个单兀为空白,则以最后一个已确定的值填充之;214)在二维查找表LUT第一列LUT[] [O]中,对每段连续的空白单元序列,依据其两个已确定邻居单元的值进行线性插值;215)对所有仅有第一个单元确定的行LUT[i][],以该确定值填充整个行。与现有技术相比,本发明具有下列技术效果:1、本发明不受能耗模型的约束,能够在负载变化多样的情形下,准确地测出虚拟机的功耗。2、本发明能够准确测出数据中心所运行的每个虚拟机的功耗,从而为云服务/数据中心平台的功耗管理、定价等提供依据和便利,对促进相关行业的节能环保方面起到积极作用。


      图1示出了一个虚拟机的实测功耗与Cache失效率的关系图2示出了本发明一个实施例的流程图;图3示出了本发明一个实施例中的二维查找表的结构示例;图4(0) (5)示出了本发明一个实施例中二维查找表插值过程的示例;图5示出了一个测试系统的方框示意图;图6示出了利用本发明一个实施例的虚拟机功耗测量方法所得出的两个虚拟机的功耗评估值曲线;图7示出了实际测量的主机功耗曲线与用两个虚拟机的功耗评估值曲线所计算得出的主机功耗评估曲线。
      具体实施例方式以下,结合附图和实施例来详细说明本发明。在当今的云服务/数据中心平台中,虚拟机使用位于远程的共享存储是一种常用的配置。在这种配置下,各虚拟机在主机上的功耗变化主要受CPU和内存使用状态的影响。CPU的使用状态以CPU利用率表征,内存的使用状态以Cache失效率表征(Cache的失效率是能够直接观测到的,·最终目的是表征内存的访问情况。这里隐含了一种共识=Cache失效则要访问内存)。在下面的实施例中,Cache失效率为LLC(Last Level Cache)失效率。为每个虚拟机建立一个二维查找表(Lookup Table,下文中缩写为LUT),该表以CPU利用率和LLC失效率为输入,分别表征CPU和内存的使用状态,及CPU利用率和LLC失效率的组合所对应的动态功耗。基于这个二维查找表,就能不受能耗模型的约束,在负载变化多样的情形下准确地测出虚拟机的功耗。一个虚拟机的能耗是由其静态功耗和其动态功耗组成。静态功耗是指在计算机上电但不进行任何操作时的能耗;动态功耗是指计算机执行指令或进行其他操作时的能耗。因此有公式(I):PvM ⑴-PvM ⑴—Static+PvM ⑴—dynamic (丄)其中PVM(i)代表第i个虚拟机的功耗,PVM(i)_static代表第i个虚拟机的静态功耗,PvM(i)—dynamic 代表第i个虚拟机的动态功耗。另一方面,可以认为:在同一主机上各虚拟机均分主机的静态功耗。因此有公式
      (2):PvM ⑴—static—fVst—static/NvM (2)其中Pltost stati。代表整个主机的静态功耗。再者,虚拟机的动态功耗与该虚拟机的资源使用状态密切相关。为每台虚拟机建立一个二维查找表LUT,该查找表以CPU利用率及LLC失效率为输入,输出该虚拟机当前状态下的动态功耗。其中,各虚拟机的CPU利用率和LLC失效率可以通过管理程序的专用工具(如Linux下的top和perf工具)获得。图2示出了该实施例的虚拟机功耗测量方法的流程图。如图2所示,该实施例的虚拟机功耗测量方法包括下列步骤:步骤101:在某个主机上启动第一个虚拟机时,监测该虚拟机的CPU利用率和LLC失效率,以及相应的主机整体功耗,根据所监测的数据建立第一个虚拟机在该主机上的二维查找表(LUT)。
      每个虚拟机的二维查找表都是一个二维数组(如图3所示)。该二维数组以i_cpu、i_llcmisses为索引。其中i_cpu为CPU利用率,单位可以为1% (即二维查找表中相邻单元的CPU利用率的间隔为1%),范围由分配给该虚拟机的内核数来决定,例如对于一个拥有四核的虚拟机,其范围是O彡i_cpu<400 ;i_llcmisses为LLC失效率,单位为1,000,000次/s (即二维查找表中相邻单元的LLC失效率的间隔为1,000, 000次/s),范围为O彡i_llcmisses<500,该范围可根据需求来调整。当主机上运行唯一一个虚拟机时,当前主机上只有此一台虚拟机,则主机整体功耗减去主机静态功耗即为该虚拟机的动态功耗。该虚拟机的动态功耗就是二维查找表中相应的 LUT[i_cpu] [i_llcmisses]值。步骤102:在当前主机运行的所有虚拟机的二维查找表均已知的前提下,在当前主机上启动一个新的虚拟机,监测该主机中各个虚拟机的CPU利用率和LLC失效率,以及相应的主机整体功耗,根据所监测的数据建立这个新的虚拟机在该主机上的二维查找表。此时,当前主机上不止一台虚拟机,对于新的虚拟机有:新的虚拟机动态功耗=主机整体功耗-主机静态功耗-其他虚拟机动态功耗。其中,其他虚拟机动态功耗可根据实时监测的CPU利用率和LLC失效率,以及已掌握的各虚拟机的二维查找表得出。步骤103:实时监测各虚拟机的CPU利用率和LLC失效率,根据已知的二维查找表得出各虚拟机的动态功耗。步骤101和102中,在建立虚拟机二维查找表的过程中,需要对虚拟机进行一定时间的采样,使其基本覆盖资源使用的变化范围,即所设定的CPU利用率和LLC失效率数据变化范围。有时候,采样的数据难以覆盖二维查找表的全部位置,因此还需要对根据已采集的数据对二维查找表进行插值,得到完整的二维查找表。在一个优选实施例中,根据已采集的数据对二维查找表进行插值的方法如下:步骤200:将已采集的数据填入二维查找表LUT中,参考图4(0);步骤201:将LUT的第一行LUT[O][]全部填入0,参考图4(1);步骤202:在所有拥有已确定值的行LUT[i_cpu][]中,对于每段连续的空白单元序列:a)若空白单元序列的前后邻居单元均为已确定值,则以两邻居单元的平均值作为整个空白单元序列的值;例如,图示中的LUT [5] [4:5],以LUT [5] [3] (=8)和LUT [5] [6](=10)的平均值9填充,参考图4(2);b)否则(即有惟一的邻居单元且为已确定值),以该邻居单元的值作为整个空白单元序列的值;例如,图示中的LUT [3]
      ,以LUT [3] [3] (=5)填充,又如,图示中的LUT [6][3:9],以 LUT[6] [10] (=11)填充,参考图 4(2);步骤203:在第一列LUT [] [O]中,若最后一个单兀尚未确定,则以最后一个确定单元的值填充之。例如,图示中LUT[11] [O] (=28)填充LUT[12]
      ,参考图4(3);步骤204:在第一列LUT[] [O]中,对每段连续的空白单元序列,依据其两个已确定邻居单元的值进行线性插值,参考图4(4);步骤205:对所 有仅有第一个单元确定的行LUT [i][],以该确定值填充整个行;例如,图示中以 LUT[1] [O] (=1)填充 LUT[1] [1:9],参考图 4(5)。
      发明人组建了测试平台对上述实施例进行了实际测试。参考图5,测试平台采用HUAffEI Tecal RH2285rack服务器作为主机,操作系统采用Cent0S6.2x86_64,其上具有KVM虚拟机,主机连接一台NFS服务器。采用软件平台Benchmark: SPEC CPU2006进行测试。在测试时,首先在虚拟机vm-102运行povray并构建相应的LUT,然后在维持虚拟机vm_102运行的前提下,启动虚拟机vm-101运行mcf并构建相应的LUT。最后,监测2个虚拟机的CPU利用率和LLC失效率,根据它们各自的LUT计算出功耗,该功耗为评估值,2个虚拟机的功耗评估值曲线如图6所示。与此同时,还测试主机的总的功耗。将实测的主机的总的功耗曲线和用2个虚拟机的功耗评估值曲线计算的评估总功耗比较,其中Host-Measured曲线为实测的主机的总的功耗曲线,Host-Estimated曲线为用2个虚拟机的功耗评估值曲线计算的评估总功耗曲线,如图7所示,可以看出,实测总功耗和评估总功耗的曲线基本重合,误差很小。上述实施例的虚拟机功耗测量方法特别适合用于云服务/数据中心平台。在大量的主机组成的机群中,同一个虚拟机会在不同的主机间迁移,因此虚拟机的功耗难以直接测量,而利用上述实施例的方案,可以分别为每个主机建立各虚拟机的二维查找表,在某一个虚拟机运行时,只要监测主机上该虚拟机的CPU和内存使用状态,即可根据各主机的二维查找表估算出该虚拟机在不同主机的功耗,进行得出该虚拟机在整个机群的功耗,从而为云服务/数据中心平台的功耗管理、定价等提供依据和便利,对促进相关行业的节能环保方面起到积极作用。另外,需要说明的是,对二维查找表进行插值的方法并不是唯一的,例如:步骤202)中的a)情况,即空白单元序列的前后邻居均为已确定值,可以在两邻居单元之间的空白单元序列进行线性插值,这是本领域技术人员易于理解的。最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在 应用上可以延伸为其它的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
      权利要求
      1.一种虚拟机功耗测量方法,包括下列步骤: 1)实时监测各虚拟机的CPU和内存使用状态; 2)根据每台主机的二维查找表得出各虚拟机的动态功耗;一个所述二维查找表记录一个特定虚拟机在一个特定主机上的在各种CPU和内存使用状态下的虚拟机动态功耗。
      2.根据权利要求1所述的虚拟机功耗测量方法,其特征在于,所述二维查找表的建立方法包括下列步骤: 21)在某一主机上启动第一个虚拟机时,监测该虚拟机的CPU和内存使用状态以及相应的主机整体功耗,进而建立该主机对于所述第一个虚拟机的二维查找表; 22)当前主机运行的所有虚拟机的二维查找表均已知的前提下,在当前主机上启动一个新的虚拟机,监测该主机中各个虚拟机的CPU和内存使用状态,以及相应的主机整体功耗,进而建立当前主机对于所述新的虚拟机的所述二维查找表。
      3.根据权利要求 2所述的虚拟机功耗测量方法,其特征在于,所述CPU使用状态用CPU利用率表征,所述内存使用状态用Cache失效率表征。
      4.根据权利要求3所述的虚拟机功耗测量方法,其特征在于,所述Cache失效率为LLC失效率。
      5.根据权利要求2所述的虚拟机功耗测量方法,其特征在于,所述步骤21)中,主机整体功耗减去主机静态功耗即为该虚拟机的动态功耗。
      6.根据权利要求5所述的虚拟机功耗测量方法,其特征在于,所述步骤22)中,新的虚拟机动态功耗=主机整体功耗-主机静态功耗-其他虚拟机动态功耗,其中其他虚拟机动态功耗根据所监测的其它虚拟机的CPU和内存使用状态以及相应的二维查找表得出。
      7.根据权利要求5所述的虚拟机功耗测量方法,其特征在于,所述步骤21)和22)还包括:在建立虚拟机二维查找表的过程中,对虚拟机进行一定时间的采样使其基本覆盖CPU和内存使用状态的变化范围,然后再对二维查找表进行插值,得到完整的二维查找表。
      8.根据权利要求7所述的虚拟机功耗测量方法,其特征在于,对二维查找表进行插值的方法包括下列步骤: 210)将已采集的数据填入二维查找表LUT中; 211)将二维查找表LUT的第一行LUT[O][]全部填入O ; 212)在二维查找表LUT所有拥有已确定值的行LUT[i_cpu][]中,对于每段连续的空白序列: a)若空白单元序列的前后邻居单元均为已确定值,则以两邻居单元的平均值作为整个空白序列的值或者在两邻居单元之间进行线性插值; b)若只有惟一的邻居单元为已确定值,以该邻居单元的值作为整个空白单元序列的值; .213 )在二维查找表LUT第一列LUT [] [O]中,若最后一个单元为空白,则以最后一个已确定的值填充之; .214)在二维查找表LUT第一列LUT[][O]中,对每段连续的空白单元序列,依据其两个已确定邻居单元的值进行线性插值; .215)对所有仅有第一个单元确定的行LUT[i][],以该确定值填充整个行。
      全文摘要
      本发明提供一种虚拟机功耗测量方法,包括下列步骤1)在某一主机上启动第一个虚拟机时,监测该虚拟机的CPU和内存使用状态以及相应的主机整体功耗,进而建立该主机对于所述第一个虚拟机的二维查找表;2)当前主机运行的所有虚拟机的二维查找表均已知的前提下,在当前主机上启动一个新的虚拟机,监测该主机中各个虚拟机的CPU和内存使用状态,以及相应的主机整体功耗,进而建立当前主机对于所述新的虚拟机的所述二维查找表;3)实时监测各虚拟机的CPU和内存使用状态,根据已知的二维查找表得出各虚拟机的动态功耗。本发明不受能耗模型的约束,能够在负载变化多样的情形下准确测出虚拟机的功耗。
      文档编号G01R21/00GK103245829SQ20131019929
      公开日2013年8月14日 申请日期2013年5月24日 优先权日2013年5月24日
      发明者江志雄, 陆春阳, 马崇亚, 姜志颖 申请人:中国科学院计算技术研究所, 北京中油瑞飞信息技术有限责任公司

      • 专利名称:一种用于测试手拉葫芦拉力的试验架的制作方法技术领域:本实用新型涉及一种试验装置,具体涉及建筑工程中用于起重吊装的的手拉葫芦拉力测试试验架。背景技术:目前,手拉葫芦被广泛地用于建筑施工行业中,用于对设备的水平移位和垂直起吊。由于建筑
      • 专利名称:一种硫化橡胶与薄片摩擦系数测定装置的制作方法技术领域:本实用新型涉及实验机械领域,特别涉及一种根据HGT 2729-95标准用电子拉力机测定硫化橡胶与薄片摩擦系数所采用的滑动法-方法A的测定装置,尤其是涉及一种硫化橡胶与薄片摩擦系
      • 专利名称:测位装置及测位方法技术领域:本发明涉及利用了卫星测位系统的测位装置及测位方法。 背景技术:以往,存在兼用对绝对位置进行测位的功能和计算自主导航的位置的功能的测位装置,其中,该对绝对位置进行测位的功能利用了 GPS(Global P
      • 专利名称:小型切片式三维结构重构系统的制作方法技术领域:本发明涉及三维内部结构测量领域,具体地说,本发明涉及一种小型切片式三维结构重构系统。背景技术:目前,在三维内部结构重构领域中,基于X射线扫描的成像系统是最常用的内部成像系统,各种型号的
      • 专利名称:接近开关检测装置的制作方法技术领域:本实用新型涉及一种接近开关检测装置。背景技术:接近开关是一种用于工业自动化控制系统中以实现检测、控制与输出环节全盘无触点化的新型开关元件,当开关接近某一物体时,即发出控制信号,可用作检测零件尺寸
      • 专利名称:用于可控硅阀组检测的实验站的制作方法技术领域:此实用新型 是在电力专业内以动力半导体技术为基。梢缘背烧床⒘煽毓璺ё門CR,异步电机软启动及其它设备的等效电流源和电压源使用,并对其进行实验。背景技术:众所周知用于可控娃阀组T
      山东亚星游戏官网机床有限公司
      全国服务热线:13062023238
      电话:13062023238
      地址:滕州市龙泉工业园68号
      关键词:铣床数控铣床龙门铣床
      公司二维码
      Copyright 2010-2024 版权所有 All rights reserved 鲁ICP备19044495号-12
      【网站地图】【sitemap】