基于改进遗传算法的虚拟机初始放置策略方法技术

技术编号:20362665 阅读:59 留言:0更新日期:2019-02-16 16:26
一种基于改进遗传算法的虚拟机初始放置策略方法,包括以下步骤:第一步:对于虚拟机放置问题提出以下的形式化描述,过程如下:1.1定义放置环境;1.2定义资源状态;1.3主机可用性;1.4计算电能消耗;1.5定义虚拟机放置;第二步:对虚拟机放置设定约束条件及优化目标;第三步:算法实现,过程如下:初始化;主机簇群划分;虚拟叶子节点扇区以及虚拟分层结构深度确定;各虚拟叶子节点扇区编号;将所有虚拟机选择权重得分最高的主机节点完成分配,通过改进遗传算法的交叉,变异,选择操作的迭代循环,获得理想的放置组方案。本发明专利技术尽可能的降低数据中心的能耗,减少现实主机的使用数量,并且得到可用性较高的虚拟机放置组。

【技术实现步骤摘要】
基于改进遗传算法的虚拟机初始放置策略方法
本专利技术涉及到一种基于改进遗传算法的虚拟机放置策略方法。
技术介绍
云计算是一种新型的基于互联网的计算模式,可以随时访问共享的可配置系统资源和高级服务,这些服务通常可以通过互联网以极少的管理成本进行快速供应。云计算类似于公共设施通过资源共享按需提供计算资源。第三方云模式可以使组织能够专注于他们自身的核心业务,而不用将精力和资源花在计算机基础设施和维护上。云计算可以为各大公司最大限度地降低前期IT基础设施成本。并且,云计算可以使企业能够更快地部署运行应用程序并提高其运行速度,同时提高应用程序的可管理性,减少了维护成本。自2006年亚马逊推出EC2以来,高容量可用性网络、低成本计算机和存储设备、硬件虚拟化技术的普及、面向服务结构的模式以及自动高效的计算等特点使得云计算得到广泛的应用。云环境下的虚拟机放置(VirtualMachinePlacement)问题是云数据中心虚拟机与物理主机之间的一个装箱问题,是云计算环境中资源管理和分配的重要组成部分。在云环境下,若仅用单台虚拟机处理整个有限元分析任务,对于该虚拟机的性能要求将非常之高,因此,通常的做法是将完整的有限元分析任务进行拆分,交给不同的多个虚拟机进行处理,处理完成后返回计算结果,这样,不仅可以减少有限元分析计算时间,提高有限元分析效率,而且可以有效降低对单个虚拟机性能及存储要求。如何在满足虚拟机资源请求和相关约束条件的情况下,合理分配虚拟机至服务器节点已经成为当今云计算下的一个研究热点。WWang,HChen等人研究了应用程序的可用性对于工作负载变化情况下动态提供虚拟资源的影响。他们通过建立基于云基础架构的分层结构,提供了一个用于衡量应用程序可用性的计算模型,通过横向和纵向的扩展来实现高效地分配虚拟资源给应用程序,从而满足可用性需求和最小化通信成本的优化目标。国内李强等人针对云计算环境下的虚拟机放置问题提出了一种基于长期负载性能的模型,结合多目标优化的遗传算法有效的减少物理主机节点的使用数量。ACAdamuthe等人使用遗传算法用于实现利润最大化且最大限度地提高负载平衡情况下,最大限度地减少资源浪费。
技术实现思路
为将虚拟机放置请求的组放置在服务器节点上,尽可能的降低数据中心的能耗,减少现实主机的使用数量,并且得到可用性较高的虚拟机放置组。本专利技术基于一种改进遗传算法,提出一种主机簇的编码方式,通过改进遗传算法的交叉,变异,选择操作的迭代循环,获得理想的放置组方案。为了解决上述技术问题提供如下技术方案:一种基于改进遗传算法的虚拟机初始放置策略方法,包括以下步骤:第一步:对于虚拟机放置问题提出以下的形式化描述,过程如下:1.1定义放置环境,数据中心存在物理主机集合PM={pm1,pm2,…,pmn},其中主机数量为n,需要放置的虚拟机集合VM={vm1,vm2,…,vmm},其中虚拟机数量为m,假设虚拟机数量m大于或等于主机n,定义虚拟机放置组集合P={p1,p2,…,ph},h为放置组的数量;1.2定义资源状态,对于给定的虚拟机vmi,定义为虚拟机vmi所需的CPU资源,为虚拟机vmi所需的内存资源,Vi-pes为虚拟机vmi的CPU利用率,Wi-ram为虚拟机vmi的内存利用率;对于给定的主机pmj,定义为主机pmj当前的CPU空闲资源,为主机pmj的内存空闲资源,Uj-pes为主机pmj的CPU利用率,Uj-ram为主机pmj的内存利用率,则定义主机pmj的资源利用率Uj为:Uj=αUj-pes+βUj-ram0<α<1,0<β<1,且α+β=1;定义Tagij为当前时刻t,主机pmj能否满足虚拟机vmi的资源要求,即1.3主机可用性,一个节点的可用性是指节点在整个服务时间内任意时刻的工作概率,对于任意网络组件i,其可用性Ai以下公式计算获得:其中MTTF代表平均故障时间,MTTR代表平均修复时间,假定服务器可用性的值是已知的,且各服务器之间的可用性是相互独立互不相关的;1.4计算电能消耗,在一个拥有n台运行的物理主机的云数据中心,对于任意物理主机pmj∈PM,在某一时刻t的电源能耗如下公式所示:其中cj为静态能耗标记,fj(t)为t时刻主机pmj的CPU频率,CPU利用率为Uj-pes(t),k为常量系数,即电源能耗在一定程度上是基于CPU利用率的线性模型;1.5定义虚拟机放置,VM集合通过放置组pk∈P,选择对应的物理主机集合中的主机完成放置映射,并且需要尽可能满足放置过程中的多种约束条件,定义虚拟机放置矩阵Mk[i][j],若Mk[i][j]=1则表示放置组pk将虚拟机j放置在物理主机i上,反之,若Mk[i][j]=0,表示放置组pk中,虚拟机j未放置在物理主机i上;第二步:对虚拟机放置设定约束条件及优化目标,过程如下:2.1在考虑范围内的约束有:服务器节点的最大使用数量最少,能耗最低,负载较均衡和放置请求的可用性较高;2.2选取可用性及能耗两方面对虚拟机放置问题进行优化研究;第三步:算法实现,过程如下:步骤3.1初始化主机集合PM,虚拟机集合VM,种群规模为S,代表通过步骤3.2-3.7随机生成的放置请求组的数量,迭代次数T’,代表算法需要循环操作的次数,其中T’≥S,单虚拟机最多放置组数量H,主机节点的可用性集合A以及变异概率p,p为0到1的一个随机数;步骤3.2主机簇群划分,首先选择一个常数z,即每个簇中的主机数为z,将主机集合按照c=ceiling(n/z),其中ceiling函数表示将n除以z的值向上舍入为最接近的整数,C0={cpm1,cpm2,…,cpmz},C1={cpmz+1,cpmz+2,…,cpm2z},…直至每个主机都归属于一个簇。每个簇为虚拟分层结构中的最底层节点;步骤3.3虚拟叶子节点扇区以及虚拟分层结构深度确定,选择虚拟分层结构中每个子节点扇区的叶子数f,f为一位整数,选择合适的f和z会使得到的算法效益和负载均衡度等和期望较相近,根据节点扇区的叶子数f以及主机簇个数z,可以得到虚拟分层结构的深度d:fd≥C其中d是最小正整数,使得上述公式成立;步骤3.4各虚拟叶子节点扇区编号,采用自然编号对每个扇区分别统一编号,即从0,1,2,…,f-1;步骤3.5对于某一虚拟机vmi,对于任意一个虚拟节点s,都有一个对应的权重wis=h(vmi,s),h(vmi,s)内包含约定的哈希函数,在虚拟分层结构的每一层叶子扇区,都可通过h(vmi,s)计算各虚拟节点权重,如果某虚拟节点sk的性能是其他主机的h倍,则将sk等额分成h份;显然,现在虚拟机分配到该虚拟节点sk上的概率是其他主机的h倍,将虚拟机vmi分配权重wis最高的虚拟节点继续向下分层,直到选择至最底层的真实主机节点簇Cx;步骤3.6当虚拟机vmi选中真实主机节点簇Cx后,在进行真实节点选择时,假设对于任意在真实节点簇Cx中的主机节点cpmxz+j,都有一个对应的权重得分Wi(xz+j)=H(vmi,cpmxz+j)*Tagi(xz+j),若Tag为false,则为0,若为true默认为1;其中,将虚拟机vmi分配给主机cpmxz+j之后,H(vmi,cpmxz+j)本文档来自技高网
...

【技术保护点】
1.一种基于改进遗传算法的虚拟机初始放置策略方法,其特征在于,所述方法包括以下步骤:第一步:对于虚拟机放置问题提出以下的形式化描述,过程如下:1.1定义放置环境,数据中心存在物理主机集合PM={pm1,pm2,...,pmn},其中主机数量为n,需要放置的虚拟机集合VM={vm1,vm2,...,vmm},其中虚拟机数量为m,假设虚拟机数量m大于或等于主机n,定义虚拟机放置组集合P={p1,p2,...,ph},h为放置组的数量;1.2定义资源状态,对于给定的虚拟机vmi,定义

【技术特征摘要】
1.一种基于改进遗传算法的虚拟机初始放置策略方法,其特征在于,所述方法包括以下步骤:第一步:对于虚拟机放置问题提出以下的形式化描述,过程如下:1.1定义放置环境,数据中心存在物理主机集合PM={pm1,pm2,...,pmn},其中主机数量为n,需要放置的虚拟机集合VM={vm1,vm2,...,vmm},其中虚拟机数量为m,假设虚拟机数量m大于或等于主机n,定义虚拟机放置组集合P={p1,p2,...,ph},h为放置组的数量;1.2定义资源状态,对于给定的虚拟机vmi,定义为虚拟机vmi所需的CPU资源,为虚拟机vmi所需的内存资源,Vi-pes为虚拟机vmi的CPU利用率,Wi-ram为虚拟机vmi的内存利用率;对于给定的主机pmj,定义为主机pmj当前的CPU空闲资源,为主机pmj的内存空闲资源,Uj-pes为主机pmj的CPU利用率,Uj-ram为主机pmj的内存利用率,则定义主机pmj的资源利用率Uj为:Uj=αUj-pes+βUj-ram0<α<1,0<β<1,且α+β=1;定义Tagij为当前时刻t,主机pmj能否满足虚拟机vmi的资源要求,即1.3主机可用性,一个节点的可用性是指节点在整个服务时间内任意时刻的工作概率,对于任意网络组件i,其可用性Ai以下公式计算获得:其中MTTF代表平均故障时间,MTTR代表平均修复时间,假定服务器可用性的值是已知的,且各服务器之间的可用性是相互独立互不相关的;1.4计算电能消耗,在一个拥有n台运行的物理主机的云数据中心,对于任意物理主机pmj∈PM,在某一时刻t的电源能耗如下公式所示:其中cj为静态能耗标记,fj(t)为t时刻主机pmj的CPU频率,CPU利用率为Uj-pes(t),k为常量系数,即电源能耗在一定程度上是基于CPU利用率的线性模型;1.5定义虚拟机放置,VM集合通过放置组pk∈P,选择对应的物理主机集合中的主机完成放置映射,并且需要尽可能满足放置过程中的多种约束条件,定义虚拟机放置矩阵Mk[i][j],若Mk[i][j]=1则表示放置组pk将虚拟机j放置在物理主机i上,反之,若Mk[i][j]=0,表示放置组pk中,虚拟机j未放置在物理主机i上;第二步:对虚拟机放置设定约束条件及优化目标,过程如下:2.1在考虑范围内的约束有:服务器节点的最大使用数量最少,能耗最低,负载较均衡和放置请求的可用性较高;2.2选取可用性及能耗两方面对虚拟机放置问题进行优化研究;第三步:算法实现,过程如下:步骤3.1初始化主机集合PM,虚拟机集合VM,种群规模为S,代表通过步骤3.2-3.7随机生成的放置请求组的数量,迭代次数T’,代表算法需要循环操作的次数,其中T’≥S,单虚拟机最多放置组数量H,主机节点的可用性集合A以及变异概率p,p为0到1的一个随机数;步骤3.2主机簇群划分,首先选择一个常数z,即每个簇中的主机数为z,将主机集合按照c=ceiling(n/z),其中ceiling函数表示将n除以z的值向上舍入为最接近的整数,C0={cpm1,cpm2,...,cpmz},C1={cpmz+1,cpmz+2,...,cpm2z},...直至每个主机都归属于一个簇,每个簇为虚拟分层结构中的最底层节点;步骤3.3虚拟叶子节点扇区以及虚拟分层结构深度确定,选择虚拟分层结构中每个子节点扇区的叶子数f,f为一位整数,选择合适的f和z会使得到的算法效益和负载均衡度等和期望较相近,根据节点扇区的叶子数f以及主机簇个数c,可以得到虚拟分层结构的深度d:fd≥c其中d是最小正整数,使得上述公式成立;步骤3.4各虚拟叶子节点扇区编号,采用自然编号对每个扇区分别统一编号,即从0,1,2,...,f-1;步骤3.5对于某一虚拟机vmi,对于任意一个虚拟节点s,都有一个对应的权重Wis=h(vmi,s),h(vmi,s)内包含约定的哈希函数,在虚拟分层结构的每一层叶子扇区,都可通过h(vmi,s)计算各虚拟节点权重,如果某虚拟节点sk的性能是其他主机的h倍,则将sk等额分成h份;显然,现在虚拟机分配到该虚拟节点sk上的概率是其他主机的h倍,将虚拟机vmi分配权重wis最高的虚拟节点继续向下分层,直到选择至最底层的真实主机节点簇Cx;步骤3.6当虚拟机vmi选中真实主机节点簇Cx后,在进行真实节点选择时,假设对于任意在真实节点簇Cx中的主机节点cpmxz+j,都有一个对应的权重得分Wi(xz+j)=H(vmi,cpmxz+j)*Tagi(xz+j),若Tag为false,则为0,若为true默认为1;其中,将虚拟机vmi分配给主机cpmxz+j之后,H(vmi,cpmxz+j)为在相同T时间段内,Eold与分配虚拟机vmi后的真实主机节点簇Cx的总体能耗的比值,与主机pmxz+j的资源利用率Uxz+j与1的差方和对应权重常数的乘积以及主机可用性与系数乘积的和:其中Exz+j为T时间段内主机cpmxz+j的能耗,Eold是指相同T时间段内,未分配新虚拟机时,真实主机节点簇Cx的能耗,Axz+j为主机cpmxz+j的可用性;α、β、γ是表示三者的权重;步骤3.7循环步骤3.5-3.6,将所有虚拟机vmi选择权重得分Wi(xz+j)最高的主机节点完成分配;步骤3.8基于步骤3.2-3.7的生成种群大小为S的种群集合Xs,按主机节点簇的分组编码方式进行编码,P表示放置组,主机簇Cx对应为染色体,每个主机簇上的主机对应为基因,将操作从单个虚拟机转化为对主机簇的操作;步骤3.9设置当前迭代次数t=0;步骤3.10通过Random(X,Y,S)函数选择随机选择种群中两个个体进行交叉操作,Random(X,Y,S)表示在规模为S的种群中挑选出不相同的两个种群X,Y;步骤3.11遍历每个个体,根据每个个体的变异概率p,通过Rand()函数计算一个随机数p′模拟事件发生的概率,将p′与变异概率p进行比较,若p′大于p表示个体未发生变异,跳转至步骤3.12,反之则表示个体发生变异,Rand()函数的...

【专利技术属性】
技术研发人员:陆佳炜赵伟李杰吴涵肖刚高燕煦
申请(专利权)人:浙江工业大学
类型:发明
国别省市:浙江,33

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

1