CN105553723B - 一种网络流量感知的虚拟集群放置方法 - Google Patents
一种网络流量感知的虚拟集群放置方法 Download PDFInfo
- Publication number
- CN105553723B CN105553723B CN201510954582.1A CN201510954582A CN105553723B CN 105553723 B CN105553723 B CN 105553723B CN 201510954582 A CN201510954582 A CN 201510954582A CN 105553723 B CN105553723 B CN 105553723B
- Authority
- CN
- China
- Prior art keywords
- weight
- physical machine
- machine
- capacity
- access switch
- 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
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0893—Assignment of logical groups to network elements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种网络流量感知的虚拟集群放置方法。本方法为:1)计算数据中心中每个接入交换机和汇聚交换机的权重;2)根据要放置的虚拟机数量m,从数据中心选择满足容量需求且权重最大的若干接入交换机;3)计算与选出的接入交换机连接的物理机Hj的权重WHj=Cj*WACk;4)依据物理机容量及其权重,以及所需容量m,选出总容量大于等于m且权重最大的k个物理机;5)将m个虚拟机分为k个集合,并且每个集合对应与其容量相同的一台物理机。本发明可以有效的减小回滚过程中引入的网络流量。
Description
技术领域
本发明属于虚拟化技术领域,涉及到数据中心网络结构中的虚拟机放置方法,具体涉及一种网络流量感知的虚拟集群放置方法。
背景技术
在数据中心网络中实施虚拟集群回滚往往引起较高的网络流量开销。具体而言,虚拟集群回滚需要将多个虚拟机快照文件从存储端读取到物理服务器端,这意味着,快照文件数据的传输经由三层交换机网络,每层交换机都对快照文件数据往下一级设备(交换机或物理机)进行转发,引入大量的网络流量。通过组播技术来对虚拟集群中相同页面进行传输,可以有效的减少发送端的数据量。然而,由于组播技术需要将数据从交换机的发送口传输多份到接受方的交换机,因此其并不能优化网络流量。相比而言,单播技术可以通过将页面传输到一台物理机上,避免了页面的重复传输。虚拟机的放置机制,即待回滚的虚拟机应该在哪台物理机上启动执行,决定了页面应该发送到哪台物理机上,从而影响了页面应该以组播或是单播的方式发送。因此,合理的虚拟机放置机制,可以有效的优化网络流量开销。我们以图1为例进行分析。
图1显示了典型的三层数据中心网络拓扑,其管理12台物理机,数字标示每台物理机的容量(例如主机2可以容納2台虚拟机)。现假设有4台虚拟机需要回滚,其数据分别为:虚拟机1={A,B,C},虚拟机2={A,B,D},虚拟机3={C,D,E},虚拟机4={A,C,E}。考虑下面几种放置机制:
(1)虚拟机1和虚拟机2放于主机2,虚拟机3放于主机4,虚拟机4放于主机8。在该放置下,主机2接收页面集合为{A,B,C,D};主机4接收{C,D,F};主机8接收{A,C,E}。因此物理机层接收的流量为4+3+3=10。在接入交换机层,接入交换机1接收主机2和主机4的并集,为{A,B,C,D,F};接入交换机2接收主机8的集合。因此接入交换机层的流量为5+3=8。在汇聚交换机层,汇聚交换机1接收接入交换机1和接入交换机2的集合,流量为6。因此整个网络的流量总和为10+8+6=24。
(2)虚拟机1放于主机4,虚拟机2和虚拟机4放于主机12,虚拟机3放于主机8。该放置下流量总和为31。
(3)虚拟机1、虚拟机2和虚拟机3放于主机6,虚拟机4放于主机8。流量总和为20。
这表明,寻找一个合理的放置机制,可以有效的减小网络流量开销。
现有机制多通过贪心算法、负载均衡放置方法、甚至随机放置方法来放置虚拟机。贪心算法往往优先选择容量最大的物理机放置虚拟机,然后选择容量次大的物理机放置剩余的虚拟机,直到所有的虚拟机放置完毕。负载均衡放置算法往往在物理机上放置相同数目的虚拟机,均衡物理机资源使用。随机放置则随机选择物理机,然后随机选择虚拟机放置到该物理机中,直到所有的虚拟机放置完毕。上述三种放置机制不能很好的解决数据中心网络环境下集群回滚放置问题。
本发明公开了一种网络流量感知的虚拟集群放置机制,可在虚拟集群回滚时寻找一个较好的放置策略,为减小网络流量提供解决方法。
发明内容
本发明的主要目的在于提出一种网络流量感知的虚拟集群放置方法。本发明提出二层放置方法,第一层利用动态规划寻找最优的物理机,第二层利用最小k割对虚拟机分割,并将分割后的子集合映射到物理机。该方法为近似最优解,可以有效的减小回滚过程中引入的网络流量。
本发明的技术方案为:
一种网络流量感知的虚拟集群放置方法,其步骤为:
1)计算数据中心中每个接入交换机和汇聚交换机的权重;其中,接入交换机权重为连接该接入交换机的物理机容量总和,汇聚交换机权重为连接该汇聚交换机的物理机容量总和;
2)根据要放置的虚拟机数量m,从数据中心选择满足容量需求且权重最大的若干接入交换机;
3)计算与选出的接入交换机连接的物理机Hj的权重WHj=Cj*WACk;其中,物理机Hj的容量为Cj,WACk为接入交换机层的第k个接入交换机ACk的权重,物理机Hj与接入交换机ACk连接;
4)依据物理机容量及其权重,以及所需容量m,选出总容量大于等于m且权重最大的k个物理机;
5)将m个虚拟机分为k个集合,并且每个集合对应与其容量相同的一台物理机。
进一步的,将m个虚拟机分为k个集合,并且每个集合对应与其容量相同的一台物理机的方法为:
21)根据虚拟机之间的相似性构建一图G;其中,图G中的顶点Vi为虚拟机VMi,如果两台虚拟机VMi、VMj之间存在相同数据,则Vi与Vj存在边且边权重Wi,j为两台虚拟机之间相同数据的大小;
22)对图G中的任意两个顶点求解最小割;其中,最小割为若干条边的集合;
23)将得到的最小割依据权重排序,得到最小割集合;其中,最小割的权重为其包含的边权重总和;
24)从最小割集合中寻找一组最小割权重最小的最小割,其将图G分为两个子图G1和G2,其中G1的顶点数目等于第i个物理机容量的大小;即G1代表的一组虚拟机为第i个集合,放置在第i台物理机上;
25)从图G中移除子图G1;并且从最小割集合中移除步骤23)中寻找出的权重最小的最小割;
26)重复步骤24)、25),直到得到k个集合。
进一步的,接入交换机ACk的权重汇聚交换机AGk的权重每台物理机Hj的权重WHj:WHj=Cj*WACk;其中,物理机Hj的容量为Cj,ACk为接入交换机层的第k个交换机,AGk为汇聚交换机层的第k个交换机,∏a,i,k表示物理机Hi与第a层的第k个交换机的连接关系,n为数据中心的物理机总数。
进一步的,利用动态规划求解背包问题选出k个物理机。
进一步的,采用贪心式算法从数据中心选择满足容量需求且权重最大的若干接入交换机。
与现有技术相比,本发明的积极效果为:
本发明公开了一种网络流量感知的虚拟集群放置方法,可在虚拟集群回滚时寻找一个较好的放置策略,为减小网络流量提供解决方法。与已公开的方法相比,具有如下优点:提出二层放置方法,第一层利用动态规划寻找最优的物理机,第二层利用最小k割对虚拟机分割,并将分割后的子集合映射到物理机。该算法为近似最优解,可以有效的减小回滚过程中引入的网络流量。
附图说明
图1为三层数据中心网络拓扑图;
图2为本发明的方法流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明做进一步说明。
本发明公开了一种网络流量感知的虚拟集群放置方法,其具体处理流程如图2所示。本发明与已公开的方法相比,具有如下优点:提出二层放置算法,第一层利用动态规划寻找最优的物理机,第二层利用最小k割对虚拟机分割,并将分割后的子集合映射到物理机。该算法为近似最优解,可以有效的减小回滚过程中引入的网络流量。
1.问题定义
放置问题定义如下:现有m台虚拟机,n台物理机,其中物理机Hj的容量为Cj,虚拟机Vi的开销为VCi,Vi的数据用集合Si来描述。∏为三层网络拓扑结构,ACk为接入交换机层的第k个交换机,AGk为汇聚交换机层的第k个交换机。令∈标识交换机与其上层交换机的连接关系,如若ACj连接到AGk,则ACj∈AGk。∏a,i,k定义物理机Hi与第a层的第k个交换机的连接关系,其中接入交换机为第1层(即a=1),汇聚交换机为第2层(即a=2)。∏a,i,k值为1表示物理机Hi和相应的交换机之间存在连接关系,为0则表明二者无连接关系。显然,如果物理机Hi∈ACk,则∏1,i,k=1;如果Hi∈AGk,则∏2,i,k=1。
我们将放置用m*n矩阵M来描述,Mi,j值为1表示Vi放置于Hj,Mi,j值为0则表示二者无放置关系。M需满足两个限制条件:1)所有的m个虚拟机被放置到物理机上,2)放于物理机Hj上的虚拟机开销不得超过其容量Cj。
下面来计算网络流量开销。首先,在物理机层,放于物理机Hj的流量为接收到的虚拟机快照文件数据并集,用f0,j来定义该流量,则其表达为:
在接入交换机层,ACk通过单播或者组播的方式分发数据包,因此其接收到的数据为分发给物理机的数据包并集,用f1,k来定义该流量,其定义为:
在汇聚交换机层,AGk接收到的数据为其分发给接入交换机的数据包并集,也即为分发到物理机的数据包并集,用f2,k来定义流量,其表示为:
通过上面三个公式,可以计算出通过数据中心网络∏的总流量T为n台物理机,n1台接入交换机,n2台汇聚交换机之和:
综上,放置问题可定义为:寻找将m台虚拟机放于n台物理机中的矩阵M,在满足两个限制条件(1,2)下最小化T。
2.算法求解
为了寻找放置机制,要解决的问题及我们的解决方法如下:
1)物理机的选择
在数据中心中,往往管理数以千计的物理机。为了实现虚拟机的放置机制,首先需要挑选出一组待放置虚拟机的物理机。观察到存在如下命题:
Proposition 1:|Si∪Sj|≤|Si|+|Sj|.
该命题意味着如果将两台放置于一台物理机上,网络流量小于将二者分别放置时的流量。因此,如果一台物理机容量越大,其能承载的虚拟机越多,那么可以减少的流量越大。因此,具有较大容量的物理机应该优先被选择。该命题对于跨接入交换机的物理机依旧成立,即:
|f0,i∪f0,j|≤|f0,i|+|f0,j|.
因此,在选物理机时,可以优先选择较大容量的接入交换机管理下的物理机。对每台物理机Hj赋予权重WHj:WHj=Cj*WACk,那么物理机的选择定义为选择一组容量之和为m的物理机,同时最大化权重之和WH。该问题的求解过程如下:
算法中每行伪代码的具体描述如下:
1)对每个接入交换机和汇聚交换机,计算其权重交换机权重定义为连接该交换机的物理机
容量总和。
2)对交换机的权重进行从大到小排序。
3)采用贪心式算法选择满足容量需求的接入交换机(贪心式算法,首先选择满足容量需求的汇聚交换机,然后针对与已选择出的汇聚交换机连接的所有接入交换机,以贪心式算法选择满足容量需求的接入交换机),满足容量需求意味着与交换机连接的所有物理机容量总和大于等于m,即这些物理机可以充分放置m台虚拟机。贪心算法即依据容量从大到小选择接入交换机,直到选出的交换机权重大于等于m。
4)从选出的接入交换机中得到其连接的物理机。
5-7)对每个选择出的物理机计算权重。
8)依据物理机容量、物理机权重,以及所需容量m,利用动态规划求解背包问题,即选出k个物理机,使得其总容量大于等于m,且权重最大。
2)虚拟机与物理机的映射
上面算法中,我们选择出了一组k个物理机来放置m个虚拟机。本部分映射的目的是将m个虚拟机分为k个集合,并且每个集合对应与其容量相同的一台物理机。
我们通过分析虚拟机之间的相似性构建图G。图G中的顶点Vi为虚拟机VMi,如果两台虚拟机VMi、VMj之间存在相同数据,则图中Vi与Vj存在边,且边权重Wi,j为两台虚拟机之间相同数据的大小。对于三台虚拟机VMi、VMj、VMk,存在如下命题:
Proposition 2:If Wi,j≥Wi,k and Wi,k≥Wj,k,then
|Si∪Sj|+|Sk|≤|Si∪Sk|+|Sj|≤|Sj∪Sk|+|Si|.
该命题意味着如果相同页面较多的虚拟机放置于一台物理机,则其引入的网络流量少于其他放置机制。因此,虚拟机的分割可遵循两条原则:1)相同页面多的虚拟机在同一集合中;2)相同页面少的虚拟机应该分开放置。我们采用最小k割算法来对虚拟机进行分割,其算法如下:
算法中每行伪代码的具体描述如下:
1)对图G中的任意两个顶点,求解最小割(参考R.E.Miller and J.W.Thatcher,Eds.,《Complexity ofComputer Computations》)。最小割为若干条边的集合。
2)将这些最小割依据权重按从小到大排序,得到最小割集合。最小割的权重定义为边权重总和。
3)对所需的k个集合,对图G进行划分以找到符合集合大小的子图,具体如下:
3.1)从最小割集合中寻找一组权重最小的最小割,其将图G分为两个子图G1和G2,其中G1的顶点数目等于第i个集合的大小(即第i台主机的容量)。
3.2)从图G中移除子图G1。从最小割集合中移除3.1)中寻找出的权重最小的最小割。
3.3)G1表示了一组虚拟机,将放置到第i台主机上,为符合要求的一个划分。
4)步骤3持续执行,直到k个集合全部求解得到。
Claims (5)
1.一种网络流量感知的虚拟集群放置方法,其步骤为:
1)计算数据中心中每个接入交换机和汇聚交换机的权重;其中,接入交换机权重为连接该接入交换机的物理机容量总和,汇聚交换机权重为连接该汇聚交换机的物理机容量总和;
2)根据要放置的虚拟机数量m,从数据中心选择满足容量需求且权重最大的若干接入交换机;
3)计算与选出的接入交换机连接的物理机Hj的权重WHj=Cj*WACk;其中,物理机Hj的容量为Cj,WACk为接入交换机层的第k个接入交换机ACk的权重,物理机Hj与接入交换机ACk连接;
4)依据物理机容量及其权重,以及要放置的虚拟机数量m,选出总容量大于等于m且权重最大的k个物理机;
5)将m个虚拟机分为k个集合,并且每个集合对应与其容量相同的一台物理机。
2.如权利要求1所述的方法,其特征在于,将m个虚拟机分为k个集合,并且每个集合对应与其容量相同的一台物理机的方法为:
21)根据虚拟机之间的相似性构建一图G;其中,图G中的顶点Vi为虚拟机VMi,如果两台虚拟机VMi、VMj之间存在相同数据,则Vi与Vj存在边且边权重Wi,j为两台虚拟机之间相同数据的大小;
22)对图G中的任意两个顶点求解最小割;其中,最小割为若干条边的集合;
23)将得到的最小割依据权重排序,得到最小割集合;其中,最小割的权重为其包含的边权重总和;
24)从最小割集合中寻找一组最小割权重最小的最小割,其将图G分为两个子图G1和G2,其中G1的顶点数目等于第i个物理机容量的大小;即G1代表的一组虚拟机为第i个集合,放置在第i台物理机上;
25)从图G中移除子图G1;并且从最小割集合中移除步骤23)中寻找出的权重最小的最小割;
26)重复步骤24)、25),直到得到k个集合。
3.如权利要求1或2所述的方法,其特征在于,接入交换机ACk的权重汇聚交换机AGk的权重每台物理机Hj的权重WHj:WHj=Cj*WACk;其中,物理机Hj的容量为Cj,ACk为接入交换机层的第k个交换机,AGk为汇聚交换机层的第k个交换机,∏a,i,k表示物理机Hi与第a层的第k个交换机的连接关系,n为数据中心的物理机总数。
4.如权利要求1或2所述的方法,其特征在于,利用动态规划求解背包问题选出k个物理机。
5.如权利要求1或2所述的方法,其特征在于,采用贪心式算法从数据中心选择满足容量需求且权重最大的若干接入交换机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510954582.1A CN105553723B (zh) | 2015-12-17 | 2015-12-17 | 一种网络流量感知的虚拟集群放置方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510954582.1A CN105553723B (zh) | 2015-12-17 | 2015-12-17 | 一种网络流量感知的虚拟集群放置方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105553723A CN105553723A (zh) | 2016-05-04 |
CN105553723B true CN105553723B (zh) | 2019-02-01 |
Family
ID=55832663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510954582.1A Active CN105553723B (zh) | 2015-12-17 | 2015-12-17 | 一种网络流量感知的虚拟集群放置方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105553723B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107861794A (zh) * | 2017-11-13 | 2018-03-30 | 郑州云海信息技术有限公司 | 一种在云计算系统中建立虚拟机的方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594849A (zh) * | 2011-01-06 | 2012-07-18 | 阿里巴巴集团控股有限公司 | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 |
CN103023799A (zh) * | 2011-09-27 | 2013-04-03 | 日电(中国)有限公司 | 用于虚拟机迁移的中央控制器和虚拟机迁移方法 |
CN103825946A (zh) * | 2014-02-26 | 2014-05-28 | 南京邮电大学 | 一种基于网络感知的虚拟机放置方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8990824B2 (en) * | 2011-04-28 | 2015-03-24 | Dell Products L.P. | System and method for automated virtual network configuration |
-
2015
- 2015-12-17 CN CN201510954582.1A patent/CN105553723B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102594849A (zh) * | 2011-01-06 | 2012-07-18 | 阿里巴巴集团控股有限公司 | 数据备份、恢复方法、虚拟机快照删除、回滚方法及装置 |
CN103023799A (zh) * | 2011-09-27 | 2013-04-03 | 日电(中国)有限公司 | 用于虚拟机迁移的中央控制器和虚拟机迁移方法 |
CN103825946A (zh) * | 2014-02-26 | 2014-05-28 | 南京邮电大学 | 一种基于网络感知的虚拟机放置方法 |
Non-Patent Citations (1)
Title |
---|
"基于负载特征的虚拟机动态放置策略研究";高龙;《中国优秀硕士学位论文全文数据库》;20141215;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN105553723A (zh) | 2016-05-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Jeannot et al. | Near-optimal placement of MPI processes on hierarchical NUMA architectures | |
CN102541858B (zh) | 基于映射和规约的数据均衡性处理方法、装置及系统 | |
CN105718364A (zh) | 一种云计算平台中计算资源能力动态评估方法 | |
CN112073452B (zh) | 一种能源有效和资源受限的移动边缘计算任务分配方法 | |
CN103176849A (zh) | 一种基于资源分类的虚拟机集群的部署方法 | |
CN106612236A (zh) | 众核网络处理器及其微引擎的报文调度方法、系统 | |
CN104461739B (zh) | 一种基于cloudsim平台的虚拟机批量部署方法 | |
CN103997515B (zh) | 一种分布式云中计算中心选择方法及其应用 | |
CN105786619A (zh) | 虚拟机分配方法及装置 | |
CN107360031B (zh) | 一种基于优化开销收益比的虚拟网络映射方法 | |
CN115225643A (zh) | 点云平台大数据分布式管理方法、装置及系统 | |
CN104298539B (zh) | 基于网络感知的虚拟机调度与再调度方法 | |
CN109189650A (zh) | 一种it运维系统的业务系统拓扑图展现方法 | |
CN105553723B (zh) | 一种网络流量感知的虚拟集群放置方法 | |
CN103442056B (zh) | 一种基于云平台的智能鞋柜控制系统 | |
CN104901999A (zh) | 一种可靠性感知的虚拟数据中心跨域映射方法 | |
CN106599898A (zh) | 一种图像特征提取方法及系统 | |
WO2020124488A1 (zh) | 应用进程映射方法、电子装置及计算机可读存储介质 | |
CN109062683A (zh) | 主机资源分配的方法、装置及计算机可读存储介质 | |
CN113645076A (zh) | 基于超图匹配算法的虚拟网络资源分配方法 | |
CN108304261A (zh) | 一种基于6D-Torus网络的作业调度方法和装置 | |
CN109213566A (zh) | 一种虚拟机迁移的方法、装置和设备 | |
WO2023143595A1 (zh) | 处理器之间的通信方法、系统、存储介质以及处理器 | |
CN115688495B (zh) | 分布式lvc仿真体系协同筹划方法、服务器及存储介质 | |
CN104065547B (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 |