CN106897109A - 基于随机森林回归的虚拟机性能预测方法 - Google Patents

基于随机森林回归的虚拟机性能预测方法 Download PDF

Info

Publication number
CN106897109A
CN106897109A CN201710075720.8A CN201710075720A CN106897109A CN 106897109 A CN106897109 A CN 106897109A CN 201710075720 A CN201710075720 A CN 201710075720A CN 106897109 A CN106897109 A CN 106897109A
Authority
CN
China
Prior art keywords
virtual machine
performance
feature
node
value
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
CN201710075720.8A
Other languages
English (en)
Other versions
CN106897109B (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.)
Yunnan University YNU
Original Assignee
Yunnan University YNU
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 Yunnan University YNU filed Critical Yunnan University YNU
Priority to CN201710075720.8A priority Critical patent/CN106897109B/zh
Publication of CN106897109A publication Critical patent/CN106897109A/zh
Application granted granted Critical
Publication of CN106897109B publication Critical patent/CN106897109B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于随机森林回归的虚拟机性能预测方法,根据待预测的虚拟化环境的资源特点,从底层硬件特征、虚拟机软件特征、虚拟机资源配置特征、虚拟机运行时环境特征四个方面提取可能影响虚拟机性能的特征,配置不同虚拟机性能特征组合的虚拟机,通过运行基准测试程序来获取所需的性能指标值,获得数据样本集;根据数据样本集构建随机森林回归模型,采用随机森林回归模型对特定虚拟机性能特征配置的虚拟机进行性能预测。本发明采用随机森林回归模型来描述虚拟机性能特征与性能指标间的关系,从而有效预测特定配置下的虚拟机性能。

Description

基于随机森林回归的虚拟机性能预测方法
技术领域
本发明属于云计算技术领域,更为具体地讲,涉及一种基于随机森林回归的虚拟机性能预测方法。
背景技术
云计算服务的基础设施即服务模式,支持用户以虚拟机的形式按需租用具有一定级别计算能力的计算资源,用户按资源的性能和租用时间缴付租金,当用户需要租赁一个虚拟机时,需要选择一个资源提供商,并选择一种特定配置的虚拟机,这时,虚拟机的性能是影响决策的一个重要因素。因此,如何准确地评估虚拟机的性能成为一个关键问题。影响虚拟机性能的因素主要包括三类:一是虚拟化平台的软硬件参数及虚拟机配置等确定性的因素,如CPU微架构和主频、内存类型、硬盘类型、虚拟机监控器(Virtual MachineMonitor,VMM)类型、虚拟机的虚拟CPU(VCPU)个数、内存容量、I/O带宽等参数的取值等都会影响虚拟机性能;二是虚拟机运行时环境中的可变性因素,如多个虚拟机竞争底层资源会对虚拟机性能带来不确定性的影响;三是虚拟机上运行的应用的资源访问偏好因素,如分别运行内存密集或I/O密集的两类应用时,同一个虚拟机可能表现出不同的性能水平。当给定一个虚拟机的软硬件配置特征及运行时环境特征时,如果能较为准确地预测该虚拟机运行特定类型应用时的性能,可以帮助用户选择合适的虚拟机,并指导资源提供方优化虚拟机部署和资源分配。
目前的虚拟机性能评估研究主要从虚拟机在不同方面的性能表现来整体评估虚拟机性能。吕庆翰(<华南理工大学硕士论文>,2015)提出了一种基于模糊层次分析法和离差最大化方法的综合测评模型,将综合性能分为功能层和指标层,功能层中各要素的权重用模糊层次分析法进行分析;指标层的各要素的权重采用基于离差最大化方法来计算,从而根据各指标的评测结果来计算相同配置下虚拟机相对于物理机的综合性能百分比。车建华(<浙江大学博士论文>,2010)提出一种多粒度性能组合测试思想,将虚拟机的性能分为宏观性能、微观性能两种粒度,以黑盒方式测试虚拟机的宏观性能和微观性能;以白盒方式分析在两种粒度下的性能数据以刻画相应的性能特征;通过关联各种粒度的性能特征,鉴别虚拟机的性能瓶颈。这一类工作主要考查VMM层次为实现虚拟化引入的性能开销。
目前的虚拟机性能建模研究主要应用负载特征或部分硬件特征与性能的关系建模。余勇(<计算机科学>,2016)提出了两个负载类型相关的性能模型:通过分析Xen虚拟机系统处理网络I/O操作的CPU消耗规律,建立了CPU核共享和CPU核隔离两种情况下的普通虚拟机网络I/O操作请求次数计算模型;通过分析多个虚拟机并行执行计算密集型负载的平均性能与一个相同配置的虚拟机执行同样负载的性能之间的关系,建立了并行执行计算密集型负载的虚拟机平均性能分析模型。黎丰泽(<计算机系统应用>,2015)分析了影响虚拟机应用性能的关键参数,通过奇异值分解的特征拓展及非线性模型对运行于同一物理资源池上的虚拟机应用性能进行建模。以上对虚拟机上不同负载性能建模的研究主要考虑CPU、内存、网络等确定性的因素对虚拟机性能的影响,未考虑CPU微架构、VCPU与CPU核心的绑定方式、多虚拟机上同时运行的其他类型的负载对资源的竞争等因素对虚拟机性能的影响。
目前的虚拟机性能预测的相关研究通过构建资源配置与虚拟机性能的关系模型来预测某一资源配置下的虚拟机性能。如贝振东等“一种云计算系统中虚拟机的性能预测方法及系统”(发明专利,2015年4月22日公开,公开号为CN104536829A的中国发明专利申请),提出了一种虚拟机性能预测方法,其虚拟机监控模块根据预设的资源配置标准,随机地改变虚拟机的资源配置,将每一种资源配置下的云计算系统响应时间和当前为虚拟机配置的资源集合合并生成向量,将一组资源配置生成的向量作为输入,使用支持向量机算法根据输入的向量生成性能预测模型,用来预测在任一资源配置下的云计算系统的响应时间。所设置的资源配置标准涉及内存、CPU、网络带宽等三种资源,包括每台虚拟机的最低资源耗费量及每台物理主机的资源容量。但是以上研究未涉及虚拟机运行时环境中其他虚拟机上的负载对其性能的影响。
影响虚拟机性能的特征有多个,各个特征之间的关系复杂且呈非线性,并且不同的应用性能对特征取值变化的敏感程度不同,传统的统计方法在分析这些数据时遭到挑战,尤其是广义线性模型,对于特征之间的复杂关系无法得出比较精确的回归模型,且模型的普适性不好。
发明内容
本发明的目的在于克服现有技术的不足,提供一种基于随机森林回归的虚拟机性能预测方法,采用随机森林回归模型来描述虚拟机性能特征与性能指标间的关系,从而有效预测特定配置下的虚拟机性能。
为实现上述发明目的,本发明基于随机森林回归的虚拟机性能预测方法包括以下步骤:
S1:根据待预测的虚拟化环境的资源特点,从底层硬件特征、虚拟机软件特征、虚拟机资源配置特征、虚拟机运行时环境特征四个方面提取可能影响虚拟机性能的特征,记所提取到的虚拟机性能特征数量为F;
S2:根据步骤S1中各虚拟机性能特征的可能取值,配置得到一组不同虚拟机性能特征组合的虚拟机,记虚拟机数量为N;根据虚拟机上待运行的应用类型选取一组基准测试程序,分别在每一台虚拟机上运行基准测试程序,记录预设的性能指标的数值,得到由N台虚拟机的数据Dn=(Xn,Yn)构成的数据样本集D,其中Xn=(xn,1,xn,2,…,xn,F)表示第n台虚拟机的虚拟机性能特征,xn,i表示第n台虚拟机中第i个虚拟机性能特征xi的取值,Yn表示第n台虚拟机Xn对应的性能指标值,i=1,2,…,F,n=1,2,…,N;
S3:根据步骤S2得到的数据样本集D构建随机森林回归模型,其具体方法为:
S3.1:令决策树序号t=1;
S3.2:从步骤S2得到的数据样本集D中,采用Bootstrap方法有放回地多次随机采样,抽取γ×N个数据样本作为第t棵决策树的训练集S(t),γ的取值范围为0<γ≤1;
S3.3:令决策树深度d=1,将S(t)作为根节点的样本集合,根节点对应的性能指标值为根节点样本集合中所有样本的性能指标平均值;
S3.4:如果第t棵决策树的深度d=Td,Td表示决策树深度最大值,本决策树训练完毕,进入步骤S3.8,否则进入步骤S3.5;
S3.5:对第d层的每个节点,依次按照以下方法进行节点切分:
记节点的样本集合为S,如果样本集合中的样本数目小于预设阈值TS,则本节点作为叶子节点,不再切分,否则从F维虚拟机性能特征中无放回地随机选取f维特征构成集合P,f的取值范围为1≤f≤F;对于虚拟机性能特征集合P中的每个特征xj,分别选取K个切分点λj(k),k=1,2,…,K,K表示切分点数量;根据如下公式计算出节点样本集合S中以特征xj和切分点λj(k)进行切分时的加权方差M(j,k):
其中,R1(j,k)表示节点样本集合S中切分特征xj的取值小于等于λj(k)的样本集合,R2(j,k)表示节点样本集合S中切分特征xj的取值大于λj(k)的样本集合,Q1和Q2分别表示R1(j,k)和R2(j,k)中样本数量,c1和c2分别表示R1(j,k)和R2(j,k)中所有样本的性能指标平均值;
筛选出最小加权方差,如果最小加权方差小于设定的最小切分阈值Tλ,则本节点作为叶子节点,不再切分,否则选择最小加权方差对应的特征和切分点作为本节点的切分特征和切分点,将节点样本集合S中切分特征的取值小于等于的样本划分至左子节点,大于的样本划分至右子节点,子节点对应的性能指标值为子节点样本集合中所有样本的性能指标平均值;
S3.6:如果第d层的每个节点均为叶子节点,本决策树训练完毕,进入步骤S3.8,否则进入步骤S3.7;
S3.7:令d=d+1,返回步骤S3.4;
S3.8:如果t<Tt,Tt表示随机森林回归模型中决策树的数量,进入步骤S3.9,否则随机森林回归模型构建完毕;
S3.9:令t=t+1,返回步骤3.2;
S4:对于待预测性能的虚拟机X′=(x′1,x′2,…,x′F),分别采用随机森林回归模型中的Tt个决策树预测得到Tt个性能预测值,平均后得到该虚拟机的性能预测值,每个决策树预测的方法为:将虚拟机X′的性能特征矢量(x′1,x′2,…,x′F)输入决策树的根节点,根据该节点的切分特征和切分点将虚拟机X′划分入相应子节点,以此类推直到到达某个叶子节点,以该叶子节点对应的性能指标值作为采用该决策树得到的性能预测值。
本发明基于随机森林回归的虚拟机性能预测方法,根据待预测的虚拟化环境的资源特点,从底层硬件特征、虚拟机软件特征、虚拟机资源配置特征、虚拟机运行时环境特征四个方面提取可能影响虚拟机性能的特征,配置不同虚拟机性能特征组合的虚拟机,通过运行基准测试程序来获取所需的性能指标值,获得数据样本集;根据数据样本集构建随机森林回归模型,采用随机森林回归模型对特定虚拟机性能特征配置的虚拟机进行性能预测。本发明采用随机森林回归模型来描述虚拟机性能特征与性能指标间的关系,从而有效预测特定配置下的虚拟机性能。
附图说明
图1是本发明基于随机森林回归的虚拟机性能预测方法的具体实施方式流程图;
图2是本发明中构建用于预测虚拟机性能的随机森林回归模型的流程图;
图3是本实施例中第1棵决策树示意图。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
图1是本发明基于随机森林回归的虚拟机性能预测方法的具体实施方式流程图。如图1所示,本发明基于随机森林回归的虚拟机性能预测方法的具体步骤包括:
S101:选取虚拟机性能特征:
根据待预测的虚拟化环境的资源特点,从底层硬件特征、虚拟机软件特征、虚拟机资源配置特征、虚拟机运行时环境特征四个方面提取可能影响虚拟机性能的特征,记所提取到的虚拟机性能特征数量为F。
根据目前的虚拟化环境,底层硬件特征可能包括物理CPU微架构,如IntelSkylake和AMD Steamroller;内存的容量和主频;硬盘的类型,如SATA和SSD;网络的带宽等。虚拟机软件特征可能包括采用的VMM软件,如Xen,VMware,KVM;CPU的虚拟化方式,包括半虚拟化与全虚拟化方式;I/O设备的虚拟化方式,包括半虚拟化、软件模拟、直接访问;虚拟化平台选取的调度算法,包括credit,credit2,sedf,rtds等调度算法。虚拟机资源配置特征可能包括虚拟机配置的VCPU个数;每个VCPU是否绑定到固定的核心,不同的绑定方式对虚拟机性能影响不同;虚拟机使用的内存容量;虚拟机使用的虚拟机硬盘的类型,如物理分区、LVM逻辑卷;虚拟机可使用的网络带宽等。虚拟机运行时环境特征可能包括:运行时是单个虚拟机运行还是多个虚拟机同时运行,多虚拟机同时运行对资源的竞争会对虚拟机性能造成影响;若存在多个虚拟机同时运行,干扰虚拟机的负载类型也会对待预测虚拟机的性能有影响;多主机之间调整虚拟机部署的频繁程度和持续的时间等。在实际应用中,可以根据待预测的虚拟化环境的资源特点从以上特征中进行虚拟机性能特征选取。
S102:评测虚拟机性能:
根据步骤S101中选取的各虚拟机性能特征的可能取值,配置得到一组不同虚拟机性能特征组合的虚拟机,记虚拟机数量为N。也就是说,这N台虚拟机的性能特征要包含步骤S101中选取的所有虚拟机性能特征,并且每个性能特征在这N台虚拟机的取值在该性能特征的值域范围内均匀分布,最理想的情况是每个可能取值均覆盖到,这样可以使最终的预测结果准确率更高。当值域范围连续或者较大时,可以均匀选取一组离散的取值。在实际应用中可以根据需要来确定。
根据虚拟机上待运行的应用类型选取一组基准测试程序,分别在每一台虚拟机上运行基准测试程序,记录预设的性能指标Y的数值,得到由N台虚拟机的特征-性能数据Dn=(Xn,Yn)构成的数据样本集D,其中Xn=(xn,1,xn,2,…,xn,F)表示第n台虚拟机的虚拟机性能特征,xn,i表示第n台虚拟机中第i个虚拟机性能特征xi的取值,Yn表示第n台虚拟机Xn对应的性能指标值,i=1,2,…,F,n=1,2,…,N。
在实际应用中,需要根据虚拟机上待运行的应用类型选取基准测试工具,如Parsec基准测试工具,是一个多线程应用程序组成的测试程序集,SPEC2006是一个CPU密集型基准测试工具,包含了针对整型计算和浮点型计算的数十个基准测试程序,Parsec和SPEC2006均以基准测试的执行时间来体现被测虚拟机的性能;Bonnie++以文件系统的按块读写、按字符读写等的吞吐率和延迟体现硬盘I/O的性能。
S103:构建随机森林回归模型:
随机森林回归算法是Breiman提出的基于决策树分类器的融合算法,其基本思想是基于统计学理论、利用Bootstrap重抽样方法从原始样本中抽取多个样本。Bootstrap过程是从实际观测到的含有N个观察单位的数据集中有放回地随机抽取S个组成一个新样本,该样本称之为Bootstrap样本。对每个Bootstrap样本构建决策树,将所有决策树预测平均值作为最终预测结果。随机森林回归可以看成是由很多弱分类器集成的强预测器。随机森林回归算法近年来被广泛应用于多个领域,然而,将随机森林回归算法用于虚拟机性能预测方面的方法还未见报道。随机森林算法能够处理非线性关系、高维度的数据,并且不需要做特征选择,对数据集的适应能力强,既能处理连续型数据也能处理离散型数据。随机森林回归算法在训练过程中还可以得到变量的重要性排序,对特征作为切分特征的次数进行统计,用特征作为切分特征的频度表明它的重要性程度,频度越高说明该特征越重要。经研究发现,采用随机森林回归算法对虚拟机的性能数据进行建模,便于提取出影响虚拟机性能的关键特征并进一步精简模型。
在本发明中,用于预测虚拟机性能的随机森林回归模型是基于步骤S102获取的数据样本集来构建的。图2是本发明中构建用于预测虚拟机性能的随机森林回归模型的流程图。如图2所示,构建随机森林回归模型的具体步骤包括:
S201:令决策树序号t=1。
S202:抽取单棵决策树训练集:
从步骤S102得到的数据样本集D中,采用Bootstrap方法有放回地多次随机采样,抽取γ×N个数据样本作为第t棵决策树的训练集S(t),γ的取值范围为0<γ≤1,可以根据实际需要来设置。
S203:确定根节点:
令决策树深度d=1,将S(t)作为根节点的样本集合,根节点对应的性能指标值为根节点样本集合中所有样本的性能指标平均值,即根节点性能指标值|S(t)|表示S(t)中样本数量。
S204:判断是否第t棵决策树的深度d=Td,Td表示决策树深度最大值,如果是,本决策树训练完毕,进入步骤S208,否则进入步骤S205。
S205:节点切分:
对第d层的每个节点,依次按照以下方法进行节点切分:
记节点的样本集合为S,如果样本集合中的样本数目小于预设阈值TS,则本节点作为叶子节点,不再切分,否则从F维虚拟机性能特征中无放回地随机选取f维特征构成集合P,f的取值范围为1≤f≤F,根据实际需要进行设置。一般地,在回归模型中,f的取值为F的1/3。对于虚拟机性能特征集合P中的每个特征xj,即xj∈P,分别选取K个切分点λj(k),k=1,2,…,K,K表示切分点数量,根据实际需要进行设置,K个切分点一般在特征xj的取值范围内随机选取。计算出节点样本集合S以不同特征xj和切分点λj(k)进行切分时的加权方差,筛选出最小加权方差,如果最小加权方差小于设定的最小切分阈值Tλ(通常取Tλ≤0.01),则本节点作为叶子节点,不再切分,否则选择最小加权方差对应的特征和切分点作为本节点的切分特征和切分点,将节点样本集合S中切分特征的取值小于等于的样本划分至左子节点,大于的样本划分至右子节点,子节点对应的性能指标值为子节点样本集合中所有样本的性能指标平均值。
节点样本集合S中以特征xj和切分点λj(k)进行切分时的加权方差计算的具体过程如下:记节点样本集合S以特征xj和切分点λj(k)进行切分时得到的两个样本集合为R1(j,k)和R2(j,k),R1(j,k)表示节点样本集合S中切分特征xj的取值小于等于λj(k)的样本集合,R2(j,k)表示节点样本集合S中切分特征xj的取值大于λj(k)的样本集合,其表达式为:
R1(j,k)={(Xn,Yn)|xn,j≤λj(k)},
R2(j,k)={(Xn,Yn)|xn,j>λj(k)}
记R1(j,k)和R2(j,k)中样本数量分别为Q1和Q2,分别计算R1(j,k)和R2(j,k)中所有样本的性能指标平均值c1和c2,其计算公式为:
那么节点样本集合S中以特征xj和切分点λj(k)进行切分时的加权方差M(j,k)的计算公式为:
由于本发明中每个特征xj会采用K个切分点进行切分,因此对于每个特征可以筛选得到一个最小加权方差,然后对于虚拟机性能特征集合P中的每个特征xj,可以筛选得到所有特征中的最小加权方差,即min{M(j,k)},采用该最小加权方差对应的特征和切分点用于对本节点进行切分。划分得到的左、右子节点的性能指标值 表示节点样本集合S中切分特征的取值小于等于的样本集合,表示节点样本集合S中切分特征的取值大于的样本集合。
S206:判断是否第d层的每个节点均为叶子节点,如果是,本决策树训练完毕,进入步骤S208,否则进入步骤S207。
S207:令d=d+1,返回步骤S204。
S208:判断是否t<Tt,Tt表示随机森林回归模型中决策树的数量,根据实际需要确定,如果是,进入步骤S209,否则随机森林回归模型构建完毕。
S209:令t=t+1,返回步骤S202。
S104:虚拟机性能预测:
根据步骤S103得到的随机森林回归模型,把各特征变量取值代入回归模型就可以预测得到该配置下的虚拟机性能。
对于待预测性能的虚拟机X′=(x′1,x′2,…,x′F),分别采用随机森林回归模型中的Tt个决策树预测得到Tt个性能预测值,平均后得到该虚拟机的性能预测值,每个决策树预测的方法为:将虚拟机X′性能特征矢量(x′1,x′2,…,x′F)输入决策树的根节点,根据该节点的切分特征和切分点将虚拟机X′划分入相应子节点,即虚拟机X′性能特征中切分特征取值小于等于切分点即划分入左子树,大于切分点即划分入右子树,以此类推直到到达某个叶子节点,以该叶子节点对应的性能指标值作为采用该决策树得到的性能预测值。
实施例
为了更好地说明本发明的技术效果,采用一个具体的实施例对本发明进行实验验证。某虚拟化环境中,有如下配置的2台主机,其上均运行Xen:
主机1:Intel Core i5-6600,DDR4 2133 16GB内存,西部数据SATA3 500GB硬盘;
主机2:AMD A10-7850K,DDR3 1866 16GB内存,金泰克SSD 100GB硬盘。
本实施例中可能影响虚拟机性能的特征包括:
底层硬件特征:
1.CPU微架构:取值为Skylake、Steamroller;
2.主频:取值为3.3GHz、3.6GHz;
3.内存主频:取值为DDR4 2133MHz、DDR3 1866MHz;
4.硬盘类型:取值为SATA3、SSD;
虚拟机软件特征:
1.虚拟机调度算法:默认的调度算法为credit,可变调度算法为credit2、sedf,依次可取值为1、2、3;
虚拟机配置特征:
1.虚拟VCPU数量:取值为1、2、……;
2.虚拟机内存容量:在主机可用内存范围之内;
3.VCPU是否绑定到特定的CPU核心:若绑定取值为1,没有绑定取值为0;
虚拟机运行时环境特征:
1、同时运行多个虚拟机:若同时运行多个虚拟机取值为1,单独运行一个虚拟机无其他虚拟机干扰取值为0;
2、其他虚拟机的负载应用类型:如计算密集型应用取值为1,数据密集型应用取值为2,I/O密集型应用取值为3。
在每台主机上分别配置一组虚拟机。为了简化描述,本实施例对于以上虚拟机性能特征进行了筛选,并且每个虚拟机性能特征仅使用较小的值域,所选用的特征包括:特征变量x1表示VCPU的个数,取值为1、2、3、4;特征变量x2表示内存的大小,取值为450~700MB;特征变量x3表示CPU的主频,主频3.3GHZ取值为3.3,主频3.6GHZ取值为3.6;特征变量x4表示虚拟机运行环境,多虚拟机同时运行取值为1,单个虚拟机运行取值为0;特征变量x5表示VCPU和CPU核心绑定的情况,VCPU绑定到固定的CPU核心取值为1,未绑定取值为0。
建立随机森林回归模型的训练数据集的虚拟机配置通过以下过程得到:在每个特征变量的值域范围内对该特征变量随机选取一个值,组合在5个特征变量上的取值作为一个虚拟机配置,多次取值可以得到一组虚拟机配置。其中,内存在其值域范围内等间距的取几个点,其他特征尽可能取到值域范围中的所有取值。表1是本实施例中用于训练数据集的各台虚拟机的虚拟机性能特征取值情况。
配置编号
1 500 3.3 1 0
1 600 3.3 1 0
2 500 3.3 1 1
2 700 3.3 1 1
1 550 3.6 0 0
3 450 3.6 0 0
4 600 3.6 0 0
2 500 3.6 0 1
1 650 3.3 1 1
2 700 3.3 1 0
3 450 3.3 1 1
4 500 3.3 0 1
3 550 3.6 0 1
2 600 3.6 1 0
1 650 3.6 0 0
4 700 3.3 1 0
表1
以前两台虚拟机为例,其虚拟机性能特征取值情况如下:
虚拟机T1:1个VCPU,500MB内存,CPU主频为3.3GHZ,放置该虚拟机的物理主机上有其他虚拟机同时运行,VCPU未绑定;
虚拟机T2:1个VCPU,600MB内存,CPU主频为3.3GHZ,放置该虚拟机的物理主机上有其他虚拟机同时运行,VCPU未绑定。
依次在这一组虚拟机上运行衡量计算性能的基准测试程序,运行SPEC2006的一个基准测试程序,在本实施例中选取SPEC2006的429.mcf测试程序,以该测试程序的运行时间作为衡量计算性能的指标,每台虚拟机测试一次,得到该组虚拟机的性能测试数据。表2是本实施例中数据样本集中部分数据列表。
1 500 3.3 1 0 1
1 600 3.3 1 0 1.5
2 500 3.3 1 1 2
2 700 3.3 1 1 2
1 550 3.6 0 0 1
3 450 3.6 0 0 3
4 600 3.6 0 0 1
2 500 3.6 0 1 1
表2
接下来需要构建虚拟机性能数据的本实施例中随机森林回归模型。本实施例中设置随机森林回归模型中决策树的数量为10,决策树深度为3,切分点数量为1,单棵决策树训练集中的样本数量为5。本实施例中虚拟机性能特征数量为5,那么令生成决策树时虚拟机性能特征集合P中特征数量 表示上取整。
从数据样本集中有放回地多次随机采样,抽取样本数目大小为5的训练集。对于第一棵决策树,先抽取样本T1,抽取记录完成后放回,接着抽到的样本为T5,T4,T8,T3,得到第一棵决策树的训练集S(1)={T1,T5,T4,T8,T3}。表3是训练集S(1)样本列表。
1 500 3.3 1 0 1
1 550 3.3 0 0 1
2 700 3.3 1 1 2
2 500 3.6 0 1 1
2 500 3.3 1 1 2
表3
令第1棵决策树的根节点为S(1),从5维虚拟机性能特征中无放回地随机抽取2维特征,假设为特征x1和x2,计算这两维特征对应的加权方差。
当选择特征x1作为切分特征,随机选取1个切分点为1,将训练集S(1)中的样本分为在特征x1上的值小于等于1和大于1两个区域,计算特征x1取值小于等于1的样本的性能指标值Yn的平均值为(2×1)/2=1,方差为((1-1)2+(1-1)2)/2=0,计算特征x1取值大于1的样本的性能指标值Yn的平均值(1×1+2×2)/3=5/3,方差为((2-5/3)2+(2-5/3)2+(1-5/3)2)/3=2/9。那么将以特征x1和切分点1切分进行切分时的加权方差(2/5)×0+(3/5)×(2/9)=0.133。
同理,当选择特征x2作为切分特征,随机选取1个切分点为550,计算得到加权方差(4/5)×(3/16)+(1/5)×0=0.15。
比较特征x1和x2的加权方差,特征x1的加权方差最小,所以选取特征x1作为切分特征,切分点为1,之后将根节点样本集合中第1维特征小于等于1的样本划分到左子节点,大于1的样本被划分到右子节点,再对左、右子节点继续进行切分,直到所有节点都训练过或者被标记为叶子节点。图3是本实施例中第1棵决策树示意图。如图3所示,本实施例中第1棵决策树有3层,存在3个叶子节点,每个节点上所标注的值即为该节点对应的性能指标值。按照以上方法再生成9棵决策树,从而完成随机森林回归模型的构建。
在本实施例中,给定两个待预测性能的虚拟机配置特征:第一个虚拟机配置为VCPU个数为2,内存为600MB,主频为3.3GHZ,和该待预测性能虚拟机同时运行的还有一个虚拟机,即同时运行两个虚拟机待预测性能虚拟机的VCPU未绑定;第二个虚拟机配置为VCPU个数为1,内存为700MB,主频为3.6GHZ,主机上只有待预测性能的虚拟机,无其他虚拟机同时运行,VCPU绑定。可以得到第一个虚拟机的性能特征矢量X′1=(2,600,3.3,1,0),第二个虚拟机的性能特征矢量为X′2=(1,700,3.6,0,1)。
将待预测性能的虚拟机配置各特征上的特征值代入随机森林回归模型得到虚拟机性能预测值,虚拟机性能预测值由随机森林回归算法生成的10棵决策树预测值取平均值得到。对于第一个虚拟机,以第1棵决策树的预测过程为例,将特征矢量代入决策树,决策树在根节点处的切分特征是x1,切分点为1,性能特征矢量X′1在特征x1处的取值为2,大于切分点的取值,进入右子树,右子树不是叶子节点,继续决策树判断,当前节点切分特征为x3,性能特征矢量X′1在特征x3上的取值为3.3,小于等于切分点的取值3.3,进入左子树,左子树是叶子节点,以该叶子节点的输出值为预测值,即同理可得到第2棵决策树的预测值为1.4,另外有3棵决策树预测值为1.2,2棵决策树预测值为1.5,3棵决策树预测值为1.1,对所有的10棵决策树得到的虚拟机性能预测值取平均值即为该配置下的虚拟机性能预测值(2+1.4+3×1.2+2×1.5+3×1.1)/10=1.33,即第一台虚拟机的性能指标值为1.33,同理可得第二台虚拟机的性能指标值为1.92。表4是在两台虚拟机上实际运行基准测试程序得到的性能指标实测值与采用本发明得到的性能指标预测值。
实测值 预测值 误差
2 600 3.3 1 0 1.25 1.33 6.4%
1 700 3.6 0 1 1.88 1.92 2.1%
表4
如表4所示,采用本发明得到的性能指标预测值与实测值误差很小,在可接受范围内,可见本发明可以实现较为准确的虚拟机性能预测。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (2)

1.一种基于随机森林回归的虚拟机性能预测方法,其特征在于,包括以下步骤:
S1:根据待预测的虚拟化环境的资源特点,从底层硬件特征、虚拟机软件特征、虚拟机资源配置特征、虚拟机运行时环境特征四个方面提取可能影响虚拟机性能的特征,记所提取到的虚拟机性能特征数量为F;
S2:根据步骤S1中各虚拟机性能特征的可能取值,配置得到一组不同虚拟机性能特征组合的虚拟机,记虚拟机数量为N;根据虚拟机上待运行的应用类型选取一组基准测试程序,分别在每一台虚拟机上运行基准测试程序,记录预设的性能指标的数值,得到由N台虚拟机的数据Dn=(Xn,Yn)构成的数据样本集D,其中Xn=(xn,1,xn,2,…,xn,F)表示第n台虚拟机的虚拟机性能特征,xn,i表示第n台虚拟机中第i个虚拟机性能特征xi的取值,Yn表示第n台虚拟机Xn对应的性能指标值,i=1,2,…,F,n=1,2,…,N;
S3:根据步骤S2得到的数据样本集D构建随机森林回归模型,其具体方法为:
S3.1:令决策树序号t=1;
S3.2:从步骤S2得到的数据样本集D中,采用Bootstrap方法有放回地多次随机采样,抽取γ×N个数据样本作为第t棵决策树的训练集S(t),γ的取值范围为0<γ≤1;
S3.3:令决策树深度d=1,将S(t)作为根节点的样本集合,根节点对应的性能指标值为根节点样本集合中所有样本的性能指标平均值;
S3.4:如果第t棵决策树的深度d=Td,Td表示决策树深度最大值,本决策树训练完毕,进入步骤S3.8,否则进入步骤S3.5;
S3.5:对第d层的每个节点,依次按照以下方法进行节点切分:
记节点的样本集合为S,如果样本集合中的样本数目小于预设阈值TS,则本节点作为叶子节点,不再切分,否则从F维虚拟机性能特征中无放回地随机选取f维特征构成集合P,f的取值范围为1≤f≤F;对于虚拟机性能特征集合P中的每个特征xj,分别选取K个切分点λj(k),k=1,2,…,K,K表示切分点数量;根据如下公式计算出节点样本集合S中以特征xj和切分点λj(k)进行切分时的加权方差M(j,k):
M ( j , k ) = Q 1 Q 1 + Q 2 * &lsqb; 1 Q 1 &Sigma; ( X n , Y n ) &Element; R 1 ( j , k ) ( Y n - c 1 ) 2 &rsqb; + Q 2 Q 1 + Q 2 * &lsqb; 1 Q 2 &Sigma; ( X n , Y n ) &Element; R 2 ( j , k ) ( Y n - c 2 ) 2 &rsqb;
其中,R1(j,k)表示节点样本集合S中切分特征xj的取值小于等于λj(k)的样本集合,R2(j,k)表示节点样本集合S中切分特征xj的取值大于λj(k)的样本集合,Q1和Q2分别表示R1(j,k)和R2(j,k)中样本数量;
筛选出最小加权方差,如果最小加权方差小于设定的最小切分阈值Tλ,则本节点作为叶子节点,不再切分,否则选择最小加权方差对应的特征和切分点作为本节点的切分特征和切分点,将节点样本集合S中切分特征的取值小于等于的样本划分至左子节点,大于的样本划分至右子节点,子节点对应的性能指标值为子节点样本集合中所有样本的性能指标平均值;
S3.6:如果第d层的每个节点均为叶子节点,本决策树训练完毕,进入步骤S3.8,否则进入步骤S3.7;
S3.7:令d=d+1,返回步骤S3.4;
S3.8:如果t<Tt,Tt表示随机森林回归模型中决策树的数量,进入步骤S3.9,否则随机森林回归模型构建完毕;
S3.9:令t=t+1,返回步骤3.2;
S4:对于待预测性能的虚拟机X′=(x′1,x′2,…,x′F),分别采用随机森林回归模型中的Tt个决策树预测得到Tt个性能预测值,平均后得到该虚拟机的性能预测值,每个决策树预测的方法为:将虚拟机X′的性能特征矢量(x′1,x′2,…,x′F)输入决策树的根节点,根据该节点的切分特征和切分点将虚拟机X′划分入相应子节点,以此类推直到到达某个叶子节点,以该叶子节点对应的性能指标值作为采用该决策树得到的性能预测值。
2.根据权利要求1所述的虚拟机性能预测方法,其特征在于,所述步骤S3.5中最小切分阈值Tλ的取值范围为Tλ≤0.01。
CN201710075720.8A 2017-02-13 2017-02-13 基于随机森林回归的虚拟机性能预测方法 Expired - Fee Related CN106897109B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710075720.8A CN106897109B (zh) 2017-02-13 2017-02-13 基于随机森林回归的虚拟机性能预测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710075720.8A CN106897109B (zh) 2017-02-13 2017-02-13 基于随机森林回归的虚拟机性能预测方法

Publications (2)

Publication Number Publication Date
CN106897109A true CN106897109A (zh) 2017-06-27
CN106897109B CN106897109B (zh) 2020-04-14

Family

ID=59199156

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710075720.8A Expired - Fee Related CN106897109B (zh) 2017-02-13 2017-02-13 基于随机森林回归的虚拟机性能预测方法

Country Status (1)

Country Link
CN (1) CN106897109B (zh)

Cited By (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908536A (zh) * 2017-11-17 2018-04-13 华中科技大学 Cpu‑gpu异构环境中对gpu应用的性能评估方法及系统
CN108037979A (zh) * 2017-12-26 2018-05-15 云南大学 基于含隐变量贝叶斯网的虚拟机性能下降评估方法
CN108052755A (zh) * 2017-12-20 2018-05-18 中国地质大学(武汉) 基于完全随机森林的矢量空间计算强度预测方法及系统
CN108343599A (zh) * 2018-01-10 2018-07-31 中国水利水电科学研究院 一种基于多粒度级联森林的水泵机组智能故障诊断方法
CN108984269A (zh) * 2018-07-16 2018-12-11 中山大学 基于随机回归森林模型的容器资源供给方法及系统
CN109190855A (zh) * 2018-10-26 2019-01-11 国网上海市电力公司 一种基于Spark平台和并行随机森林回归算法的电力负荷预测方法
CN109271374A (zh) * 2018-10-19 2019-01-25 国网江苏省电力有限公司信息通信分公司 一种基于机器学习的数据库健康度打分方法和打分系统
CN109976916A (zh) * 2019-04-04 2019-07-05 中国联合网络通信集团有限公司 一种云资源需求判定方法及系统
CN110147919A (zh) * 2018-11-21 2019-08-20 太原理工大学 一种基于价格激励机制的公共自行车自动调度方法
CN110555713A (zh) * 2018-05-31 2019-12-10 北京京东尚科信息技术有限公司 一种确定销量预测模型的方法和装置
CN110795846A (zh) * 2019-10-29 2020-02-14 东北财经大学 边界森林模型的构建方法、面向复杂工业过程的多工况软计算模型更新方法及其应用
CN111913848A (zh) * 2020-07-24 2020-11-10 上海泛微网络科技股份有限公司 一种数据监测分析方法及相关设备
CN111931869A (zh) * 2020-09-25 2020-11-13 湖南大学 一种人机自然交互的用户注意力检测方法及系统
CN113393169A (zh) * 2021-07-13 2021-09-14 大商所飞泰测试技术有限公司 基于大数据技术的金融行业交易系统性能指标分析方法
CN113516173A (zh) * 2021-05-27 2021-10-19 江西五十铃汽车有限公司 一种基于随机森林与决策树的整车静动态干涉的测评方法
CN114091331A (zh) * 2021-11-17 2022-02-25 中山大学 一种利用气象因子模拟林木展叶期的方法及系统
CN114518988A (zh) * 2022-02-10 2022-05-20 中国光大银行股份有限公司 资源容量系统及其控制方法和计算机可读存储介质
CN116719614A (zh) * 2023-08-11 2023-09-08 中国电信股份有限公司 虚拟机监视器选择方法、装置、计算机设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407688A (zh) * 2014-10-29 2015-03-11 哈尔滨工业大学深圳研究生院 基于树回归的虚拟化云平台能耗测量方法及系统
US9547830B2 (en) * 2013-05-07 2017-01-17 Wise.Io, Inc. Scalable, memory-efficient machine learning and prediction for ensembles of decision trees for homogeneous and heterogeneous datasets

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9547830B2 (en) * 2013-05-07 2017-01-17 Wise.Io, Inc. Scalable, memory-efficient machine learning and prediction for ensembles of decision trees for homogeneous and heterogeneous datasets
CN104407688A (zh) * 2014-10-29 2015-03-11 哈尔滨工业大学深圳研究生院 基于树回归的虚拟化云平台能耗测量方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
黎丰泽等: "虚拟环境下虚拟机应用性能建模", 《计算机系统应用》 *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107908536A (zh) * 2017-11-17 2018-04-13 华中科技大学 Cpu‑gpu异构环境中对gpu应用的性能评估方法及系统
CN108052755B (zh) * 2017-12-20 2019-09-17 中国地质大学(武汉) 基于完全随机森林的矢量空间计算强度预测方法及系统
CN108052755A (zh) * 2017-12-20 2018-05-18 中国地质大学(武汉) 基于完全随机森林的矢量空间计算强度预测方法及系统
CN108037979A (zh) * 2017-12-26 2018-05-15 云南大学 基于含隐变量贝叶斯网的虚拟机性能下降评估方法
CN108037979B (zh) * 2017-12-26 2021-07-13 云南大学 基于含隐变量贝叶斯网的虚拟机性能下降评估方法
CN108343599A (zh) * 2018-01-10 2018-07-31 中国水利水电科学研究院 一种基于多粒度级联森林的水泵机组智能故障诊断方法
CN108343599B (zh) * 2018-01-10 2019-04-23 中国水利水电科学研究院 一种基于多粒度级联森林的水泵机组智能故障诊断方法
CN110555713A (zh) * 2018-05-31 2019-12-10 北京京东尚科信息技术有限公司 一种确定销量预测模型的方法和装置
CN108984269A (zh) * 2018-07-16 2018-12-11 中山大学 基于随机回归森林模型的容器资源供给方法及系统
CN108984269B (zh) * 2018-07-16 2022-06-07 中山大学 基于随机回归森林模型的容器资源供给方法及系统
CN109271374A (zh) * 2018-10-19 2019-01-25 国网江苏省电力有限公司信息通信分公司 一种基于机器学习的数据库健康度打分方法和打分系统
CN109271374B (zh) * 2018-10-19 2021-01-26 国网江苏省电力有限公司信息通信分公司 一种基于机器学习的数据库健康度打分方法和打分系统
CN109190855A (zh) * 2018-10-26 2019-01-11 国网上海市电力公司 一种基于Spark平台和并行随机森林回归算法的电力负荷预测方法
CN110147919A (zh) * 2018-11-21 2019-08-20 太原理工大学 一种基于价格激励机制的公共自行车自动调度方法
CN109976916A (zh) * 2019-04-04 2019-07-05 中国联合网络通信集团有限公司 一种云资源需求判定方法及系统
CN110795846A (zh) * 2019-10-29 2020-02-14 东北财经大学 边界森林模型的构建方法、面向复杂工业过程的多工况软计算模型更新方法及其应用
CN110795846B (zh) * 2019-10-29 2023-07-14 东北财经大学 边界森林模型的构建方法、面向复杂工业过程的多工况软计算模型更新方法及其应用
CN111913848A (zh) * 2020-07-24 2020-11-10 上海泛微网络科技股份有限公司 一种数据监测分析方法及相关设备
CN111931869B (zh) * 2020-09-25 2020-12-25 湖南大学 一种人机自然交互的用户注意力检测方法及系统
CN111931869A (zh) * 2020-09-25 2020-11-13 湖南大学 一种人机自然交互的用户注意力检测方法及系统
CN113516173A (zh) * 2021-05-27 2021-10-19 江西五十铃汽车有限公司 一种基于随机森林与决策树的整车静动态干涉的测评方法
CN113393169A (zh) * 2021-07-13 2021-09-14 大商所飞泰测试技术有限公司 基于大数据技术的金融行业交易系统性能指标分析方法
CN113393169B (zh) * 2021-07-13 2024-03-01 大商所飞泰测试技术有限公司 基于大数据技术的金融行业交易系统性能指标分析方法
CN114091331A (zh) * 2021-11-17 2022-02-25 中山大学 一种利用气象因子模拟林木展叶期的方法及系统
CN114518988A (zh) * 2022-02-10 2022-05-20 中国光大银行股份有限公司 资源容量系统及其控制方法和计算机可读存储介质
CN116719614A (zh) * 2023-08-11 2023-09-08 中国电信股份有限公司 虚拟机监视器选择方法、装置、计算机设备和存储介质

Also Published As

Publication number Publication date
CN106897109B (zh) 2020-04-14

Similar Documents

Publication Publication Date Title
CN106897109A (zh) 基于随机森林回归的虚拟机性能预测方法
CN104380260B (zh) 利用可伸缩网格计算的储层仿真
JP5961445B2 (ja) 業務成果トレードオフ・シミュレータ
CN107203774A (zh) 对数据的归属类别进行预测的方法及装置
CN104834479A (zh) 面向云平台的自动优化存储系统配置的方法及系统
Ipek et al. Efficient architectural design space exploration via predictive modeling
CN106682809A (zh) 企业bim技术应用能力量化评估方法
CN103605711B (zh) 支持向量机分类器的构造方法及装置、分类方法及装置
CN107194024B (zh) 基于支持向量机的边坡可靠性参数获取方法及装置
CN106779240A (zh) 民航市场宏观指数的预测方法及系统
CN104199870A (zh) 基于混沌搜索的ls-svm预测模型的建立方法
Omara et al. Optimum resource allocation of database in cloud computing
US20150081263A1 (en) Production simulation apparatus and production simulation method
Das et al. An online software for decision tree classification and visualization using c4. 5 algorithm (ODTC)
De Leeuw et al. Surrogate modeling of agent-based airport terminal operations
CN104408206A (zh) 分布式支持向量聚类的方法及系统
CN108037979B (zh) 基于含隐变量贝叶斯网的虚拟机性能下降评估方法
CN112184495A (zh) 存量低效土地监测系统及应用其的分析平台
CN107291722B (zh) 一种描述词的分类方法及设备
CN115081856A (zh) 一种企业知识管理绩效评价装置及方法
WO2022165152A1 (en) Constructing a statistical model and evaluating model performance
CN114549233A (zh) 基于lgb算法与arima算法相结合的流动人口预测方法
Alharby et al. Simulating permissionless blockchains: Distribution fitting, tool support, and a case study
Baughman et al. Measuring, quantifying, and predicting the cost-accuracy tradeoff
Kohashi et al. Performance prediction of massively parallel computation by Bayesian inference

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
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

Granted publication date: 20200414

CF01 Termination of patent right due to non-payment of annual fee