CN104298539A - 基于网络感知的虚拟机调度与再调度方法 - Google Patents

基于网络感知的虚拟机调度与再调度方法 Download PDF

Info

Publication number
CN104298539A
CN104298539A CN201410539326.1A CN201410539326A CN104298539A CN 104298539 A CN104298539 A CN 104298539A CN 201410539326 A CN201410539326 A CN 201410539326A CN 104298539 A CN104298539 A CN 104298539A
Authority
CN
China
Prior art keywords
virtual machine
dispatching
group
dispatching method
frame
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.)
Granted
Application number
CN201410539326.1A
Other languages
English (en)
Other versions
CN104298539B (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.)
Nanjing University
Original Assignee
Nanjing 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 Nanjing University filed Critical Nanjing University
Priority to CN201410539326.1A priority Critical patent/CN104298539B/zh
Publication of CN104298539A publication Critical patent/CN104298539A/zh
Application granted granted Critical
Publication of CN104298539B publication Critical patent/CN104298539B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供了一种基于网络感知的虚拟机调度与再调度方法,包括虚拟机初次调度与再调度。初次调度首先获取当前数据中心的状态,判断有无初始通信矩阵,根据有无初始通信矩阵来选择是否进行初次进行聚类,再对整组虚拟机或聚类后的部分虚拟机以最矮子树算法将其部署到虚拟机。然后比较当前数据中心的状态与历史状态,当网络通信矩阵发生明显改变时,触发再调度。再调度过程中首先计算各组虚拟机的优先级,首先再调度优先级高的虚拟机,尝试将该组中的虚拟机移动至同一机架的物理机上,若失败则采用面向机架的虚拟机贪心聚集的步骤进行再调度。本发明通过适当的虚拟机迁移,提高部署在虚拟机上任务的性能以及数据中心整体的网络通信效率。

Description

基于网络感知的虚拟机调度与再调度方法
技术领域
本发明涉及数据中心中虚拟机调度的方法,具体是一种基于网络感知的虚拟机调度与再调度方法。
背景技术
随着虚拟化技术的发展以及云计算概念的普及,越来越多的用户选择通过向数据中心租用计算资源的方式来完成其工作任务而非自己购买物理设备。为提高资源利用率,如何高效的将用户请求的资源合理调度到各个物理服务器上是数据中心的管理者需要解决的重要问题之一。高效的虚拟机调度策略能够提高数据中心的资源利用率,降低运行时能耗。现有调度算法综合考虑了虚拟机在CPU、内存和网络方面的需求,合理部署虚拟机,以期最小化计算、存储与网络的代价。然而,当前的虚拟机调度策略没有动态的考虑虚拟机之间网络通信流量的变化,也没有考虑由于虚拟机退出所造成的资源利用率下降与网络延迟上升的问题。
发明内容
本发明为了解决现有技术中调度策略的不足,提供了一种基于网络感知的虚拟机调度与再调度方法,通过适当的虚拟机迁移,提高部署在虚拟机上任务的性能以及数据中心整体的网络通信效率。
本发明包括虚拟机的初次调度和再调度,所述的初次调度包括以下步骤:
1)获取当前数据中心的全局状态和用户请求的初始状态;
2)判断有无初始通信矩阵Tk,若有初始Tk,则转入步骤3),否则转入步骤4);
3)根据初始通信矩阵Tk进行聚类,使用Stoer-Wagner算法将该组虚拟机分成两个小组,使得这两个小组之间的通信流量最小,对每个小组都执行步骤4);其中,Stoer-Wagner算法是一个计算图最小割问题的常用算法,具体算法参见Stoer,Mechthild,and Frank Wagner."A simple min-cut algorithm."Journal of the ACM(JACM)44.4(1997):585-591。
4)将这组或这类虚拟机部署到能够容纳他们并且网络结构树的高度最低的一组物理机上,如果部署不成功,则返回步骤3),进行再次聚类。当全部的分组都部署成功时,输出部署的结果:一种可行的虚拟机部署方式
所述的再调度包括以下步骤:
1)比较当前数据中心的状态与历史状态,当出现虚拟机退出或虚拟机之间的网络通信矩阵发生明显改变时,进入步骤2),否则休息一段时间,返回步骤1);
2)计算每个用户/任务的优先值Priority,并按降序排序,存入队列P_Queue,进入步骤3);
3)当队列P_Queue非空时,依次取出队头元素,记为Gt,进入步骤4),当P_Queue为空时,进入步骤6);
4)尝试将Gt中的虚拟机移动至同一机架的物理机上,若成功,则返回步骤3),否则,进入步骤5);
5)将Gt中的虚拟机按照面向机架的虚拟机贪心聚集的步骤进行调度,调度完成后,返回步骤3);
6)输出再调度的结果返回步骤1)。
所述的再调度方法的步骤2)中每个用户/任务的优先值Priority的计算方法如下:设用于部署该任务的第k组虚拟机为Gk,其数量为wk个,其中每个虚拟机为第k组虚拟机Gk之间的点对点网络通信流量矩阵为Tk,矩阵中的每一项为虚拟机和虚拟机通信所经过的路由层数为 Priority ( G k ) = Σ i = 1 w k Σ j = 1 w k t ij k / Σ i = 1 w k Σ j = 1 w k t ij k B ( J ij k ( X ) ) , 其中为数据通信所经过的路由层数的函数,X为虚拟机当前部署方式。
所述的再调度方法的步骤5)中面向机架的虚拟机贪心聚集过程包括以下步骤:
1)对该组虚拟机按其所在机架进行分组至进入步骤2)。
2)对于每个计算其中的每个虚拟机分别与其他机架上虚拟机通信的总和与本机架上其他虚拟机通信总和的差按降序排序,将值大于0的分组存入队列Qj,当所有Q都为空时,过程退出,否则进入步骤3)。
3)如果Qj非空,则取出对头元素进入步骤4),否则返回步骤2)。
4)如果对应的小组所在的机架能够容纳虚拟机则将迁移至所在的机架,回到步骤2),否则返回步骤3)。
本发明有益效果在于:通过实时监控各组虚拟机之间的网络通信流量、整个数据中心的运行状态以及分析历史数据,调度控制器对原来的虚拟机部署进行再次调度,提高了部署在虚拟机上任务的性能以及数据中心整体的网络通信效率。
附图说明
图1为虚拟机初次调度流程图
图2为虚拟机再调度流程图
图3为面向机架的虚拟机贪心聚集流程图
图4为数据中心网络结构图
具体实施方式
下面结合附图对本发明作进一步说明。
本发明包括虚拟机的初次调度和再调度,所述的初次调度如图1所示,包括以下步骤:
1)获取当前数据中心的全局状态和用户请求的初始状态;
2)判断有无初始通信矩阵Tk,若有初始Tk,则转入步骤3),否则转入步骤4);
3)根据初始通信矩阵Tk进行聚类,使用Stoer-Wagner算法将该组虚拟机分成两个小组,使得这两个小组之间的通信流量最小。对每个小组都执行步骤4);
4)将这组或这类虚拟机部署到能够容纳他们并且网络结构树的高度最低的一组物理机上,如果部署不成功,则返回步骤3),进行再次聚类。当全部的分组都部署成功时,输出部署的结果:一种可行的虚拟机部署方式
所述的再调度如图2所示,包括以下步骤:
1)比较当前数据中心的状态与历史状态,当出现虚拟机退出或虚拟机之间的网络通信矩阵发生明显改变时,进入步骤2),否则休息一段时间,返回步骤1);
2)计算每个用户/任务的优先值Priority,并按降序排序,存入队列P_Queue,进入步骤3);
3)当队列P_Queue非空时,依次取出队头元素,记为Gt,进入步骤4),当P_Queue为空时,进入步骤6);
4)尝试将Gt中的虚拟机移动至同一机架的物理机上,若成功,则返回步骤3),否则,进入步骤5);
5)将Gt中的虚拟机按照面向机架的虚拟机贪心聚集的步骤进行调度,调度完成后,返回步骤3);
6)输出再调度的结果返回步骤1)。
所述的面向机架的虚拟机贪心聚集过程如图3所示,包括以下步骤:
1)对该组虚拟机按其所在机架进行分组至进入步骤2)。
2)对于每个计算其中的每个虚拟机分别与其他机架上虚拟机通信的总和与本机架上其他虚拟机通信总和的差按降序排序,将值大于0的分组存入队列Qj,当所有Q都为空时,过程退出,否则进入步骤3)。
3)如果Qj非空,则取出对头元素进入步骤4),否则返回步骤2)。
4)如果对应的小组所在的机架能够容纳虚拟机则将迁移至所在的机架,回到步骤2),否则返回步骤3)。
本发明应用的一种具体网络结构如图1所示:物理服务器首先连接到机架交换机,机架交换机连接到聚集层的群组交换机,聚集层的交换机再与数据中心核心交换机相连。假定数据中心中共有M台物理机和K个用户。我们用pi表示第i台物理机,每台物理机的物理资源用向量Hi表示。如果物理机pi正在运行,则记S(i)=1,否则S(i)=0。L=(0,1,1...0)是数据中心中所有路由器或交换机按某一序列组成的一维向量,Lp=1表示数据通信会经过交换机p,Lp=0表示数据通信不会经过交换机p。L(i,f)是物理机pi和pj之间的路由向量,显然,L(i,i)=(0,0,…0)。lij是物理机pi和pj之间的数据通信经过的路由层数(在树形网络拓扑中),同时,我们定义lii=0。Q是L对应的交换机的最大交换容量向量。
对于用户uk,他可以向数据中心申请一组虚拟机GK。Gk中的每台虚拟机各自会对CPU和内存有明确的需求,这里用向量表示;Tk是Gk中虚拟机之间通信量的矩阵,其大小为wk×wk,矩阵中Tk的每一项是虚拟机和虚拟机在Δt时间内通信总量。通信矩阵Tk可以由用户给出,或者由数据中心管理者通过监控虚拟机通信来实际测量得到。我们用表示虚拟机被放置在了物理服务器pm上,否则,因此,一个可行的虚拟机部署方式可被表示为: Z = { { Z i k ( m ) | Z i k ( m ) &Element; { 0,1 } ; &Sigma; m = 1 M Z i k ( m ) = 1 , &ForAll; ( i , k ) , &Sigma; k = 1 K &Sigma; i = 1 K w Z i k ( m ) &CenterDot; R i k < H m &CenterDot; S ( m ) , &ForAll; m } } .
由于一个任务所需要的虚拟机所被部署在的物理机的位置,会影响这些虚拟机之间网络通信的代价,从而最终影响部署在虚拟机上的任务的执行效率。因此,定义了一个由虚拟机之间网络通信代价决定的收益函数Benefit(Gk)来刻画迁移为用户带来的收益,其中,Y为虚拟机再调度后的虚拟机部署方式, 是数据通信所经过的路由层数的函数。根据思科的数据中心网络设计指导,一个典型的数据中心的树形网络拓扑中,端到端的通信带宽每经过一层就下降至原来的1/4至1/8,因此,现取B(x)=5x
调度过程中需要涉及计算Priority(Gk),Priority(Gk)的计算方式如下:
Priority ( G k ) = &Sigma; i = 1 w k &Sigma; j = 1 w k t ij k / &Sigma; i = 1 w k &Sigma; j = 1 w k t ij k B ( J ij k ( X ) ) .
上述实施方式中,关键概念、定义及符号说明如下:
虚拟机群组Gk和该组中的虚拟机数量wk:某个用户申请的用于部署某项任务的一组虚拟机Gk,其数量为wk个。
通信矩阵Tk和矩阵中的项Tk为第k组虚拟机Gk之间的点对点网络通信流量矩阵,为矩阵中的每一项,表示虚拟机之间的通信量。
路由层数虚拟机和虚拟机通信所经过的路由层数。
收益函数Benefit(Gk):描述某种虚拟机部署条件下的,第k组虚拟机的通信收益。
可行虚拟机部署方式描述某一时刻数据中心中一种可行的虚拟机部署方式。
调度优先级函数Priority(Gk):Priority的值反映了任务当前的部署状态与最优状态之间的距离,Priority的值越高说明了任务应该优先得到再调度。
本发明具体应用途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以作出若干改进,这些改进也应视为本发明的保护范围。

Claims (3)

1.一种基于网络感知的虚拟机调度与再调度方法,其特征在于:包括虚拟机的初次调度和再调度,所述的初次调度包括以下步骤:
1)获取当前数据中心的全局状态和用户请求的初始状态;
2)判断有无初始通信矩阵Tk,若有初始通信矩阵Tk,则转入步骤3),否则转入步骤4);
3)根据初始通信矩阵Tk进行聚类,使用Stoer-Wagner算法将该组虚拟机分成两个小组,使得这两个小组之间的通信流量最小,对每个小组都执行步骤4);
4)将这组或这类虚拟机部署到能够容纳他们并且网络结构树的高度最低的一组物理机上,如果部署不成功,则返回步骤3),进行再次聚类,当全部的分组都部署成功时,输出部署的结果:一种可行的虚拟机部署方式
所述的再调度包括以下步骤:
1)比较当前数据中心的状态与历史状态,当出现虚拟机退出或虚拟机之间的网络通信矩阵发生变化超过30%时,进入步骤2),否则休息一段时间,返回步骤1);
2)计算每个用户/任务的优先值Priority,并按降序排序,存入队列P_Queue,进入步骤3);
3)当队列P_Queue非空时,依次取出队头元素,记为Gt,进入步骤4),当P_Queue为空时,进入步骤6);
4)尝试将Gt中的虚拟机移动至同一机架的物理机上,若成功,则返回步骤3),否则,进入步骤5);
5)将Gt中的虚拟机按照面向机架的虚拟机贪心聚集的步骤进行调度,调度完成后,返回步骤3);
6)输出再调度的结果返回步骤1)。
2.根据权利要求1所述的基于网络感知的虚拟机调度与再调度方法,其特征在于:所述的再调度方法的步骤2)中每个用户/任务的优先值Priority的计算方法如下:设用于部署该任务的第k组虚拟机为Gk,其数量为wk个,其中每个虚拟机为第k组虚拟机Gk之间的点对点网络通信流量矩阵为Tk,矩阵中的每一项为虚拟机和虚拟机通信所经过的路由层数为 Priority ( G k ) = &Sigma; i = 1 w k &Sigma; j = 1 w k t ij k / &Sigma; i = 1 w k &Sigma; j = 1 w k t ij k B ( J ij k ( X ) ) , 其中为数据通信所经过的路由层数的函数,X为虚拟机当前部署方式。
3.根据权利要求1所述的基于网络感知的虚拟机调度与再调度方法,其特征在于:所述的再调度方法的步骤5)中面向机架的虚拟机贪心聚集过程包括以下步骤:
1)对该组虚拟机按其所在机架进行分组至进入步骤2)。
2)对于每个计算其中的每个虚拟机分别与其他机架上虚拟机通信的总和与本机架上其他虚拟机通信总和的差按降序排序,将值大于0的分组存入队列Qj,当所有Q都为空时,过程退出,否则进入步骤3)。
3)如果Qj非空,则取出对头元素进入步骤4),否则返回步骤2)。
4)如果对应的小组所在的机架能够容纳虚拟机则将迁移至所在的机架,回到步骤2),否则返回步骤3)。
CN201410539326.1A 2014-10-13 2014-10-13 基于网络感知的虚拟机调度与再调度方法 Active CN104298539B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410539326.1A CN104298539B (zh) 2014-10-13 2014-10-13 基于网络感知的虚拟机调度与再调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410539326.1A CN104298539B (zh) 2014-10-13 2014-10-13 基于网络感知的虚拟机调度与再调度方法

Publications (2)

Publication Number Publication Date
CN104298539A true CN104298539A (zh) 2015-01-21
CN104298539B CN104298539B (zh) 2017-09-22

Family

ID=52318279

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410539326.1A Active CN104298539B (zh) 2014-10-13 2014-10-13 基于网络感知的虚拟机调度与再调度方法

Country Status (1)

Country Link
CN (1) CN104298539B (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639639A (zh) * 2015-02-09 2015-05-20 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
CN106446959A (zh) * 2016-10-10 2017-02-22 北京邮电大学 一种云计算资源动态匹配方法及装置
CN107528742A (zh) * 2017-09-28 2017-12-29 南京航空航天大学 一种面向云数据中心网络优化的虚拟机部署方法
CN109800085A (zh) * 2018-12-24 2019-05-24 东软集团股份有限公司 资源配置的检测方法、装置、存储介质和电子设备
WO2021233152A1 (zh) * 2020-05-21 2021-11-25 中兴通讯股份有限公司 虚拟化网络功能部署方法、管理与编排平台和介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225277A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
CN102739798A (zh) * 2012-07-05 2012-10-17 成都国腾实业集团有限公司 具有网络感知功能的云平台资源调度方法
US20130185414A1 (en) * 2012-01-17 2013-07-18 Alcatel-Lucent Usa Inc. Method And Apparatus For Network And Storage-Aware Virtual Machine Placement
CN103294521A (zh) * 2013-05-30 2013-09-11 天津大学 一种降低数据中心通信负载及能耗的方法
CN103414752A (zh) * 2013-07-16 2013-11-27 上海交通大学 一种网络感知的云数据中心虚拟机分配方法
CN103825946A (zh) * 2014-02-26 2014-05-28 南京邮电大学 一种基于网络感知的虚拟机放置方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110225277A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Placement of virtual machines based on server cost and network cost
US20130185414A1 (en) * 2012-01-17 2013-07-18 Alcatel-Lucent Usa Inc. Method And Apparatus For Network And Storage-Aware Virtual Machine Placement
CN102739798A (zh) * 2012-07-05 2012-10-17 成都国腾实业集团有限公司 具有网络感知功能的云平台资源调度方法
CN103294521A (zh) * 2013-05-30 2013-09-11 天津大学 一种降低数据中心通信负载及能耗的方法
CN103414752A (zh) * 2013-07-16 2013-11-27 上海交通大学 一种网络感知的云数据中心虚拟机分配方法
CN103825946A (zh) * 2014-02-26 2014-05-28 南京邮电大学 一种基于网络感知的虚拟机放置方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DANIEL S. DIAS ET AL.: "Online traffic-aware virtual machine placement in data center networks", 《GLOBAL INFORMATION INFRASTRUCTURE AND NETWORKING SYMPOSIUM (GIIS), 2012》 *
JING TAI PIAO ET AL.: "A Network-aware Virtual Machine Placement and Migration Approach in Cloud Computing", 《GRID AND COOPERATIVE COMPUTING (GCC), 2010 9TH INTERNATIONAL CONFERENCE ON》 *

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104639639A (zh) * 2015-02-09 2015-05-20 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
WO2016127547A1 (zh) * 2015-02-09 2016-08-18 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
CN104639639B (zh) * 2015-02-09 2018-04-27 华为技术有限公司 一种虚拟机部署位置的调整方法、装置及系统
US10289451B2 (en) 2015-02-09 2019-05-14 Huawei Technologies Co., Ltd. Method, apparatus, and system for adjusting deployment location of virtual machine
CN106446959A (zh) * 2016-10-10 2017-02-22 北京邮电大学 一种云计算资源动态匹配方法及装置
CN106446959B (zh) * 2016-10-10 2019-06-07 北京邮电大学 一种云计算资源动态匹配方法及装置
CN107528742A (zh) * 2017-09-28 2017-12-29 南京航空航天大学 一种面向云数据中心网络优化的虚拟机部署方法
CN107528742B (zh) * 2017-09-28 2020-06-12 南京航空航天大学 一种面向云数据中心网络优化的虚拟机部署方法
CN109800085A (zh) * 2018-12-24 2019-05-24 东软集团股份有限公司 资源配置的检测方法、装置、存储介质和电子设备
CN109800085B (zh) * 2018-12-24 2021-01-29 东软集团股份有限公司 资源配置的检测方法、装置、存储介质和电子设备
WO2021233152A1 (zh) * 2020-05-21 2021-11-25 中兴通讯股份有限公司 虚拟化网络功能部署方法、管理与编排平台和介质

Also Published As

Publication number Publication date
CN104298539B (zh) 2017-09-22

Similar Documents

Publication Publication Date Title
CN108829494B (zh) 基于负载预测的容器云平台智能资源优化方法
CN102981910B (zh) 虚拟机调度的实现方法和装置
CN104298539A (zh) 基于网络感知的虚拟机调度与再调度方法
CN106534318B (zh) 一种基于流量亲和性的OpenStack云平台资源动态调度系统和方法
CN104639626B (zh) 一种多级负载预测与云资源弹性配置方法与监控配置系统
CN102904955B (zh) 云计算平台中Web应用的自适应伸缩控制系统及其方法
CN109196828A (zh) 一种网络切片的资源管理方法和装置
CN103812949B (zh) 一种面向实时云平台的任务调度与资源分配方法及系统
CN108965014A (zh) QoS感知的服务链备份方法及系统
CN102904794A (zh) 一种虚拟网络映射方法和装置
CN106027328A (zh) 一种基于应用容器部署的集群监控的方法及系统
CN104216782A (zh) 高性能计算和云计算混合环境中的动态资源管理方法
CN106506670A (zh) 一种云平台虚拟资源高速调度方法与系统
CN104993941A (zh) 一种基于Openflow网络高容错性虚拟网络映射算法
CN112631725A (zh) 一种基于云边端协同的智慧城市的管理系统及方法
CN109445921A (zh) 一种分布式数据任务处理方法及装置
CN108880888A (zh) 一种基于深度学习的sdn网络流量预测方法
US9794138B2 (en) Computer system, method, and program
CN107018018A (zh) 一种基于sdn的服务器增量在线升级方法及系统
CN107392387B (zh) 一种agv最优管制时间的调度方法
Aldhalaan et al. Autonomic allocation of communicating virtual machines in hierarchical cloud data centers
CN114706675A (zh) 基于云边协同系统的任务部署方法及装置
CN110958192B (zh) 一种基于虚拟交换机的虚拟数据中心资源分配系统及方法
CN107528742B (zh) 一种面向云数据中心网络优化的虚拟机部署方法
CN108810992A (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
GR01 Patent grant
GR01 Patent grant