本发明涉及云平台中一种新的虚拟机整合的方法,特别地,涉及一种基于文化-多蚁群算法的虚拟机整合的方法。
背景技术:
据中国联通数据中心统计,该地方耗电量一年将近100亿kW.h,按照如今我国标准煤能效来计算,为了能够给该中心提供足够的电力至少需要消耗92万吨的标准煤;而与之相对应,中国电信数据中心每年需耗费近103万吨标准煤,耗电量超过110亿千瓦时。按照英国布里斯托尔大学对全球人云计算需求的调查,目前每人每天对云计算的需求量约为3G左右,按照每兆耗电4W.h计算,为满足全球所有人的需求,每天需要的耗电量多达1.2万亿瓦特,相当于近百个一级规模的城市。
云计算中心如此高的耗电量对应的就是大量的煤燃烧,由此造成的环境污染是不可想象的。因此,很多学者都将研究的重点放置在降低云计算中心数据能量消耗大的问题上,这也造成目前大多数虚拟机迁移算法都是以节能为目标的而设计的,但这些算法的弊端在于它只考虑到了一种资源的能耗,而其他的资源对能耗的影响都被忽略掉了。通过大量的文献资料阅读,发现服务器的耗能与CPU的利用利率呈近似的线性关系,但是服务器处于空闲状态的耗能也是很多的,能够达到服务器处于顶峰耗能的三分之二,而且不同的资源具有不同的消耗能量的特征。根据多位科学家的研究发现,在磁盘的利用率达到一半时才是磁盘的最佳能效,而CPU却是在利用率达到将近三分之二时才是最佳能效,所以,目前大多数仅仅以CPU的利用率来作为衡量标准的服务器能耗模型是不准确的。
现如今,大多数虚拟机迁移大多使用的算法为贪心算法以及粒子群算法。但贪心算法大多采用的是单点搜索的方法,因此一旦陷入局部最优就不能实现很好的迁移效果;而粒子群算法虽然不复杂,搜索用时短,效率高,但是处理离散的优化问题效果不好,通常会陷入局部最优,仍需进一步的改进。
对于实时迁移问题,本文提出了一种利用文化-多蚁群算法的虚拟机迁移的方法,该的方法改进了贪心算法在虚拟机放置过程中的缺陷,避免了粒子群算法处理离散问题的难点,改进了蚁群算法的单一性,以此来得出较好的虚拟机迁移的方法。在该的方法中,人工蚂蚁根据当前的资源状况,将利用率较小的物理机上的虚拟机整合到较为活跃的物理机上,以此来减少工作的物理机的数量,使更多的物理机处于休眠状态,从而不仅降低了云数据中心的能耗,也提升了云计算平台的主机资源的利用率。
技术实现要素:
通过云计算仿真软件CloudSim可以对本发明提出的虚拟机迁移的方法的效果做出评价。仿真结果表明,该的方法可以在使用最少的迁移次数的情况下,使尽可能多的物理机休眠,从而降低能耗。它在虚拟机迁移次数上、能量消耗上优于多蚁群算法以及多蚁群算法的迁移方法。
为实现上述目的,本发明公开了如下的技术内容:
一种云平台下基于文化-多蚁群算法虚拟机整合的方法,其特征在于按如下的步骤进行:
(1)在云计算平台中,每个物理主机上面有大量的任务,寻求满足使用最少主机且每个主机达到最大的利用率,以期望减少云数据中心的能量消耗;
(2)局部代理(LA)监视主机的利用率,并将主机分为四类,即轻载物理主机、正常物理主机、预超载物理主机、超载物理主机;
(3)全局代理(GA)手机物理机的状态,并利用文化-多蚁群算法的虚拟机整合算法建立一套全局最优的迁移计划;
(4)全局代理发送迁移命令给虚拟机监视器(VMMS),虚拟机监视器执行虚拟机迁移整合任务,该命令决定了哪些虚拟机需要迁移到哪些目的物理机上;
(5)当VMMS从GA那收到指令后开始执行真实的虚拟机迁移计划,主要是:
1)保持正常物理机状态的前提下,尽可能的将其他超载或者轻载物理机的虚拟机迁移过来,尽可能的把超载物理机的状态转换为正常,把轻载物理机关闭;
2)把轻载物理机上的虚拟机尽可能的迁移出去以至于关闭物理机或者尽可能将其他的虚拟机迁移进来达到正常物理机的状态;
3)把超载物理机上的虚拟机迁移出去,使其达到正常物理机的状态。
本发明步骤(2)所述的局部代理监视主机并把主机分为4类,即局部代理根据每个主机CPU利用率、内存利用率、以及输入输出利用率将主机分为轻载、正常、预超载和超载;主要作用在于根据主机的状态选择要操作源主机和目的主机,然后将源主机上的虚拟机迁移到目的主机上,最终达到主机的负载均衡。
本发明步骤(3)所述的根据文化-多蚁群算法建立的最优迁移计划,指的是:
(1)所有的种群蚂蚁走完后找出最优的迁移计划,利用进化算法对传入计划和信仰空间内的计划进行优化;
(2)进化后是否为最优,若是则更新信仰空间否则则进入传入计划;
(3)传入计划是否是最优,若是则更新信仰空间,否则则不更新信仰空间;
(4)之后更新全局信息素,若所有代的蚂蚁都走完则结束;迁移过程,转化为数学描述如下:
文化-多蚁群算法的虚拟机迁移过程中,代表目标函数;s是随机状态转移规则,每一只蚂蚁进行下一个元组的选择;是蚂蚁k随机选择元组s进行下一个寻路的概率,其中,是代表出发点和终点;代表的是在t时刻,路径上的信息素浓度;距离的倒数,被称作能见度表示的还没有访问过的地点集合;是两个常量,分别代表着信息素的加权值和能见度的加权值。例如,在初始化时,蚂蚁处于1号城市,此时的而1号城市到其他城市之间的信息素和距离分别依次是,由于此时的分母计算的值相同所以只需比较分母即可,由比较可知下一步选择3号城市。
本发明进一步公开了 云平台下基于文化-多蚁群算法虚拟机整合的方法在降低云数据中心能耗,提升云计算平台主机资源利用率方面的应用。实验结果表明基于文化-多蚁群算法虚拟机整合在减少虚拟机迁移次数和降低云数据中心能耗相比基于蚁群算法的虚拟机整合上在性能有明显的提升。
本发明涉及云云平台下基于文化-多蚁群算法虚拟机整合的方法,主要:
(1).对信仰空间以及信息素矩阵进行初始化,创建虚拟机与物理机的向量;
(2).为每只蚂蚁设置起点,并利用随即概率规则为蚂蚁选择下一个向量,当每只蚂蚁完成整个迁移计划后通过计算本次迁移的目标值判断是否为本种群最优,如果是,就进行局部信息素更新,如果不是最优,则舍弃该计划;
(3).当该代蚂蚁全部完成迁移计划,就将该代蚂蚁中的最优迁移计划通过accept()函数传入信仰空间,在信仰空间中进行进化,进化后判断是否有更优的计划出现,如果有则更新信仰空间,利用influence()函数指导种群空间中的后代蚂蚁寻路;如果没有则不更新信仰空间,回到种群空间。
本发明公开的云平台下基于文化-多蚁群算法虚拟机整合的方法与现有技术相比所具有的积极效果在于:
对于实时迁移问题,本发明提出了一种利用文化-多蚁群算法的虚拟机迁移的方法,该的方法改进了贪心算法在虚拟机放置过程中的缺陷,避免了粒子群算法处理离散问题的难点,改进了蚁群算法的单一性,以此来得出较好的虚拟机迁移的方法。在该的方法中,人工蚂蚁根据当前的资源状况,将利用率较小的物理机上的虚拟机整合到较为活跃的物理机上,以此来减少工作的物理机的数量,使更多的物理机处于休眠状态,从而不仅降低了云数据中心的能耗,也提升了云计算平台的主机资源的利用率。
附图说明
图1是文化-多种群算法流程图;
图2是文化-多种群算法框架;
图3是基于文化-多蚁群算法的虚拟机迁移流程图;
图4是两种算法迁移次数的比较;结果说明基于文化-多蚁群算法的虚拟机迁移次数都在4次左右徘徊,比较稳定;而基于蚁群算法的虚拟机迁移次数最多时能达到30次靠上,最少时也仅仅8次左右,虚拟机迁移次数明显多于文化-多蚁群算法;
图5是两种算法休眠主机数量的比较;结果说明基于蚁群算法的虚拟机迁移和文化-多蚁群算法的虚拟机迁移的方法的休眠主机数量大致相同,在这方面,文化-多蚁群算法并不能突显它的优势;
图6是两种算法的能耗比较;结果说明基于文化-多蚁群算法的虚拟机迁移的方法优于基于蚁群算法的虚拟机迁移的方法,且该算法的下的迁移能耗较为稳定。
具体实施方式
下面通过具体的实施方案叙述本发明。除非特别说明,本发明中所用的技术手段均为本领域技术人员所公知的方法。另外,实施方案应理解为说明性的,而非限制本发明的范围,本发明的实质和范围仅由权利要求书所限定。对于本领域技术人员而言,在不背离本发明实质和范围的前提下,对这些实施方案中各种改变或改动也属于本发明的保护范围。
实施例1
下面结合图1文化-多种群算法流程图加以描述;
由图1文化-多种群算法流程图,该算法从找出种群内部最优解处进入信仰空间,然后根据信仰空间里的 方法对其变异,变异后,用进化库里的知识根据对种群空间的蚂蚁进行引导。
实施例2
下面结合图2文化-多种群算法框架加以描述;
由图2文化-多种群算法框架,在文化算法中种群空间采用多蚁群算法,在种群空间,利用方法找到最优解,并根据方法把种群最优解传至信仰空间样本库,按照信仰空间中的对该种群优解进行进化,如果进化出比信仰空间进化库中的最优解还优的解,就更新进化库,并利用方法引导种群空间中的蚂蚁后代进化,种群空间中通过方法挑出部分个体作为下一代的父代,即获得全局最优解的蚁群为父代,接着各个种群通过generate()函数生成下一代多蚁群,直到寻求到最优解为止;
实施例3
下面结合图3基于文化-多蚁群算法的虚拟机迁移流程图加以描述:
由图3基于文化-多蚁群算法的虚拟机迁移流程图,在基于文化-多蚁群算法的虚拟机迁移的方法描述如下:
对信仰空间以及信息素矩阵进行初始化,创建虚拟机与物理机的向量;
然后为每只蚂蚁设置起点,并利用随机概率即公式 为蚂蚁选择下一个向量;
当每只蚂蚁完成整个迁移计划后通过公式计算本次迁移的目标值判断是否为本种群最优,如果是,就进行局部信息素更新,如果不是最优,则舍弃该计划;
当该代蚂蚁全部完成迁移计划,就将该代蚂蚁中的最优迁移计划通过 函数传入信仰空间,在信仰空间中进行进化,进化后判断是否有更优的计划出现,如果有则更新信仰空间,利用函数指导种群空间中的后代蚂蚁寻路;如果没有则不更新信仰空间,回到种群空间。
实施例4
云平台下基于文化-多蚁群算法虚拟机整合的方法按如下的步骤进行:
(1)在云计算平台中,每个物理主机上面有大量的任务,寻求满足使用最少主机且每个主机达到最大的利用率,以期望减少云数据中心的能量消耗;
(2)局部代理(LA)监视主机的利用率,并将主机分为四类,即轻载物理主机、正常物理主机、预超载物理主机、超载物理主机;所述的局部代理监视主机并把主机分为4类,即局部代理根据每个主机CPU利用率、内存利用率、以及输入输出利用率将主机分为轻载、正常、预超载和超载;
(3)全局代理(GA)手机物理机的状态,并利用文化-多蚁群算法的虚拟机整合算法建立一套全局最优的迁移计划;
所述的根据文化-多蚁群算法建立的最优迁移计划,指的是:
(1)所有的种群蚂蚁走完后找出最优的迁移计划,利用进化算法对传入计划和信仰空间内的计划进行优化;
(2)进化后是否为最优,若是则更新信仰空间否则则进入传入计划;
(3)传入计划是否是最优,若是则更新信仰空间,否则则不更新信仰空间;
(4)之后更新全局信息素,若所有代的蚂蚁都走完则结束;迁移过程,转化为数学描述如下:
文化-多蚁群算法的虚拟机迁移过程中, 代表目标函数;s是随机状态转移规则,每一只蚂蚁进行下一个元组的选择; 是蚂蚁k随机选择元组s进行下一个寻路的概率。
(4)全局代理发送迁移命令给虚拟机监视器(VMMS),虚拟机监视器执行虚拟机迁移整合任务,该命令决定了哪些虚拟机需要迁移到哪些目的物理机上;
(5)当VMMS从GA那收到指令后开始执行真实的虚拟机迁移计划,主要是:
1)保持正常物理机状态的前提下,尽可能的将其他超载或者轻载物理机的虚拟机迁移过来,尽可能的把超载物理机的状态转换为正常,把轻载物理机关闭;
2)把轻载物理机上的虚拟机尽可能的迁移出去以至于关闭物理机或者尽可能将其他的虚拟机迁移进来达到正常物理机的状态;
3)把超载物理机上的虚拟机迁移出去,使其达到正常物理机的状态。