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

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

Info

Publication number
CN104317646B
CN104317646B CN201410571245.XA CN201410571245A CN104317646B CN 104317646 B CN104317646 B CN 104317646B CN 201410571245 A CN201410571245 A CN 201410571245A CN 104317646 B CN104317646 B CN 104317646B
Authority
CN
China
Prior art keywords
mtd
mrow
msub
mtr
virtual machine
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201410571245.XA
Other languages
English (en)
Other versions
CN104317646A (zh
Inventor
顾华玺
刘炫璋
杨银堂
王琨
王曦
余晓杉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xidian University
Original Assignee
Xidian University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xidian University filed Critical Xidian University
Priority to CN201410571245.XA priority Critical patent/CN104317646B/zh
Publication of CN104317646A publication Critical patent/CN104317646A/zh
Application granted granted Critical
Publication of CN104317646B publication Critical patent/CN104317646B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)

Abstract

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

Description

基于OpenFlow框架下云数据中心虚拟机调度方法
技术领域
本发明属于云计算技术领域,涉及一种云数据中心虚拟机调度方法,可用于在OpenFlow框架下利用改进的蚁群算法对虚拟机进行调度,从而实现数据中心的整体能耗降低和负载的均衡。
背景技术
随着一批新型互联网业务的兴起以及大众接入带宽的快速增长,数据中心网络流量呈现迅速增长的态势。互联网业务对数据中心乃至互联网提出了越来越高的传输质量要求,包括大带宽、安全保障、灵活调度、智能管理等。在这样的趋势下出现了各种各样的解决方案,OpenFlow技术便是应运而生地一种新型网络交换模型,它完全颠覆了原有路由和数据使用同一平面的做法,采用控制和数据转发分离的模式将网络设备控制面与数据面分离,从而实现网络流量的灵活控制,为核心网络及应用的创新提供了良好的平台。特别是针对当前云计算数据中心环境下智能化控制能力有限且缺乏统一标准的问题,采用OpenFlow技术可以更加有效地处理云计算数据中心中控制信息的交互和资源的分配。
由于云计算等技术的应用,大量的计算和交互将在服务器间完成,不同数据中心服务器间的横向流量大大增加。未来的数据中心网络越来越趋向于由虚拟机和服务器群组成,即一台服务器同时运行多个虚拟机的方式为一个或者多个客户提供服务。这样客户从形式上就可以获得几乎无限的资源。从云服务提供商角度考虑,如何在保证数据中心整体负载平衡的前提下,降低数据中心的整体能耗就是一个重要的问题,合理地调整虚拟机放置的位置是解决这一问题的重要途径。
当前虚拟机调度技术主要分为两类:基于数据中心负载平衡的调度方法和基于数据中心节能的调度方法。第一类方法主要目的是均衡数据中心各服务器的资源,这些资源包括CPU、内存、磁盘容量等,此方法通过将虚拟机从高资源利用率的服务器迁移到低资源利用率的服务器,实现数据中心整体性能的均衡。由于数据中心服务器数目有限,单纯使用该方法会导致承载虚拟机的服务器数目增加,限制数据中心的扩展。第二类方法主要目的是降低数据中心整体的能耗,此方法通过将虚拟机从多个低利用率服务器迁移到单个服务器上,减少处于工作状态的服务器数目,从而实现数据中心节能的目的。但这可能会导致数据中心中某一服务器资源利用率过高,影响数据中心的整体性能。因此如果只采用单一方法进行调度,会使得调度时不能充分考虑系统的综合性能,在优化某一性能指标的同时造成其他性能指标的恶化,影响到数据中心整体运行。
发明内容
本发明的目的在于针对上述已有技术的不足,提出一种在OpenFlow框架下云数据中心虚拟机调度方法,以均衡负载、降低能耗,提高数据中心的性能。
实现本发明目的的技术方案是:收集云数据中心中服务器和虚拟机的负载信息,分析虚拟机负载周期及变化情况,确定进行迁移的时间间隔;根据基于信息素扩散的蚁群算法计算出虚拟机调度方案;通过OpenFlow控制器计算出合适的迁移路径。具体步骤包括如下:
(1)由OpenFlow控制器收集云数据中心中服务器和虚拟机的负载信息,该负载信息包括:服务器总数S,处于运行状态的服务器数目S′,虚拟机总数V,虚拟机i的位置变量Xij,当虚拟机i放置在服务器j,Xij取1,否则为0,虚拟机i所需的CPU资源Ri,服务器j能够提供的CPU资源Cj,虚拟机i所需的磁盘容量Ti
(2)将收集的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息素浓度矩阵τ,由这两个参数得到选择函数矩阵p;
(3)根据选择函数矩阵p产生200~500个虚拟机位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;
(4)根据步骤(3)中得到的位置序列,设定如下判断条件:
\*MERGEFORMAT<1>
\*MERGEFORMAT<2>
式表示每个虚拟机i只能放置在一台服务器j上;式表示服务器j上所有虚拟机的CPU资源之和不能超过服务器j提供的CPU资源;
(5)根据步骤(4)设定的条件,判断步骤(3)中得到的位置序列是否满足式和式;若满足,则更新虚拟机位置序列,同时更新信息素浓度矩阵τ,迭代次数加1;若不满足,则保持当前位置,迭代次数加1;重复步骤(3)到(5),进行蚁群算法的迭代,设迭代次数是500~1000;
(6)根据蚁群算法的迭代结果和OpenFlow控制器收集的路由信息,由Dijkstra算法确定出迁移路径,完成虚拟机的调度;
(7)根据虚拟机和服务器的负载信息变化,每24小时运行一次上述过程,保证系统处于优化状态。
本发明与现行技术相比具有如下优点:
1)本发明针对现行方案只优化单一目标的情况,在计算启发因子矩阵η和信息素浓度矩阵τ时,综合考虑能耗和负载均衡两个目标,在降低数据中心整体能耗的同时降低了系统整体负载不均衡的程度。
2)本发明采用基于信息素扩散的蚁群算法,改变了由于传统蚁群算法中蚂蚁之间的协作不足和不够及时,导致收敛速度变慢且容易限于局部最优的缺陷,使资源分配更合理。
附图说明
图1为本发明总体实现流程图。
具体实施方式
参照图1,本发明的调度方法,包括如下步骤:
步骤1,收集云数据中心中服务器和虚拟机的负载信息。
基于OpenFlow框架下的网络由OpenFlow交换机、FlowVisor和OpenFlow控制器组成。OpenFlow交换机进行数据层的转发;FlowVisor对网络进行虚拟化;OpenFlow控制器对网络进行集中管理,实现控制层的功能。本发明通过OpenFlow控制器收集云数据中心中服务器和虚拟机的负载信息,该负载信息包括:服务器总数S,处于运行状态的服务器数目S′,虚拟机总数V,虚拟机i的位置变量Xij,当虚拟机i放置在服务器j,Xij取1,否则为0,虚拟机i所需的CPU资源Ri,服务器j能够提供的CPU资源Cj,虚拟机i所需的磁盘容量Ti
步骤2,计算蚁群算法的相应参数。
2.1)将收集的负载信息作为蚁群算法的输入,计算蚁群算法的启发因子矩阵η:
\*MERGEFORMAT<3>
\*MERGEFORMAT<4>
其中,uj为服务器j上的剩余资源利用率,dj为服务器j上资源利用率与系统平均资源利用率的差值绝对值,m表示系统的平均资源利用率,S表示服务器总数,V表示虚拟机总数,Ri表示虚拟机i所需的CPU资源,Cj表示服务器j能够提供的CPU资源,Ti表示虚拟机i所需的磁盘容量,通过引入Ti,可以评价迁移产生的能耗是否可以增加使该服务器处于空闲状态的可能性;
2.2)计算信息素浓度矩阵τ:
\*MERGEFORMAT<5>
\*MERGEFORMAT<6>
式中τij(t)表示第t次迭代时配对(i,j)上的总信息素浓度,配对(i,j)表示虚拟机i放置到服务器j上;ρ表示信息素的衰减速率;是第k只蚂蚁在本次循环中留在配对(i,j)上的信息素浓度;由于信息素在空气中会扩散,在这里本发明引入高斯扩散模型来模拟信息素的扩散,通过这种改进可以避免初始搜索陷入局部最优;Q表示计算能力预测值的权重函数;在统计学中,通常用标准差来描述一个系统偏离平均水平的程度,因此在本发明中数据中心整体的负载平衡用负载的资源利用率的标准差B来描述,又由于无论使用何种硬件设备的服务器,其在空闲状态时消耗的能量要远远小于处于工作状态时消耗的能量,因此本发明采用数据中心中处于工作状态服务器的百分比E来表征数据中心的整体能耗,S表示服务器总数,S′表示处于运行状态的服务器数目。
根据式,只有在当前最优解的方案以及与平均利用率绝对差值小于2的服务器的信息素才会被加强。
2.3)根据启发因子矩阵η和信息素浓度矩阵τ,计算选择函数矩阵p:
\*MERGEFORMAT<8>
\*MERGEFORMAT<9>
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能选择的服务器集合。
步骤3,生成蚂蚁种群并设定判决条件。
根据选择函数矩阵p产生200~500个虚拟机位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;设定如下判断条件:
\*MERGEFORMAT<10>
\*MERGEFORMAT<11>
式表示每个虚拟机i只能放置在一台服务器j上;式表示服务器j上所有虚拟机的CPU资源之和不能超过服务器j提供的CPU资源;
步骤4,判定位置序列并迭代。
根据步骤3设定的条件,判断步骤3中得到的位置序列是否满足式和式;若满足,则更新虚拟机位置序列,迭代次数加1;若不满足,则保持当前位置,迭代次数加1;重复步骤2到步骤4,进行蚁群算法的迭代,设迭代次数是500~1000。
步骤5,确定调度方案。
根据蚁群算法的迭代结果和OpenFlow控制器收集的路由信息,将数据中心拓扑抽象为一个带权有向图,用OpenFlow控制器收集的路由信息作为该带权有向图中两点之间可用的路径,由Dijkstra算法,对第i个虚拟机的迁移路径进行如下计算:
5.1)将第i个虚拟机的当前位置作为起点s,迭代结果位置作为终点t,把带权有向图中顶点集合分成两组,用M表示一组已求出最短路径的顶点集合,初始时M中只有一个起点s;用N表示一组未确定最短路径的顶点集合;
5.2)按最短路径长度的递增次序依次把集合N的顶点加入M中,在加入的过程中,总保持从起点s到M中各顶点的最短路径长度不大于从起点s到N中任何顶点的最短路径长度;
5.3)每求得一条最短路径,就将该顶点从集合N加入到集合M中,直到终点t加入到M中,此时s到t的最短路径就是第i个虚拟机的迁移路径;
对所有虚拟机重复以上计算,根据计算出的迁移路径完成对虚拟机的调度。
步骤6,根据虚拟机和服务器的负载信息变化,每24小时运行一次上述过程,保证系统处于优化状态。
以上描述仅是本发明的一个具体实例,并不构成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本发明内容和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。

Claims (3)

1.一种基于OpenFlow框架下云数据中心虚拟机调度方法,其特征在于包括以下步骤:
(1)由OpenFlow控制器收集云数据中心中服务器和虚拟机的负载信息,该负载信息包括:服务器总数S,处于运行状态的服务器数目S′,虚拟机总数V,虚拟机i的位置变量Xij,当虚拟机i放置在服务器j,Xij取1,否则为0,虚拟机i所需的CPU资源Ri,服务器j能够提供的CPU资源Cj,虚拟机i所需的磁盘容量Ti
(2)将收集的负载信息作为蚁群算法的输入,计算出蚁群算法的启发因子矩阵η、信息素浓度矩阵τ,由这两个参数得到选择函数矩阵p;
所述的启发因子矩阵η,通过以下公式计算:
<mrow> <mi>&amp;eta;</mi> <mo>=</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>&amp;eta;</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mn>12</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mn>1</mn> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mn>1</mn> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&amp;eta;</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mn>22</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mn>2</mn> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>V</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>V</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>V</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;eta;</mi> <mrow> <mi>V</mi> <mi>S</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>1</mn> <mo>&gt;</mo> </mrow>
<mrow> <msub> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfenced open = "{" close = ""> <mtable> <mtr> <mtd> <mrow> <mi>exp</mi> <mo>{</mo> <mo>-</mo> <msub> <mi>u</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>}</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mn>1</mn> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mi>exp</mi> <mo>{</mo> <mo>-</mo> <msub> <mi>u</mi> <mi>j</mi> </msub> <mo>-</mo> <msub> <mi>d</mi> <mi>j</mi> </msub> <mo>}</mo> <mo>,</mo> </mrow> </mtd> <mtd> <mrow> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;NotEqual;</mo> <mn>1</mn> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>2</mn> <mo>&gt;</mo> </mrow>
其中,服务器j上的剩余资源利用率服务器j上资源利用率与系统平均资源利用率的差值绝对值m表示系统的平均资源利用率,S表示服务器总数,V表示虚拟机总数,Ri表示虚拟机i所需的CPU资源,Cj表示服务器j能够提供的CPU资源,Ti表示虚拟机i所需的磁盘容量;
(3)根据选择函数矩阵p产生200~500个虚拟机位置序列,每个位置序列表示一只蚂蚁,构成蚂蚁种群;
(4)根据步骤(3)中得到的位置序列,设定如下判断条件:
<mrow> <munderover> <mo>&amp;Sigma;</mo> <mi>j</mi> <mi>S</mi> </munderover> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mo>&amp;ForAll;</mo> <mi>i</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>3</mn> <mo>&gt;</mo> </mrow>
<mrow> <munderover> <mo>&amp;Sigma;</mo> <mi>i</mi> <mi>V</mi> </munderover> <msub> <mi>R</mi> <mi>i</mi> </msub> <mo>&amp;times;</mo> <msub> <mi>X</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>&amp;le;</mo> <msub> <mi>C</mi> <mi>j</mi> </msub> <mo>,</mo> <mo>&amp;ForAll;</mo> <mi>j</mi> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>4</mn> <mo>&gt;</mo> </mrow>
其中,式<3>表示每个虚拟机i只能放置在一台服务器j上;式<4>表示服务器j上所有虚拟机的CPU资源之和不能超过服务器j提供的CPU资源;
(5)根据步骤(4)设定的条件,判断步骤(3)中得到的位置序列是否满足式<3>和式<4>;若满足,则更新虚拟机位置序列,迭代次数加1;若不满足,则保持当前位置,迭代次数加1;重复步骤(3)到(5),进行蚁群算法的迭代,设迭代次数是500~1000;
(6)根据蚁群算法的迭代结果和OpenFlow控制器收集的路由信息,由Dijkstra算法确定出迁移路径,完成虚拟机的调度;
(7)根据虚拟机和服务器的负载信息变化,每24小时运行一次上述过程,保证系统处于优化状态。
2.如权利要求1中所述的基于OpenFlow框架下云数据中心虚拟机调度方法,其特征在于:所述步骤(2)中的信息素浓度矩阵τ,通过以下公式计算:
<mrow> <mi>&amp;tau;</mi> <mo>=</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>&amp;tau;</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mn>12</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mn>1</mn> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mn>1</mn> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&amp;tau;</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mn>22</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mn>2</mn> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>V</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>V</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>V</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>&amp;tau;</mi> <mrow> <mi>V</mi> <mi>S</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>1</mn> <mo>&gt;</mo> </mrow>
<mrow> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>=</mo> <mi>&amp;rho;</mi> <mo>&amp;times;</mo> <msub> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mrow> <mo>(</mo> <mi>t</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> <mo>+</mo> <munder> <mo>&amp;Sigma;</mo> <mi>k</mi> </munder> <msubsup> <mi>&amp;Delta;&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>k</mi> </msubsup> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>2</mn> <mo>&gt;</mo> </mrow>
式中τij(t)表示第t次迭代时配对(i,j)上的总信息素浓度,配对(i,j)表示虚拟机i放置到服务器j上;ρ表示信息素的衰减速率;是第k只蚂蚁在本次循环中留在配对(i,j)上的信息素浓度;Q表示计算能力预测值的权重函数,B表示系统资源利用率的标准差,E表示系统中处于工作状态的服务器所占比例,S表示服务器总数,S′表示处于运行状态的服务器数目。
3.如权利要求1中所述的基于OpenFlow框架下云数据中心虚拟机调度方法,其特征在于:所述步骤(3)在一次迭代中的选择函数p,通过以下公式计算:
<mrow> <mi>p</mi> <mo>=</mo> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <msub> <mi>p</mi> <mn>11</mn> </msub> </mtd> <mtd> <msub> <mi>p</mi> <mn>12</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mn>1</mn> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mn>1</mn> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>p</mi> <mn>21</mn> </msub> </mtd> <mtd> <msub> <mi>p</mi> <mn>22</mn> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mn>2</mn> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mn>2</mn> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mi>S</mi> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <msub> <mi>p</mi> <mrow> <mi>V</mi> <mn>1</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mi>V</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mi>V</mi> <mi>j</mi> </mrow> </msub> </mtd> <mtd> <mn>...</mn> </mtd> <mtd> <msub> <mi>p</mi> <mrow> <mi>V</mi> <mi>S</mi> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>4</mn> <mo>&gt;</mo> </mrow>
<mrow> <msub> <mi>p</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <msubsup> <mi>&amp;tau;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>&amp;alpha;</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msubsup> <mi>&amp;eta;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> <mi>&amp;beta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mrow> <mrow> <munder> <mo>&amp;Sigma;</mo> <mrow> <mi>s</mi> <mo>&amp;NotElement;</mo> <msup> <mi>Tabu</mi> <mi>k</mi> </msup> </mrow> </munder> <msubsup> <mi>&amp;tau;</mi> <mrow> <mi>s</mi> <mi>j</mi> </mrow> <mi>&amp;alpha;</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> <mo>&amp;times;</mo> <msubsup> <mi>&amp;eta;</mi> <mrow> <mi>s</mi> <mi>j</mi> </mrow> <mi>&amp;beta;</mi> </msubsup> <mrow> <mo>(</mo> <mi>t</mi> <mo>)</mo> </mrow> </mrow> </mfrac> <mo>-</mo> <mo>-</mo> <mo>-</mo> <mo>&lt;</mo> <mn>5</mn> <mo>&gt;</mo> </mrow>
式中α和β分别表示信息素浓度和启发因子的权重,Tabuk为第k只蚂蚁的禁忌列表,即不能选择的服务器集合。
CN201410571245.XA 2014-10-23 2014-10-23 基于OpenFlow框架下云数据中心虚拟机调度方法 Active CN104317646B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410571245.XA CN104317646B (zh) 2014-10-23 2014-10-23 基于OpenFlow框架下云数据中心虚拟机调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410571245.XA CN104317646B (zh) 2014-10-23 2014-10-23 基于OpenFlow框架下云数据中心虚拟机调度方法

Publications (2)

Publication Number Publication Date
CN104317646A CN104317646A (zh) 2015-01-28
CN104317646B true CN104317646B (zh) 2017-10-24

Family

ID=52372881

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410571245.XA Active CN104317646B (zh) 2014-10-23 2014-10-23 基于OpenFlow框架下云数据中心虚拟机调度方法

Country Status (1)

Country Link
CN (1) CN104317646B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI525432B (zh) * 2015-02-17 2016-03-11 緯創資通股份有限公司 儲存方法及軟體定義儲存系統
CN106951059A (zh) * 2017-03-28 2017-07-14 中国石油大学(华东) 基于dvs与改进蚁群算法的云数据中心节能方法
CN109101316B (zh) * 2018-07-11 2022-10-04 南京邮电大学 一种能效相关的云计算平台资源调度方法
CN109240805B (zh) * 2018-09-28 2020-10-20 北京邮电大学 虚拟机分配方法及装置
CN109617939B (zh) * 2018-10-15 2021-10-26 西安理工大学 一种基于任务预调度的WebIDE云服务器资源分配方法
CN109375987B (zh) * 2018-10-30 2021-12-07 青岛民航凯亚系统集成有限公司 一种虚拟机选择物理机的方法和系统
CN110784366B (zh) * 2019-11-11 2022-08-16 重庆邮电大学 Sdn中基于immac算法的交换机迁移方法
CN113377488A (zh) * 2020-03-09 2021-09-10 华为技术有限公司 一种资源迁移的方法、系统及设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677957A (zh) * 2013-12-13 2014-03-26 重庆邮电大学 云数据中心基于多资源的高能效虚拟机放置方法
CN103778020A (zh) * 2014-02-08 2014-05-07 中国联合网络通信集团有限公司 一种虚拟机放置方法及装置
CN104063261A (zh) * 2014-04-01 2014-09-24 杭州电子科技大学 一种基于云环境下的多目标优化虚拟机放置方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103677957A (zh) * 2013-12-13 2014-03-26 重庆邮电大学 云数据中心基于多资源的高能效虚拟机放置方法
CN103778020A (zh) * 2014-02-08 2014-05-07 中国联合网络通信集团有限公司 一种虚拟机放置方法及装置
CN104063261A (zh) * 2014-04-01 2014-09-24 杭州电子科技大学 一种基于云环境下的多目标优化虚拟机放置方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Power-efficient Virtual Machine Placement and Migration in Data Centers;Shuo Fang等;《2013 IEEE International Conference on Green Computing and Communications and IEEE Internet of Things and IEEE Cyber,Physical and Social Computing》;20131212;1408 *

Also Published As

Publication number Publication date
CN104317646A (zh) 2015-01-28

Similar Documents

Publication Publication Date Title
CN104317646B (zh) 基于OpenFlow框架下云数据中心虚拟机调度方法
Zhou et al. Reinforcement learning-based adaptive resource management of differentiated services in geo-distributed data centers
CN103294521B (zh) 一种降低数据中心通信负载及能耗的方法
CN107748693A (zh) 云计算环境下的群组虚拟机调度策略
CN104993941B (zh) 一种基于Openflow网络高容错性虚拟网络映射算法
CN108566659A (zh) 一种基于可靠性的5g网络切片在线映射方法
CN108108224B (zh) 基于蚁群优化算法的云数据中心中虚拟机放置方法
CN105515987B (zh) 一种基于sdn架构面向虚拟光网络的映射方法
CN105242956A (zh) 虚拟功能服务链部署系统及其部署方法
CN108681789B (zh) 一种云制造服务优化方法
CN105426241A (zh) 一种基于云计算数据中心的统一资源调度节能方法
CN108174394A (zh) 一种5g网络切片的编排算法
CN108512772A (zh) 基于服务质量的数据中心流量调度方法
CN113794494A (zh) 一种面向低轨卫星网络的边缘计算架构及计算卸载优化方法
CN108108225A (zh) 一种面向云计算平台的任务调度方法
CN113098711A (zh) 一种基于云边协同的配电物联网cps管控方法及系统
CN108256263A (zh) 一种电力系统混合仿真并行计算系统及其任务调度方法
WO2023109068A1 (zh) 一种多云环境下基于用户体验的虚拟机自动迁移决策方法
Liao et al. Energy consumption optimization scheme of cloud data center based on SDN
CN103997515B (zh) 一种分布式云中计算中心选择方法及其应用
CN110247795A (zh) 一种基于意图的云网资源服务链编排方法及系统
CN113596868A (zh) 基于sdn和nfv的5g网络切片资源管理机制
CN107329826A (zh) 一种基于Cloudsim平台上的启发式融合资源动态调度算法
CN108737268A (zh) 软件定义工业物联网资源调度方法
CN104298539B (zh) 基于网络感知的虚拟机调度与再调度方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C53 Correction of patent for invention or patent application
CB03 Change of inventor or designer information

Inventor after: Gu Huaxi

Inventor after: Liu Xuanzhang

Inventor after: Yang Yintang

Inventor after: Wang Kun

Inventor after: Wang Xi

Inventor after: Yu Xiaoshan

Inventor before: Gu Huaxi

Inventor before: Liu Xuanzhang

Inventor before: Yang Yintang

Inventor before: Wang Kun

Inventor before: Wang Xi

Inventor before: Yu Xiaoshan

GR01 Patent grant
GR01 Patent grant