当前位置: 首页 > 专利查询>南京大学专利>正文

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

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

【技术实现步骤摘要】
基于网络感知的虚拟机调度与再调度方法
本专利技术涉及数据中心中虚拟机调度的方法,具体是一种基于网络感知的虚拟机调度与再调度方法。
技术介绍
随着虚拟化技术的发展以及云计算概念的普及,越来越多的用户选择通过向数据中心租用计算资源的方式来完成其工作任务而非自己购买物理设备。为提高资源利用率,如何高效的将用户请求的资源合理调度到各个物理服务器上是数据中心的管理者需要解决的重要问题之一。高效的虚拟机调度策略能够提高数据中心的资源利用率,降低运行时能耗。现有调度算法综合考虑了虚拟机在CPU、内存和网络方面的需求,合理部署虚拟机,以期最小化计算、存储与网络的代价。然而,当前的虚拟机调度策略没有动态的考虑虚拟机之间网络通信流量的变化,也没有考虑由于虚拟机退出所造成的资源利用率下降与网络延迟上升的问题。
技术实现思路
本专利技术为了解决现有技术中调度策略的不足,提供了一种基于网络感知的虚拟机调度与再调度方法,通过适当的虚拟机迁移,提高部署在虚拟机上任务的性能以及数据中心整体的网络通信效率。本专利技术包括虚拟机的初次调度和再调度,所述的初次调度包括以下步骤:1)获取当前数据中心的全局状态和用户请求的初始状态;2)判断有无初始通信矩阵Tk,若有初始Tk,则转入步骤3),否则转入步骤4);3)根据初始通信矩阵Tk进行聚类,使用Stoer-Wagner算法将该组虚拟机分成两个小组,使得这两个小组之间的通信流量最小,对每个小组都执行步骤4);其中,Stoer-Wagner算法是一个计算图最小割问题的常用算法,具体算法参见Stoer,Mechthild,andFrankWagner."Asimplemin-cutalgorithm."JournaloftheACM(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,矩阵中的每一项为虚拟机和虚拟机通信所经过的路由层数为则其中为数据通信所经过的路由层数的函数,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可以由本文档来自技高网...
基于网络感知的虚拟机调度与再调度方法

【技术保护点】
一种基于网络感知的虚拟机调度与再调度方法,其特征在于:包括虚拟机的初次调度和再调度,所述的初次调度包括以下步骤: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)。...

【技术特征摘要】
1.一种基于网络感知的虚拟机调度与再调度方法,其特征在于:包括虚拟机的初次调度和再调度,所述的初次调度包括以下步骤:1.1)获取当前数据中心的全局状态和用户请求的初始状态;1.2)判断有无初始通信流量矩阵Tk,若有初始通信流量矩阵Tk,则转入步骤1.3),否则转入步骤1.4);1.3)根据初始通信流量矩阵Tk进行聚类,使用Stoer-Wagner算法将虚拟机分成两个小组,使得这两个小组之间的通信流量最小,对每个小组都执行步骤1.4);1.4)将虚拟机部署到能够容纳他们并且网络结构树的高度最低的一组物理机上,如果部署不成功,则返回步骤1.3),进行再次聚类,当全部的分组都部署成功时,输出部署的结果:一种可行的虚拟机部署方式其中,用表示虚拟机被放置在了物理服务器pm上,否则,所述的再调度包括以下步骤:2.1)比较当前数据中心的状态与历史状态,当出现虚拟机退出或虚拟机之间的网络通信矩阵发生变化超过30%时,进入步骤2.2),否则休息一段时间,返回步骤2.1);2.2)计算每个用户或任务的优先值Priority,并按降序排序,存入队列P_Queue,进入步骤2.3);2.3)当队列P_Queue非空时,依次取出队头元素,记为Gt,进入步骤2.4),当P_Queue为空时,进入步骤2.6);2.4)尝试将Gt中的虚拟...

【专利技术属性】
技术研发人员:罗刚毅钱柱中陆桑璐
申请(专利权)人:南京大学
类型:发明
国别省市:江苏;32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1