一种基于资源使用曲线互补的云计算虚拟机放置方法与流程

文档序号:18100765发布日期:2019-07-06 11:20阅读:349来源:国知局
一种基于资源使用曲线互补的云计算虚拟机放置方法与流程

本发明属于云计算和虚拟化领域,具体涉及一种基于资源使用曲线互补的云计算虚拟机放置方法,主要用于减少虚拟机迁移次数和提高物理机cpu资源的利用率,以降低整个数据中心的能耗。



背景技术:

云计算是一种按需对用户提供服务的新技术,它对信息技术产业有着革命性的影响。云计算的发展催生了成千上万的数据结点。虚拟化技术是云计算的一项关键技术,它是云计算得以实现按需提供服务的基础,在虚拟化的环境下,软件的运行环境不同于传统模式运行在硬件上,而是运行在虚拟化的环境中,在虚拟化环境下,硬件资源是可以根据需求进行分配的。从数据中心的角度来看,虚拟化技术实现了一台物理机运行多台虚拟机,从而大幅度的降低了硬件的成本。

虚拟化技术有一个主要特性是在线迁移:将一台正在运行中的虚拟机从当前的物理机上移动到另外一台物理机上。虚拟机在线迁移的特性对虚拟机的管理有着重要的意义,主要的意义体现在三个方面。第一是有利于实现物理机的负载均衡。当物理机的负载过高时,将部分虚拟机迁移到负载过低的物理机上,实现了虚拟机负载过高和过低之间的均衡;第二是便于对数据中心进行能耗管理。将负载过低的物理机上的虚拟机迁移到其他虚拟机上,关闭当前的物理机以实现降低能耗的目标;第三是方便对数据中心进行维护。当正在运行的物理机出现问题时,可以将当前物理机上的虚拟机迁移到其他的物理机上,以保证虚拟机的正常运行。

虚拟机迁移过程中必不可少的一个环节就是虚拟机的放置,现有的虚拟机放置策略有两种,一种是基于物理主机资源利用率的虚拟机放置策略,是指在虚拟机放置时,考虑虚拟机放置后物理主机的负载情况,该算法以提高物理主机的利用率为目标。另一种是感知虚拟机间的依赖关系的虚拟机放置算法,是指在放置虚拟机的过程中,考虑虚拟机间依赖关系(即虚拟机之间的通信量),当两台虚拟机处于不同的物理主机上并且他们之间的通信量较大,那么每次的通信都需要通过网络来访问,这时候完成一次通信所需的时间就会比较长;对于这种问题一种有效的解决方案就是将数台相互依赖(通信量较大)的虚拟机放置在同一台物理主机上。该算法以降低整个数据中心的通信量为基础。

对于一个大型数据中心,物理机超载的情况时有发生,但是引发超载的原因更多的是其负载的多台虚拟机集中请求主机资源造成的,为了有效的解决这种问题并实现降低能耗的目的,需要对过载物理机上负载的虚拟机进行迁移。而目前大部分的迁移方法只是针对物理机过载与否做迁移,并没有对虚拟机和物理机的资源情况进行具体分析,这直接导致了迁移的奏效时间短和大量的物理机资源浪费。



技术实现要素:

本发明针对上述问题,提出了一种基于资源使用曲线互补的云计算虚拟机放置方法,该方法分析并预测虚拟机和物理机一段时间内的资源使用情况,结合资源互补度选择合理的放置策略,可以保证目标物理机未来一段时间内的负载均衡,在节约能耗的同时减少了迁移次数。

一种基于资源使用曲线互补的云计算虚拟机放置方法,包括如下步骤:

步骤1,得出过载物理机上的虚拟机集合v={v1,v2,v3,……vn}和可供迁移的物理机的集合p={p1,p2,p3,……pk},其中每台虚拟机和物理机包含z类资源;

步骤2,获取过载虚拟机集合v中的虚拟机vi在t个时间点的z类资源的利用率矩阵ai;

步骤3,运用神经网络等预测方法预测未来t个时间点的虚拟机vi的z类资源的使用数据,得到预测使用数据矩阵ci;

步骤4,获取可供迁移的物理机集合p中的物理机pj在t个时间点的z类资源的利用率矩阵bj;

步骤5,运用神经网络等预测方法预测未来t个时间点的物理机pj的z类资源剩余利用率,得到预测资源剩余利用率矩阵dj;

步骤6,计算虚拟机vi上第z类资源利用率在第t个时间点的曲率rizt,由此得到虚拟机vi上z类资源利用率cizt在未来t个时间点曲率rizt的矩阵ri;

步骤7,计算物理机pj上第z类资源利用率在第t个时间点的曲率qjzt,由此得到物理机pj上z类资源利用率bjzt在未来t个时间点曲率qjzt的矩阵qj;

步骤8,计算虚拟机vi和物理机pj之间的第z类资源的互补度hijz,由此得到虚拟机vi和物理机pj之间所有z类资源的互补度,将其组合得到互补集合hij;

步骤9,计算虚拟机vi和物理机pj之间的综合互补度sij,由此得到虚拟机集合v中虚拟机和物理机集合p中物理机之间的综合互补度sij的集合s;

步骤10,计算综合互补度sij的最小值smin.,得出对应的互补度最小的虚拟机vi和物理机pj,将虚拟机vi放置到物理机pj上,并从集合s中移除smin;

步骤11,计算过载物理主机po上z类资源的剩余利用率eozt,如果存在ejzt>0且集合s不为空,回到步骤10;否则,迁移结束。

进一步地,所述步骤2中,获取过载虚拟机集合v中的虚拟机vi在t个时间点的z类资源的利用率矩阵ai,其中aizt为虚拟机vi在第t个时间时第z类资源的利用率,虚拟机资源利用率矩阵ai中的每一行表示虚拟机vi上的一类资源在t个时间点的利用率。

进一步地,所述步骤3中,运用神经网络等预测方法预测未来t个时间点的虚拟机vi的z类资源的使用数据ci;其中cizt为预测得到的虚拟机vi在第t个时间时第z类资源的利用率。

进一步地,所述步骤4中,获取可供迁移的物理机集合p中的物理机pj在t个时间点的z类资源的利用率矩阵bj,其中bjzt定义为物理机pj在第t个时间时第z类资源的利用率,物理机资源利用率矩阵bj中的每一行表示物理机pj上的一类资源在t个时间点的利用率。

进一步地,所述步骤5中,运用神经网络等预测方法预测未来t个时间点的物理机pj的z类资源剩余利用率矩阵dj,其中djzt中定义为预测得到的物理机pj在第t个时间时第z类资源的利用率,uz表示第z类资源的利用率上阈值。

进一步地,所述步骤6中,通过公式(1)计算虚拟机vi上第z类资源利用率在第t个时间点的曲率rizt;

得到虚拟机vi上z类资源利用率cizt在未来t个时间点曲率rizt的矩阵ri。

进一步地,所述步骤7中,通过公式(2)计算物理机pj上第z类资源利用率在第t个时间点的曲率qjzt;

得到物理机pj上z类资源利用率bjzt在未来t个时间点曲率qjzt的矩阵qj。

进一步地,所述步骤8中,通过公式(3)计算虚拟机vi和物理机pj之间的第z类资源的互补度hijz;

得到虚拟机vi和物理机pj之间所有z类资源的互补度组合为互补集合hij。

hij=[hij1,hij2,…hijz]

进一步地,所述步骤9中,通过公式(4)计算虚拟机vi和物理机pj之间的综合互补度sij,

得到虚拟机集合v中虚拟机和物理机集合p中物理机之间的综合互补度sij的集合s。

s=[s11,s12…s1k,s21…snk]

进一步地,所述步骤10中,通过公式(5)计算综合互补度sij的最小值smin.;

smin=min{sij,0<i<n,0<j<k}(5)

i、j为smin在集合s中的下标,将虚拟机vi放置到物理机pj上,从集合s中移除smin;

所述步骤11中,计算过载物理主机po上z类资源的剩余利用率eozt;

eozt=uzt-uz-cozt(6)

uzt为过载物理机上第z类资源在时间t时的总利用率,如果存在ejzt>0且集合s不为空,回到步骤10;否则,迁移结束。

本发明,较目前主流的放置策略而言,主要优势在于:该方法分析并预测虚拟机和物理机一段时间内的各类资源的使用情况,可以保证目标物理机未来一段时间内的负载均衡,并且结合资源综合互补度选择合理的放置策略,使得待迁移的虚拟机和目标物理机之间各类资源利用率都尽可能互补,在节约能耗的同时减少了迁移次数。

附图说明

图1为本发明所述一种基于资源使用曲线互补的云计算虚拟机放置方法的流程图。

具体实施方式

下面结合说明书附图对本发明的技术方案做进一步的详细说明。

一种基于资源使用曲线互补的云计算虚拟机放置方法,参照图1,包括如下步骤:

步骤1,得出过载物理机上的虚拟机集合v={v1,v2,v3,……vn}和可供迁移的物理机的集合p={p1,p2,p3,……pk},其中每台虚拟机和物理机包含z类资源。

步骤2,获取过载虚拟机集合v中的虚拟机vi在t个时间点的z类资源的利用率矩阵ai。

所述步骤2中,获取过载虚拟机集合v中的虚拟机vi在t个时间点的z类资源的利用率矩阵ai,其中aizt为虚拟机vi在第t个时间时第z类资源的利用率,虚拟机资源利用率矩阵ai中的每一行表示虚拟机vi上的一类资源在t个时间点的利用率。

步骤3,运用神经网络等预测方法预测未来t个时间点的虚拟机vi的z类资源的使用数据,得到预测使用数据矩阵ci。

所述步骤3中,运用神经网络等预测方法预测未来t个时间点的虚拟机vi的z类资源的使用数据ci;其中cizt为预测得到的虚拟机vi在第t个时间时第z类资源的利用率。

步骤4,获取可供迁移的物理机集合p中的物理机pj在t个时间点的z类资源的利用率矩阵bj。

所述步骤4中,获取可供迁移的物理机集合p中的物理机pj在t个时间点的z类资源的利用率矩阵bj,其中bjzt定义为物理机pj在第t个时间时第z类资源的利用率,物理机资源利用率矩阵bj中的每一行表示物理机pj上的一类资源在t个时间点的利用率。

步骤5,运用神经网络等预测方法预测未来t个时间点的物理机pj的z类资源剩余利用率,得到预测资源剩余利用率矩阵dj。

所述步骤5中,运用神经网络等预测方法预测未来t个时间点的物理机pj的z类资源剩余利用率矩阵dj,其中djzt中定义为预测得到的物理机pj在第t个时间时第z类资源的利用率,uz表示第z类资源的利用率上阈值。

步骤6,计算虚拟机vi上第z类资源利用率在第t个时间点的曲率rizt,由此得到虚拟机vi上z类资源利用率cizt在未来t个时间点曲率rizt的矩阵ri。

所述步骤6中,通过公式(1)计算虚拟机vi上第z类资源利用率在第t个时间点的曲率rizt;

得到虚拟机vi上z类资源利用率cizt在未来t个时间点曲率rizt的矩阵ri。

步骤7,计算物理机pj上第z类资源利用率在第t个时间点的曲率qjzt,由此得到物理机pj上z类资源利用率bjzt在未来t个时间点曲率qjzt的矩阵qj。

所述步骤7中,通过公式(2)计算物理机pj上第z类资源利用率在第t个时间点的曲率qjzt;

得到物理机pj上z类资源利用率bjzt在未来t个时间点曲率qjzt的矩阵qj。

步骤8,计算虚拟机vi和物理机pj之间的第z类资源的互补度hijz,由此得到虚拟机vi和物理机pj之间所有z类资源的互补度,将其组合得到互补集合hij。

所述步骤8中,通过公式(3)计算虚拟机vi和物理机pj之间的第z类资源的互补度hijz;

得到虚拟机vi和物理机pj之间所有z类资源的互补度组合为互补集合hij。

hij=[hij1,hij2,…hijz]

步骤9,计算虚拟机vi和物理机pj之间的综合互补度sij,由此得到虚拟机集合v中虚拟机和物理机集合p中物理机之间的综合互补度sij的集合s。

所述步骤9中,通过公式(4)计算虚拟机vi和物理机pj之间的综合互补度sij,

得到虚拟机集合v中虚拟机和物理机集合p中物理机之间的综合互补度sij的集合s。

s=[s11,s12…s1k,s21…snk]

步骤10,计算综合互补度sij的最小值smin.,得出对应的互补度最小的虚拟机vi和物理机pj,将虚拟机vi放置到物理机pj上,并从集合s中移除smin。

所述步骤10中,通过公式(5)计算综合互补度sij的最小值smin.;

smin=min{sij,0<i<n,0<j<k}(5)

i、j为smin在集合s中的下标,将虚拟机vi放置到物理机pj上,从集合s中移除smin。

步骤11,计算过载物理主机po上z类资源的剩余利用率eozt,如果存在ejzt>0且集合s不为空,回到步骤10;否则,迁移结束。

所述步骤11中,计算过载物理主机po上z类资源的剩余利用率eozt;

eozt=uzt-uz-cozt(6)

uzt为过载物理机上第z类资源在时间t时的总利用率,如果存在ejzt>0且集合s不为空,回到步骤10;否则,迁移结束。

以上所述仅为本发明的较佳实施方式,本发明的保护范围并不以上述实施方式为限,但凡本领域普通技术人员根据本发明所揭示内容所作的等效修饰或变化,皆应纳入权利要求书中记载的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1