CN108037979B - 基于含隐变量贝叶斯网的虚拟机性能下降评估方法 - Google Patents
基于含隐变量贝叶斯网的虚拟机性能下降评估方法 Download PDFInfo
- Publication number
- CN108037979B CN108037979B CN201711432646.7A CN201711432646A CN108037979B CN 108037979 B CN108037979 B CN 108037979B CN 201711432646 A CN201711432646 A CN 201711432646A CN 108037979 B CN108037979 B CN 108037979B
- Authority
- CN
- China
- Prior art keywords
- virtual machine
- interference
- performance
- value
- evaluated
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45591—Monitoring or debugging support
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于含隐变量贝叶斯网的虚拟机性能下降评估方法,根据需要确定对待评估虚拟机进行评估的性能参数集合,然后在待评估虚拟机和干扰虚拟机上分别选取相关特征,然后配置得到若干虚拟机组合方案,依次对于每个虚拟机组合方案获取整体性能数据及干扰特征数据并对数据进行预处理得到基础数据集,然后将性能参数作为隐变量,基于基础数据集构建得到特征‑性能含隐变量贝叶斯网,基于该贝叶斯网即可实现对待评估虚拟机的性能下降评估。本发明将性能参数下降值作为隐变量,基于实测数据构建含隐变量贝叶斯网,实现虚拟机性能下降评估。
Description
技术领域
本发明属于虚拟机性能评估技术领域,更为具体地讲,涉及一种基于含隐变量贝叶斯网的虚拟机性能下降评估方法。
背景技术
基础设施即服务(Infrastructure as a Service,IaaS)是云计算平台向用户提供资源的形式之一。IaaS分配物理资源,以虚拟机的形式向用户提供具有特定CPU个数、内存容量、I/O带宽等特征的一组资源,用户按需租用虚拟机并支付相应费用。云计算服务提供商通常在同一台物理主机上部署多个虚拟机,并采用虚拟机监控器(Virtual MachineMonitor,VMM)来管理虚拟机间资源的复用和分配。由于虚拟机之间共享同一组物理硬件资源,因此,当各个虚拟机上同时运行应用时,它们将竞争CPU、内存、I/O带宽等资源。这种竞争与应用有关,具有不确定性且势必会造成虚拟机性能下降。因此,准确评估由于资源竞争导致的虚拟机性能下降,对后续虚拟机应用部署及物理资源合理分配具有意义。
公知的基于虚拟机特征变化评估虚拟机性能干扰的研究,主要是运用特定模型,通过训练数据集来修正模型参数。高程巍(<东北大学硕士学位论文>,2015)将历史数据库中目标虚拟机所需要的资源和此时其他虚拟机上各个资源的使用情况用数组的形式表示,将数组表示的资源负载作为多个输入值,将虚拟机之间的互扰度作为输出值,建立一个多输入单输出的BP神经网络模型。根据模型的输入和输出来评估虚拟机之间的互扰程度。孙晓利(<国防科技大学硕士学位论文>,2014)选择主机CPU利用率、虚拟机CPU利用率、末级缓存失效率和虚拟机个数四个特征建立虚拟机特征和性能干扰之间的多元非线性性能干扰预测模型,并利用最小二乘法拟合模型的系数值。根据此模型来预测多个虚拟机之间的性能互扰度。这些工作主要都是通过训练多组数据中虚拟机特征和性能之间的关系,从而近似评估虚拟机间的性能干扰。
公知的虚拟机性能评估方法,主要通过采集不同的虚拟机特征数据,建立虚拟机特征和性能的相关模型。杨祥宏(<杭州电子科技大学硕士学位论文>,2016)选择了虚拟CPU个数、虚拟机内存大小、虚拟CPU利用率、虚拟内存利用率和运行的虚拟机个数作为特征,利用支持向量机模型来评估虚拟机性能并证明了支持向量机的结果能够和样本数据拟合。曾文琦(<计算机工程与设计>,2014)提出了一个改进后的K-means算法,将聚类中心设定为CPU限制型,memory限制型和network限制型。将众多虚拟机特征数据聚类到相应的聚类中心后,评定该虚拟机所属的类型。设置CPU、内存和I/O资源在该类型虚拟机上所占的比例,相加后评估该虚拟机的性能。这些方法选择的虚拟机特征数量较少,未能综合考虑虚拟机底层软件特征、硬件特征和虚拟机运行时环境特征对虚拟机性能的影响,且无法评估性能的波动范围。
公知的将贝叶斯网推理机制运用于虚拟机性能分析的方法,一类方法通过贝叶斯分类器进行虚拟机部署,另一类方法通过贝叶斯网来评估虚拟机性能。张天元(<天津工业大学硕士学位论文>,2017)用数组分别表示出所有服务器的总资源量和某虚拟机所请求的资源量,通过朴素贝叶斯分类器分别计算出该虚拟机部署在每一台服务器上的概率,从而选择在概率最大的服务器部署该虚拟机。张彬彬等(2017年3月8日公开,公开号为CN106484496A的中国发明专利申请)提供一种基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法,采用贝叶斯网来表现底层环境特征和性能指标间的依赖关系,从而实现对虚拟机性能的准确度量。然而,虚拟机的各个资源性能下降程度不能被直接观测到,只能通过一些相关联的特征值来推测虚拟机各种资源性能的改变情况。在贝叶斯网中,由于节点都是可观测变量,所以虚拟机各资源下降程度并不能通过贝叶斯网中的节点直观地表现出来,同样的,虚拟机底层特征的变化和性能下降程度之间的关系也无法通过贝叶斯网的边来表示。贝叶斯网是一个有向无环图(Directed Acyclic Graph,DAG),由代表随机变量的节点及连接这些节点的有向边构成。当一个节点有父节点时,节点间的有向边从父节点出发指向子节点,它代表了子节点对父节点的依赖关系,这种依赖关系用子节点的条件概率表(Conditional Probability Table,CPT)表达。对于没有父节点的变量,该变量的CPT用先验概率表达。贝叶斯网以图论和概率论为基础,以图的形式来表达多个随机变量之间的依赖关系,以概率的形式给出这种依赖程度的大小,它适用于解决由不确定性因素引起的事件,并且从不确定的知识或信息中做出推理。
隐变量是一种不可被观测的随机变量,但它和其他可观测变量之间存在依赖关系,它的取值可通过观测变量的样本推断得出。将隐变量引入贝叶斯网中,可以简化随机变量间原本复杂的依赖关系,使得结构更易于分析。同时它可将多个随机变量按照新的关系重新聚类。近年来,多个领域已实现将隐变量融合进贝叶斯网中,来分析解决由于不确定性因素引起的推理问题。然而,把含隐变量贝叶斯网用于虚拟机性能评估方面的方法还未见报道。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于含隐变量贝叶斯网的虚拟机性能下降评估方法,将性能参数下降值作为隐变量,基于实测数据构建含隐变量贝叶斯网,实现虚拟机性能下降评估。
为实现上述发明目的,本发明基于含隐变量贝叶斯网的虚拟机性能下降评估方法,包括以下步骤:
S1:根据需要确定对待评估虚拟机进行评估的性能参数集合H;
S2:在待评估虚拟机上,根据虚拟化环境的资源特点,确定影响性能参数集合H中各项性能参数的自身特征集合X={x1,x2,…,xA},xa表示第a个自身特征,a=1,2,…,A,A表示自身特征数量;在N台干扰虚拟机上,确定能够反映待评估虚拟机性能参数集合H中各项性能参数相关资源利用情况的干扰特征集合Y={y1,y2,…,yB},yb表示第b个干扰特征,b=1,2,…,B,B表示干扰特征数量;
S3:根据步骤S2中选取的待评估虚拟机自身特征集合X中A个自身特征的可能取值,配置得到一组不同特征组合的待评估虚拟机,记为集合E;配置一组干扰虚拟机,记为集合I;确定M个虚构机组合方案,每个组合方案中包括一台待评估虚拟机和N台干扰虚拟机,其中待评估虚拟机从集合E中抽取,N台干扰虚拟机从集合I有放回地抽取,集合E中的每台待评估虚拟机在M个虚构机组合方案中至少出现一次;
S4:依次对于每个虚拟机组合方案获取整体性能数据及干扰特征数据,获取方法为:
对于第m个虚拟机组合方案,m=1,2,…,M,先设置干扰虚拟机上均无负载,在待评估虚拟机上运行基准测试程序,将基准测试程序的运行结果作为无干扰时的整体性能值记此时第n台干扰虚拟机中第b个干扰特征的取值为其中n=1,2,…,N;然后设置干扰虚拟机上有负载,在每台干扰虚拟机上运行实际应用,在待评估虚拟机上运行基准测试程序,将基准测试程序的运行结果作为有干扰时的整体性能值记此时第n台干扰虚拟机中第b个干扰特征的取值为
S5:对于步骤S4中获取的整体性能数据及干扰特征数据采用以下方法进行预处理:
S6:构建特征-性能含隐变量贝叶斯网,具体方法为:
S6.1:令含隐变量贝叶斯网的节点集合V=H′∪X∪Y′∪{Tpd},其中H′表示性能参数下降值级别代码的集合,H′={h1,h2,…,hR},hr表示待评估虚拟机第r个性能参数下降值级别代码,每个性能参数下降值的级别划分阈值根据需要确定,r=1,2,…,R,R表示待评估虚拟机性能参数的数量,Y′表示干扰特征变化率级别代码的集合,表示整体性能下降值级别代码;将性能参数下降值级别代码作为隐变量;
S6.2:初始化每个隐变量hr对应的特征集合fr和归属未知特征集合Z为空,然后对于自身特征集合X和干扰特征集合Y中的每个特征,判断是否可以根据先验知识得到与该特征最相关的性能参数,如果可以,则将该特征放入最相关性能参数的特征集合fr,否则将其放入归属未知特征集合Z;
S6.4:根据基础数据集D计算得到隐变量以外的节点的条件概率表;S6.5:基于当前含隐变量贝叶斯网对隐变量的缺失值进行填充,计算得到隐变量的条件概率表;
S6.6:判断归属未知特征集合Z是否为空,如果为空,则特征-性能含隐变量贝叶斯网构建完成,否则进入步骤S6.7;
S6.7:从归属未知特征集合Z中取出一个特征z,并将其从归属未知特征集合Z中删除;
S6.8:分别计算特征z与R个性能参数下降值hr的互信息MI(z,hr),筛选R个互信息MI(z,hr)中的最大值,将特征z作为该最大值对应的性能参数下降值级别代码节点的父节点,返回步骤S6.5;
S7:在需要对待评估虚拟机的性能下降程度进行评估时,从待评估虚拟机上获取A个自身特征的取值,然后分别在干扰虚拟机无负载和有负载情况下获取B个干扰特征的取值,计算得到各个干扰特征的变化率,最后根据以上特征数据和每个性能参数下降值节点的条件概率表计算得到性能参数下降值处于各个级别代码的概率值,最大概率值所对应的级别代码即为对该性能下降程度的评估结果;
在得到各个性能参数下降值对应的级别代码后,根据整体性能节点的条件概率表计算得到整体性能下降值处于各个级别的概率值,最大概率值所对应的级别代码即为对该性能下降程度的评估结果。
本发明基于含隐变量贝叶斯网的虚拟机性能下降评估方法,根据需要确定对待评估虚拟机进行评估的性能参数集合,然后在待评估虚拟机和干扰虚拟机上分别选取相关特征,然后配置得到若干虚拟机组合方案,依次对于每个虚拟机组合方案获取整体性能数据及干扰特征数据并对数据进行预处理得到基础数据集,然后将性能参数作为隐变量,基于基础数据集构建得到特征-性能含隐变量贝叶斯网,基于该贝叶斯网即可实现对待评估虚拟机的性能下降评估。
本发明具有以下有益效果:
1)本发明采用含隐变量贝叶斯网模型,将性能参数下降值作为隐变量,可以较好地刻画性能参数、整体性能与特征之间的关系;
2)本发明将机器学习中的贝叶斯网的推理方法用于虚拟机性能下降分析,从大量虚拟机实测性能数据中发现性能下降与特征变化之间的依赖关系,能够从中发现人工分析难以捕获的关系。
附图说明
图1是本发明基于含隐变量贝叶斯网的虚拟机性能下降评估方法的具体实施方式流程图;
图2是本发明中特征-性能含隐变量贝叶斯网GVPBN的构建流程图;
图3是本实施例中含隐变量贝叶斯网的初始结构及各个已有节点的条件概率表;
图4是本实施例中构建得到的特征-性能含隐变量贝叶斯网的结构及部分条件概率表。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例
为了更好地说明本发明的技术方案,首先对本发明的设计思路进行简要说明:
当多个虚拟机部署于同一台物理主机上,并同时运行应用时,它们对物理主机的硬件资源会产生竞争,从而导致相较于单个虚拟机而言,多个虚拟机整体的运行性能以及所竞争的硬件资源的性能下降。这种竞争与虚拟机上运行的应用类型有关,且它与虚拟机性能下降呈复杂且非线性的关系。不同的应用对不同资源(例如CPU、内存和I/O)的竞争是不同的,这导致不同资源的性能下降对由于资源竞争而导致的特征变化的敏感程度不同。传统的统计方法在分析这些数据时遭到挑战,尤其是广义线性模型,对于变量之间的复杂关系无法得出比较精确的回归模型,且模型的普适性不好。虚拟机整体性能下降以及各个资源的性能下降难以被直接观测到,然而可以通过一些所竞争资源的相关特征变化值,结合概率论的方法来推测性能下降情况。例如,CPU性能下降程度不能被直接观测到,然而可以通过部分虚拟机软硬件特征和运行时环境的变化,来推测CPU性能的下降程度。由于虚拟机之间的竞争,导致该虚拟机部分硬件性能和整体性能下降时,将所需评估的硬件性能下降程度抽象为隐变量,将它们与贝叶斯网结合构建虚拟机特征变化与性能下降的含隐变量贝叶斯网,基于该模型推测硬件和虚拟机整体的性能下降情况。该模型不仅可以刻画虚拟机特征变化和性能下降之间的非线性关系,还可以用概率来表达虚拟机性能下降在哪一个范围的可能性最大,同时,非0的概率值表示出虚拟机资源下降程度的波动范围。
本发明旨在评估由虚拟机之间资源竞争而引起的性能参数的下降。通过在不同典型软硬件配置的虚拟机上运用基准测试工具获取其性能数据,引入隐变量,构建虚拟机特征变化和性能下降的贝叶斯网模型。基于模型分析虚拟机底层特征变化对性能下降程度的影响,并且通过该模型评估由于资源竞争导致特定特征改变时,虚拟机各个性能参数以及整体的性能下降程度。
图1是本发明基于含隐变量贝叶斯网的虚拟机性能下降评估方法的具体实施方式流程图。如图1所示,本发明基于含隐变量贝叶斯网的虚拟机性能下降评估方法,具体步骤包括:
S101:确定评估性能参数:
根据需要确定对待评估虚拟机进行评估的性能参数集合H。本实施例中选用CPU、内存和I/O作为性能参数。
S102:选取虚拟机特征:
在待评估的虚拟机和N台干扰虚拟机上,分别选取一组可能由于资源竞争而影响待评估虚拟机性能参数的特征。通常在同一台物理主机上会部署多台虚拟机,将其中一台作为待评估的虚拟机时,其余均为干扰虚拟机。
在待评估虚拟机上,根据虚拟化环境的资源特点,确定影响性能参数集合H中各项性能参数的自身特征集合X={x1,x2,…,xA},xa表示第a个自身特征,a=1,2,…,A,A表示自身特征数量。一般来说,待评估虚拟机的特征变量需要能够体现出底层软硬件、虚拟机资源配置、虚拟机运行时环境等各个方面对虚拟机性能的影响。基于当前的虚拟化平台,待评估虚拟机的特征变量中,硬件特征包括物理CPU微架构,如Intel skylake和AMDSteamroller;内存的容量和主频;硬盘的类型,如SATA和SSD;软件特征包括虚拟化平台选取的调度算法,包括credit,credit2,sedf,rtds等调度算法;CPU的虚拟化方式,包括半虚拟化与全虚拟化方式;采用的VMM软件,如Xen,VMware,KVM;资源配置特征包括虚拟机配置的VCPU个数;每个VCPU是否绑定到固定的核心,不同的绑定方式对虚拟机性能影响不同;虚拟机使用的内存容量;虚拟机使用的虚拟机硬盘的类型,如物理分区、LVM逻辑卷等;运行时的环境特征包括:运行时有单个虚拟机运行还是多个虚拟机同时运行,多虚拟机竞争资源会对虚拟机性能造成影响;若存在多个虚拟机同时运行,干扰虚拟机的负载类型也会对待预测虚拟机的性能有影响。
在N台干扰虚拟机上,确定能够反映待评估虚拟机性能参数集合H中各项性能参数相关资源利用情况的干扰特征集合Y={y1,y2,…,yB},yb表示第b个干扰特征,b=1,2,…,B,B表示干扰特征数量。一般来说,针对CPU、内存和I/O性能参数,干扰虚拟机的特征可以包括虚拟CPU的空闲时间、用户时间和系统时间,内存换入和换出的数据量,以及I/O按块读和按块写的吞吐率等。
S103:确定虚拟机组合方案:
根据步骤S102中选取的待评估虚拟机自身特征集合X中A个自身特征的可能取值,配置得到一组不同特征组合的待评估虚拟机,记为集合E。在配置待评估虚拟机时,其特征要包含步骤S102中选取的所有自身特征,并且每个自身特征在这些虚拟机的取值在该自身突然通过的值域范围内均匀分布,最理想的情况是每个可能取值均覆盖到,这样可以使最终的预测结果准确率更高。当值域范围连续或者较大时,可以均匀选取一组离散的取值。在实际应用中可以根据需要来确定。自身特征以外的其他配置在实际应用时的取值范围内设置即可。
配置一组干扰虚拟机,记为集合I。干扰虚拟机的配置在实际应用时的取值范围内设置即可,也可以根据需要进行设置。
确定M个虚构机组合方案,每个组合方案包括一台待评估虚拟机和N台干扰虚拟机,其中待评估虚拟机从集合E中抽取,N台干扰虚拟机从集合I有放回地抽取,集合E中的每个待评估虚拟机在M个虚构机组合方案中至少出现一次,显然,M的取值应当大于等于集合E中的待评估虚拟机数量。
S104:实测虚拟机性能数据和干扰特征数据:
根据需要选择一个基准测试程序,可以按照待评估虚拟机上将要运行的具体应用类型来选择。依次对于每个虚拟机组合方案获取整体性能数据及干扰特征数据,获取方法为:
对于第m个虚拟机组合方案,m=1,2,…,M,先设置干扰虚拟机上均无负载,在待评估虚拟机上运行基准测试程序,将基准测试程序的运行结果作为无干扰时的整体性能值记此时第n台干扰虚拟机中第b个干扰特征的取值为其中n=1,2,…,N;然后设置干扰虚拟机上有负载,在每台干扰虚拟机上运行实际应用,在待评估虚拟机上运行基准测试程序,将基准测试程序的运行结果作为有干扰时的整体性能值记此时第n台干扰虚拟机中第b个干扰特征的取值为一般来说,干扰虚拟机在运行实际应用时,每台干扰虚拟机可以分别运行不同类型的应用,根据实际需要选择即可。
S105:数据预处理。
本发明中,待评估虚拟机的自身特征数量为A,干扰虚拟机数量为N,干扰特征数量为B,那么如果将每台干扰虚拟机的特征都用于贝叶斯网建模,那么建模结果中一共有A+BN个特征,建模过程会较为复杂。为了减少贝叶斯网建模时的特征数量,本发明中在贝叶斯网建模前需要对步骤S104中获取的整体性能数据及干扰特征数据进行预处理,具体方法如下:
S106:构建特征-性能含隐变量贝叶斯网:
本发明中将每个性能参数的下降值作为隐变量,由于隐变量节点的取值不可以被直接观测得到,但它们与虚拟机特征变化之间存在联系,且它们的取值可以由虚拟机特征变量变化的取值来推断。引入隐变量后,本发明中用于描述虚拟机特征与性能的含隐变量贝叶斯网GVPBN可以表示为GVPBN=(V,E,θ),其中:
·V表示GVPBN的节点集,V=H′∪X∪Y′∪{Tpd},H′表示性能参数下降值级别代码的集合,H′={h1,h2,…,hR},hr表示待评估虚拟机第r个性能参数下降值级别代码,每个性能参数下降值的级别划分阈值根据需要确定,r=1,2,…,R,R表示待评估虚拟机性能参数的数量,Y′表示干扰特征变化率Uc(b)的集合,表示整体性能级别代码。
·E是有向边集合,其中e(Vi,Vj)是一条从节点Vi指向Vj的有向边,Vi为父节点,Vj为子节点,它表示了虚拟机特征节点之间以及虚拟机特征节点和性能下降节点之间的依赖关系。
·θ是GVPBN的参数集合,它由每个节点的条件概率表组成。
特征-性能含隐变量贝叶斯网GVPBN的构建分为结构构建和参数计算。图2是本发明中特征-性能含隐变量贝叶斯网GVPBN的构建流程图。如图2所示,本发明中特征-性能含隐变量贝叶斯网GVPBN的构建的具体步骤如下:
S201:获取节点集合:
令含隐变量贝叶斯网的节点集合V=H′∪X∪Y′∪{Tpd},将性能参数下降值级别代码作为隐变量。
S202:特征划分:
初始化每个隐变量hr对应的特征集合fr和归属未知特征集合Z为空,然后对于自身特征集合X和干扰特征集合Y中的每个特征,判断是否可以根据先验知识得到与该特征最相关的性能参数,如果可以,则将该特征放入最相关性能参数的特征集合fr,否则将其放入归属未知特征集合Z。
S203:初始化含隐变量贝叶斯网的结构:
S204:计算非隐变量节点的条件概率表:
根据基础数据集D计算得到非隐变量节点,即隐变量以外的节点的条件概率表。
S205:计算隐变量节点的条件概率表:
基于当前含隐变量贝叶斯网对隐变量的缺失值进行填充,计算得到隐变量的条件概率表。
本实施例中,采用期望最大算法(Expectation Maximum,EM)来填充每个隐变量的缺失值,同时利用最大似然估计(Maximum Likelihood Estimation,MLE)计算每个节点的条件概率表。EM算法和MLE算法是构建含隐变量贝叶斯网的常用技术,算法的具体过程在此不再赘述,可以参照参考文献“张连文,郭海鹏.贝叶斯网引论[M].科学出版社,2006.”中的具体描述。
S206:判断归属未知特征集合Z是否为空,如果为空,则特征-性能含隐变量贝叶斯网构建完成,否则进入步骤S207。
S207:读取一个归属未知特征z:
从归属未知特征集合Z中取出一个特征z,并将其从归属未知特征集合Z中删除,即令Z=Z-{z}。
S208:确认特征z的归属:
分别计算特征z与R个性能参数下降值级别代码hr的互信息(Mutualinformation,MI)MI(z,hr)。互信息可以用来度量两个变量之间是否存在依赖关系,可以采用以下公式计算:
其中,分别表示特征z、性能参数下降值级别代码hr的取值,是特征z和性能参数下降值级别代码hr的联合概率分布,和分别是特征z和性能参数下降值级别代码hr的边缘概率分布。若MI(z,hr)=0,则证明特征z和性能参数下降值级别代码hr之间不存在依赖关系,否则说明特征z和性能参数下降值级别代码hr之间存在依赖关系,MI(z,hr)越大,依赖关系最强。因此本发明中筛选R个互信息MI(z,hr)中的最大值,将特征z作为该最大值对应性能参数下降值节点的父节点,从而确定特征z的归属。然后返回步骤S6.5计算新加入节点后隐变量的条件概率表。
S107:虚拟机性能下降评估:
在需要对待评估虚拟机的性能下降程度进行评估时,从待评估虚拟机上获取A个自身特征的取值,然后分别在干扰虚拟机无负载和有负载情况下获取每台干扰虚拟机上B个干扰特征的取值,采用步骤S105中同样的方法计算得到各个干扰特征的变化率,最后根据以上特征数据和每个性能参数下降值节点的条件概率表计算得到性能参数下降值处于各个级别的概率值,最大概率值所对应的级别代码即为对该性能下降程度的评估结果。
在得到各个性能参数下降值对应的级别代码后,根据整体性能节点的条件概率表计算得到整体性能下降值处于各个级别的概率值,最大概率值所对应的级别代码即为对该性能下降程度的评估结果。
为了更好地说明本发明的技术方案,采用一个具体实例进行详细说明。本实施例中采用如下配置的一台物理主机模拟待评估的虚拟化环境:Intel core i5-6600,DDR42133Hz 16GB内存,西部数据SATA3 500GB硬盘。
首先确定对待评估虚拟机进行评估的性能参数,本实施例中选择CPU、内存和I/O作为性能参数,那么记性能参数下降值集合H′={CPU-aware,memory-aware,I/O-aware}。
然后选取待评估虚拟机和干扰虚拟机的特征,其中待评估虚拟机上所选取的特征包括:
1)虚拟VCPU的数量,记做CPUNum,取值为1或2,分别表示虚拟CPU的数量为一个或两个。
2)虚拟机内存容量,记做Memory,取值为512MB或1024MB。
3)CPU内核与VCPU的绑定方式,记做Pinning。有如下两种情况:若是内核与VCPU不绑定,取值为0;若是VCPU绑定到CPU内核,取值为1。
在干扰虚拟机上,事先确定影响待评估虚拟机CPU、内存和I/O性能下降的特征,具体的取值未知。特征类型为:
1)VCPU的空闲时间:idle。
2)虚拟机管理内存时从磁盘换入物理内存的数据量:si。
3)虚拟机做磁盘I/O时的吞吐率:bio。
可知,本实施例中待评估虚拟机的自身特征集合X={CPUNum,Memory,Pinning},干扰虚拟机的干扰特征集合为Y={idle,si,bio}。
按照待评估虚拟机上所选特征,配置得到8台待评估虚拟机。每次在在物理主机上配置一台待评估虚拟机,和同样配置的一台干扰虚拟机。本实施例中选择的基准测试程序为Parsec中的freqmine程序,采用该程序的并用运行时间作为性能值。对于每个虚拟机组合方案,设置干扰虚拟机无负载运行,在待评估虚拟机上运行freqmine程序,此时用vmstat工具抓取干扰虚拟机的干扰特征数据,然后设置干扰虚拟机的负载类型为CPU密集型应用,同样在待评估虚拟机上运行freqmine程序,抓取干扰虚拟机的干扰特征数据。表1是本实施例中得到的运行数据。
表1
整体性能下降值的计算公式为:
其他数据也进行类似处理,具体计算过程在此不再赘述。表2是数据预处理结果。
数据编号 | CPUNum | Memory | Pinning | T<sub>pd</sub> | idle<sub>c</sub> | si<sub>c</sub> | bio<sub>c</sub> |
D<sub>1</sub> | 1 | 512 | 0 | 0.63 | 0.8 | 1000 | 150 |
D<sub>2</sub> | 1 | 512 | 1 | 0.11 | 0.2 | 720 | 0.07 |
D<sub>3</sub> | 1 | 1024 | 0 | 0.25 | 0.8 | 30 | 37.5 |
D<sub>4</sub> | 1 | 1024 | 1 | 1 | 0 | 1 | 348 |
D<sub>5</sub> | 2 | 512 | 0 | 0.5 | 0.3 | 5584 | 182 |
D<sub>6</sub> | 2 | 512 | 1 | 0.33 | 0.5 | 42 | 965 |
D<sub>7</sub> | 2 | 1024 | 0 | 1.5 | 0.73 | 1 | 0.1 |
D<sub>8</sub> | 2 | 1024 | 1 | 1.5 | 0.5 | 1 | 47850 |
表2
本实施例中将特征的变化率分为small、medium和high三个级别,分别表示该特征节点变化程度小、变化程度中等以及变化程度大,分别用字母s,m,h表示,具体的划分阈值根据需要确定。以特征idle为例,0≤idlec<0.3时,将特征idle的变化率记为s;0.3≤idlec<0.6时,将特征idle的变化率记为m;idlec≥0.6时,特征idle的变化率记为h。其他特征也进行类似处理。
对于整体性能下降值,本实施例中将其分为L1、L2和L3三个等级,0≤Tpd<0.3时,将整体性能下降值表示为L1等级;0.3≤Tpd<0.6时,将整体性能下降值表示为L2等级;Tpd≥0.6时,将整体性能下降值表示为L3等级。
采用以上方式进行数据预处理后即可得到基础数据。表3是基础数据表。
表3
利用表3的数据来构造特征-性能含隐变量贝叶斯网,具体过程如下:
显然,本实施例中的节点集合为:
然后进行特征划分,根据先验知识得到CPU-aware对应的特征集合f1={CPUNum},memory-aware对应的特征集合f2={Memory},I/O-aware对应的特征集合归属未知特征集合
基于以上特征划分,即可得到含隐变量贝叶斯网的初始结构。然后根据基础数据集D计算得到隐变量以外的节点的条件概率表。图3是本实施例中含隐变量贝叶斯网的初始结构及各个已有节点的条件概率表。为了使图3更加简洁,图3中整体性能节点的条件概率表仅列出部分。为了便于后续EM算法的处理,图3中给出了根据先验知识初始化的三个隐变量的条件概率表。
采用EM算法填充隐变量的缺失值,并计算得到隐变量的条件概率表。本实施例中每个隐变量对应的性能参数下降程度分为3个级别,分别为low,medium和high,它们分别对应性能下降程度为低、中、高。表4是隐变量填充之后的数据。
表4
然后确定每个归属未知特征的归属。以Pinning为例,根据表4中的数据分别计算它与CPU-aware、memory-aware和I/O-aware节点的互信息MI(Pinning,CPU-aware)、MI(Pinning,CPU-aware)、MI(Pinning,CPU-aware),其中MI(Pinning,CPU-aware)的值最大,因此将Pinning作为CPU-aware的父节点。然后以现有特征-性能含隐变量贝叶斯网重新计算隐变量的条件概率表,再确定下一个归属未知特征的归属。以此类推,直到所有归属未知特征均确定归属,确定隐变量最终的条件概率表,完成特征-性能含隐变量贝叶斯网构建完成。图4是本实施例中构建得到的特征-性能含隐变量贝叶斯网的结构及部分条件概率表。基于该特征-性能含隐变量贝叶斯网,即可实现待评估虚拟机的性能下降评估。
以CPU性能下降程度的评估为例,根据图4可知本实施例中CPU-aware节点的父节点有CPUNum,Pinning以及假定此时CPUNum=1,Pinning=1,根据特征-性能含隐变量贝叶斯网的条件概率表可以得到:
根据①、②、③所计算得到的在该虚拟机特征环境下,CPU-aware节点性能下降程度为low,medium和high的概率,可以得到此时CPU-aware节点为high的概率最大,所以判定在该条件下,CPU的性能下降程度为high。
用同样的方法评估虚拟机整体的性能下降程度。假定虚拟机整体性能下降值级别代码节点的父节点取值,即:CPU-aware=high,memory-aware=low,I/O-aware=low时,通过查找的条件概率表来评估虚拟机整体性能的下降程度。通过查看条件概率表可得:
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (1)
1.一种基于含隐变量贝叶斯网的虚拟机性能下降评估方法,其特征在于,包括以下步骤:
S1:根据需要确定对待评估虚拟机进行评估的性能参数集合H;
S2:在待评估虚拟机上,根据虚拟化环境的资源特点,确定影响性能参数集合H中各项性能参数的自身特征集合X={x1,x2,…,xA},xa表示第a个自身特征,a=1,2,…,A,A表示自身特征数量;在N台干扰虚拟机上,确定能够反映待评估虚拟机性能参数集合H中各项性能参数相关资源利用情况的干扰特征集合Y={y1,y2,…,yB},yb表示第b个干扰特征,b=1,2,…,B,B表示干扰特征数量;
S3:根据步骤S2中选取的待评估虚拟机自身特征集合X中A个自身特征的可能取值,配置得到一组不同特征组合的待评估虚拟机,记为集合E;配置一组干扰虚拟机,记为集合I;确定M个虚构机组合方案,每个组合方案包括一台待评估虚拟机和N台干扰虚拟机,其中待评估虚拟机从集合E中抽取,N台干扰虚拟机从集合I有放回地抽取,集合E中的每台待评估虚拟机在M个虚构机组合方案中至少出现一次;
S4:依次对于每个虚拟机组合方案获取整体性能数据及干扰特征数据,获取方法为:
对于第m个虚拟机组合方案,m=1,2,…,M,先设置干扰虚拟机上均无负载,在待评估虚拟机上运行基准测试程序,将基准测试程序的运行结果作为无干扰时的整体性能值记此时第n台干扰虚拟机中第b个干扰特征的取值为其中n=1,2,…,N;然后设置干扰虚拟机上有负载,在每台干扰虚拟机上运行实际应用,在待评估虚拟机上运行基准测试程序,将基准测试程序的运行结果作为有干扰时的整体性能值记此时第n台干扰虚拟机中第b个干扰特征的取值为
S5:对于步骤S4中获取的整体性能数据及干扰特征数据采用以下方法进行预处理:
S6:构建特征-性能含隐变量贝叶斯网,具体方法为:
S6.1:令含隐变量贝叶斯网的节点集合其中H′表示性能参数下降值级别代码的集合,H′={h1,h2,…,hR},hr表示待评估虚拟机第r个性能参数下降值级别代码,每个性能参数下降值的级别划分阈值根据需要确定,r=1,2,…,R,R表示待评估虚拟机性能参数的数量,Y′表示干扰特征变化率级别代码的集合,表示整体性能下降值级别代码;将性能参数下降值级别代码hr作为隐变量;
S6.2:初始化每个隐变量hr对应的特征集合fr和归属未知特征集合Z为空,然后对于自身特征集合X和干扰特征集合Y中的每个特征,判断是否可以根据先验知识得到与该特征最相关的性能参数,如果可以,则将该特征放入最相关性能参数的特征集合fr,否则将其放入归属未知特征集合Z;
S6.4:根据基础数据集D计算得到隐变量以外的节点的条件概率表;
S6.5:基于当前含隐变量贝叶斯网对隐变量的缺失值进行填充,计算得到隐变量的条件概率表;
S6.6:判断归属未知特征集合Z是否为空,如果为空,则特征-性能含隐变量贝叶斯网构建完成,否则进入步骤S6.7;
S6.7:从归属未知特征集合Z中取出一个特征z,并将其从归属未知特征集合Z中删除;
S6.8:分别计算特征z与R个性能参数下降值级别代码hr的互信息MI(z,hr),筛选R个互信息MI(z,hr)中的最大值,将特征z作为该最大值对应的性能参数下降值级别代码节点的父节点,返回步骤S6.5;
S7:在需要对待评估虚拟机的性能下降程度进行评估时,从待评估虚拟机上获取A个自身特征的取值,然后分别在干扰虚拟机无负载和有负载情况下获取每台干扰虚拟机上B个干扰特征的取值,计算得到各个干扰特征的变化率,最后根据以上特征数据和每个性能参数下降值节点的条件概率表计算得到性能参数下降值处于各个级别的概率值,最大概率值所对应的级别代码即为对该性能下降程度的评估结果;
在得到各个性能参数下降值对应的级别代码后,根据整体性能下降值节点的条件概率表计算得到整体性能下降值处于各个级别的概率值,最大概率值所对应的级别代码即为对该性能下降程度的评估结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711432646.7A CN108037979B (zh) | 2017-12-26 | 2017-12-26 | 基于含隐变量贝叶斯网的虚拟机性能下降评估方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711432646.7A CN108037979B (zh) | 2017-12-26 | 2017-12-26 | 基于含隐变量贝叶斯网的虚拟机性能下降评估方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108037979A CN108037979A (zh) | 2018-05-15 |
CN108037979B true CN108037979B (zh) | 2021-07-13 |
Family
ID=62101164
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711432646.7A Active CN108037979B (zh) | 2017-12-26 | 2017-12-26 | 基于含隐变量贝叶斯网的虚拟机性能下降评估方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108037979B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112445698A (zh) * | 2019-09-04 | 2021-03-05 | 中国移动通信有限公司研究院 | 虚拟服务节点性能测试方法、装置和计算机可读存储介质 |
CN115061775B (zh) * | 2022-05-26 | 2024-06-04 | 上海交通大学 | 基于公有云的应用程序协同配置系统、方法及设备 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383655A (zh) * | 2012-01-13 | 2013-11-06 | 埃森哲环球服务有限公司 | 用于在qos感知云中管理合并的工作负载的性能干扰模型 |
CN104102875A (zh) * | 2014-07-22 | 2014-10-15 | 河海大学 | 基于加权朴素贝叶斯分类器的软件服务质量监控方法及系统 |
CN106484496A (zh) * | 2016-10-28 | 2017-03-08 | 云南大学 | 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 |
CN106897109A (zh) * | 2017-02-13 | 2017-06-27 | 云南大学 | 基于随机森林回归的虚拟机性能预测方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10621276B2 (en) * | 2013-10-24 | 2020-04-14 | Wmware, Inc. | User interface virtualization for web applications |
-
2017
- 2017-12-26 CN CN201711432646.7A patent/CN108037979B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103383655A (zh) * | 2012-01-13 | 2013-11-06 | 埃森哲环球服务有限公司 | 用于在qos感知云中管理合并的工作负载的性能干扰模型 |
CN104102875A (zh) * | 2014-07-22 | 2014-10-15 | 河海大学 | 基于加权朴素贝叶斯分类器的软件服务质量监控方法及系统 |
CN106484496A (zh) * | 2016-10-28 | 2017-03-08 | 云南大学 | 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 |
CN106897109A (zh) * | 2017-02-13 | 2017-06-27 | 云南大学 | 基于随机森林回归的虚拟机性能预测方法 |
Non-Patent Citations (2)
Title |
---|
Learning Hidden Variable Networks-The Information Bottleneck Approach;Gal Elidan 等;《Journal of Machine Learning Research》;20051231;第81-127页 * |
一种基于结构分解和因子分析的贝叶斯网络隐变量发现算法;姚宏亮 等;《计算机科学》;20120215;第39卷(第2期);第244-249页 * |
Also Published As
Publication number | Publication date |
---|---|
CN108037979A (zh) | 2018-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111709533B (zh) | 机器学习模型的分布式训练方法、装置以及计算机设备 | |
CN108009016B (zh) | 一种资源负载均衡控制方法及集群调度器 | |
CN106897109B (zh) | 基于随机森林回归的虚拟机性能预测方法 | |
Vlasblom et al. | Markov clustering versus affinity propagation for the partitioning of protein interaction graphs | |
Hache et al. | Reverse engineering of gene regulatory networks: a comparative study | |
Balaprakash et al. | Active-learning-based surrogate models for empirical performance tuning | |
US8775338B2 (en) | Computer-implemented systems and methods for constructing a reduced input space utilizing the rejected variable space | |
US20210019189A1 (en) | Methods and systems to determine and optimize reservoir simulator performance in a cloud computing environment | |
CN115348159A (zh) | 基于自编码器和服务依赖图的微服务故障定位方法及装置 | |
CN108665293B (zh) | 特征重要性获取方法及装置 | |
CN108037979B (zh) | 基于含隐变量贝叶斯网的虚拟机性能下降评估方法 | |
WO2017131669A1 (en) | Recommendations based on the impact of code changes | |
JP2023547451A (ja) | 時系列の大規模集合のためのスケーラブル・モデリング | |
US10248462B2 (en) | Management server which constructs a request load model for an object system, load estimation method thereof and storage medium for storing program | |
CN112183899A (zh) | 确定安全度预测模型的方法、装置、设备和存储介质 | |
CN112487612A (zh) | 基于分配因子和信息熵的母线负荷组合预测方法及系统 | |
CN106484496A (zh) | 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 | |
Bouhali et al. | Execution time modeling for cnn inference on embedded gpus | |
Rosas et al. | Improving performance on data-intensive applications using a load balancing methodology based on divisible load theory | |
CN113158435B (zh) | 基于集成学习的复杂系统仿真运行时间预测方法与设备 | |
CN113220466A (zh) | 一种基于长短期记忆模型的云服务负载通用预测方法 | |
CN112148483A (zh) | 一种容器迁移方法及相关装置 | |
CN116737373A (zh) | 负载均衡方法、装置、计算机设备、存储介质 | |
Gonzalez et al. | Parallelization of an evolving artificial neural networks system to forecast time series using openmp and mpi | |
CN112100628B (zh) | 保护神经网络模型安全的方法及装置 |
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 |