一种虚拟机部署位置的调整方法、装置及系统制造方法及图纸

技术编号:11498726 阅读:118 留言:0更新日期:2015-05-22 17:48
本发明专利技术实施例公开了一种虚拟机部署位置的调整方法、装置及系统,针对现有云计算系统虚拟机部署位置调整方案中节点间通信代价对调整结果影响过大的问题,本发明专利技术实施例所提供的技术方案,通过对节点间通信代价进行修正,使得修正后的节点间通信代价既能体现对虚拟机部署位置调整结果的影响,又使得通信流量在调整结果中起到主导影响作用,从而可以得到更为合理的虚拟机部署位置调整结果,降低云计算系统的内部的带宽消耗。

【技术实现步骤摘要】
一种虚拟机部署位置的调整方法、装置及系统
本专利技术涉及云计算
,特别是涉及一种虚拟机部署位置的调整方法、装置及系统。
技术介绍
云计算技术在近几年发展迅速,随着网络密集型应用在云平台数据中心网络的大量部署,云计算系统的内部网络带宽成为云计算环境下的一种瓶颈资源。如何减少云计算系统内部的带宽消耗,是部署系统时需要考虑的重要问题。在云计算系统中,虚拟机是提供云计算服务的基本单元,随着系统的运行,不同的虚拟机之间会产生大量的交互数据,占用系统的网络带宽资源,因此,虚拟机的调度管理直接决定整个系统的内部带宽消耗,进而影响整个系统的性能和响应速度。针对上述问题,现有技术提出一种TVMPP(Traffic-awareVMPlacementProblem)优化算法,该方法以虚拟机之间的整体通信代价最小为目标,对系统中虚拟机的部署位置进行动态调整,使得虚拟机之间所产生的系统内部数据流量尽量控制在物理机内部,或是控制在通信代价较小的同一物理邻接域之内。从而更有效地利用系统的内部网络资源,提高系统整体性能和响应速度。TVMPP将云计算系统中的每一台虚拟机看作一个网络节点,定义任意两个节点间的邻接度为:节点间通信代价与节点间流量的乘积,根据系统网络节点的邻接度情况对虚拟机的部署位置进行调整。调整基于最小割算法实现,其基本思路是:如果两个节点之间的通信代价越高、并且节点流量越大,那么就越应该降低这两个节点之间的通信代价。然而,通过大量的测试发现:尽管TVMPP的整体思路是合理的,但是在实际应用时,经常不能得到预期的调整效果,难以切实解决系统内部的带宽消耗问题。
技术实现思路
为解决上述技术问题,本专利技术实施例提供一种虚拟机部署位置的调整方法、装置及系统,以实现云计算系统中虚拟机的合理部署,降低系统内部的带宽消耗,技术方案如下:根据本专利技术实施例的第一方面,提供一种虚拟机部署位置的调整方法,该方法包括:根据虚拟机所在网络的拓扑结构,以及根据所述网络中任意两个虚拟机节点i和j所述属的物理服务器情况确定所述节点i和j之间的通信代价Cij(i≠j),其中,在i和j不属于同一物理服务器的情况下,Cij为i和j之间的交换机数量,在i和j属于同一物理服务器的情况下,Cij为预设的数值,i的取值包括不大于N的所有自然数,j的取值包括不大于N的所有自然数,N为所述网络中虚拟机节点的个数;对所述Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’;获得所述两个虚拟机节点i和j之间在预设历史时段的流量统计值Dij;根据所述Cij’和Dij,计算所述两个虚拟机节点i和j之间的修正邻接度Aij’;对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,每个集合包含至少一个虚拟机节点,其中,所述修正邻接度图中的不同的顶点分别对应一个不同的虚拟机节点、且所述两个虚拟机节点i和j所对应的两个顶点之间存在一条以Aij’为权重值的边;根据所述至少两个集合,对所述网络中的虚拟机节点的部署位置进行调整,以使得对于任意虚拟机节点x,若存在虚拟机节点y与x属于相同的集合、虚拟机节点z与x属于不同的集合,则x与y之间的通信代价不大于x与z之间的通信代价。结合本专利技术实施例的第一方面,在第一种可能的实现方式中,所述对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,包括:对包含N个虚拟机节点的修正邻接度图使用K阶最小割算法,得到K个集合,其中,K为预设的数值且K为不小于2的自然数。结合本专利技术实施例的第一方面,在第二种可能的实现方式中,对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,包括:根据预设的聚类规则,对N个虚拟机节点进行聚类,得到至少一个类簇,在同一个类簇中,对于任意一个节点P,存在至少另一个节点P’,使得P’与P之间的修正邻接度不小于预设的阈值;根据预定义的物理邻接域划分规则,确定所述网络中每个物理邻接域所能容纳的虚拟机节点数量M,对各个类簇对应的修正邻接度图分别迭代使用2阶最小割算法,得到对应于各个类簇的分割结果;其中,每组分割结果中包含至少一个集合,且每个集合中的虚拟机节点数量不大于M。结合本专利技术实施例的第一方面的第二种可能的实现方式,在第三种可能的实现方式中,所述物理邻接域划分规则包括:将每台物理服务器划分为一个物理邻接域。结合本专利技术实施例的第一方面,在第四种可能的实现方式中,所述对所述Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’包括:利用Cij’=Cij*Pij+CE*(1-Pij),计算所述两个虚拟机节点i和j之间的通信代价的修正值,其中,Pij为Cij在所述网络中所有Cij取值中的统计概率,CE为所有Cij的算术平均值。结合本专利技术实施例的第一方面,在第五种可能的实现方式中,所述对所述Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’,包括:利用Cij’=a*Cij+CE,计算所述两个虚拟机节点i和j之间的通信代价的修正值,其中,a为预设的修正系数,a∈(0,1),CE为所有Cij的算术平均值。结合本专利技术实施例的第一方面,在第六种可能的实现方式中,所述根据所述Cij’和Dij,计算所述两个虚拟机节点i和j之间的修正邻接度Aij’,包括:利用Aij’=Cij’*Dij,计算所述两个虚拟机节点i和j之间的修正邻接度Aij’。根据本专利技术实施例的第二方面,提供一种虚拟机部署位置调整装置,该装置包括:通信代价确定模块,用于根据虚拟机所在网络的拓扑结构,以及根据所述网络中任意两个虚拟机节点i和j所述属的物理服务器情况确定所述节点i和j之间的通信代价Cij(i≠j),其中,在i和j不属于同一物理服务器的情况下,Cij为i和j之间的交换机数量,在i和j属于同一物理服务器的情况下,Cij为预设的数值,i的取值包括不大于N的所有自然数,j的取值包括不大于N的所有自然数,N为所述网络中虚拟机节点的个数;数据平滑模块,用于对所述通信代价确定模块得到的Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’;流量统计值获得模块,用于获得所述两个虚拟机节点i和j之间在预设历史时段的流量统计值Dij;修正邻接度计算模块,用于根据所述数据平滑模块得到的Cij’和所述流量统计值获得模块获得的Dij,计算所述两个虚拟机节点i和j之间的修正邻接度Aij’;最小割计算模块,用于对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,每个集合包含至少一个虚拟机节点,其中,所述修正邻接度图中的不同的顶点分别对应一个不同的虚拟机节点、且所述两个虚拟机节点i和j所对应的两个顶点之间存在一条以所述修正邻接度计算模块计算得到的Aij’为权重值的边;调整模块,用于根据所述最小割计算模块得到的至少两个集合,对所述网络中的虚拟机节点的部署位置进行调整,以使得对于任意虚拟机节点x,若存在虚拟机节点y与x属于相同的集合、虚拟机节点z与x属于不同的集合,则x与y之间的通信代价不大于x与z之间的通信代价。结合本专利技术实施例的第二方面,在第一种可能的实现方式中,所述最小割计算模块,具体用对包含N个虚拟本文档来自技高网...
一种虚拟机部署位置的调整方法、装置及系统

【技术保护点】
一种虚拟机部署位置的调整方法,其特征在于,该方法包括:根据虚拟机所在网络的拓扑结构,以及根据所述网络中任意两个虚拟机节点i和j所述属的物理服务器情况确定所述节点i和j之间的通信代价Cij(i≠j),其中,在i和j不属于同一物理服务器的情况下,Cij为i和j之间的交换机数量,在i和j属于同一物理服务器的情况下,Cij为预设的数值,i的取值包括不大于N的所有自然数,j的取值包括不大于N的所有自然数,N为所述网络中虚拟机节点的个数;对所述Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’;获得所述两个虚拟机节点i和j之间在预设历史时段的流量统计值Dij;根据所述Cij’和Dij,计算所述两个虚拟机节点i和j之间的修正邻接度Aij’;对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,每个集合包含至少一个虚拟机节点,其中,所述修正邻接度图中的不同的顶点分别对应一个不同的虚拟机节点、且所述两个虚拟机节点i和j所对应的两个顶点之间存在一条以Aij’为权重值的边;根据所述至少两个集合,对所述网络中的虚拟机节点的部署位置进行调整,以使得对于任意虚拟机节点x,若存在虚拟机节点y与x属于相同的集合、虚拟机节点z与x属于不同的集合,则x与y之间的通信代价不大于x与z之间的通信代价。...

【技术特征摘要】
1.一种虚拟机部署位置的调整方法,其特征在于,该方法包括:根据虚拟机所在网络的拓扑结构,以及根据所述网络中任意两个虚拟机节点i和j所属的物理服务器情况确定所述节点i和j之间的通信代价Cij(i≠j),其中,在i和j不属于同一物理服务器的情况下,Cij为i和j之间的交换机数量,在i和j属于同一物理服务器的情况下,Cij为预设的数值,i的取值包括不大于N的所有自然数,j的取值包括不大于N的所有自然数,N为所述网络中虚拟机节点的个数;对所述Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’;获得所述两个虚拟机节点i和j之间在预设历史时段的流量统计值Dij;根据所述Cij’和Dij,计算所述两个虚拟机节点i和j之间的修正邻接度Aij’;对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,每个集合包含至少一个虚拟机节点,其中,所述修正邻接度图中的不同的顶点分别对应一个不同的虚拟机节点、且所述两个虚拟机节点i和j所对应的两个顶点之间存在一条以Aij’为权重值的边;根据所述至少两个集合,对所述网络中的虚拟机节点的部署位置进行调整,以使得对于任意虚拟机节点x,若存在虚拟机节点y与x属于相同的集合、虚拟机节点z与x属于不同的集合,则x与y之间的通信代价不大于x与z之间的通信代价。2.根据权利要求1所述的方法,其特征在于,所述对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,包括:对包含N个虚拟机节点的修正邻接度图使用K阶最小割算法,得到K个集合,其中,K为预设的数值且K为不小于2的自然数。3.根据权利要求1所述的方法,其特征在于,对所述网络中的虚拟机节点构成的修正邻接度图采用最小割算法,得到至少两个集合,包括:根据预设的聚类规则,对N个虚拟机节点进行聚类,得到至少一个类簇,在同一个类簇中,对于任意一个节点P,存在至少另一个节点P’,使得P’与P之间的修正邻接度不小于预设的阈值;根据预定义的物理邻接域划分规则,确定所述网络中每个物理邻接域所能容纳的虚拟机节点数量M,对各个类簇对应的修正邻接度图分别迭代使用2阶最小割算法,得到对应于各个类簇的分割结果;其中,每组分割结果中包含至少一个集合,且每个集合中的虚拟机节点数量不大于M。4.根据权利要求3所述的方法,其特征在于,所述物理邻接域划分规则包括:将每台物理服务器划分为一个物理邻接域。5.根据权利要求1所述的方法,其特征在于,所述对所述Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’包括:利用Cij’=Cij*Pij+CE*(1-Pij),计算所述两个虚拟机节点i和j之间的通信代价的修正值,其中,Pij为Cij在所述网络中所有Cij取值中的统计概率,CE为所有Cij的算术平均值。6.根据权利要求1所述的方法,其特征在于,所述对所述Cij使用数据平滑算法,得到所述两个虚拟机节点i和j之间的通信代价的修正值Cij’,包括:利用Cij’=a*Cij+CE,计算所述两个虚拟机节点i和j之间的通信代价的修正值,其中,a为预设的修正系数,a∈(0,1),CE为所有Cij的算术平均值。7.根据权利要求1所述的方法,其特征在于,所述根据所述Cij’和Dij,计算所述两个虚拟机节点i和j之间的修正邻接度Aij’,包括:利用Aij’=Cij’*Dij...

【专利技术属性】
技术研发人员:朱韧周伟王提政
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1