虚拟机部署的方法和系统的制作方法

文档序号:10488818阅读:426来源:国知局
虚拟机部署的方法和系统的制作方法
【专利摘要】本发明提供了一种虚拟机部署的方法和系统,该方法包括:获取预设模型的初始解,所述初始解用于表示多个物理机与多个虚拟机的映射关系;使用预设算法对所述初始解进行运算,得到所述预设模型在所述预设算法下的最优解;根据得到的最优解进行虚拟机的部署;其中,所述预设模型中的参数包括虚拟机的CPU、内存和硬盘大小。该虚拟机部署的方法通过预设模型获取初始解,通过预设算法对初始解中虚拟机在物理机上的部署方案进行优化,实现了对物理机负载均衡的协调,提高了物理机的利用率。本发明提供的虚拟机部署的方法和系统中的,所选择的预设模型综合考虑了虚拟机的CPU、内存和硬盘大小等因素,能够更好的实现对物理机负载均衡的协调,提高了物理机的利用率。
【专利说明】
虚拟机部署的方法和系统
技术领域
[0001] 本发明涉及虚拟机优化部署技术领域,尤其涉及一种虚拟机部署的方法和系统。
【背景技术】
[0002] 随着互联网的发展,虚拟化技术可以在单台物理服务器上虚拟化出多个相互独立 的虚拟机(VM,VirtualMachine),目前虚拟化技术已经广泛应用在各级数据中心,尤其是服 务器虚拟化技术更是被广大用户所接受并成功实施。
[0003] 根据用户需求的特点,对虚拟机性能的描述通常考虑CPU、内存和硬盘等因素。例 如,如图1所示,在虚拟机部署过程中,虚拟机VM4、VM5已经部署在物理机HOSTl和H0ST2上, 若要将其它三台虚拟机VMl、VM2、VM3继续部署到这两台物理机上时,就必须同时考虑物理 机和虚拟机的自身性能,不仅使得不同物理服务资源之间保持负载均衡,同时还需要考虑 同一物理服务资源不同资源维度之间的负载均衡。其中一种可行的方案为,将VM3部署在 HOSTl,VMl、VM2部署在H0ST2。将N台虚拟机映射到M台物理服务资源上,共有种MN可能的部 署方案。同时,该问题又是多目标优化问题,需要考虑物理机的开机率、物理机利用率以及 物理机的负载均衡情况,因此如何优化虚拟机在物理机上的部署方案,提高物理机的利用 率成为了亟需解决的问题。

【发明内容】

[0004] 针对现有技术中的缺陷,本发明提供了一种虚拟机部署的方法和系统,通过对虚 拟机在物理机上的部署方案进行优化,提高了物理机的利用率。
[0005] 第一方面,本发明提供了一种虚拟机部署的方法,包括:获取预设模型的初始解, 所述初始解用于表示多个物理机与多个虚拟机的映射关系;
[0006] 使用预设算法对所述初始解进行运算,得到所述预设模型在所述预设算法下的最 优解;
[0007] 根据得到的最优解进行虚拟机的部署;
[0008] 其中,所述预设模型中的参数包括虚拟机的CPU、内存和硬盘大小。
[0009] 第二方面,本发明提供了一种虚拟机部署的系统,包括:
[0010] 初始解获取模块,用于获取预设模型的初始解,所述初始解用于表示多个物理机 与多个虚拟机的映射关系;
[0011]最优解获取模块,用于使用预设算法对所述初始解进行运算,得到所述预设模型 在所述预设算法下的最优解;
[0012] 部署模块,用于根据得到的最优解进行虚拟机的部署;
[0013] 其中,所述预设模型中的参数包括虚拟机的CPU、内存和硬盘大小。
[0014] 由上述技术方案可知,本发明提供的虚拟机部署的方法和系统中的,所选择的预 设模型综合考虑了虚拟机的CPU、内存和硬盘大小等因素,能够更好的实现对物理机负载均 衡的协调,提高了物理机的利用率。
【附图说明】
[0015] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现 有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本 发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以 根据这些图获得其他的附图。
[0016] 图1为现有技术中一种虚拟机在物理机上部署过程示意图;
[0017] 图2为本发明一实施例提供的一种虚拟机部署的方法的流程示意图;
[0018] 图3为本发明一实施例提供的染色体编码的示意图;
[0019] 图4为本发明一实施例提供的对种群个体执行交叉操作的过程示意图;
[0020] 图5为本发明一实施例提供的对种群个体执行变异操作的过程示意图;
[0021] 图6为本发明一实施例提供的采用BLGA算法获取物理机的利用率与获取次数的实 验结果示意图;
[0022]图7为本发明一实施例提供的采用BLGA算法获取物理机负载均衡方差与获取次数 的实验结果示意图;
[0023]图8为本发明一实施例提供的采用BLGA算法与现有技术中的其他算法获取物理机 的利用率的对比不意图;
[0024]图9为本发明一实施例提供的采用BLGA算法与现有技术中的其他算法获取物理机 负载均衡方差的对比示意图;
[0025] 图10为本发明一实施例提供的一种虚拟机部署的系统的结构示意图。
【具体实施方式】
[0026] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完 整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他 实施例,都属于本发明保护的范围。
[0027] 本实施例中的虚拟机部署问题可以进一步描述为,将N台相互独立的虚拟服务资 源VM= {vmi,vm2,…,vihn}部署在M台物理机Datecenter= {hosti,host2,…,hostM}组成数据 中心,在部署周期T内要能够提高数据中心资源利用率,同时保证系统整体性能。
[0028]在说明如何优化虚拟机部署之前,首先对物理机上的一些参数的计算方法进行如 下定义和说明。
[0029]定义1、物理机CPU的负载。物理机Hj上虚拟机数量为m,则物理机CPU的负载为该物 理机Hj上所有虚拟机使用CPU量与该物理机Hj的CPU总量之比。 _〇]
(4.1 )
[0031] 其中,HC表示物理机Hj的CPU量,VCi表示虚拟机的CPU使用量。
[0032]定义2、物理机内存的负载。物理机Hj上虚拟机数量为m,则物理机内存的负载为该 物理机Hj上所有虚拟机使用内存量与该物理机Hj的内存总量之比。
[0033]
( 4.2)
[0034] 其中,HM表示物理机Hj的内存量,VMi表示虚拟机的内存使用量。
[0035]定义3、物理机硬盘的负载。物理机Hj上虚拟机数量为m,则物理机硬盘的负载为该 物理机H i H所右彘划*Π 估田湎盘量与该物理机Hj的硬盘总量之比。
[0036] (4.3)
[0037] 其中,HD表示物理机Hj的硬盘量,VDi表示虚拟机的硬盘使用量。
[0038]定义4、物理机Hj的负载,即单一物理机的利用率。物理机Hj的负载则为对应CPU、 内存以及硬盘的负载加权之和。
[0039] HL= ω iHLC+ ω 2HLD+ ω 3HLM (4.4)
[0040] 其中,ωι,ω2, ω 3表示不同资源负载权重,不同的权重表示用户在使用虚拟机时 对不同性能的偏好情况。
[0041] 定义5、物理机利用率,即数据中心的资源利用率。存在M台物理机HOST以及N台虚 拟机VM,则物理机利用率为所有的虚拟机CPU、内存以及硬盘的使用量总量与所有开启状态 的物理机CPU、内存以及硬盘的总量夕比加叔夕和,其倌卖际等干所有物理机负载的平均 值。 Γ ? (45)
[0042] \-t./
[0043] 其中,HTj表示物理机Hj是否处于开启状态,ωι,ω2, ω3表示不同资源负载权重, 不同的权重表示用户需求侧重点的不用,同时,物理机利用率包含开启物理机数量最少的 目标。
[0044]定义6、物理机的负载方差。表示为物理机负载相对于平均负载的离散程度,具体 表示为:
[0045] ( 4_6 )
[0046]
[0047] .(4..7)
[0048] 若S为虚拟机的部署方案,则虚拟机部署问题可以转化为一个多目标优化问题。即 最大化物理机的利用率MAX HAU(S)同时最小化物理机的负载方差MINo(S)。同时,虚拟机和 物理机在性能上还需要满足以下约束。
[0049]
[0050]
[0051]
[0052]
[0053]
[0054] 其中,N表示需要部署的虚拟机数量;M表示数据中心的物理机数量;VCi、VM i、VDi分 别表示虚拟机i的CPU、内存、硬盘大小;HCj、HMj、HDj分别表示虚拟机j拥有CPU、内存、硬盘大 小。在公式(4.8)中,为二进制数,为1是时,表示虚拟机i部署在物理机j上,否则, XlJ为 0;公式(4.9)~(4.11)分别表示部署在物理机的虚拟机需求的某一类资源之和必须小于等 于该物理机总量;式(4.12)表示唯一性约束,即任何一个虚拟机必须部署在一台物理机上。
[0055] 针对上述【背景技术】中的问题的特点,虚拟机在物理机上的部署方案可视为一个三 维可变尺寸装箱问题。但将N台虚拟机映射到M台物理服务资源上,共有种MN可能的部署方 案。同时,该问题又是多目标优化问题,需要考虑物理机的开机率、物理机利用率以及物理 机的负载均衡情况。对此,下述实施例中提出了一种改进的遗传算法求解上述问题。
[0056] 图2为本发明一实施例提供的一种虚拟机部署的方法的流程示意图,适用于对虚 拟机在物理机上的部署方案进行优化,如图2所示,该方法包括以下步骤:
[0057] 201、获取预设模型的初始解,所述初始解用于表示多个物理机与多个虚拟机的映 射关系;其中,所述预设模型中的参数包括虚拟机的CPU、内存和硬盘大小。
[0058]所述预设模型包括目标函数和约束条件,其中,目标函数为:
[0059]预设模型的目标函数为:
[0060]
[0062]约束条件具体可以为:
[0063]
[0064]
[0065]
[0066]
[0067]
[0068] 其中,〇表示物理机的负载方差,HAU表示物理机的利用率,HTj表示物理机是否处 于开启状态,HLj表不物理机的负载,ω :,ω 2,ω 3表不负载权重,AHL表不物理机的平均负 载;N表示虚拟机数量;M表示物理机数量;VCi、VM i、VDi分别表示虚拟机i的CPU、内存、硬盘大 小;HCj、HMj、HDj分别表示物理机j拥有CPU、内存、硬盘大小;X ij为二进制数,Xij为1是时,表 示虚拟机i部署在物理机j上,否则,Xlj为0。
[0069] 202、使用预设算法对所述初始解进行运算,得到所述预设模型在所述预设算法下 的最优解。
[0070] 在本发明实施例中,HAU为效益性函数,σ为成本性函数,在步骤202中,采用预设算 法对初始解进行运算的目的是获得满足该上述的预设模型的约束条件且HAU最大、σ最小的 解。
[0071] 具体来说,在具体实施时,可以将所述初始解作为种群,所述种群包括多个种群个 体,每一种群个体表示虚拟机与物理机的映射关系;并通过遗传算法对初始解进行预算,此 时,上述的步骤202可以具体包括:
[0072] 通过遗传算法对所述种群中的种群个体进行进化迭代,获取进化后的种群个体以 及包括所述进化后的种群个体的种群。
[0073] 上述方法通过预设模型获取初始解,通过预设算法对初始解中虚拟机在物理机上 的部署方案进行优化,实现了对物理机负载均衡的协调,提高了物理机的利用率。
[0074] 作为上述的遗传算法的一种可选的实施方式,上述的遗传算法中在每一次迭代过 程中,选择需要进行遗传操作的个体的步骤可以包括:在通过预设算法对对所述初始解进 行运算之前,所述方法还包括:
[0075] 在每一次迭代过程中,根据种群中每一种群个体的物理机的利用率以及物理机的 负载方差获取种群个体的适应度;根据所述种群个体的适应度,采用轮盘赌法在所述种群 中选取待遗传的种群个体。
[0076]具体来说,这里获取种群个体的适应度的过程可以具体为:根据如下公式获取每 一种群个体的物理机的利用率以及物理机的负载方差获取种群个体的适应度:
[0077 ] FitiWSS - A- 11A U - 1 - σ
[0078] 其中,Fitness表不种群个体的适应度,A1J2表不加权因子,且A1X), λ2>0。
[0079] 根据所述种群个体的适应度,采用轮盘赌法在所述种群中选取待进化迭代的种群 个体。
[0080] 203,根据得到的最优解进行虚拟机的部署。
[0081]不难理解的是,由于初始解表示虚拟机与物理机的映射关系,则这里的最优解也 是表示虚拟机与物理机的映射关系。根据虚拟机与物理机的映射关系在物理机上布置虚拟 机的过程可以参考现有技术,本发明实施例中不再进行详细说明。
[0082]下面通过具体的实施例对上述方法中获取最优解的过程进行详细说明,包括以下 步骤:
[0083] 301、初始化种群,通过上述步骤201建立的模型获取种群的初始解,这样获取的种 群均是符合预设约束条件的种群,根据种群中的每一种群个体中多个物理机的利用率HAU 以及物理机的负载方差σ获取初始种群中每一所述种群个体的适应度,根据每一所述种群 个体的适应度,获取所述初始种群的适应度Fitness,其中适应度函数如下:
[0084]
(4.13)
[0085] 其中,HAU可以参照式(4.5 ),σ可以参照式(4.6)得出,A1,\2表示对应评价因素的加 权因子,且人1>0,人2>0。
[0086] 种群可以理解为包括多个种群个体,每一种群个体包括虚拟机和物理机的对应关 系。
[0087] 具体的,在执行上述步骤301之前,需要执行图3中未示出的下述步骤:
[0088] 300Α、首先对物理机以及虚拟机进行编码,即:
[0089] (1)对开启的物理机编码,区分不同的物理机;
[0090] (2)明确哪些虚拟机部署在哪些物理机。
[0091]同时,求解问题要求最小化开启物理机的数量,因此求解问题的染色体编码基因 是长度是不确定的。
[0092]图3给出了 一种虚拟机在物理机上的部署方式。其中,虚拟机VM3、VM5、VM6部署在 物理机HOSTl,虚拟机VMl部署在物理机H0ST2;虚拟机VM2、VM7部署在物理机H0ST3,虚拟机 VM4部署在物理机H0ST4上。其中物理机和虚拟机为一对多的关系。
[0093] 300B、求解每一种群个体内的初始解。
[0094]由于该问题需要考虑物理机的利用率以及物理机负载均衡性能,针对初始种群的 数量,虚拟机部署的初始解生成算法步骤如下所示:
[0095]步骤1根据公式(4.4),计算物理机当前状态的负载;
[0096]步骤2计算各个虚拟机的资源量占整个虚拟机的比重p;
[0097]步骤3以概率p将虚拟机部署到已开启的物理机上,使得物理机的负载最小;如果 不存在满足条件的物理机,则重新开启一台物理机,同时更新物理机的负载。
[0098] 其中步骤301中适应度函数适应度函数是遗传算法中的解的评价标准,适应度越 大,解的效果越好。传统装箱问题的评价标准主要是使用箱子数量少,同时保证箱子利用率 高。然而,IaaS环境下虚拟机部署问题不同于传统的装箱问题,不仅要考虑物理机开启数量 以及物理资源的利用率,还要考虑物理机的负载对物理机性能的影响。物理机的负载方差 越小表明物理机的稳定性以及鲁棒性越好。因此,综合上述因素,设计评价适应度函数如 下:
[0099] (4 1"
[0100] 其中,A1A2表示对应评价因素的加权因子,且A 1X), λ2>〇。
[0101] 302、在所述初始种群的适应度小于等于预设适应度时,采用轮盘赌法在所述初始 种群中选择种群个体,同时随机生成[O,I ]之间的数字r。
[0102] 303、判断所述r是否小于等于预设交叉概率,若是,则执行步骤304或执行步骤 307,否则执行步骤301。
[0103] 304、在所述r小于等于预设交叉概率时,对选择的种群个体执行交叉操作,并形成 新的种群个体,获得包括新的种群个体的第一优化种群。
[0104] 上述步骤304中所述对选择的种群个体执行交叉操作,包括图3中未示出的以下子 步骤:
[0105] 3041、在初始种群中采用轮盘算法选择两个种群个体,如图4所示;
[0106] 3042、在第一种群个体A中选择虚拟机,并在第二种群个体B中选择与第一种群个 体中所选的虚拟机的标识相同的虚拟机作为杂交虚拟机VMl和VM4;
[0107] 3043、采用求同存异的原则,保留第一种群个体A和第二种群个体B中的物理机共 同映射的虚拟机VM3、VM6和VM7,并将其余的虚拟机删除,得到待确认的第三种群个体C;
[0108] 3044、采用贪心原则将删除的虚拟机中杂交虚拟机VMl和VM4插入到同一物理机 H0ST2中,并将删除的虚拟机中除杂交虚拟机之外的虚拟机VM2和VM5插入到其他物理机 HOSTl和H0ST3中,获取优化后的第三种群个体D。
[0109] 305、计算所述第一优化种群的适应度,在所述第一优化种群的适应度小于等于预 设适应度时,通过变异操作对所述第一优化种群中的种群个体的虚拟机在物理机上的部署 方案进行优化。
[0110] 306、判断所述第一优化种群的适应度是否小于等于预设适应度,若是,则执行步 骤307,否则,执行步骤301。
[0111] 307、在所述初始种群的适应度小于等于预设适应度或者所述第一优化种群的适 应度小于等于预设适应度时,在所述初始种群或所述第一优化种群中选择种群个体,同时 随机生成[0,1]之间的数字q。
[0112] 308、判断所述q是否小于等于预设遗传概率;若是,则执行步骤309,否则执行步骤 301 〇
[0113] 309、在所述q小于等于预设遗传概率时,对选择的种群个体执行变异操作。
[0114] 上述步骤309中所述对选择的种群个体执行变异操作,包括图3中未示出的以下子 步骤:
[0115] 3091、在所述初始种群或第一优化种群中选择第四种群个体E,如图5所示;
[0116] 3092、在所述第四种群个体E上随机选择两个物理机H0ST2和H0ST3,以及在选择每 个物理机中选择一个虚拟机VMl和VM2;
[0117] 3093、将所述两个物理机H0ST2和H0ST3中选择的虚拟机VMl和VM2进行交换,获取 优化后的第四种群个体F。
[0118] 310、获取执行变异操作后的种群个体的适应度,以及包含所述执行变异操作后的 种群个体的第二优化种群的适应度,直到所述第二优化种群的适应度大于预设适应度为 止。
[0119] 在上述步骤310中,具体还包括预设迭代次数,也就是执行变异操作的次数,当然 根据后续的实验结果可能看出,不同的运行次数会有不同的结果,在执行上述步骤之前,可 以根据需要进行预设。
[0120]具体的,在上述步骤中可以采用轮盘赌法在选择种群个体之后,对种群个体执行 交叉操作,再判断适应度;或者对种群个体执行变异操作,再判断适应度;或者先执行交叉 操作后执行变异操作,最后判断适应度,本实施例不对上述方式进行选择,但是优选的采用 先执行交叉操作后执行变异操作,这样得到的种群中物理机的利用率会更高。
[0121]综和上述步骤,对具体的遗传算子的选择再进行详细说明。
[0122] (1)选择算子
[0123] 本算法采用经典的轮盘赌选择方法,主要是根据每个种群个体与整个种群的比值 大小来确定该种群个体的选择概率。具体步骤如下所示:
[0124] 步骤1根据公式(4.13)计算种群个体的适应度;
[0125] 步骤2根据步骤1求出的适应度,计算每个个体适应比值;
[0126] 假设种群中有四个个体,个体a,b,c,d的适应度函数值分别为1,2,3,4,那么种群 的适应度函数值的和是1+2+3+4= 10,则个体a进入下一代的概率,也就是被选中的概率,就 是自己的适应度值除以总的适应度和的比值,也就是1/10 = 10%;同理,b、c、d的概率为 20%、30%、40%。按照这样得到的概率进行选择。
[0127] 步骤3利用轮盘赌法选择个体。
[0128] 采用轮盘赌法,种群个体适应度越大,则该种群个体被选择可能性越大,保证了种 群适应度较大的个体保存下去,使得求解结果具有较好的全局收敛性,同时,也存在种群个 体适应度小也被选择的可能性,这很好避免求解结果陷于局部最优解。
[0129] (2)交叉算子
[0130] 交叉算子是遗传算法中的一个核心算子,遗传算法的性能很大程度上由交叉算子 决定,交叉算子选择必须考虑两个原则:原则一:交叉之后新解必须是一个可行解;原则二: 交叉之后可以增大搜索空间。具体步骤如下,如图4所示:
[0131] 步骤1种群个体选择,采用轮转算法随机选择两个种群个体T1、T2;
[0132] 步骤2虚拟机选择,随机选择物理机下的虚拟机作为杂交部分;
[0133] 步骤3删除虚拟机,采用求同存异原则,即保留种群个体Τ1、Τ2中物理机共同映射 的虚拟机,删除物理机不同的映射部分;
[0134] 步骤4插入虚拟机,采用贪心原则将删除的虚拟机重新插入到物理机。
[0135] (3)变异算子
[0136] 变异算子是遗传算法中的一个重要算子,变异算子的引入保持了种群的多样性, 该算子主要是调整种群个体的基因位。具体步骤如下,如图5所示:
[0137] 步骤1设定变异概率Pm,根据变异概率随机选择一个种群个体;
[0138] 步骤2在选中的种群个体上随机选择两个物理机;
[0139] 步骤3分别随机选择两个物理机中的虚拟机进行交换;
[0140] 步骤4如果结束步骤3之后,该种群个体是可行解,即满足预设约束条件(模型),则 该变异过程结束;否则重新进行变异操作。
[0141] 对上述遗传算法(BLGC算法)的求解步骤总结如下:
[0142] 步骤1初始种群,设定相关参数,包括最大迭代次数Gmax、交叉概率Pc以及遗传概 率Pm;
[0143] 步骤2根据公式(4.13)计算种群个体的适应度;
[0144] 步骤3判断是否满足终止条件,如果满足条件,则输出最优解,算法结束。否则进入 步骤4;
[0145] 步骤4利用轮盘赌法,选择种群中的种群个体进入下一代;
[0146] 步骤5随机生成一个[0,1]之间的数字r,判断KPc是否满足。如果满足则进行交叉 操作,形成新的种群个体。否则转到步骤6;
[0147] 步骤6随机生成一个[0,1]之间的数字q,判断q〈Pm是否满足,如果满足,则进行变 异操作。转到步骤2。
[0148] 为了说明采用本发明实施例方案的优化效果,下面通过实验数据进行说明。
[0149] 在实验过程中,主机的内存为3G、为650G、CPU为3.20GHz,并在Windows XP下利用 My Eelipse8.5和jdkl ·6·0_10进行,采用java编程实现。
[0150] 首先给出相关的实验参数,实验设置12台物理机组成的数据中心,存在4种类型的 物理机,每种类型物理机各3台。四种物理机类型配置如表1所示:
[0151] 耒1
[0153] 在实验中,共设置25台虚拟机,由于虚拟机大小完全由用户决定,所以不同类型用 户对虚拟机需求是不同的。有的用户属于计算密集型用户,对CPU和内存的需求量较大,有 的用户属于存储密集型用户,对硬盘需求量较大。因此,实验中虚拟机的具体参数在一定范 围内随机生成,以防止实验结果的偶然性。
[0154] 在实验中虚拟机参数范围设置为:CPU(50HZ~500HZ);内存(384M~1024M);硬盘 (50G~200G)。基于此随机生成25台虚拟机的具体需求如表2所示:
[0155] 表2
[0156]
[0157]在本实验中,设定该算法最大迭代测试Gmax = 200,种群规模为20,杂交概率Pc = 0.8,变异概率?111=0.15山=100,\2 = 1。其中,(〇1,(〇2,(〇3均为1/3,即认为0?1]、内存以及硬 盘同等重要。对BLGA算法采取多次实验取,物理机的利用率以及负载均衡方差实验结果如 图6所示。
[0158]从BLGA算法运行多次结果可以看出,物理机利用率的波动范围在[0.796-0.874], 虽然物理机的利用率存在上下波动的情况,基本保持在0.8以上,物理机利用率情况较好, 这主要由于BLGA算法是以提高服务服务资源利用为目标,通过遗传算法交叉、变异算子选 择适应度更好的染色体,所以物理机可以达到更好的资源利用率,该实验结果表明BLGA对 于解决虚拟机部署问题是一种可行的策略。对应负载均衡方差具有类似的结果,如图7所 不。
[0159]为了验证BLGA算法相对于其他算法可以更好的解决基于负载均衡的服务资源部 署问题,获得更优的满意解,说明该算法具有有效性,本文采用最佳递减匹配算法(BFD)、加 权最小连接算法(WLC)和基于距离匹配的方法进行比较分析,物理机的利用率以及物理机 负载方差实验结果如图8和图9所示:
[0160] 从图中可以看出,BLGA策略的物理机的利用率明显高于WLC策略、BFD策略以及向 量匹配法,考虑负载均衡的WLC策略高于BH)策略和向量匹配策略。主要是由于BLGA策略是 一种智能优化算法,具有更大的搜索空间,能从全局的角度出发,进行虚拟机匹配;同时, BLGA策略考虑物理机部署的负载均衡问题,通过物理机负载协调,从总体上提高了物理机 的利用率,并且在不同物理机负载协调的基础上,协调同一物理机不同维度资源的负载均 衡,最大限度提高物理机的利用率,避免了资源碎片的现象。
[0161] 从图中可以看出,BLGA策略的物理机的负载方差明显低于BH)策略以及向量匹配 法,略优于WLC策略。主要是因为BLGA策略提高物理机利用率的,注重协同不同物理资源的 负载能力,考虑物理机的负载均衡情况,因此,BLGA策略的负载均衡情况明显优于BH)策略 以及向量匹配法。虽然WLC策略也注重物理机的负载均衡情况,但搜索空间远小于BLGA算 法,所以BLGA策略优于WLC策略。
[0162] 本发明实施例还提供了一种虚拟机部署的系统的结构示意图,适用于对虚拟机在 物理机上的部署方案进行优化,如图10所示,该系统包括:
[0163] 初始解获取模块10,用于获取预设模型的初始解,所述初始解用于表示多个物理 机与多个虚拟机的映射关系;
[0164] 最优解获取模块11,用于使用预设算法对所述初始解进行运算,得到所述预设模 型在所述预设算法下的最优解;
[0165] 部署模块12,用于根据得到的最优解进行虚拟机的部署;
[0166] 其中,所述预设模型中的参数包括虚拟机的CPU、内存和硬盘大小。
[0167] 在本实施例的一个优选的实施方式中,所述预设模型的目标函数为:
[0168]
[0169]
[0170]
[0171]
[0172]
[0173]
[0174]
[0175]
[0176] 其中,σ表示物理机的负载方差,HAU表示物理机的利用率,HTj表示物理机是否处 于开启状态,HLj表不物理机的负载,ω :,ω 2,ω 3表不负载权重,AHL表不物理机的平均负 载;N表示虚拟机数量;M表示物理机数量;VCi、VM i、VDi分别表示虚拟机i的CPU、内存、硬盘大 小;HCj、HMj、HDj分别表示物理机j拥有CPU、内存、硬盘大小;X ij为二进制数,Xij为1是时,表 示虚拟机i部署在物理机j上,否则,Xlj为0。
[0177] 最优解获取模块11,具体用于使用预设算法对所述初始解进行运算,得到满足所 述约束条件且使得HAU最大且σ最小的解。
[0178] 在本实施例的一个优选的实施方式中,将所述初始解作为种群,所述种群包括多 个种群个体,每一种群个体表示虚拟机与物理机的映射关系;
[0179] 相应的,所述最优解获取模块,具体用于:
[0180]通过遗传算法对所述种群中的种群个体进行进化迭代,获取进化后的种群个体以 及包括所述进化后的种群个体的种群。
[0181] 在本实施例的一个优选的实施方式中,所述最优解获取模块11包括:
[0182] 适应度获取模块,用于在每一次迭代过程中,,根据种群中每一种群个体的物理机 的利用率以及物理机的负载方差获取种群个体的适应度;
[0183] 待进化种群个体获取模块,用于根据所述种群个体的适应度,采用轮盘赌法在所 述种群中选取待遗传的种群个体。
[0184] 在本实施例的一个优选的实施方式中,所述适应度获取模块,具体用于:
[0189]其中,Fitness表示种群个体的适应度,σ表示物理机的负载方差,HAU表示物理机
[0185]
[0186]
[0187]
[0188] 的利用率,λι,λ2表不加权因子,且A1X),λ2>0,HTj表不物理机是否处于开启状态,HLj表不 物理机的负载,W1, ω2, ω3表示负载权重,AHL表示物理机的平均负载,N表示虚拟机数量;M 表示物理机数量;VCi、VMi、VDi分别表示虚拟机i的CPU、内存、硬盘大小;HC j、HMj、HDj分别表 示物理机j拥有CPU、内存、硬盘大小。
[0190]在本实施例的一个优选的实施方式中,所述最优解获取模块,用于:
[0191]采用轮盘赌法在所述种群中选择待进化的种群个体,同时随机生成[0,1]之间的 数字r,判断所述r是否小于等于预设交叉概率;
[0192] 在所述r小于等于预设交叉概率时,对待进化的种群个体执行交叉操作,并形成新 的种群个体;
[0193] 随机生成[0,1]之间的数字q,判断所述q是否小于等于预设变异概率;
[0194] 在所述q小于等于预设变异概率时,在包括所述新的种群个体的种群中,选择待变 异的种群个体;
[0195] 对所述待变异的种群个体执行变异操作,判断包括执行变异操作后的种群个体的 种群是否满足预设约束条件;
[0196]在该种群满足预设约束条件时,停止执行变异操作。
[0197]需要说明的是,本实施例中的系统与上述方法是一一对应的关系,上述方法中的 实施细节同样适用于该系统,本实施例不对系统的具体实施细节进行详细说明。
[0198] 本发明的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以 在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技 术,以便不模糊对本说明书的理解。
[0199] 类似地,应当理解,为了精简本发明公开并帮助理解各个发明方面中的一个或多 个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个 实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释呈反映如下意图:即所要 求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如 下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。 因此,遵循【具体实施方式】的权利要求书由此明确地并入该【具体实施方式】,其中每个权利要 求本身都作为本发明的单独实施例。
[0200] 本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变 并且把它们设置在于该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或 组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组 件。除了这样的特征和/或过程或者单元中的至少一些是互相排斥之处,可以采用任何组合 对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方 法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要 求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0201] 此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例 中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的 范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任 意之一都可以以任意的组合方式来使用。
[0202] 本发明的各个部件实施例可以以硬件实现,或者以在一个或者多个处理器上运行 的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用 微处理器或者数字信号处理器(DSP)来实现根据本发明实施例的一种浏览器终端的设备中 的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方 法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。这样的 实现本发明的程序可以存储在计算机可读介质上,或者可以具有一个或者多个信号的形 式。这样的信号可以从因特网网站上下载得到,或者在载体信号上提供,或者以任何其他形 式提供。
[0203] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领 域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中, 不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词"包含"不排除存在未 列在权利要求中的元件或步骤。位于元件之前的单词"一"或"一个"不排除存在多个这样的 元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实 现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项 来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名 称。
[0204] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽 管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依 然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进 行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术 方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
【主权项】
1. 一种虚拟机部署的方法,其特征在于,包括: 获取预设模型的初始解,所述初始解用于表示多个物理机与多个虚拟机的映射关系; 使用预设算法对所述初始解进行运算,得到所述预设模型在所述预设算法下的最优 解; 根据得到的最优解进行虚拟机的部署; 其中,所述预设模型中的参数包括虚拟机的CPU、内存和硬盘大小。2. 根据权利要求1所述的方法,其特征在于,所述预设模型的目标函数为:所述预设模型的约束条件为: xije{0,l},i = l,2,3,...,N; j = l,2,3,...,M;其中,σ表示物理机的负载方差,HAU表示物理机的利用率,HTj表示物理机是否处于开启 状态,化j表示物理机的负载,ωι,02, 03表示负载权重,AHL表示物理机的平均负载;N表示 虚拟机数量;Μ表示物理机数量;VCi、VMi、VDi分别表示虚拟机i的CPU、内存、硬盘大小;HCj、 HMj、HDj分别表示物理机j拥有CPU、内存、硬盘大小;xij为二进制数,xij为1是时,表示虚拟机 i部署在物理机j上,否则,xij为0; 所述使用预设算法对所述初始解进行运算,得到所述预设模型的最优解,包括: 使用预设算法对所述初始解进行运算,得到满足所述约束条件且使得HAU最大且σ最小 的解。3. 根据权利要求1所述的方法,其特征在于,将所述初始解作为种群,所述种群包括多 个种群个体,每一种群个体表示虚拟机与物理机的映射关系; 相应的,所述使用预设算法对所述初始解进行运算,得到所述预设模型在所述预设算 法下的最优解,包括: 通过遗传算法对所述种群中的种群个体进行进化迭代,获取进化后的种群个体W及包 括所述进化后的种群个体的种群。4. 根据权利要求3所述的方法,其特征在于,通过遗传算法对所述种群中的种群个体进 行进化迭代,包括: 在每一次迭代过程中,根据种群中每一种群个体的物理机的利用率W及物理机的负载 方差获取种群个体的适应度;根据所述种群个体的适应度,采用轮盘赌法在所述种群中选 取待遗传的种群个体。5. 根据权利要求4所述的方法,其特征在于,所述根据种群中每一种群个体的物理机的 利用率W及物理机的负载方差获取种群个体的适应度,包括:根据如下公式获取每一种群 个体的物理机的利用率W及物理机的负载方差获取种群个体的适应度:其中,Fitness表示种群个体的适应度,0表示物理机的负载方差,HAU表示物理机的利 用率,λι,λ康示加权因子,且λι>0,λ2>0,ΗΤ康示物理机是否处于开启状态,化徒示物理 机的负载,ωι,02, 03表示负载权重,AHL表示物理机的平均负载,Ν表示虚拟机数量;Μ表示 物理机数量;VCi、VMi、V化分别表示虚拟机i的CPU、内存、硬盘大小;HCj、歷j、皿j分别表示物 理机j拥有CPU、内存、硬盘大小。6. -种虚拟机部署的系统,其特征在于,包括: 初始解获取模块,用于获取预设模型的初始解,所述初始解用于表示多个物理机与多 个虚拟机的映射关系; 最优解获取模块,用于使用预设算法对所述初始解进行运算,得到所述预设模型在所 述预设算法下的最优解; 部署模块,用于根据得到的最优解进行虚拟机的部署; 其中,所述预设模型中的参数包括虚拟机的CPU、内存和硬盘大小。7. 根据权利要求6所述的系统,其特征在于,所述预设模型的目标函数为:其中,σ表示物理机的负载方差,HAU表示物理机的利用率,HTj表示物理机是否处于开启 状态,化j表示物理机的负载,ωι,〇2, 〇3表示负载权重,AHL表示物理机的平均负载;N表示 虚拟机数量;Μ表示物理机数量;VCi、VMi、VDi分别表示虚拟机i的CPU、内存、硬盘大小;HCj、 HMj、HDj分别表示物理机j拥有CPU、内存、硬盘大小;xij为二进制数,xij为1是时,表示虚拟机 i部署在物理机j上,否则,XU为0; 所述最优解获取模块,具体用于使用预设算法对所述初始解进行运算,得到满足所述 约束条件且使得HAU最大且σ最小的解。8. 根据权利要求6所述的系统,其特征在于,将所述初始解作为种群,所述种群包括多 个种群个体,每一种群个体表示虚拟机与物理机的映射关系; 相应的,所述最优解获取模块,具体用于: 通过遗传算法对所述种群中的种群个体进行进化迭代,获取进化后的种群个体w及包 括所述进化后的种群个体的种群。9. 根据权利要求8所述的系统,其特征在于,所述最优解获取模块包括: 适应度获取模块,用于在每一次迭代过程中,根据种群中每一种群个体的物理机的利 用率W及物理机的负载方差获取种群个体的适应度; 待进化种群个体获取模块,用于根据所述种群个体的适应度,采用轮盘赌法在所述种 群中选取待遗传的种群个体。10. 根据权利要求9所述的系统,其特征在于,所述适应度获取模块,具体用于根据如下 公式计算种群个体的适应度:其中,Fitness表示种群个体的适应度,0表示物理机的负载方差,HAU表示物理机的利 用率,λι,λ康示加权因子,且λι>0,λ2>0,ΗΤ康示物理机是否处于开启状态,化徒示物理 机的负载,ωι,02, 03表示负载权重,AHL表示物理机的平均负载,Ν表示虚拟机数量;Μ表示 物理机数量;VCi、VMi、V化分别表示虚拟机i的CPU、内存、硬盘大小;HCj、歷j、皿j分别表示物 理机j拥有CPU、内存、硬盘大小。
【文档编号】G06F9/50GK105843689SQ201610228790
【公开日】2016年8月10日
【申请日】2016年4月12日
【发明人】罗贺, 牛艳秋, 胡笑旋, 马华伟, 靳鹏, 夏维, 王国强, 梁峥峥, 朱默宁, 方向
【申请人】合肥工业大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1