一种基于均衡部署的虚拟机动态整合方法

文档序号:37158021发布日期:2024-02-26 17:22阅读:13来源:国知局
一种基于均衡部署的虚拟机动态整合方法

本发明属于云计算领域,具体涉及一种基于均衡部署的虚拟机动态整合方法。


背景技术:

1、随着云计算的发展,iaas服务因其易用性和节约成本的优势而被广泛使用。iaas服务提供商建立物理机集群,并通过对物理资源的封装,将物理资源以虚拟机形式提供给用户。为保证物理机的性能,一般会对物理机资源的使用率(如内存使用率、cpu使用率等)设置一个上限阈值。用户可以对虚拟机资源进行弹性伸缩调整,以便满足部署在虚拟机上的应用的性能要求。

2、用户一般通过两种方式对虚拟机资源进行弹性伸缩调整:横向弹性伸缩和纵向弹性伸缩。横向弹性伸缩是指增加或减少虚拟机的数量,纵向弹性伸缩是指调整虚拟机分配资源的大小,如增加或减少内存的大小、cpu核数等。在进行虚拟机弹性伸缩调整时,可能会面临由于虚拟机所在物理机资源不足,从而必须进行虚拟机迁移的情况。虚拟机迁移过程中会占用物理机cpu、网络等资源,对物理机性能产生影响。为了在进行弹性伸缩调整时减少虚拟机迁移次数,有研究者提出了最小化迁移的调整策略,该策略通常会尽可能选择资源配置高的虚拟机,对其进行迁移,从而减少迁移次数。但这种迁移策略可能会产生迁移抖动问题,即某个资源配置较高的虚拟机在集群物理机之间反复进行迁移。

3、为了解决迁移抖动问题,有研究者提出通过设定允许迁移的虚拟机资源配置上限阈值,来限制高配置虚拟机迁移动作的发生,优先选择低于阈值配置的虚拟机作为迁移对象。但该方法会产生退化为最小化迁移策略或导致虚拟机迁移次数增加的问题。产生问题的原因主要是,整个物理机集群中不同配置的虚拟机部署不均衡。一般情况下,每台物理机上存在着多个具有不同资源配置的虚拟机,当不同资源配置的虚拟机占比差距过大时,比如资源配置高的虚拟机占大多数等,即为虚拟机部署不均衡。若某台物理机上部署的资源配置高的虚拟机占比较大时,会产生退化为最小化迁移策略的问题;若某台物理机上部署的资源配置低的虚拟机占比较大时,会产生虚拟机迁移次数增加的问题。

4、因此,保证虚拟机的均衡部署是避免产生上述问题的关键。在整个物理机集群运行期间,由于用户需求的改变将伴随着大量虚拟机的横向和纵向弹性伸缩调整,导致集群不可能一直保持均衡部署状态,需要定期或不定期的进行虚拟机动态整合,以便对集群中虚拟机部署位置进行动态调整,保持虚拟机的均衡部署,即基于均衡部署的虚拟机动态整合;为将处于不均衡部署状态调到均衡部署状态,需要给出一个可行的虚拟机调整方案也可称为虚拟机动态整合方案,然后按照该方案进行调整。整合方案的优劣将关系到是否能以最小的调整代价快速且稳定地将集群调整到均衡部署状态。为此,基于均衡部署的虚拟机动态整合方案的生成方法就成为虚拟机动态整合过程中的关键,从而形成了基于均衡部署的虚拟机动态整合方案生成问题。


技术实现思路

1、基于现有虚拟机动态整合方法,本发明提出了一种基于均衡部署的虚拟机动态整合方法,包括问题定义以及虚拟机动态整合方案生成。

2、一种基于均衡部署的虚拟机动态整合方法,包括:

3、基于均衡部署的虚拟机动态整合问题定义以及基于均衡部署的虚拟机动态整合方案生成过程;

4、所述基于均衡部署的虚拟机动态整合问题定义,具体包括:

5、定义物理机配置信息、定义虚拟机配置信息、定义虚拟机历史配置信息、定义基于均衡部署的虚拟机动态整合方案,并基于此定义开机物理机数量和迁移次数、定义均衡指标、定义均衡指标、定义稳定指标、将基于均衡部署的虚拟机动态整合问题,用一个多目标优化问题表示,定义优化目标和约束条件;

6、a.定义物理机配置信息(pmc,physical machine configuration)由一个三元组描述:

7、pmc=<pid,pcpu,pmem>,pid∈[1,n]

8、其中,pid表示该物理机在集群中的编号,集群中共有n台物理机,编号从1开始到n,n为正整数;pcpu表示该物理机cpu配置的核心数;pmem表示该物理机内存配置大小;

9、b.定义虚拟机配置信息(vmc,virtual machine configuration)由一个四元组描述:

10、vmc=<vid,vcpu,vmem,vcategory>,vid∈[1,m]

11、其中,vid表示该虚拟机在集群中的编号,集群中共有m台虚拟机,编号从1开始到m,m为正整数;vcpu表示该虚拟机cpu配置的核心数;vmem表示该虚拟机内存配置大小;vcategory表示该虚拟机配置所属的类别,是通过整个集群中虚拟机的配置信息聚类得到;

12、c.定义虚拟机历史配置信息(vmhc,virtual machine historicalconfiguration),虚拟机历史配置信息vmhc由一个长度为k的向量表示,k表示在历史信息中记录的时间点的数量:

13、vmhc=[hc1,hc2,…,hck]

14、vmhc表示虚拟机之前k个时间点中资源配置情况,其中,hci表示时间点i时虚拟机的资源配置情况;

15、d.定义基于均衡部署的虚拟机动态整合方案(dcp,dynamic consolidationplan)由一个m×n的矩阵表示:

16、

17、其中,dcp中一共包含m*n个dcp,每个dcp表示虚拟机在物理机上部署的情况,取值为0或1,当dcpij等于1时,表示编号为i的虚拟机部署在编号为j的物理机上;当dcpij等于0时,表示编号为i的虚拟机未部署在编号为j的物理机上;

18、开机物理机数量(nopms,number of physical machines started):表示生成的虚拟机动态整合方案dcp需要开启的物理机的数量,计算过程如公式1所示;

19、

20、迁移次数(nom,number of migration):表示集群中虚拟机由当前部署状态dcpold,变为虚拟机动态整合方案dcpnew部署状态时虚拟机发生迁移的次数;通过计算dcpold与dcpnew矩阵中元素值发生变化的数量得到,nom计算过程如公式2所示;

21、

22、e.定义均衡指标(ei,equilibrium index):表示不同资源配置类别的虚拟机在集群中部署的均衡程度;

23、熵表示事物的分散程度,采用熵的方式来表示均衡指标;用来表示集群中类别为c的虚拟机中位于物理机j的虚拟机占比,并且以下均以类别表示虚拟机的资源配置类别,如公

24、式3所示;

25、

26、其中,表示编号为i的虚拟机的类别为c;表示在编号为j的物理机上c类虚拟机的数量;表示整个物理机集群中c类虚拟机的数量;因此,表示编号为j的物理机上类别为c的虚拟机数量与整个物理机集群中类别为c的虚拟机数量比值;使用eic表示种类为c的虚拟机的均衡程度,如公式4所示;

27、

28、其中,eic表示类别为c的虚拟机在集群中部署的均衡程度,且eic的值越小表示种类c的虚拟机部署越均衡;最后,得到集群的均衡指标ei,如公式5所示;

29、ei = ∑ceic                                    (5)

30、ei通过集群中所有种类虚拟机在集群中部署均衡程度相加计算得到,且ei的值越小表示物理机集群中不同配置虚拟机部署越均衡;

31、f.定义稳定指标(si,stability index),用来表示整个物理机集群稳定的可能性大小,如公式6所示;

32、si=sicpu+ simem                                (6)

33、集群的稳定指标由集群中不同资源的稳定指标相加得到,仅包括cpu和内存资源的稳定情况;

34、

35、

36、公式7和公式8分别表示编号为j的物理机上所有虚拟机cpu、内存资源整体的历史配置信息向量和的计算过程;其中,和分别表示编号为i的虚拟机cpu和内存历史配置信息向量;

37、

38、

39、公式9和公式10分别表示集群中cpu和内存资源稳定指标计算过程;其中,stdev()函数在此处表示向量中元素的标准差;sicpu和simem分别通过对集群中所有物理机cpu和内存配置历史信息的标准差求和得到,值越小表示集群对应资源越稳定;因此,si的值越小表示物理机集群稳定性越好;

40、g.将基于均衡部署的虚拟机动态整合问题,用一个多目标优化问题表示,优化目标和约束条件定义如下:

41、minnopmsdcp(11)

42、minnomdcp(12)

43、mineidcp(13)

44、minsidcp(14)

45、

46、

47、

48、其中,公式11~公式14表示虚拟机动态整合方案问题的四个优化目标,分别是:虚拟机动态整合方案开机的物理机数量最少;虚拟机由目前部署状态转变为生成的虚拟机动态整合方案需要迁移的次数最少;整个物理机集群的均衡指标最低,表示不同类别虚拟机在集群中部署最均衡;整个物理机集群的稳定指标最低,表示整个物理机集群最稳定;公式15~公式17表示虚拟机动态整合方案问题的约束条件,其中,公式15表示每台虚拟机有且仅有一台物理机供部署;公式16表示每台物理机的cpu资源都满足部署在其上的所有虚拟机cpu配置的需求;同样,公式17表示每台物理机的内存资源都满足部署在其上的所有虚拟机内存配置的需求;

49、所述的基于均衡部署的虚拟机动态整合方案生成过程,具体包括:

50、步骤1:采用k-means聚类算法,将虚拟机按照资源配置划分类别;

51、考虑虚拟机资源配置包括cpu和内存资源,单位分别是cpu核数和gb;由于这两种资源配置大小达到1:15甚至更高,差别很大,内存资源会大于等于cpu资源,因此需要对这两种资源配置数据分别进行归一化处理,否则,分类的结果会受内存数据影响;归一化函数如公式18所示,其中,xmax表示待归一化数据中的最大值,xmin表示数据中的最小值;

52、

53、集群中m台虚拟机归一化后的配置数据,用m个点的二维坐标表示:二维空间中每个点表示一台虚拟机的配置信息,空间中点与点距离的远近表示着对应虚拟机配置的相近程度;采用k-means聚类算法,根据虚拟机配置信息的相近程度进行聚类,为每台虚拟机划分一个类别;k-means算法采用欧式距离作为相似度指标,通过最小化簇内平方误差完成聚类,如公式19所示;

54、

55、其中,ci为划分的k个簇中的第i个簇,x为第i个簇中的点,μi为簇i的均值向量,也称为质心,计算过程如公式20所示;

56、

57、k-means算法参数k的值需要根据实际情况选择,k∈[1,m],其中最小值为1,最大值为输入数据总数量;通过计算k值从1递增到最大值m时对应平方误差,其中平方误差随着k值的增大而减少,将平方误差下降过程中,“拐点”对应的k值作为最终聚类簇的数量;

58、步骤2:根据具体实际物理机集群中各物理机上虚拟机配置情况,构建基于均衡部署的虚拟机动态整合方案生成问题的目标函数;

59、步骤3:使用差分演化算法,对基于均衡部署的虚拟机动态整合方案生成问题进行求解,生成虚拟机动态整合方案;

60、所述使用差分演化算法,对基于均衡部署的虚拟机动态整合方案生成问题进行求解,生成虚拟机动态整合方案,提出将基于均衡部署的虚拟机动态整合方案生成问题,建模为一个多目标优化问题,并采用差分演化算法对问题进行求解,从而生成虚拟机动态整合方案;

61、差分演化算法通过对种群中的个体进行变异、交叉以及选择操作,在多目标问题的解空间中反复迭代搜索,最终得到最优解;差分演化算法求解问题的解空间为连续的,待求解问题的解空间是离散的,通过将差分演化算法的变异、交叉过程进行离散化处理,使其适用于问题的求解;具体为:

62、步骤3.1:初始化阶段;

63、差分演化算法中种群包含多个个体,每个个体代表一个基于均衡部署的虚拟机动态整合方案,在算法对某个个体进行变异操作时需要寻找其它3个互不相同的个体,因此差分演化算法种群中的个体数量多于3个;种群中每个个体表示一个虚拟机动态整合方案;

64、种群由popnum个个体组成,每个个体表示一种虚拟机动态整合方案plan,plani表示种群中第i个个体,即第i种虚拟机动态整合方案;

65、初始化阶段根据云中物理机和虚拟机的数量设置popnum的具体数值,并生成数量为popnum的初始种群集合pset,pset={p1,p2,...,ppopnum},为初始种群中的每个个体产生一个初始值,定义向量xi为其中的一个个体:其中,向量xi的长度为m,表示虚拟机集群中有m台虚拟机,表示在第i个个体中,第m台虚拟机选择部署的物理机;

66、针对初始种群中的每个个体采用如下方法产生初始值:

67、(1)个体编码方法;

68、每个个体由m个元素组成,其中m为集群中所部署的虚拟机的数量,每个元素是一个整数值,表示虚拟机与物理机之间的部署关系,个体中第j个元素的值表示编号为j的虚拟机选择部署的物理机编号;

69、(2)个体初始化方法;

70、个体初始化之前需先确定个体的长度,虚拟机动态整合方案是为集群中虚拟机寻找合适部署位置,因此,个体长度等于整个集群中虚拟机的数量m;虚拟机的编号为1至m,个体中第i个元素表示第i台虚拟机选择部署的物理机的编号;初始化时为个体中每个元素随机选择一个物理机编号作为初始值,计算过程如公式21所示,集群中有n台物理机,且物理机编号为1~n;

71、vmi=rand(1,n)                            (21)

72、个体初始化后需要对个体进行越界检查,若有越界问题还需要进行越界处理;

73、(3)越界处理方法;

74、越界问题为产生的虚拟机动态整合方案中,存在物理机的资源配置不满足其上部署的虚拟机所需的资源配置;

75、越界问题的处理过程:从不满足资源配置的物理机pmi上随机选择一台虚拟机vmj;在集群中随机选择一台物理机pmk,判断物理机pmk所剩资源是否满足虚拟机vmj资源需求,若满足则将vmj选择的物理机编号改为编号k,若不满足则再次在集群中随机选择一台物理机,重复这一过程;再次判断pmi资源是否满足,若满足则结束越界处理,否则,再次重复整个过程;

76、步骤3.2:生成一个用来保存新生成个体的空集合newset;

77、步骤3.3:迭代maxstep次进行求解;

78、步骤3.3.1:针对pset中的每个pi,进行如下操作;

79、步骤3.3.1.1:从pset中随机选择3个与pi不同的个体pj,pk,pl;

80、步骤3.3.1.2:按照公式22的方式进行变异操作产生突变个体vi;如果个体vi存在越界问题,则对vi进行越界处理;

81、为了防止种群陷入局部最优的问题,差分演化算法对种群中每个个体进行变异操作,生成突变个体;假设向量xi表示种群中第i个基准个体向量,从群中除第i个个体向量外,再随机选择3个互不相同的个体向量xj、xk、xl,用来进行变异操作,生成突变个体vi,计算过程如公式22所示;

82、

83、其中,f表示缩放因子,用来控制向量差xk-xl的影响,由于问题的解是离散的,且物理机的id编号为正整数,因此通过对求出的向量中元素进行向下取整操作,实现变异操作的离散化;

84、步骤3.3.1.3:按照公式23的方式进行交叉操作生成新个体vi;如果新个体vi存在越界问题,则对vi进行越界处理;将新生成个体vi加入到newset中;

85、为了增加种群的多样性,差分演化算法通过交叉操作实现,交叉操作产生的个体称为试验个体,试验个体向量ui中每个元素的计算生成过程如公式23所示;

86、

87、其中,cr表示交叉概率;分别表示原始种群、突变种群及实验种群中第i个个体的第m个元素;生成试验个体向量的元素时,首先在0~1之间取一个随机数,若大于cr则用突变个体相应位置的元素作为试验个体的生成元素,表示该位置发生交叉,若小于cr则用原始个体相应位置元素代替,表示该位置未发生交叉;

88、步骤3.3.2:将pset集合中的个体添加到newset集合中;

89、步骤3.3.3:将pset集合清空;

90、步骤3.3.4:进行选择操作,即根据公式24和公式25对newset中的个体进行pareto排序,并将排序后newset中等级为1级的个体添加到pset中,直到pset集合中个体的数量等于popnum;

91、适应度函数在求解单目标优化问题时,用来判断两个解质量的好坏,对于多目标求解问题,两个解xi,xj之间会出现以下情况,对于某几个目标函数,解xi较解xj更优,但对于剩余几个目标函数,解xj较解xi更优;通过对种群中个体进行非支配排序,根据排序等级选择质量好的个体;个体xi和xj的支配计算方法如公式24和公式25所示;

92、

93、

94、在选择操作阶段,对初始种群和生成的实验种群中个体的支配数进行排序,支配数越多代表个体的质量越好,根据排序结果选择质量好的个体进入下一代种群中;

95、其中,个体适应度的计算方法如下:

96、基于均衡部署的虚拟机动态整合方案生成问题有四个优化目标,对于解质量的比较,通过每个个体相应的优化目标函数值的大小进行比较,函数值越小表示解的质量越好;因此,适应度由优化目标函数组成,个体的适应度计算如公式26所示,其中f1-f4表示四个目标函数;

97、fits={f1,f2,f3,f4}                           (26)

98、步骤3.4:输出虚拟机动态整合方案pset。

99、本发明有益技术效果:

100、本发明提出了一种基于均衡部署的虚拟机动态整合方案生成思路,首先建立了均衡指标和稳定指标等两个指标,对虚拟机部署的均衡程度以及物理机集群资源的稳定程度进行评价,在此基础上,将基于均衡部署的虚拟机动态整合方案生成问题,建模为一个多目标优化问题,并采用差分演化算法对问题进行求解,提出了一种基于均衡部署的虚拟机动态整合方案生成算法,进而形成了一种基于均衡部署的虚拟机动态整合方法。具体具有以下效果:

101、(1)本发明构建基于均衡部署的虚拟机动态整合方案生成方法,探讨生成方法中的虚拟机动态整合方案生成问题定义,生成物理机集群中虚拟机动态整合方案。

102、(2)本发明基于均衡部署的虚拟机动态整合方案生成方法,介绍了该方法中的问题定义和问题求解过程和算法,经过实验对比分析证明了本方法的有效性。

103、(3)本发明首先建立了均衡指标和稳定指标等两个指标,对虚拟机部署的均衡程度以及物理机集群资源的稳定程度进行评价,在此基础上,将基于均衡部署的虚拟机动态整合方案生成问题,建模为一个多目标优化问题,并采用差分演化算法对问题进行求解,可以有效解决云计算中基于均衡部署的虚拟机动态整合方案生成问题,从而为云计算中虚拟机资源的弹性伸缩调整提供有效支持。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1