CN106484496B - 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 - Google Patents
基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 Download PDFInfo
- Publication number
- CN106484496B CN106484496B CN201610956901.7A CN201610956901A CN106484496B CN 106484496 B CN106484496 B CN 106484496B CN 201610956901 A CN201610956901 A CN 201610956901A CN 106484496 B CN106484496 B CN 106484496B
- Authority
- CN
- China
- Prior art keywords
- performance
- virtual machine
- feature
- bottom layer
- node
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 238000004458 analytical method Methods 0.000 title claims abstract description 19
- 239000000284 extract Substances 0.000 claims abstract description 5
- 230000007613 environmental effect Effects 0.000 claims description 5
- 238000005259 measurement Methods 0.000 abstract description 4
- 238000013461 design Methods 0.000 description 4
- 238000011156 evaluation Methods 0.000 description 4
- 101100498818 Arabidopsis thaliana DDR4 gene Proteins 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012417 linear regression Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 239000011800 void material Substances 0.000 description 3
- 208000027877 Disorders of Sex Development Diseases 0.000 description 2
- 238000007476 Maximum Likelihood Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013468 resource allocation Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000013398 bayesian method Methods 0.000 description 1
- 238000007635 classification algorithm Methods 0.000 description 1
- 230000002301 combined effect Effects 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 238000003066 decision tree Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000009916 joint effect Effects 0.000 description 1
- 238000013508 migration Methods 0.000 description 1
- 230000005012 migration Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
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
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
- G06F18/24155—Bayesian classification
-
- 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/45595—Network integration; Enabling network access in virtual machine instances
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Probability & Statistics with Applications (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法,根据待评估的虚拟化平台中具体的软硬件配置,从硬件特征、软件特征、配置特征、运行时环境特征四个方面提取可能影响虚拟机性能的底层环境特征,然后确定需要度量的性能指标,在待评估的虚拟化平台中配置不同底层环境特征组合的虚拟机,通过运行基准测试程序来获取所需的性能指标数值,得到每个性能指标的特征‑性能数据样本集;根据特征‑性能数据样本集构建每个性能指标对应的特征‑性能贝叶斯网,最后根据性能指标结点的条件概率表来对虚拟机的性能进行度量。本发明采用贝叶斯网来表现底层环境特征和性能指标间的依赖关系,从而实现对虚拟机性能的准确度量。
Description
技术领域
本发明属于云计算技术领域,更为具体地讲,涉及一种基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法。
背景技术
基础设施即服务(Infrastructure as a Service,IaaS)的云计算平台以虚拟机的形式向用户提供资源,资源提供方和用户需要准确了解虚拟机的性能,以便更合理地利用资源、部署服务;商用的云计算平台,通常以虚拟机的性能为依据制定虚拟机的租用价格。因此,如何准确度量虚拟机的性能成为了一个重要问题。
为了从虚拟机底层环境特征准确度量虚拟机的性能,需要对虚拟机底层环境特征、虚拟机性能的以下三类关系进行评估:
1.虚拟机的各软硬件配置特征与虚拟机性能之间的关系:在虚拟化环境中,配置一台虚拟机时,其软硬件配置特征都是确定的,例如,虚拟CPU的个数、内存容量,虚拟机监控器(Virtual Machine Monitor,VMM)使用的虚拟化技术类型、采用的CPU调度算法等,都可以进行精确的设置。这些软硬件配置特征共同影响虚拟机的性能,但是各特征对性能的影响程度不同,同一个特征对计算性能、访存性能、I/O性能等不同的性能指标也有不同程度的影响。需要明确各特征与性能之间的关系。
2.同一物理主机上运行的其他虚拟机带来的干扰与虚拟机性能的关系:在虚拟化平台上,同一台物理主机上的各虚拟机共享底层的物理资源,虚拟机的性能受到其他虚拟机访问资源的方式的干扰,这种性能干扰具有较大的不确定性,难以准确评估。需要设计有效的模型评估虚拟机间干扰对虚拟机性能的影响。
3.虚拟机的各软硬件配置特征之间的关系:虚拟机的软硬件配置、同一平台上各虚拟机使用资源的方式等特征并不是相互独立的,其中存在相互影响和依赖关系。需要挖掘这些特征之间的相互关系。
分析并定量描述以上三类关系,是度量虚拟机性能的基础和关键。
公知的虚拟机的性能分析及建模研究,主要通过寻找虚拟机的部分配置参数或资源利用率与虚拟机性能或虚拟机上运行的应用性能之间的关系,帮助虚拟机的性能预测,或优化虚拟机的资源分配以保证应用服务质量。黎丰泽等(<计算机***应用>,2015)收集CPU时间周期权重、虚拟CPU的数量、内存以及I/O竞争四种硬件资源单独对虚拟机应用性能的影响作为建模参数,利用基于奇异值分解的特征拓展与非线性模型的建模方法,对硬件与虚拟机性能的关系进行建模。王睿(<上海交通大学硕士论文>,2011)采用递推最小二乘法建立应用性能和虚拟机使用的资源之间的关系模型,基于该模型可通过差分误差函数决定虚拟机的最优资源分配量以达到预期的性能目标。但虚拟机的性能受到硬件参数、软件环境、配置特征、运行时环境等诸多方面的联合影响,可能对虚拟机性能产生影响的所有特征与虚拟机性能之间的关系难以分析;此外,虚拟机性能具有不确定性,以上方法中,对不确定性的表示和推理也存在困难。
公知的虚拟机间性能干扰的评估,主要对应用负载特征或部分硬件性能参数与性能干扰之间的关系建模。王卅等(<软件学报>,2015)发现末级缓存失效率(LLC missrates)与CPU密集型、网络密集型应用性能干扰存在的不同关联关系,以此建立虚拟机性能干扰估算模型,估算虚拟机性能。孟凡欣(<山东大学硕士论文>,2014)设计了一种基于应用类型的虚拟机性能干扰预测模型,通过监控应用访问资源的不同特征,使用决策树分类方法完成应用分类,然后使用线性回归技术为每种类型的应用分别建立性能干扰预测模型。王进(<东北大学硕士论文>,2013)设计了一种基于多元线性回归分析的虚拟机性能互扰度模型,通过挖掘虚拟机性能互扰度与其背景负载参数之间的关系建立性能互扰度模型,并用多元线性回归分析求解模型参数,其中,背景负载参数是指同时运行的其他虚拟机的CPU利用率、内存利用率等资源使用信息。基于该模型,能够对其他背景负载下的虚拟机性能互扰做出预测。虚拟机间的性能干扰是虚拟机性能呈现不确定性的主要原因,量化描述虚拟机性能的不确定性,是另一种衡量虚拟机间性能干扰的方式。
公知的将贝叶斯方法应用于虚拟机领域的工作主要使用朴素贝叶斯分类器对虚拟机中的应用类型、虚拟机安全级别等进行分类作为应用性能预测及应用部署的基础。例如,杨光(<北京邮电大学硕士论文>,2013)分析实时监控的虚拟机CPU、内存、网络带宽的使用率及使用率变化率,用朴素贝叶斯分类器将虚拟机划分到三个类别:扩大资源规模、缩小资源规模、无需调整资源,根据分类结果动态调整虚拟机使用的资源。沈典(<东南大学硕士论文>,2012)分析云计算环境中虚拟机的行为,基于朴素贝叶斯分类算法,提出了一种对虚拟机进行安全级别分类的方法,根据不同用户行为将虚拟机分类到预先设定的四个不同的安全信任级别,以指导虚拟机的部署。朴素贝叶斯方法要求假设条件变量之间相互独立,而在虚拟化环境中,影响虚拟机性能的各底层特征之间可能存在相互依赖关系,难以利用朴素贝叶斯方法处理。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法,采用贝叶斯网来表现底层环境特征和性能指标间的依赖关系,从而实现对虚拟机性能的准确度量。
为实现上述发明目的,本发明基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法包括以下步骤:
S1:根据待评估的虚拟化平台中具体的软硬件配置,从硬件特征、软件特征、配置特征、运行时环境特征四个方面提取可能影响虚拟机性能的底层环境特征,记所提取到的底层环境特征数量为N,当可判定两个底层环境特征Xi和Xj之间不存在依赖关系,则记其依赖标识rij=0,否则rij=1,其中i=1,2,…,N,j=1,2,…,N,i≠j;
S2:根据需要确定需要度量的性能指标Yk,k=1,2,…,K,K表示性能指标数量;
S3:根据步骤S1中各项底层环境特征的可能取值,在待评估的虚拟化平台中配置不同底层环境特征组合的虚拟机,然后根据待评估的虚拟化环境中待部署的主要应用类型选择一组基准测试程序,在各个虚拟机上运行基准测试程序,记录步骤S2中所确定的对应性能指标的数值,从而得到每个性能指标Yk所对应的由一系列虚拟机的特征-性能数据(x1,x2,…,xN,yk)构成的数据样本集Dk,其中xi表示底层环境特征Xi的取值,yk表示性能指标Yk的值;
S4:对于底层环境特征与每个性能指标Yk的组合,根据其数据样本集Dk,建立对应的特征-性能贝叶斯网,并且计算得到各个结点的条件概率表;建立特征-性能贝叶斯网的方法为:
初始化一个以{X1,X2,…,XN,Yk}为结点集V、无边的图结构G=(V,E),即V={X1,X2,…,XN,Yk},初始化结点对列表
对于由底层环境特征两两组成的结点对(Xi,Xj),首先根据步骤S1中的依赖标识rij进行判定,如果rij=0,则不作任何操作,否则计算其互信息;计算由底层环境特征和性能指标组成的结点对(Xi,Yk)的互信息;对于存在互信息的结点对,如果互信息大于阈值ε,则放入结点对列表L中,否则不作任何操作;对于列表L中所有的结点对,根据互信息的值由大到小进行排序;
根据结点对列表L中的结点对添加边并去除冗余边,得到特征-性能贝叶斯网,为每个结点计算其条件概率表;
S5:当在待评估的虚拟化平台配置一个虚拟机时,根据配置信息得到该虚拟机的底层环境特征的取值,然后在步骤S4得到的各个性能指标的特征-性能贝叶斯网性能指标结点的条件概率表中,查找得到该虚拟机底层环境特征所对应的各项性能指标的最大条件概率,该最大条件概率所对应的性能指标取值即度量了虚拟机由该性能指标所衡量的性能,该虚拟机底层环境特征在性能指标结点的条件概率表中所对应的性能指标的各项可能取值表示了虚拟机性能波动的范围,所对应的性能指标各取值的概率分布反映了该虚拟机性能波动的程度。
本发明基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法,根据待评估的虚拟化平台中具体的软硬件配置,从硬件特征、软件特征、配置特征、运行时环境特征四个方面提取可能影响虚拟机性能的底层环境特征,然后确定需要度量的性能指标,在待评估的虚拟化平台中配置不同底层环境特征组合的虚拟机,通过运行基准测试程序来获取所需的性能指标数值,得到每个性能指标的特征-性能数据样本集;根据特征-性能数据样本集构建每个性能指标对应的特征-性能贝叶斯网,最后根据性能指标结点的条件概率表来对虚拟机的性能进行度量。
本发明具有以下技术效果:
(1)本发明采用贝叶斯网对虚拟机底层环境特征与性能数据进行建模,能够有效表达性能与特征之间的依赖关系,尤其对同一物理主机上的多个虚拟机之间由于资源竞争造成的性能波动能够用概率形式量化描述,解决云计算环境下由于虚拟机的性能具有不确定性难以准确评估虚拟机性能的问题;
(2)本发明分析虚拟机实测性能数据,从数据中分析虚拟机底层环境特征之间可能存在的关系,并分析性能与各特征之间的依赖,能够发现人工分析难以捕获的关系;
(3)借助本发明,可以在虚拟机底层环境特征与性能关系的贝叶斯网模型的基础上度量特定虚拟机的性能,或者根据用户的需求为用户推荐可以达到约定性能的虚拟机配置,还可以指导虚拟机间的资源动态分配,为在云计算环境中租赁虚拟机和部署应用提供重要的基础信息。
附图说明
图1是本发明基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法的具体实施方法流程图;
图2是本发明中特征-性能贝叶斯网的构建流程图;
图3是本实施例得到的特征-性能贝叶斯网。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法的具体实施方法流程图。如图1所示,本发明基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法包括以下步骤:
S101:提取可能影响虚拟机性能的底层环境特征:
根据待评估的虚拟化平台中具体的软硬件配置,从硬件特征、软件特征、配置特征、运行时环境特征四个方面提取可能影响虚拟机性能的底层环境特征,记所提取到的底层环境特征数量为N,当可判定两个底层环境特征Xi和Xj之间不存在依赖关系,则记其依赖标识rij=0,否则rij=1,其中i=1,2,…,N,j=1,2,…,N,i≠j。
根据目前的虚拟化平台,各个类型的底层环境特征分别包括如下特征:
●硬件特征包括:
1)物理CPU架构,主要关注多核之间的关系,多级Cache在多核之间的共享关系;
2)物理CPU的主频;
3)内存的容量和主频;
4)硬盘类型和带宽,类型主要包括IDE、SATA、SCSI、SSD等,或者网络存储,如NFS、NAS、SAN等。
5)网络带宽。
●软件特征包括:
1)采用的VMM软件,主要包括主流的Xen、KVM、VMware ESXi等;
2)CPU的虚拟化方式,包括半虚拟化、无硬件虚拟化支持的全虚拟化、基于硬件虚拟化支持的全虚拟化等;
3)虚拟化平台采用的CPU调度算法,若采用基于优先级的调度,则包括为各虚拟CPU配置的调度优先级;
4)内存的虚拟化方式,包括影子页表、全虚拟化等;
5)I/O设备的虚拟化方式,包括特权虚拟机代理I/O访问、软件模拟I/O设备、绕过VMM直接访问物理设备等。
●配置特征包括:
1)虚拟机配置的vCPU个数,每个vCPU绑定到物理CPU核心的方式;
2)虚拟机使用的内存容量;
3)虚拟机使用的CPU Cache的容量;
4)虚拟机使用的虚拟硬盘类型,主要包括物理分区、LVM逻辑卷、文件(Loop设备)等。
●运行时环境特征包括:
1)同一台物理主机上运行的虚拟机数量;
2)同一台物理主机上其他虚拟机的负载类型;
3)多主机之间调整资源配置(虚拟机迁移、远程内存访问等)的频度和持续时间。
底层环境特征之间是否存在依赖关系是可以通过虚拟机领域的常识来获取,例如可以判定物理CPU的架构和硬盘类型之间、虚拟机的内存容量与虚拟机的vCPU个数之间不存在相互依赖关系。而采用的VMM软件和CPU的虚拟化方式之间、I/O设备的虚拟化方式与虚拟机使用的虚拟硬盘类型之间则会存在相互依赖关系,等等。
S102:确定性能指标:
根据需要确定需要度量的性能指标Yk,k=1,2,…,K,K表示性能指标数量。例如可以以基准测试程序的运行时间作为性能指标来衡量虚拟机的计算性能和访存性能,以吞吐率、响应时间等作为性能指标来衡量虚拟机的I/O性能。
S103:获取特征-性能数据:
根据步骤S101中各项底层环境特征的可能取值,在待评估的虚拟化平台中配置不同底层环境特征组合的虚拟机。也就是说,这些虚拟机中的底层环境特征要包含步骤S101中的所有底层环境特征,并且这些虚拟机的底层环境特征取值要覆盖步骤S101中底层环境特征的所有可能组合。
然后根据待评估的虚拟化环境中待部署的主要应用类型选择一组基准测试程序,在各个虚拟机上运行基准测试程序,记录步骤S102中所确定的对应性能指标的数值,从而得到每个性能指标Yk所对应的由一系列虚拟机的特征-性能数据(x1,x2,…,xN,yk)构成的性能指标Yk的数据样本集Dk,其中xi表示底层环境特征Xi的取值,yk表示性能指标Yk的值。例如可以选择SPECCPU、PARSEC等基准测试程序,测试虚拟机的处理器计算性能和访存性能,其对应指标为程序运行时间,还可以选择Bonnie++、netperf等I/O密集型基准测试程序,其对应指标为吞吐率和响应时间。
由于虚拟机性能受运行时环境的影响,具有不确定性,因此,每个虚拟机多次运行基准测试程序,以记录性能的变化,每次运行后均得到一条特征-性能数据。
S104:建立特征-性能贝叶斯网:
贝叶斯网(Bayesian Network,BN)是一个带有条件概率表的有向无环图,是不确定性知识表示和推理最有效的工具之一,被广泛应用于数据分析、医疗诊断、经济预测等领域。本发明采用贝叶斯网来表达虚拟机的底层环境特征之间、底层环境特征和虚拟机性能指标之间的依赖关系,并表示其依赖关系的不确定性。将特征-性能贝叶斯网用有向无环图G=(V,E)表示,其中,V={X1,X2,…,XN,Yk},{X1,X2,…,XN,Yk}是特征-性能贝叶斯网中的所有结点;E为各特征之间、各特征与性能指标之间有向边的集合。{X1,X2,…,XN,Yk}中的结点,若存在父结点,则用一个条件概率分布量化该结点对父结点集的概率依赖关系。显然,对于每个性能指标,均有一个特征-性能贝叶斯网,也就是说,每个性能指标Yk都需要根据其数据样本集Dk,构建一个特征-性能贝叶斯网。图2是本发明中特征-性能贝叶斯网的构建流程图。如图2所示,本发明中特征-性能贝叶斯网的构建包括以下步骤:
S201:初始化贝叶斯网:
初始化一个以{X1,X2,…,XN,Yk}为结点集V、无边的图结构G=(V,E),即V={X1,X2,…,XN,Yk},初始化结点对列表列表L用于保存筛选出的结点对。
对于V={X1,X2,…,XN,Yk}中各结点的顺序,由于虚拟机的各底层环境特征之间可能存在依赖关系,例如,硬件特征的取值会影响软件特征取值,比如硬件CPU不支持硬件虚拟化扩展,则无法使用KVM作为VMM软件;软件特征的取值则会影响配置特征取值,比如,I/O设备的虚拟化方式若选择了“绕过VMM直接访问物理设备”,则虚拟机使用的虚拟硬盘类型不会选择“文件(Loop设备)”,等等,而虚拟机的各底层环境特征影响虚拟机性能。因此优选的方式是按照虚拟机的硬件特征、软件特征、配置特征、运行时环境特征顺序排列各特征结点,最后是虚拟机的性能指标结点。而对于各类型特征内部,也可以规定其结点顺序,例如硬件特征则可按照CPU特征、内存特征、I/O设备特征顺序排列。
S202:筛选结点对:
在筛选结点对时,需要计算结点间的互信息。在本发明中,由于两个特征结点可能不存在依赖关系,那么对于这些结点对,就可以直接跳过,不需要计算互信息,只有存在依赖关系的两个特征结点,才需要计算互信息,以量化其依赖程度。而对于特征结点和性能结点构成的结点对,则需要计算全部结点对的互信息。因此,本发明中筛选结点对的具体方法为:
对于由底层环境特征两两组成的结点对(Xi,Xj),首先根据步骤S101中的依赖标识rij进行判定,如果rij=0,则不作任何操作,如果rij=1,则根据以下公式计算其互信息:
其中,P(xi)和P(xj)分别表示特征Xi的取值xi、特征Xj的取值xj在数据样本集Dk中出现的概率,P(xi,xj)表示特征Xi的取值xi和特征Xj的取值xj同时在数据样本集Dk中出现的概率。
对于由底层环境特征和性能指标组成的结点对(Xi,Yk),根据以下公式计算其互信息:
其中,P(yk)表示性能指标Yk的取值yk在数据样本集Dk中出现的概率,P(xi,yk)表示特征Xi的取值xi和性能指标Yk的取值yk同时在数据样本集Dk中出现的概率。
对于存在互信息的结点对,根据阈值ε判定其是否加入结点对列表L。如果互信息大于ε,则放入结点对列表L中,否则不作任何操作。可见,阈值ε的大小决定了最终模型中能够保留何种程度的相互依赖关系,一般其取值范围为0.01≤ε≤0.05。对于列表L中所有的结点对,根据互信息的值由大到小进行排序。互信息越大,表示对应的两个结点之间的概率依赖关系越强,显然I(Xi,Yk)越大,则特征Xi对性能指标Yk的影响程度越高。
S203:添加边:
顺序检查列表L中的每一对结点,如(Xi,Xj),找出当前的G=(V,E)中的Xi和Xj的最小割集C(如果在G中Xi和Xj之间的所有路径都被结点集合C所阻塞,则C是Xi和Xj的割集。若从C中去掉任何一个结点得到的C′都不能阻塞Xi和Xj之间的所有路径,则称集合C为Xi和Xj的最小割集),利用以下公式计算结点Xi和Xj在给定最小割集C时的条件互信息I(Xi,Xj|C):
其中,P(xi,xj,c)表示特征Xi的取值xi、特征Xj的取值xj和C的取值c都在数据样本集Dk中出现的概率,P(xi,xj|c)表示在最小割集c下特征Xi的取值xi、特征Xj的取值xj在数据样本集Dk中同时出现的概率,P(xi|c)、P(xj|c)分别表示在最小割集c下特征Xi的取值xi、特征Xj的取值xj在数据样本集Dk中出现的概率。
若I(Xi,Xj|C)>ε,则把(Xi,Xj)添加到边集E中。继续检查列表L中的下一对结点,把符合要求的结点对构成的边添加到E中,直到检查完所有的结点对。
S204:去除冗余边:
依次检查边集E中的每一条边,例如(Xi,Xj),如果Xi、Xj之间除了边(Xi,Xj)之外,不存在其他路径,则继续检查下一条边;否则,将(Xi,Xj)从边集E中暂时删除,得到边集E′。找出((V,E′)中Xi和Xj的最小割集C′,利用公式(3)计算结点Xi和Xj在给定最小割集C′时的条件互信息I(Xi,Xj|C′)。若I(Xi,Xj|C′)<ε,则令E=E′,即从边集E中永久删除(Xi,Xj),否则恢复这边条(Xi,Xj)。继续检查E中的下一条边。最终得到的有向无环图G=(V,E),即为虚拟机的底层环境特征与当前性能指标的特征-性能贝叶斯网。
S205:计算结点条件概率表:
接下来为贝叶斯网中的每个结点计算其条件概率表。条件概率表是贝叶斯网的重要组成部分,对于结点Xi,其条件概率表中的每一行表示该结点Xi的一个取值对于其父结点集Pa(Xi)的一个可能取值组合的条件概率。本实施例中采用最大似然估计方法来计算条件概率表中的各个概率参数。其具体方法为:记特征-性能贝叶斯网的结点集为V={A1,A2,…,AN+1},其中A1,A2,…,AN是虚拟机底层环境特征,AN+1为性能指标,其中An在数据样本集Dk中的可能取值有Rn个,n=1,2,…,N+1。An的父亲结点集Pa(An)中所有结点的可能取值组合有Qn个,那么An的条件概率参数αnrq=P(An=r|Pa(An)=q),其中r表示An的可能取值序号,q表示An的父亲结点集Pa(An)的可能取值序号,那么可以根据以下公式计算得到条件概率参数的最大似然估计
其中,Wnrq表示数据样本集Dk中同时满足An=r和Pa(An)=q的样本数量,Wnq表示数据样本集Dk中满足Pa(An)=q的样本数量。
根据以上步骤可知,与常规的贝叶斯网的构建流程相比,本发明在筛选结点对的步骤中根据本发明所针对对象的特点进行了适应性的处理,从而简化了构建流程,降低了贝叶斯网构建的计算复杂度。
S105:度量虚拟机性能:
当在待评估的虚拟化平台配置一个虚拟机时,根据配置信息得到该虚拟机的底层环境特征的取值,然后在步骤S104得到的各个性能指标的特征-性能贝叶斯网中性能指标结点的条件概率表中,查找得到该虚拟机底层环境特征所对应的各项性能指标的最大条件概率,该最大条件概率所对应的性能指标取值即度量了虚拟机由该性能指标所衡量的性能,该虚拟机底层环境特征在性能指标结点的条件概率表中所对应的性能指标的各项可能取值表示了虚拟机性能波动的范围,所对应的性能指标各取值的概率分布反映了该虚拟机性能波动的程度。
实施例
为了更好地说明本发明的技术效果,采用一个具体的实施例对本发明进行实验验证。某虚拟化环境中,有如下配置的三台主机,需要度量该环境中虚拟机的计算性能。
主机1:Intel core i5-6600(3.3GHz),DDR4 2133 16GB内存,SATA3 500GB硬盘;
主机2:Intel core i7-6700(3.4GHz),DDR4 2133 16GB内存,SATA3 500GB硬盘;
主机3:AMD A10-7850K(3.7GHz),DDR3 1866 16GB内存,SSD 120GB硬盘。
首先提取影响虚拟机计算性能的底层环境特征:
硬件特征:CPU核心代号(取值为Skylake、Kaveri),主频(取值为3.3GHz、3.4GHz、3.7GHz),内存主频(取值为DDR4 2133MHz、DDR3 1866MHz),硬盘类型(SATA3、SSD)。
软件特征:CPU虚拟化类型(取值为全虚拟化、半虚拟化),CPU调度算法(取值为credit、credit2)。
配置特征:虚拟CPU数量(取值为1、2、3),虚拟机内存容量(取值为500MB、1000MB、2000MB),虚拟硬盘类型(取值为分区、文件)。
运行时环境特征:同时运行的虚拟机个数(取值为0、1、2、4),同时运行的虚拟机负载类型(取值为“无负载”、“计算密集”、“数据密集”、“I/O密集”、“混合”)。
在本文件中,为了简化描述,对于以上特征进行了筛选,并且每个特征仅使用较小的值域,所选用的特征包括:特征X1为CPU主频(取值为3.3,3.4),特征X2为虚拟机内存容量(取值为1000、2000),特征X3为同时运行的虚拟机个数(取值为0、1),特征X4为同时运行的虚拟机负载类型(0代表未运行负载,1代表计算密集,2代表数据密集)。为便于描述,本实施例中只选择一个性能指标,即以基准程序的运行时间离散化后作为性能指标Y。本实施例中按照硬件特征、软件特征、配置特征、运行时环境特征、性能指标的顺序排列各结点,得到结点序为X1、X2、X3、X4、Y。利用虚拟机领域常识可以判断得到:(X1,X2)、(X1,X3)、(X1,X4)、(X2,X3)和(X2,X4)等各结点对不相关,即不存在依赖关系,那么对应依赖标识为0,剩余特征对(X3,X4)的依赖标识为1。
配置不同底层环境特征组合的虚拟机,运行一组计算密集型基准测试程序,以程序运行总时间作为衡量计算性能的指标。显然,特征-性能数据样本集越大,则该性能度量结果越准确。本实施例中为了便于描述,采用16项数据样本。表1是本实施例中所获取的数据样本集。
X<sub>1</sub> | X<sub>2</sub> | X<sub>3</sub> | X<sub>4</sub> | Y | |
D<sub>1</sub> | 3.3 | 1000 | 0 | 0 | 65 |
D<sub>2</sub> | 3.3 | 1000 | 1 | 1 | 70 |
D<sub>3</sub> | 3.3 | 1000 | 1 | 2 | 65 |
D<sub>4</sub> | 3.3 | 1000 | 1 | 2 | 70 |
D<sub>5</sub> | 3.3 | 2000 | 0 | 0 | 60 |
D<sub>6</sub> | 3.3 | 2000 | 1 | 1 | 65 |
D<sub>7</sub> | 3.3 | 2000 | 1 | 1 | 60 |
D<sub>8</sub> | 3.3 | 2000 | 1 | 2 | 65 |
D<sub>9</sub> | 3.4 | 1000 | 0 | 0 | 60 |
D<sub>10</sub> | 3.4 | 1000 | 1 | 1 | 65 |
D<sub>11</sub> | 3.4 | 1000 | 1 | 2 | 65 |
D<sub>12</sub> | 3.4 | 1000 | 1 | 2 | 65 |
D<sub>13</sub> | 3.4 | 2000 | 0 | 0 | 55 |
D<sub>14</sub> | 3.4 | 2000 | 1 | 1 | 60 |
D<sub>15</sub> | 3.4 | 2000 | 1 | 1 | 55 |
D<sub>16</sub> | 3.4 | 2000 | 1 | 2 | 60 |
表1
对于由底层环境特征两两组成的结点对(Xi,Xj),首先判定其依赖标识。显然本实施例中依赖标识为1的特征对仅有(X3,X4),因此根据表1中数据可得其互信息为:
计算由底层环境特征和性能指标组成的结点对(Xi,Yk)的互信息,以结点对(X1,Y)为例,根据表1中数据可得其互信息为:
同理可得:I(X2,Y)=0.40、I(X3,Y)=0.12、I(X4,Y)=0.16。
本实施例中设置阈值ε=0.01,将互信息大于ε的结点对放入列表L中,并按照互信息值降序排列,得到L={(X3,X4),(X2,Y),(X1,Y),(X4,Y),(X3,Y)}。
顺序检查列表L中的每一对结点,如(X3,X4),在当前G=(V,E)中X3和X4的最小割集则条件互信息I(X3,X4|C)=0.81,由于I(X3,X4|C)>ε,因此,把边(X3,X4)添加到边集E中。按以上操作过程继续检查列表L中的下一对结点,依次将(X2,Y),(X1,Y),(X4,Y)添加到边集E中。当检查到(X3,Y)时,在当前G=(V,E)中X3和Y的最小割集C={X4},计算其条件互信息为:
I(X3,Y|{X4})>ε,因此,把(X3,Y)添加到边集E,L中的结点对检查完毕,得到E={(X3,X4),(X2,Y),(X1,Y),(X4,Y),(X3,Y)}。
然后顺序检查E中的每一条边,如(X3,X4),检查发现X3和X4之间不存在其他路径,则继续检查下一条边。当检查到(X3,Y)时,发现X3和Y之间还存在其他路径,则将(X3,Y)从E中暂时删除,得到E′,找出G'=(V,E')中X3和Y之的最小割集C'={X4},计算条件互信息I(X3,Y|{X4})=0.07,由于I(X3,Y|{X4})>ε,则边集E中依然保留(X3,Y)。检查完毕后,得到最终的边集,E={(X3,X4),(X2,Y),(X1,Y),(X4,Y),(X3,Y)}。当前的G=(V,E)即虚拟机特征与性能指标的贝叶斯有向无环图结构。
然后采用最大似然估计法计算各个结点的条件概率表。表2是本实施例中性能指标的条件概率表。
表2
同理可得其它结点的条件概率表。图3是本实施例得到的特征-性能贝叶斯网。如图3所示,该贝叶斯网表达了虚拟机各底层环境特征之间、各底层环境特征与性能之间的依赖关系。接下来就可以通过该贝叶斯网进行虚拟机的性能度量。
在主机1上配置一个虚拟机,则其CPU主频取值为3.3GHz,即X1=3.3,虚拟机使用2000MB内存空间,即X2=2000,该虚拟机独立在主机1上运行,即X3=0、X4=0,则查结点Y的条件概率表,当X1=3.3,X2=2000,X3=0、X4=0时,找到P(Y|X1,X2,X3,X4)中最大的条件概率,得到P(Y=60|X1=3.3,X2=2000,X3=0,X4=0)=1.0,则以基准测试程序运行时间作为性能指标,度量该虚拟机的性能为60。
类似的,在主机2上配置一个虚拟机,配置X1=3.4,X2=2000,X3=1、X4=1时,结点Y的条件概率表中有P(Y=55|X1=3.4,X2=2000,X3=1,X4=1)=0.5,P(Y=60|X1=3.4,X2=2000,X3=1,X4=1)=0.5。因此,以基准测试程序运行时间作为性能指标,度量该虚拟机的性能,其性能以50%与50%的概率在{55,60}波动。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
Claims (3)
1.一种基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法,其特征在于,包括以下步骤:
S1:根据待评估的虚拟化平台中具体的软硬件配置,从硬件特征、软件特征、配置特征、运行时环境特征四个方面提取影响虚拟机性能的底层环境特征,记所提取到的底层环境特征数量为N,当可判定两个底层环境特征Xi和Xj之间不存在依赖关系,则记其依赖标识rij=0,否则rij=1,其中i=1,2,…,N,j=1,2,…,N,i≠j;
S2:根据需要确定需要度量的性能指标Yk,k=1,2,…,K,K表示性能指标数量;
S3:根据步骤S1中各项底层环境特征的取值,在待评估的虚拟化平台中配置不同底层环境特征组合的虚拟机,然后根据待评估的虚拟化环境中待部署的主要应用类型选择一组基准测试程序,在各个虚拟机上运行基准测试程序,记录步骤S2中所确定的对应性能指标的数值,从而得到每个性能指标Yk所对应的由一系列虚拟机的特征-性能数据(x1,x2,…,xN,yk)构成的数据样本集Dk,其中xi表示底层环境特征Xi的取值,yk表示性能指标Yk的值;
S4:对于底层环境特征与每个性能指标Yk的组合,根据其数据样本集Dk,建立对应的特征-性能贝叶斯网,并且计算得到各个结点的条件概率表;建立特征-性能贝叶斯网的方法为:
初始化一个以{X1,X2,…,XN,Yk}为结点集V、无边的图结构G=(V,E),即V={X1,X2,…,XN,Yk},初始化结点对列表
对于由底层环境特征两两组成的结点对(Xi,Xj),首先根据步骤S1中的依赖标识rij进行判定,如果rij=0,则不作任何操作,否则计算其互信息;计算由底层环境特征和性能指标组成的结点对(Xi,Yk)的互信息;对于存在互信息的结点对,如果互信息大于阈值ε,则放入结点对列表L中,否则不作任何操作;对于列表L中所有的结点对,根据互信息的值由大到小进行排序;
根据结点对列表L中的结点对添加边并去除冗余边,得到特征-性能贝叶斯网,为每个结点计算其条件概率表;
S5:当在待评估的虚拟化平台配置一个虚拟机时,根据配置信息得到该虚拟机的底层环境特征的取值,然后在步骤S4得到的各个性能指标的特征-性能贝叶斯网性能指标结点的条件概率表中,查找得到该虚拟机底层环境特征所对应的各项性能指标的最大条件概率,该最大条件概率所对应的性能指标取值即度量了虚拟机由该性能指标所衡量的性能,该虚拟机底层环境特征在性能指标结点的条件概率表中所对应的性能指标的各项取值表示了虚拟机性能波动的范围,所对应的性能指标各取值的概率分布反映了该虚拟机性能波动的程度。
2.根据权利要求1所述的虚拟机底层环境特征分析与性能度量方法,其特征在于,所述步骤S4中图结构G=(V,E)初始化时,将V={X1,X2,…,XN,Yk}中各结点按照虚拟机的硬件特征、软件特征、配置特征、运行时环境特征、性能指标的顺序排列。
3.根据权利要求1所述的虚拟机底层环境特征分析与性能度量方法,其特征在于,所述步骤S4中阈值ε的取值范围为0.01≤ε≤0.05。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610956901.7A CN106484496B (zh) | 2016-10-28 | 2016-10-28 | 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610956901.7A CN106484496B (zh) | 2016-10-28 | 2016-10-28 | 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106484496A CN106484496A (zh) | 2017-03-08 |
CN106484496B true CN106484496B (zh) | 2019-08-20 |
Family
ID=58271759
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610956901.7A Expired - Fee Related CN106484496B (zh) | 2016-10-28 | 2016-10-28 | 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106484496B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108037979B (zh) * | 2017-12-26 | 2021-07-13 | 云南大学 | 基于含隐变量贝叶斯网的虚拟机性能下降评估方法 |
CN110209577A (zh) * | 2019-05-20 | 2019-09-06 | 深圳壹账通智能科技有限公司 | 一种测试方法及装置 |
CN112882917B (zh) * | 2021-03-17 | 2023-05-12 | 云南师范大学 | 一种基于贝叶斯网络迁移的虚拟机服务质量动态预测方法 |
CN115061775B (zh) * | 2022-05-26 | 2024-06-04 | 上海交通大学 | 基于公有云的应用程序协同配置***、方法及设备 |
CN117057486B (zh) * | 2023-10-11 | 2023-12-22 | 云南电投绿能科技有限公司 | 电力***的运维成本预测方法、装置、设备及存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843385A (zh) * | 2012-09-24 | 2012-12-26 | 东南大学 | 一种用于云计算环境中防范旁路攻击虚拟机的方法 |
CN104102875A (zh) * | 2014-07-22 | 2014-10-15 | 河海大学 | 基于加权朴素贝叶斯分类器的软件服务质量监控方法及*** |
CN104618406A (zh) * | 2013-11-05 | 2015-05-13 | 镇江华扬信息科技有限公司 | 一种基于朴素贝叶斯分类的负载均衡算法 |
CN105320559A (zh) * | 2014-07-30 | 2016-02-10 | ***通信集团广东有限公司 | 一种云计算***的调度方法和装置 |
-
2016
- 2016-10-28 CN CN201610956901.7A patent/CN106484496B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102843385A (zh) * | 2012-09-24 | 2012-12-26 | 东南大学 | 一种用于云计算环境中防范旁路攻击虚拟机的方法 |
CN104618406A (zh) * | 2013-11-05 | 2015-05-13 | 镇江华扬信息科技有限公司 | 一种基于朴素贝叶斯分类的负载均衡算法 |
CN104102875A (zh) * | 2014-07-22 | 2014-10-15 | 河海大学 | 基于加权朴素贝叶斯分类器的软件服务质量监控方法及*** |
CN105320559A (zh) * | 2014-07-30 | 2016-02-10 | ***通信集团广东有限公司 | 一种云计算***的调度方法和装置 |
Non-Patent Citations (2)
Title |
---|
A Novel Artificial Bee Colony Approach of Live Virtual Machine Migration Policy Using Bayes Theorem;Gaochao Xu等;《The Scientific World Journal》;20131209;正文第1-13页 |
面向IaaS的虚拟机异常检测***研究;任涛;《中国优秀硕士学位论文全文数据库》;20150115;正文第1-48页 |
Also Published As
Publication number | Publication date |
---|---|
CN106484496A (zh) | 2017-03-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106484496B (zh) | 基于贝叶斯网的虚拟机底层环境特征分析与性能度量方法 | |
CN106897109B (zh) | 基于随机森林回归的虚拟机性能预测方法 | |
Wang et al. | Rafiki: Machine learning as an analytics service system | |
Bader et al. | Graph partitioning and graph clustering | |
Dean et al. | Ubl: Unsupervised behavior learning for predicting performance anomalies in virtualized cloud systems | |
Browne et al. | A portable programming interface for performance evaluation on modern processors | |
Chowdhury et al. | Greenoracle: Estimating software energy consumption with energy measurement corpora | |
US9454454B2 (en) | Memory leak analysis by usage trends correlation | |
US20170277553A1 (en) | Anomalous usage of resources by a process in a software defined data center | |
Sayadi et al. | Comprehensive assessment of run-time hardware-supported malware detection using general and ensemble learning | |
Kumar et al. | Software testing optimization through test suite reduction using fuzzy clustering | |
US20180046441A1 (en) | Code relatives detection | |
CN108509324B (zh) | 选择计算平台的***和方法 | |
US10754744B2 (en) | Method of estimating program speed-up in highly parallel architectures using static analysis | |
Verboven et al. | Black box scheduling for resource intensive virtual machine workloads with interference models | |
Xi et al. | Characterization of real workloads of web search engines | |
Patros et al. | Investigating resource interference and scaling on multitenant PaaS clouds | |
Hiebel et al. | Machine learning for fine-grained hardware prefetcher control | |
Shah et al. | Estimating the impact of external interference on application performance | |
Maliszewski et al. | The NAS benchmark kernels for single and multi-tenant cloud instances with LXC/KVM | |
Peng et al. | Virtual machine profiling for analyzing resource usage of applications | |
Orzechowski et al. | Categorization of cloud workload types with clustering | |
Cruz et al. | A sharing-aware memory management unit for online mapping in multi-core architectures | |
Li et al. | A method to identify spark important parameters based on machine learning | |
Iosup et al. | Towards benchmarking IaaS and PaaS clouds for graph analytics |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | 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 | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20190820 |