基于混合遗传算法的云计算虚拟机动态调度方法

文档序号:6487518阅读:215来源:国知局
基于混合遗传算法的云计算虚拟机动态调度方法
【专利摘要】本发明属于基础设施即服务型(Iaas)云计算领域,涉及一种基于混合遗传算法的云计算虚拟机动态调度方法;该方法的步骤为:监控云计算环境中的物理机和虚拟机负载信息,分析每一台主机的负载周期及变化情况,确定负载变化的周期;通过具有多适应度的混合遗传算法,算出云环境中出现的虚拟机放置组合。本发明根据三个优化目标,计算得出最优化的虚拟机放置策略,作为最终的结果;周期性地执行本发明所述算法,通过虚拟机的动态迁移,实现虚拟机合理放置,提高资源利用率,节省资源。本发明能解决当前云计算中心中资源利用率不高的问题,适应当前云计算中心的自动化管理要求。
【专利说明】基于混合遗传算法的云计算虚拟机动态调度方法
【技术领域】
[0001]本发明属基础设施即服务型(Iaas)云计算领域,涉及一种云计算环境中的虚拟机动态调度技术,具体涉及一种基于混合遗传算法的云计算虚拟机动态调度方法;该方法为一种通过分析、计算云计算数据中心的监控数据以指导其中的虚拟机动态合理放置的方法。
技术背景
[0002]云计算作为近年来新兴的产业,获得了科研界和产业界的广泛关注。所述云计算主要划分为三种类型:基础设施即服务、平台即服务、软件即服务。在基础设施即服务型的云计算环境中,虚拟机的合理放置问题一直未得到有效的解决。
[0003]目前,在“基础设施即服务(IaaS)”型的云计算环境下,用户购买的虚拟机需求是各不相同的,所表现出的负载特征也是各不相同的;最普遍的归类方法有三种,即CPU密集型、磁盘I/o密集型、网络密集型。若同一台物理机上承载的虚拟机为同一种类型,例如同为CPU密集型,则各个虚拟机之间会竞争CPU资源的使用,而其它的资源(磁盘、网络等)利用率就会偏低,上述状况造成因为竞争而使得服务质量不高,同时因为整体利用率的偏低而造成资源的浪费,且能源会产生不必要的损耗。一般情况下,一个普通的300W服务器一年能耗约为2628千瓦时,同时需要748千瓦时的额外电量用于冷却。在云计算环境下,降低能耗节约成本对互联网数据中心有着重要的意义。
[0004]虽然目前已有一些关于云计算环境下虚拟机调度的技术,但是上述技术普遍存在一些问题,主要有:
[0005](I)基于服务器整体的负载情况,没有考虑到负载的差异性;通常该类调度技术使用的参数为服务器整体的负载,所述整体的负载由各项负载分别计算得出,如此的计算方法就不能分辨出负载的差异性,一个CPU密集型的应用和一个网络密集型的应用可能表现出同样高的相对负载,但其的特征显然是不同的,也不应该同样地对待,而应该差别对待;
[0006](2)采用单一的评判机制;当前的一些技术在对虚拟机调度方法的评判上,普遍只采用一个评判指标,这样会造成调度时顾此失彼,不能综合考虑,往往造成调度时优化了一项参数,但恶化其它参数的情况;云计算环境下虚拟机动态调度技术需要配合虚拟机的迁移使用,若只考虑性能优化值,可能会造成巨大的虚拟机迁移成本;
[0007](3)性能优化幅度;当前的云计算环境下虚拟机动态调度技术的优化效果不佳,性能提升幅度不大,没有对具有周期性负载特征的应用进行相应的优化。

【发明内容】

[0008]本发明的目的是克服现有技术的缺陷和不足提供一种基于混合遗传算法的云计算虚拟机动态调度方法;其通过获取云计算数据中心的监控数据,分析其中的CPU利用率、网络利用率、磁盘利用率这三个维度的负载参数,使其中某维度负载利用率高的虚拟机与利用率低的虚拟机迁移至同一台物理机,达到合理配置资源、提高资源利用率。该方法能克服现有技术的云计算环境下资源利用率不高,且现有虚拟机动态调度技术不能很好地优化资源利用率的缺陷,
[0009]本发明中所述的云计算属于云计算中的基础设施即服务领域;本发明针对的云计算环境为具有明显周期性的应用,若虚拟机负载率周期性较低,则可能造成本发明所获结果不稳定。
[0010]本发明的方法包括:监控云计算环境中的物理机和虚拟机负载信息及特征提取,分析每一台主机的负载周期及变化情况,确定负载变化的周期;通过具有多适应度的混合遗传算法,算出云环境中可能出现的虚拟机放置组合;其流程图如图1所示,
[0011](I)获取虚拟机各项负载、获取虚拟原始放置信息;
[0012](2)分步运行本发明中所述算法;
[0013](3)将结果与原始放置信息作比较;
[0014](4)检测结果是否达到优化目标,若“是”则进行下一步,若“否”则返回步骤(2);
[0015](5)计算迁移成本是否过高,若“是”则直接“结束”,若“否”则进行下一步;
[0016](6)根据结果对虚拟机进行迁移。
[0017]具体而言,本发明的基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于,其具体步骤为:
[0018](I)向历史监控数据库发起请求,获得所有虚拟机的各项负载参数,对周期性的应用以一个周期为单位;对实际环境中常见应用以24小时为单位;
[0019](2)进行多适应度混合遗传算法的准备工作:计算出“多适应度”中的子适应度函数1、子适应度函数2、子适应度函数3,通过其线性组合得出总的适应度函数;
[0020](3)初始化遗传算法的种群,生成200-500个个体;
[0021](4)通过总适应度函数,进行遗传算法中的迭代过程;根据对精度和时间权衡,可迭代500-2000代;
[0022](5)根据遗传算法的迭代结果,得出最终的动态调度方案;
[0023](6)根据结果得出的动态调度方案,进行虚拟机的迁移;此时本发明所述过程结束,得出的最终虚拟机配置方案为当前最优方案;
[0024](7)根据虚拟机负载的变化情况,每24小时运行一次本发明所述算法,以保证资源利用率长期保持在最优化状态。
[0025]本发明方法的核心为获取多维度的负载,且采用多适应度的遗传算法以达到兼顾不同优化指标的目的;为了合理分配云计算环境中的资源、达到优化资源使用率的目的,本发明采用以下算法步骤,分步获得三个维度的负载指标作为输入,通过混合遗传算法的选择、变异、进化等过程,综合考虑物理机使用数量、负载平衡率、迁移成本这三个指标,最后获得一次合理的虚拟机动态迁移策略;
[0026]本发明中,所述算法具有如下3个可优化的目标:(I)所占用的物理机数量最少;
(2)负载互补;(3)需迁移的虚拟机数量最少;
[0027]其中,所述(I)和(2)占主要权重,(3)为次要权重;
[0028]上述三个优化目标对应了三个子适应度函数,将该三个子适应度函数的结果进行混合后,得到遗传算法中个体选择函数所需的适应度值;
[0029]本发明中,对于物理机和虚拟机的特征提取,为:设pm代表云中物理机总数,vm代表云中虚拟机总数,Counti代表遗传算法中第i个染色体里所占用的物理机数量,P为遗传
算法群体中个体数,则第I个子适应度函数的计算方法为:
【权利要求】
1.一种基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于,所述的方法包括:监控云计算环境中的物理机和虚拟机负载信息及特征提取,分析每一台主机的负载周期及变化情况,确定负载变化的周期;通过具有多适应度的混合遗传算法,算出云环境中可能出现的虚拟机放置组合,其包括步骤: (1)向历史监控数据库发起请求,获得所有虚拟机的各项负载参数,对周期性的应用以一个周期为单位;对实际环境中常见应用以24小时为单位; (2)进行多适应度混合遗传算法的准备工作:计算出“多适应度”中的子适应度函数1、子适应度函数2、子适应度函数3,通过其线性组合得出总的适应度函数; (3)初始化遗传算法的种群,生成200-500个个体; (4)通过总适应度函数,进行遗传算法中的迭代过程;根据对精度和时间权衡,可迭代500-2000 代; (5)根据遗传算法的迭代结果,得出最终的动态调度方案; (6)根据结果得出的动态调度方案,进行虚拟机的迁移,所述过程结束,得出最终虚拟机配置方案; (7)根据虚拟机负载的变化情况,每24小时运行一次所述算法,保证资源利用率保持最优化状态。
2.如权利要求1所述的基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于,对于物理机和虚拟机的特征提取中,设Pm为云中物理机总数,vm为云中虚拟机总数,counti为遗传算法中第i个染色体里所占用的物理机数量,P为遗传算法群体中个体数。
3.如权利要求1所述的基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于,所述的子适应度函数I通过下述公式计算得:
4.如权利要求1中所述的基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于:所述的子适应度函数2通过下述公式计算得::
5.如权利要求1中所述的基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于,所述的子适应度函数3通过下述公式计算得:
6.如权利要求1中所述的基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于,所述的总适应度函数通过下述公式计算得:
Ei = xEn+yEi2+zEi3
其中 x+y+z=l (9)。
7.如权利要求1或6所述的基于混合遗传算法的云计算虚拟机动态调度方法,其特征在于,通过总适应度函数的计算,得出每一种放置策略的适度度,其中最高的适应度放置策略在遗传算法中进化并保留至下一代,最终得的适应度最高的放置策略为最优化的虚拟机放置策略。
【文档编号】G06N3/12GK103576829SQ201210271831
【公开日】2014年2月12日 申请日期:2012年8月1日 优先权日:2012年8月1日
【发明者】吴杰, 陈实, 吕智慧 申请人:复旦大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1