一种基于改进蚁群算法的云计算虚拟机放置方法技术

技术编号:21453666 阅读:34 留言:0更新日期:2019-06-26 04:41
本发明专利技术公开了一种基于改进蚁群算法的云计算虚拟机放置方法,可应用于云计算的迁移优化问题。本发明专利技术针对目前基于云计算的虚拟机迁移产生的能耗过高且迁移之后各个物理主机负载相对不均衡所带来的云数据中心负载压力过大,成本急剧升高的问题,采用改进蚁群算法进行迁移优化,提出负载均衡因子与能源消耗函数分别衡量物理主机的负载均衡度与能源消耗,根据蚁群算法,设置合适的信息素浓度,由信息素浓度确定状态转移概率,根据状态转移概率用轮盘赌确定下一个虚拟机,得出一次循环的结果,更新信息素。之后对该循环过程进行迭代,找出近似最优解。这样既可以保证能耗降低也可以保证各个物理主机之间负载均衡,对降低数据中心的负载压力有很大作用。

【技术实现步骤摘要】
一种基于改进蚁群算法的云计算虚拟机放置方法
本专利技术属于云计算领域,具体涉及一种基于改进蚁群算法的云计算虚拟机放置方法。
技术介绍
云计算是目前国内外科研和商业机构重点研究的一种新兴计算与服务模式,体现为由数百万台物理计算机组成的庞大数据中心。云计算利用虚拟化技术,向用户提供虚拟化资源,用户可以随时随地按需请求资源和按需付费。但是随着用户需求多样化的增加,云计算中心的规模也与日俱增,这使得数据中心的能源消耗随之急剧增加并转化为高运行成本。云计算通过使用虚拟化技术提高了数据中心的资源利用率,虚拟化技术是把一台物理机虚拟为多台逻辑计算机,也就是我们所说的虚拟机。由于能源消耗过高,为了提高资源利用率,节约成本,需要通过虚拟机迁移放置降低整个数据中心的能耗。所以虚拟机放置算法作为云计算的关键技术,具有重要研究意义。虚拟机的放置是一个从虚拟机到物理主机映射的过程,虚拟机的放置优化问题,是多个目标相互作用相互影响的组合优化问题。因此,解决基于多目标的虚拟机部署策略是云数据中心提高资源利用率和节省能耗的关键。目前提出的各种资源调度算法存在解集不够精准,复杂度较高,考虑目标单一等问题。
技术实现思路
本专利技术提出了改进蚁群算法这一智能算法来减小陷入局部最优解的概率。针对单一目标资源调度优化方法不能满足云数据中心多维度多目标需求的问题,在蚁群算法的基础上加入多维约束条件,综合考虑需要优化的负载均衡模型和能源消耗两方面,建立功耗和负载均衡双目标虚拟机放置模型,基于蚁群算法实现以减少资源浪费节省能耗和负载均衡为目标的虚拟机放置优化方法。一种基于改进蚁群算法的云计算虚拟机放置方法,包括如下步骤:步骤1:定义虚拟机列表V,物理主机列表S;初始化虚拟机与物理机的匹配解集Q,消散因子ρ,信息素浓度τij(0)=C;将M个蚂蚁随机一一对应放置在M个物理机上;V=[v1,v2...,vi,...vn](1)S=[s1,s2...,sj...,sm](2)步骤2:如果虚拟机列表V为空,转至步骤8;步骤3:蚂蚁m首先获取虚拟机列表V中能够装入当前物理机sj的虚拟机,组成一个虚拟机集合L,若集合L为空,则当前物理机sj已满,转到下一个物理机上进行搜索,并转至步骤2;步骤4:蚂蚁m开始从虚拟机集合L中搜索虚拟机,计算虚拟机vi对放入当前物理主机sj的期望程度ηij(t);步骤5:计算虚拟机vi被当前物理机sj选择的被选中概率步骤6:根据被选中概率采用轮盘赌算法选择虚拟机,放置被选中的虚拟机vi到当前物理机sj上,并从虚拟机列表V中移除该虚拟机vi;步骤7:更新当前物理机j的资源容量与同时更新该步的信息素浓度τij(t),然后返回到步骤2;步骤8:搜索完成,将虚拟机列表中放入物理主机sj上的虚拟机映射到物理主机sj上,更新虚拟机与物理机的匹配解集Q;计算出负载均衡因子N和能源消耗归一化函数P(f);步骤9:计算信息素增量更新全局信息素浓度τij(t);步骤10:迭代次数加1,若迭代次数小于蚂蚁数量M,则转至步骤1;步骤11:算法结束,退出迭代循环,输出最终虚拟机与物理机的匹配解集Q。进一步地,所述步骤4中,根据公式(3)计算虚拟机vi对放入当前物理主机sj的期望程度ηij(t)。进一步地,所述步骤5中,根据公式(4)计算虚拟机vi被当前物理机sj选择的被选中概率由信息素浓度τij(t)和期望程度ηij(t)得到α为信息启发因子,代表信息素浓度τij(t)的重要程度,β为期望启发因子,代表期望程度ηij(t)的重要程度。进一步地,所述步骤7中,根据式(5),(6)更新当前物理机j的资源容量与根据式(7)更新该步的信息素浓度τij(t);τij(t)=(1-ρ)×τij(t-1)(7)公式(5),(6)分别表示将虚拟机vi放入物理主机sj后,物理主机sj的资源容量,包括内存资源容量与CPU资源容量根据消散因子ρ设置本步搜索后的信息素浓度τij(t)。进一步地,所述步骤8中,根据式(8)和式(10)分别计算负载均衡因子N和能源消耗归一化函数P(f);Pj=Pfree+(Pfull-Pfree)×Uj(9)Pfree表示物理机空闲时的能耗,Pfull表示物理机满载时候的能耗,根据式(9)可得到物理主机si的能耗Pj;为了方便信息素浓度τij(t)的设置,根据式(10)将物理主机能耗归一化。进一步地,所述步骤9中,根据式(11)计算信息素增量更新全局信息素浓度τij(t);信息素增量由负载均衡因子N与能源消耗函数P(f)决定;负载均衡因子与能源消耗函数的值越小,其信息素增量越高。本专利技术提出了改进蚁群算法这一智能算法来减小陷入局部最优解的概率。针对单一目标资源调度优化方法不能满足云数据中心多维度多目标需求的问题,在蚁群算法的基础上加入多维约束条件,综合考虑需要优化的负载均衡模型和能源消耗两方面,建立功耗和负载均衡双目标虚拟机放置模型,基于蚁群算法实现以减少资源浪费节省能耗和负载均衡为目标的虚拟机放置优化方法。该虚拟机放置方法有较好的可扩展性,可适应大规模云数据中心。附图说明图1为本专利技术所述的云计算虚拟机放置方法的步骤流程图。具体实施方式下面结合说明书附图对本专利技术的技术方案做进一步的详细说明。一种基于改进蚁群算法的云计算虚拟机放置方法,包括如下步骤:步骤1:定义虚拟机列表V,物理主机列表S;初始化虚拟机与物理机的匹配解集Q,消散因子ρ,信息素浓度τij(0)=C;将M个蚂蚁随机一一对应放置在M个物理机上。V=[v1,v2...,vi,...vn](1)S=[s1,s2...,sj...,sm](2)步骤2:如果虚拟机列表V为空,转至步骤8。步骤3:蚂蚁m首先获取虚拟机列表V中能够装入当前物理机sj的虚拟机,组成一个虚拟机集合L,若集合L为空,则当前物理机sj已满,转到下一个物理机上进行搜索,并转至步骤2。步骤4:蚂蚁m开始从虚拟机集合L中搜索虚拟机,计算虚拟机vi对放入当前物理主机sj的期望程度ηij(t)。根据公式(3)计算虚拟机vi对放入当前物理主机sj的期望程度ηij(t)。步骤5:根据公式(4)计算虚拟机vi被当前物理机sj选择的被选中概率由信息素浓度τij(t)和期望程度ηij(t)得到α为信息启发因子,代表信息素浓度τij(t)的重要程度,β为期望启发因子,代表期望程度ηij(t)的重要程度。步骤6:根据被选中概率采用轮盘赌算法选择虚拟机,放置被选中的虚拟机vi到当前物理机sj上,并从虚拟机列表V中移除该虚拟机vi。步骤7:根据式(5),(6)更新当前物理机j的资源容量与同时根据式(7)更新该步的信息素浓度τij(t),然后返回到步骤2。τij(t)=(1-ρ)×τij(t-1)(7)公式(5),(6)分别表示将虚拟机vi放入物理主机sj后,物理主机sj的资源容量,包括内存资源容量与CPU资源容量根据消散因子ρ设置本步搜索后的信息素浓度τij(t)。步骤8:搜索完成,将虚拟机列表中放入物理主机sj上的虚拟机映射到物理主机sj上,更新虚拟机与物理机的匹配解集Q;根据式(8)和式(10)分别计算出负载均衡因子N和能源消耗归一化函数P(f)。Pj=Pfree+(Pfull-Pfree)×Uj(9)Pfree表示物理机空闲时的能耗,Pfull表示物本文档来自技高网...

【技术保护点】
1.一种基于改进蚁群算法的云计算虚拟机放置方法,其特征在于:包括如下步骤:步骤1:定义虚拟机列表V,物理主机列表S;初始化虚拟机与物理机的匹配解集Q,消散因子ρ,信息素浓度τij(0)=C;将M个蚂蚁随机一一对应放置在M个物理机上;V=[v1,v2...,vi,...vn]      (1)S=[s1,s2...,sj...,sm]      (2)步骤2:如果虚拟机列表V为空,转至步骤8;步骤3:蚂蚁m首先获取虚拟机列表V中能够装入当前物理机sj的虚拟机,组成一个虚拟机集合L,若集合L为空,则当前物理机sj已满,转到下一个物理机上进行搜索,并转至步骤2;步骤4:蚂蚁m开始从虚拟机集合L中搜索虚拟机,计算虚拟机vi对放入当前物理主机sj的期望程度ηij(t);步骤5:计算虚拟机vi被当前物理机sj选择的被选中概率

【技术特征摘要】
1.一种基于改进蚁群算法的云计算虚拟机放置方法,其特征在于:包括如下步骤:步骤1:定义虚拟机列表V,物理主机列表S;初始化虚拟机与物理机的匹配解集Q,消散因子ρ,信息素浓度τij(0)=C;将M个蚂蚁随机一一对应放置在M个物理机上;V=[v1,v2...,vi,...vn](1)S=[s1,s2...,sj...,sm](2)步骤2:如果虚拟机列表V为空,转至步骤8;步骤3:蚂蚁m首先获取虚拟机列表V中能够装入当前物理机sj的虚拟机,组成一个虚拟机集合L,若集合L为空,则当前物理机sj已满,转到下一个物理机上进行搜索,并转至步骤2;步骤4:蚂蚁m开始从虚拟机集合L中搜索虚拟机,计算虚拟机vi对放入当前物理主机sj的期望程度ηij(t);步骤5:计算虚拟机vi被当前物理机sj选择的被选中概率步骤6:根据被选中概率采用轮盘赌算法选择虚拟机,放置被选中的虚拟机vi到当前物理机sj上,并从虚拟机列表V中移除该虚拟机vi;步骤7:更新当前物理机j的资源容量与同时更新该步的信息素浓度τij(t),然后返回到步骤2;步骤8:搜索完成,将虚拟机列表中放入物理主机sj上的虚拟机映射到物理主机sj上,更新虚拟机与物理机的匹配解集Q;计算出负载均衡因子N和能源消耗归一化函数P(f);步骤9:计算信息素增量更新全局信息素浓度τij(t);步骤10:迭代次数加1,若迭代次数小于蚂蚁数量M,则转至步骤1;步骤11:算法结束,退出迭代循环,输出最终虚拟机与物理机的匹配解集Q。2.根据权利要求1所述的一种基于改进蚁群算法的云计算虚拟机放置方法,其特征在于:所述步骤4中,根据公式(3)计算虚拟机vi对放入当前物理主机sj的...

【专利技术属性】
技术研发人员:付雄张从越邓松王俊昌程春玲
申请(专利权)人:南京邮电大学
类型:发明
国别省市:江苏,32

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

1