一种基于知识获取与共享算法的虚拟机部署方法

文档序号:34604340发布日期:2023-06-29 02:27阅读:52来源:国知局
一种基于知识获取与共享算法的虚拟机部署方法

本发明涉及虚拟机,具体涉及一种基于知识获取与共享算法的虚拟机部署方法。


背景技术:

1、随着云计算的流行,目前几乎所有的数据中心都在使用这种计算服务模式,例如微软、谷歌和亚马逊的数据中心。为了降低维护成本和提高服务器资源的利用率,同时考虑服务质量要求,现代数据中心使用虚拟化技术。虚拟化技术将不同大小的cpu、内存、硬盘等物理资源抽象成虚拟机,使得在一台物理机上可以运行多台虚拟机。

2、云计算技术中的主要问题之一便是如何将虚拟机放入物理机中使得物理机资源利用得更充分。虚拟机放置问题是一个典型的多维度装箱问题,物理机是箱子,而虚拟机则是待装入箱子的物品,每个物品有三个不同的维度:cpu、内存、硬盘容量。而装箱问题是典型的np困难问题,它不存在多项式时间复杂度的算法,除非p=np。因此对于这个问题人们只能求一个近似解。好的优化算法能够为云运营商节约上亿的运营成本,并为客户提供更稳定、更流畅的云端体验。

3、尽管启发式优化算法通常是一种可行的解决方案,然而当问题的规模增加时,启发式算法的效果非常有限,而元启发式算法则有望取得较好的效果,但是大多数元启发式搜索算法需要相当长的运行时间。


技术实现思路

1、本发明的目的在于提供一种基于知识获取与共享算法的虚拟机部署方法,以最小化服务器的数量为优化目标,克服现有方法在问题规模增大时解的质量下降、收敛性下降、稳定性下降和运行速度慢的缺点。

2、为实现上述目的,本发明提供了一种基于知识获取与共享算法的虚拟机部署方法,包括下列步骤:

3、设置目标函数和约束条件;

4、初始化变量和种群;

5、分别计算初级阶段向量维度数量和高级阶段向量维度数量;

6、使用策略更新初级阶段向量维度和高级阶段向量维度;

7、计算种群中每个个体的目标函数值,并更新已迭代次数;

8、修正种群中每个个体的向量分量取值;

9、更新全局最优解和搜索边界;

10、判断是否到达最大迭代次数或者是否已经收敛,若已经到达最大迭代次数或者已经收敛则停止迭代并输出结果;

11、否则返回分别计算初级阶段向量维度数量和高级阶段向量维度数量步骤继续执行。

12、可选的,所述目标函数的表达式为:

13、

14、其中,s={1,...,m}表示服务器集合,yi表示服务器i是否被使用,当且仅当服务器i被使用时才有yi=1,否则yi=0。

15、可选的,所述目标函数的约束条件,包括如下公式:

16、

17、

18、

19、

20、xij∈{0,1},i∈s,j∈n    (5)

21、yi∈{0,1},i∈s       (6)

22、其中,n和s分别表示虚拟机集合和服务器集合,xij表示虚拟机j是否被部署到服务器i上,cj、mj和dj分别表示虚拟机j的cpu数量、内存数量和磁盘容量,ci、mi和di分别表示服务器i的cpu数量、内存数量和磁盘容量;当且仅当虚拟机j被部署到服务器i上时才有xij=1,否则xij=0;公式(1)说明了每台虚拟机必须且只能部署到某一台服务器上,公式(2)、(3)、(4)限制了部署到某台服务器上的虚拟机的总的cpu、内存和磁盘大小不能超过该服务器的容量上限。

23、可选的,计算初级阶段向量维度数量的公式为:

24、

25、其中d表示个体的维度,g是迭代次数,gen是最大迭代次数,k>0是知识率。

26、可选的,计算高级阶段向量维度数量的公式为:

27、dsenior=d-djunior。

28、可选的,更新初级阶段向量维度的过程,包括下列步骤:

29、步骤1:根据目标函数值对所有个体升序排序:xbest…xi-1,xi,xi+1,…xworst;

30、步骤2:对于个体xi的,选择两个离他最近的不同个体,即比当前个体更好的个体xi-1和更差的个体xi+1,来作为知识获取源;如果xi是全局最优的,则按如下的方法选择最接近的两个个体:(xbest,xbest+1,xbest+2);如果xi是全局最差的,则按(xworst-2,xworst-1,xworst)选择两个最接近的个体;

31、步骤3:如果rand>kf,xi不再发生改变,否则按如下方式更新xi:

32、

33、其中,rand是随机数,xr是一个随机选择的不同于xi-1,xi和xi+1的个体,是共享知识的来源;kf>0是知识因子,在整个迭代过程中控制着当前个体从其他个体获得和分享的知识总量;kr∈[0,1]是知识率,它能控制当前的经验与在迭代过程中获得的经验的比例。

34、可选的,更新高级阶段向量维度的过程,包括下列步骤:

35、步骤1:根据目标函数值对所有个体升序排序:xbest…xi-1,xi,xi+1,…xworst,然后将排序后的个体划分为三类:最好的一类、中等的一类和最差的一类;

36、步骤2:对于大小为np的当前种群中的每个个体xi,分别从最好个体类别和最差个体类别中随机选择一个个体作为知识获取源,再从中等个体类别中随机选择一个个体作为其他个体共享的知识来源;

37、步骤3:如果rand>kr,xi不再发生改变,否则按如下方式更新xi:

38、

39、其中,rand是随机数,xp-best是从最好的个体类别中随机选出来的,最好的个体类别由排好序的种群中的前(100*p)%的个体构成;xp-worst是从最差的个体类别中随机选出来的,最差的个体类别由排好序的种群的后(100*p)%的个体构成;xm是从中等个体类别中随机选出来的,种群中排除最好个体类别和最差个体类别后就得到中等个体类别,p∈(0,1)。

40、可选的,计算种群中每个个体的目标函数值的公式为:

41、

42、其中,λ是拉格朗日乘数,,μ为惩罚系数,f(x)是原始的评估函数,f(x)是加入增广拉格朗日惩罚项后的评估函数,对于合法解,始终为零,而对于非法解,则是施加的惩罚值。

43、本发明提供了一种基于知识获取与共享算法的虚拟机部署方法,在虚拟机创建引擎的过程中,结合了算法边界修正和增广拉格朗日乘子法,在算法迭代过程中使用惩罚函数解决虚拟机部署问题的约束条件并动态的修正算法可行解的最优边界,从而缩小问题的搜索范围,提高解的质量、收敛速度、稳定性和运行速度。本发明针对云计算领域中虚拟机部署问题,以最小化服务器的数量为优化目标,同时还能克服其他方法在问题规模增大时解的质量下降、收敛性下降、稳定性下降和运行速度慢的缺点。



技术特征:

1.一种基于知识获取与共享算法的虚拟机部署方法,其特征在于,包括下列步骤:

2.如权利要求1所述的基于知识获取与共享算法的虚拟机部署方法,其特征在于,

3.如权利要求2所述的基于知识获取与共享算法的虚拟机部署方法,其特征在于,

4.如权利要求3所述的基于知识获取与共享算法的虚拟机部署方法,其特征在于,

5.如权利要求4所述的基于知识获取与共享算法的虚拟机部署方法,其特征在于,

6.如权利要求5所述的基于知识获取与共享算法的虚拟机部署方法,其特征在于,

7.如权利要求6所述的基于知识获取与共享算法的虚拟机部署方法,其特征在于,

8.如权利要求6所述的基于知识获取与共享算法的虚拟机部署方法,其特征在于,


技术总结
本发明涉及虚拟机技术领域,具体涉及一种基于知识获取与共享算法的虚拟机部署方法,在虚拟机创建引擎的过程中,结合了算法边界修正和增广拉格朗日乘子法,在算法迭代过程中使用惩罚函数解决虚拟机部署问题的约束条件并动态的修正算法可行解的最优边界,从而缩小问题的搜索范围,提高解的质量、收敛速度、稳定性和运行速度。本发明针对云计算领域中虚拟机部署问题,以最小化服务器的数量为优化目标,同时还能克服其他方法在问题规模增大时解的质量下降、收敛性下降、稳定性下降和运行速度慢的缺点。

技术研发人员:俸皓,周念,刘玉明,王勇
受保护的技术使用者:桂林电子科技大学
技术研发日:
技术公布日:2024/1/13
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1