[发明专利]一种基于虚拟机的服务器整合方法有效
申请号: | 201910185650.0 | 申请日: | 2019-03-12 |
公开(公告)号: | CN109901932B | 公开(公告)日: | 2023-04-07 |
发明(设计)人: | 乔百友;童冰;吴刚;韩东红;刘辉林;王波涛 | 申请(专利权)人: | 东北大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50;G06N3/126 |
代理公司: | 北京君泊知识产权代理有限公司 11496 | 代理人: | 王程远 |
地址: | 110819 辽宁*** | 国省代码: | 辽宁;21 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 虚拟机 服务器 整合 方法 | ||
1.一种基于虚拟机的服务器整合方法,其特征在于,所述基于虚拟机的服务器整合方法包括基于动态阈值的服务器局部整合算法和基于遗传算法的服务器全局整合算法;
所述基于虚拟机的服务器整合方法包括如下步骤:
S1、获取服务器和虚拟机的监控信息;
S2、根据监控信息计算数据中心总体资源利用率;
S3、根据数据中心总体资源利用率选择服务器整合算法;
所述基于动态阈值的服务器局部整合算法包括如下步骤:
A1、计算服务器整合高载阈值;
A2、根据服务器整合高载阈值分析服务器负载状态;
A3、筛选出处于高载状态的服务器;
A4、筛选出处于低载状态的服务器;
A5、基于双向转发检测算法进行服务器局部整合;
所述基于遗传算法的服务器全局整合算法包括如下步骤:
B1、染色体编码;
B2、生成初始染色体编码种群;
B3、适应度函数设定;
B4、选择操作;
B5、交叉操作;
B6、变异操作;
B7、迭代终止条件;
基于遗传算法的服务器全局整合算法中,服务器整合问题定义如以下公式所示:
其中,ViCPU、ViMEM和ViDisk分别表示虚拟机i的CPU、内存和磁盘的负载大小;PjCPU、PjMEM和PjDisk分别表示服务器j所能提供的CPU、内存和磁盘的资源数量,ThCPU、ThMEM和ThDisk分别表示服务器CPU、内存和磁盘的高载阈值比,规定各台服务器上运行的全部虚拟机的各类资源之和不能超过服务器所能提供的最大值与规定的各类资源的高载阈值比的乘积,表达式Xij表示虚拟机i能否整合到物理服务器j上,Xij取值为1的时候表示虚拟机i可以放置到服务器j上,取值为0则表示不可以,Nactive表示活跃服务器的数量,MIN(Nactive)表示使得活跃服务器数量最少;
利用基于物品组的编码方式进行染色体编码,初始染色体种群的生成包括以下步骤:
(1)一部分染色体是在满足全面整合问题定义公式中CPU资源约束公式的前提下随机生成;
(2)对处于过载状态的服务器随机取出虚拟机,直到该服务器达到负载均衡状态;
(3)对处于低载状态的服务器也取出其上的虚拟机;
(4)被取出的虚拟机随机放到其余的可以容纳该虚拟机的服务器上;
在CPU资源的约束下,采用尽可能少的服务器来放置尽可能多的虚拟机,适应度函数如下所示:
L(x)=1/C(x)
其中,C(x)表示染色体x的长度,代表了整合后需要的服务器的数量,其值越小说明所需的服务器越少,相应地L(x)的值则会越大;
所述步骤B4中,在对随机选择的两个染色体进行比较的过程之中,可能会出现适应度值相等的情况,由于虚拟机的迁移会引起进程数量和I/O次数的增加,这样不仅会增大能源消耗,也会使整个系统的性能下降,因此有必要减少虚拟机的迁移次数,将生成的染色体组与当前实际的服务器与虚拟机映射关系编码得到的染色体对比,择优选择迁移次数最少的染色体进入下一轮;
所述步骤B5中,其具体操作包括以下步骤:
(1)完全随机选择两个染色体作为父代,对于这两个染色体先比较他们适应度值大小,适应度值大的染色体作为父代x,若适应度值大小相等,则用公式判断哪个染色体上需要的虚拟机迁移次数最少,迁移次数最少的那条染色体作为父代x,另外一条染色体为父代y;
(2)使用如下公式计算染色体y上每个基因的值,选择值最大的基因作为父代y交叉部分的内容插入到父代x中,交叉是对染色体的虚拟机组进行组合,即从父代y中选择一段基因插入到x中,也就是将y中的一组虚拟机迁移到父代x中,计算公式如下:
其中,xj表示染色体x上第j个服务器,Vicpu表示第i个虚拟机的CPU负载值大小,Pjcpu表示服务器j的所能提供的最大CPU负载值,计算出各个服务器上CPU利用率,通过该公式表示服务器j上CPU资源利用的情况;
(3)在上一步得到的父代x中,某些虚拟机可能会出现两次,删除父代x上与被选取基因有相同的虚拟机所在各个基因;
在上一步的删除过程中,会删除一些虚拟机,因此需要采用FF,即为Fist Fit算法重新将这些被删除的虚拟机插入到服务器中,通过这样一系列的交叉操作可以得到新的子服务器;
所述步骤B6中,通过变异算子可以使得基因以很小的概率发生简单的变化,通过该方法可以使染色体朝着最优解靠近,基于组的服务器编码方式的变异可以有两种方式进行,一种是基因整体进行变异,在父代中删除一个基因也就是删除整个服务器上所有的虚拟机组;
另外一种方式是基因上少数信息的变异,删除虚拟机组上的某一个或几个虚拟机,变异算子选择对某段基因而非对基因上某个点进行操作,评估染色体上的每个基因点的资源利用率的情况,选择删除值最小的虚拟机,也就是资源利用率最低的虚拟机,然后将其删除,根据Fist Fit算法将被删除的虚拟机重新插入到服务器中,通过这样一种变化就可以得到新的子个体,并且提高了资源利用率;若删除后的虚拟机无法插入到其他染色体中,则将其他可以插入的虚拟机组插入其他基因中,无法插入的仍然留在以前的基因上;
所述步骤B7中,通过上述的操作最终可以得到最优解,但是因为实际条件的限制,算法不能无限制的进行迭代,则设置遗传算法的终止条件,对于基于遗传算法的服务器整合算法的终止条件有两个,在满足约束公式的前提下,一个是种群迭代进化的次数超过一定的次数,二是种群内剩余的染色体达到一定的个数,满足上面任意一种情况迭代都会终止,当满足迭代终止条件以后还剩下的染色体即为所求的解,每一个染色体就是一种新的虚拟机和服务器的映射关系,评估步骤B7中所生成的每一个染色体,每个染色体就是一个服务器虚拟机的映射整合方案,计算每个染色体的适应度值,选取适应度值最大并且迁移次数最小的那个染色体,作为云数据中心服务器整合的解决方案。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东北大学,未经东北大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910185650.0/1.html,转载请声明来源钻瓜专利网。