基于OpenFlow框架下云数据中心虚拟机调度方法

文档序号:6631356阅读:160来源:国知局
基于OpenFlow框架下云数据中心虚拟机调度方法
【专利摘要】本发明公开了一种基于OpenFlow框架下云数据中心虚拟机调度方法,主要解决现有云计算数据中心环境下迁移方案优化目标单一的问题。其实现步骤为:1)通过OpenFlow控制器收集云数据中心中服务器和虚拟机的相关信息,分析虚拟机负载周期及变化情况;2)根据基于信息素扩散的蚁群算法计算出新的虚拟机位置;3)由OpenFlow控制器收集的路由信息和新的虚拟机位置;4)根据路由信息和新的虚拟机位置利用Dijkstra算法计算出合适的迁移路径,完成对虚拟机调度。本发明能够实现云数据中心整体能耗降低和负载均衡这两个优化目标,可用于在OpenFlow框架下利用改进的蚁群算法对虚拟机进行调度。
【专利说明】基于OpenFIow框架下云数据中心虚拟机调度方法

【技术领域】
[0001] 本发明属于云计算【技术领域】,涉及一种云数据中心虚拟机调度方法,可用于在 OpenFlow框架下利用改进的蚁群算法对虚拟机进行调度,从而实现数据中心的整体能耗降 低和负载的均衡。

【背景技术】
[0002] 随着一批新型互联网业务的兴起以及大众接入带宽的快速增长,数据中心网络流 量呈现迅速增长的态势。互联网业务对数据中心乃至互联网提出了越来越高的传输质量要 求,包括大带宽、安全保障、灵活调度、智能管理等。在这样的趋势下出现了各种各样的解 决方案,OpenFlow技术便是应运而生地一种新型网络交换模型,它完全颠覆了原有路由和 数据使用同一平面的做法,采用控制和数据转发分离的模式将网络设备控制面与数据面分 离,从而实现网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。特别是针 对当前云计算数据中心环境下智能化控制能力有限且缺乏统一标准的问题,采用OpenFlow 技术可以更加有效地处理云计算数据中心中控制信息的交互和资源的分配。
[0003] 由于云计算等技术的应用,大量的计算和交互将在服务器间完成,不同数据中心 服务器间的横向流量大大增加。未来的数据中心网络越来越趋向于由虚拟机和服务器群组 成,即一台服务器同时运行多个虚拟机的方式为一个或者多个客户提供服务。这样客户从 形式上就可以获得几乎无限的资源。从云服务提供商角度考虑,如何在保证数据中心整体 负载平衡的前提下,降低数据中心的整体能耗就是一个重要的问题,合理地调整虚拟机放 置的位置是解决这一问题的重要途径。
[0004] 当前虚拟机调度技术主要分为两类:基于数据中心负载平衡的调度方法和基于数 据中心节能的调度方法。第一类方法主要目的是均衡数据中心各服务器的资源,这些资源 包括CPU、内存、磁盘容量等,此方法通过将虚拟机从高资源利用率的服务器迁移到低资源 利用率的服务器,实现数据中心整体性能的均衡。由于数据中心服务器数目有限,单纯使用 该方法会导致承载虚拟机的服务器数目增加,限制数据中心的扩展。第二类方法主要目的 是降低数据中心整体的能耗,此方法通过将虚拟机从多个低利用率服务器迁移到单个服务 器上,减少处于工作状态的服务器数目,从而实现数据中心节能的目的。但这可能会导致数 据中心中某一服务器资源利用率过高,影响数据中心的整体性能。因此如果只采用单一方 法进行调度,会使得调度时不能充分考虑系统的综合性能,在优化某一性能指标的同时造 成其他性能指标的恶化,影响到数据中心整体运行。


【发明内容】

[0005] 本发明的目的在于针对上述已有技术的不足,提出一种在OpenFlow框架下云数 据中心虚拟机调度方法,以均衡负载、降低能耗,提高数据中心的性能。
[0006] 实现本发明目的的技术方案是:收集云数据中心中服务器和虚拟机的负载信息, 分析虚拟机负载周期及变化情况,确定进行迁移的时间间隔;根据基于信息素扩散的蚁群 算法计算出虚拟机调度方案;通过OpenFlow控制器计算出合适的迁移路径。具体步骤包括 如下:
[0007] (1)由OpenFlow控制器收集云数据中心中服务器和虚拟机的负载信息,该负载信 息包括:服务器总数S,处于运行状态的服务器数目S',虚拟机总数V,虚拟机i的位置变 量X ij,当虚拟机i放置在服务器j,Xij取1,否则为0,虚拟机i所需的CPU资源Ri,服务器 j能够提供的CPU资源虚拟机i所需的磁盘容量T i ;
[0008] (2)将收集的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵 n、信息素浓度矩阵T,由这两个参数得到选择函数矩阵p ;
[0009] (3)根据选择函数矩阵P产生200?500个虚拟机位置序列,每个位置序列表示一 只蚂蚁,构成蚂蚁种群;
[0010] ⑷根据步骤⑶中得到的位置序列,设定如下判断条件:

【权利要求】
1. 一种基于OpenFlow框架下云数据中心虚拟机调度方法,其特征在于包括以下步骤: (1) 由OpenFlow控制器收集云数据中心中服务器和虚拟机的负载信息,该负载信息包 括:服务器总数S,处于运行状态的服务器数目S',虚拟机总数V,虚拟机i的位置变量Xij, 当虚拟机i放置在服务器j,Xu取1,否则为0,虚拟机i所需的CPU资源Ri,服务器j能够 提供的CPU资源?_,虚拟机i所需的磁盘容量Ti ; (2) 将收集的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信 息素浓度矩阵τ,由这两个参数得到选择函数矩阵ρ; (3) 根据选择函数矩阵ρ产生200?500个虚拟机位置序列,每个位置序列表示一只蚂 蚁,构成蚂蚁种群; (4) 根据步骤(3)中得到的位置序列,设定如下判断条件:
其中,式表示每个虚拟机i只能放置在一台服务器j上;式表示服务器j上所有虚拟机 的CPU资源之和不能超过服务器j提供的CPU资源; (5) 根据步骤(4)设定的条件,判断步骤(3)中得到的位置序列是否满足式和式;若满 足,则更新虚拟机位置序列,迭代次数加1 ;若不满足,则保持当前位置,迭代次数加1 ;重复 步骤(3)到(5),进行蚁群算法的迭代,设迭代次数是500?1000 ; (6) 根据蚁群算法的迭代结果和OpenFlow控制器收集的路由信息,由Dijkstra算法确 定出迁移路径,完成虚拟机的调度; (7) 根据虚拟机和服务器的负载信息变化,每24小时运行一次上述过程,保证系统处 于优化状态。
2. 如权利要求1中所述的基于OpenFlow框架下云数据中心虚拟机调度方法,其特征在 于:步骤(2)所述的启发因子矩阵η,通过以下公式计算:
其中,服务器j上的剩余资源利用率《,=1 -,服务器j上资源利用率与 Ir/? 系统平均资源利用率的差值绝对值^ ,m表示系统的平均资源利用率, ,YjR^Xii - - - "1 =Y-J_>S表不服务器总数,V表不虚拟机总数,Ri表不虚拟机i所需的CPU资 iSxCi 源,表示服务器j能够提供的CPU资源,Ti表示虚拟机i所需的磁盘容量。
3. 如权利要求1中所述的基于OpenFlow框架下云数据中心虚拟机调度方法,其特征在 于:所述步骤(2)中的信息素浓度矩阵τ,通过以下公式计算:
式中τu(t)表示第t次迭代时配对(i,j)上的总信息素浓度,配对(i,j)表示虚拟机i放置到服务器j上;P表示信息素的衰减速率;是第k只蚂蚁在本次循环中留在配对 (i,j)上的信息素浓度;Q表示计算能力预测值的权重函数,B表示系统资源利用率的标准 差,忍,E表示系统中处于工作状态的服务器所占比例,£ =工,S表示服务器总 IsJ s 数,Si表示处于运行状态的服务器数目。
4. 如权利要求1中所述的基于OpenFlow框架下云数据中心虚拟机调度方法,其特征在 于:所述步骤(3)在一次迭代中的选择函数p,通过以下公式计算:
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列 表,即不能选择的服务器集合。
【文档编号】G06F9/455GK104317646SQ201410571245
【公开日】2015年1月28日 申请日期:2014年10月23日 优先权日:2014年10月23日
【发明者】顾华玺, 刘炫璋, 杨银堂, 王坤, 王曦, 余晓衫 申请人:西安电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1