一种云计算中基于强化学习的虚拟机放置方法与流程

文档序号:20029057发布日期:2020-02-28 10:09阅读:689来源:国知局
一种云计算中基于强化学习的虚拟机放置方法与流程

本发明涉及基于强化学习的虚拟机放置方法,属于云计算领域。



背景技术:

云计算作为近些年兴起的一个产业,已经越来越融入到普通大众的生活中了,在我们的日常生活当中,云计算也正在发挥着巨大的作用和贡献,拿谷歌举例来说,谷歌给用户所提供的gmail、googleearth、googleanalytics等服务都是在其云计算平台架构的基础之上的,著名的谷歌在线翻译服务每天的用户访问数量不计其数,这些数据的检索和管理也是在谷歌的云平台上来完成的。云计算的技术和发展在不断地演进、变化,现在已经有很多专门聚焦于云平台saas应用的厂商,这其实也代表了未来云计算技术将会以应用作为主要的推动力。

一般来说,云服务提供商通过互联网为客户提供虚拟机,云服务商的服务主要考虑以下几个因素:云服务提供成本(主要包括能耗和维护等成本),用户体验(即用户的满意度,qos要求等)。通常一个使用了虚拟化技术的物理机上会有多个虚拟机并行运行。随着云计算越来越普及,其规模越来越大,导致活动的物理机越来越来,在活动的物理机上并行运行的虚拟机也越来越多。更多的物理机意味着更多的成本,更多虚拟机并行在同一个物理机上,意味着数据中心更多的能耗。为了降低成本,有必要最大限度地利用资源,从而减少所使用的物理机器的数量。此外,需要降低云计算数据中心的能耗,据绿色和平组织估计,如果把全球云计算能耗产业当做一个国家,其能耗排在第六位,介于德国和俄罗斯之间,由此可见云计算数据中心的能耗在云计算服务提供的成本上占了较大的比重。因此,为了节约成本,降低云计算能耗成了云服务提供商所面临的重大问题。

降低云计算能耗的方式有多种,其中虚拟机的放置作为云计算能耗节约的一个热门话题,被大多数人所研究,虚拟机放置问题,大多数所采取的解法为遗传算法与进化算法,这些算法的求解速度相当地慢,并不符合实际的需求。

强化学习技术作为一门兴起的技术,其求解速度比传统的遗传算法等更加快速,因此通过强化学习进行虚拟机的放置能有效提高求解速度,得出不错的放置策略,满足实际的需求。



技术实现要素:

针对上述问题,提出了基于强化学习的虚拟机放置策略,具体步骤如下:

步骤一:分别获取需要放置的虚拟机的台数n及其系统参数和被放置的物理机的台数m及其系统参数,其特征在于所述的获取方法至少还包括以下步骤:

1)每过一定时间段从监控中获取,该时间段内需要被放置的虚拟机的各个系统参数,系统参数的格式为(vmcpu,vmram,vmbw)。

2)获取所有可进行放置的物理机的系统参数,系统参数的格式为(pmcpu,pmram,pmbw)。

步骤二:构建能耗衡量模型与性能损耗模型,其构建模型方法至少包括以下步骤:

1)通过步骤一获取的虚拟机与物理机的系统参数,构建基于cpu使用率的能耗衡量模型,模型具体如下:

其中pij表示将第i台虚拟机放置到第j台物理机所增加的能耗,vmicpu表示第i台虚拟机的cpu大小,pmjcpu表示第j台物理机的总cpu大小,α,β分别为两个系数。

2)构建完能耗衡量模型后,进行性能损耗模型的构建,性能损耗模型如下:

式中的表示第j台物理机的性能损耗,xij表示第i台虚拟机与第j台物理机的映射关系,xij=0表示第i台虚拟机未放置在第j台物理机上,xij=1表示第i台虚拟机放置在第j台物理机上,lossbase为基础损耗,c为一个常量。

步骤三:使用强化学习的方法进行训练,其特征在于所述的强化学习训练方法至少还包括以下步骤:

1)创建两个列表分别进行探索策略存储,并初始化两个状态次数矩阵c1(sij)和c2(sij),与两个状态优势次数矩阵μ1(sij)与μ2(sij)和状态值矩阵v(sij),对两个列表,分别进行如下操作:

对于列表一的操作如下:

1.对某台虚拟机vmi,按各个状态的优势率的吉布斯分布进行物理机的选取,由吉布斯分布所得某虚拟机i放置在物理机j上的概率pbij表达式如下:

上式中μ1ij表示列表1中的优势率,其计算公式如下:

2.选取完物理机后更新状态次数矩阵c1(sij),通过系统参数求取能耗衡量值。

对列表二的操作如下:

1.对某台虚拟机vmi,按照贪婪策略进行物理机的选取,其选取pgij概率表达式如下:

上式中μ2ij表示列表2中的优势率,其计算公式如下:

v(sij)为状态值,其表达式为:

v(sij)=g(sij)

g(sij)为状态累积回报,表达式如下:

r(sij)为将虚拟机i放置在物理机j上的回报,有:

rij=-1*pij

2.选取完物理机后更新状态次数矩阵c2(sij)和状态值矩阵,状态值矩阵的更新如下:

最后,通过系统参数求取能耗衡量值。

2)两个列表放置完毕后,我们引入一个公正等式来进行最后的优势评判,公正等式如下:

gzij=λ*pij+η*(1-qjloss)

对于每台虚拟机,选取gzij较小的作为优势物理机,然后根据该物理机所在映射列表,进行状态优势次数矩阵的更新。

步骤四:根据步骤三最终所得的状态优势率矩阵,使用贪婪算法进行最后的放置,其特征在于所述的贪婪放置至少还包括以下步骤:

1)创建列表进行最终策略的存储。

2)对于某台虚拟机vmi,通过如下公式:

v=ρ*μij+θ*qjloss

进行对比,v为最终值,μij表示状态vmi放置在pmj的总优势率,其计算公式如下:

qjloss为通过当前列表求取的性能损耗。最后选取最终值最大的那台物理机作为放置物理机,并更新列表。

3)所需放置的虚拟机列表变为空,放置结束。

附图说明

图1是整个过程的流程图;

图2是虚拟机放置示意图;

具体实施方法

本发明设计了基于强化学习的虚拟机放置方法,具体实施方法如下:

步骤一:分别获取需要放置的虚拟机的台数n及其系统参数和被放置的物理机的台数m及其系统参数,其特征在于所述的获取方法至少还包括以下步骤:

1)每过一定时间段从监控中获取,该时间段内需要被放置的虚拟机的各个系统系数,如图2左边所示,系统实时的虚拟机vm1,vm2,vm3,vm4的系统参数分别为(1000,2000,500),(500,1500,250),(2000,2000,1000),(1500,2500,1000)。

并获取所有物理机的系统系数,如图2右边所示,可放置的物理机pm1,pm2,pm3的系统参数分别为(10000,20000,5000),(5000,15000,2500),(20000,20000,10000)。

步骤二:构建能耗衡量模型与性能损耗模型,其构建模型方法至少包括以下步骤:

1)通过步骤一获取的虚拟机与物理机的系统参数,构建基于cpu使用率的能耗衡量模型,模型具体如下:

pij表示将第i台虚拟机放置到第j台物理机所增加的能耗,vmicpu表示第i台虚拟机的cpu大小,pmjcpu表示第j台物理机的总cpu大小。

2)构建完能耗衡量模型后,进行性能损耗模型的构建,性能损耗模型如下:

式中的表示第j台物理机的性能损耗,xij表示第i台虚拟机与第j台物理机的映射关系,xij=0表示第i台虚拟机未放置在第j台物理机上,xij=1表示第i台虚拟机放置在第j台物理机上。

步骤三:使用强化学习的方法进行训练,其特征在于所述的强化学习训练方法至少还包括以下步骤:

1)创建两个列表分别进行探索策略存储,并初始化两个状态次数矩阵c1(sij)和c2(sij),与两个状态优势次数矩阵μ1(sij)与μ2(sij)和状态值矩阵v(sij),对两个列表,分别进行如下操作:

对于列表一操作如下:

1.对某台虚拟机vmi,按各个状态的优势率的吉布斯分布进行物理机的选取,由吉布斯分布所得某虚拟机i放置在物理机j上的概率pbij表达式如下:

上式中μ1ij表示列表1中的优势率,其计算公式如下:

2.选取完物理机后更新状态次数矩阵c1(sij),通过系统参数求取能耗衡量值。

对列表二操作如下:

1.对某台虚拟机vmi,按照贪婪策略进行物理机的选取,其选取pgij概率表达式如下:

上式中μ2ij表示列表2中的优势率,其计算公式如下:

v(sij)为状态值,其表达式为:

v(sij)=g(sij)

g(sij)为状态累积回报,表达式如下:

r(sij)为将虚拟机i放置在物理机j上的回报,有:

2.选取完物理机后更新状态次数矩阵c2(sij)和状态值矩阵,状态值矩阵的更新如下:

最后,通过系统参数求取能耗衡量值。

2)两个列表放置完毕后,我们引入一个公正等式来进行最后的优势评判,公正等式如下:

gzij=0.9*pij+0.1*(1-qjloss)

对于每台虚拟机,选取gzij较小的作为优势物理机,然后根据该物理机所在映射列表,进行状态优势次数矩阵的更新。

步骤四:根据步骤三最终所得的状态优势率矩阵,使用贪婪算法进行最后的放置,其特征在于所述的贪婪放置至少还包括以下步骤:

1)创建列表进行最终策略的存储。

2)对于某台虚拟机vmi,通过如下公式:

v=0.9*μij+0.1qjloss

进行对比,v为最终值,μij表示状态vmi放置在pmj的总优势率,其计算公式如下:

qjloss为通过当前列表求取的性能损耗。最后选取最终值最大的那台物理机作为放置物理机,并更新列表。

3)所需放置的虚拟机列表变为空,放置结束,如图2所示,最终放置结果为,vm1,vm3放置在pm1上,vm2,vm4放置在pm2上,pm3关闭。

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