法律状态公告日
法律状态信息
法律状态
2017-02-01
授权
授权
2014-04-23
实质审查的生效 IPC(主分类):G06F9/455 申请日:20131219
实质审查的生效
2014-03-26
公开
公开
技术领域
本发明涉及一种在云数据中心中能耗约束的虚拟机博弈重放置方法,属于 计算机网络技术领域。
背景技术
随着云计算技术的快速发展,企业或单位信息化的应用在不断增多,服务 要求在不断提高,利用虚拟化技术构建可自由伸缩、按需分配的虚拟资源池, 已成为众多企业的迫切需求。在用户需求的不断驱使下,云环境数据中心中的 虚拟机规模在不断扩大,对虚拟机的资源调度技术提出了新的挑战。在大规模 虚拟机集群中,虚拟机数目和虚拟机的负载会随用户需求而经常发生变化。当 物理节点上运行的多个或所有虚拟机都在执行计算任务时,极有可能产生资源 争用的情况,增加了任务的执行时间、降低了服务质量。与此同时,有些物理 节点处于负载比较低或空闲的状态或单一资源使用密集型,其上的各类资源或 某类资源并没有得到充分利用。另外,当物理节点上运行的虚拟机没有执行计 算任务时,计算资源仍被运行着的虚拟机占用,使其他执行计算任务的虚拟机 无法使用紧缺的计算资源。若采用静态的资源管理常常会使虚拟机产生资源浪 费或不足的情况,而人工的动态资源调度又会有明显的滞后性。因此,如何有 效解决用户需求的不断变化所产生的资源浪费或不足问题,如高负载物理节点 的资源不够用、低负载物理节点的资源得不到充分利用,是当前资源调度技术 亟待解决的重要问题之一。
发明内容
针对以上现有技术的问题,本发明提出一种在云环境数据中心中能耗约束 的虚拟机博弈重放置方法,基于博弈和灰色预测理论,以缓解物理节点资源不 够用或资源利用不充分的状况,并尽可能地节约能耗。
本发明的技术方案:一种能耗约束的虚拟机博弈重放置方法,该方法包括 以下步骤:步骤一,将所有物理节点按所承载的虚拟机数量升序排列,把已承 载虚拟机的数量小于临界值λ的物理节点放到集合R1中,把已承载虚拟机的数量 小于安全阈值Θ且大于临界值λ的物理节点放到集合R2中,大于安全阈值Θ的 物理节点放到集合R3中;步骤二,计算R3中物理节点上的CPU、内存、网络的未 来负载值ucpu,umem,unet;步骤三,将R3中不在进行虚拟机迁移的物理节点pi按CPU、 内存、网络的未来负载状况分成三组:高负载组Grouphigh、负载不均衡组Groupimbalance和负载正常组Groupnormal,若则pi∈Grouphigh,若 则pi∈Groupimbalance,否则,pi∈Groupnormal,其中,Ωcpu,Ωmem,Ωnet分别表示单个物理节点中CPU、内存、网络资源的负载上界;步骤四,根据源物 理节点所属的节点集合,对目的物理节点的选择进行预处理,选择符合条件 且的物理节点,从而获得适合每个待迁虚 拟机重放置的目的物理节点候选集s1,s2,...,si,...,sz,其中,z为待迁虚拟机数量,z 个待迁虚拟机分别为v1,v2,...,vi,...,vz;步骤五,通过能耗算法计算每个待迁虚拟机 重放置到对应候选集中各节点的能耗变化量△Ev,设使得虚拟机vi对应的最大 的物理节点为pi,若pj与pi均不相同,其中j=1,2,...,i-1,i+1,...,z,则将vi直接放置到 目的物理节点pi上,若有多个虚拟机对应的能耗变化量最大的物理节点相同,通 过以整体能耗最优为目标的博弈算法选出待迁虚拟机所对应的目的物理节点, 并将虚拟机重放置到该物理节点上。
上述方法中所述步骤二利用灰色预测理论中的无偏GM(1,1)模型进行计 算,对原始序列的获取做了进一步细化,其中表示第i个较 短时间内的负载测量值,具体做法为:对每个时间段内的负载进行k次测量 若k次测量的数据近似服从正态分布,利用t检验法对k次测量 数据进行误差数据的剔除,把留下的测量数据的算术平均值作为该时间段内的 负载测量值。
上述方法中所述步骤五中能耗算法包括以下步骤:步骤一、计算单个物理 节点在单位时间内的能耗P=Pcpu+Pother,其中,Pother是单个物理节点的其他物理设 备在单位时间内的总能耗,Pcpu是单个物理节点的CPU在单位时间内的能耗;步 骤二、计算在时间T内单个物理节点的能耗E=P×T;步骤三、计算重新放置虚 拟机v后的能耗变化量其中Esrc(v)是源物理节 点在虚拟机v迁出前的能耗;是目的物理节点在虚拟机v迁入前的能耗;是源物理节点在虚拟机v迁出后的能耗;Edest(v)是目的物理节点在虚拟机v迁入 后的能耗;是虚拟机v迁移产生的能耗。
上述方法中所述步骤五中博弈算法步骤为:步骤一、各个待迁虚拟机是博 弈的参与方v1,v2,...,vj,...vk(k≤z),参与方vj的策略集合STj={合作,竞争},其中“合 作”表示参与方vj愿意以整体能耗最优为目标,“竞争”表示参与方vj以自身能 耗最优为目标,虚拟机v重放置到目的物理节点上的收益Uv(·)=△Ev步骤二、在T 时间段内,各虚拟机重放置的总收益为Uall(·)=∑△Ev,博弈以最大化Uall(·)为目标, 进行待迁虚拟机与目的物理节点的最佳匹配;步骤三、若虚拟机没有竞争到能 耗变化量最大的物理节点,则从候选集中选出能耗变化量次大的物理节点,当 出现竞争时,执行步骤一和步骤二;若仍没有竞争到,则再从候选集中选出能 耗变化量第三大的物理节点,依次类推,直到找到合适的目的物理节点;若候 选集搜索结束,仍没有找到合适的目的物理节点,则此重放置失败,需重新选 择候选集,若候选集为空,则开启新的物理节点。
本发明的有益效果为:一是通过t检验法资源负载的测量数据进行筛选, 剔除误差数据,从而提高未来负载预测的准确性;二是将物理节点按所承载的 虚拟机数量分为不同的集合,再将虚拟机数量超过安全阈值的节点依据其资源 的负载状况进行分组,有利于均衡各物理节点的负载;三是将单个物理节点的 能耗分为CPU的能耗和其他物理设备的能耗,并在计算能耗变化量时考虑了虚 拟机迁移消耗的能耗,进而较为合理地估算能耗和能耗变化量;四是利用博弈 算法,可更有效地使整体能耗最优。
下面通过相关附图和实施例对本发明的技术方案进行详细描述。
附图说明
图1虚拟机重放置流程图
图2目的物理节点选择的预处理过程
具体实施方式
本发明所采用的虚拟机博弈重放置方法的具体实施方法如下:
本发明能耗约束的虚拟机重放置方法的流程如图1所示,包括:
(1)设云环境数据中心拥有N个物理节点:p1,p2,...,pi,...pN,有K台虚拟机: v1,v2,...,vj,...vK。若虚拟机vj在物理节点pi上,则令dij=1,否则为0,从而可得到虚 拟机的分布矩阵D=(dij)N×K。分布矩阵D的每列中仅有一个1,第i行上1的个数 即为物理节点pi上的虚拟机数目。根据分布矩阵D获得各个物理节点上虚拟机的 数量。
(2)将当前所有物理节点按所承载的虚拟机数量升序排列,把已承载虚拟机的 数量小于λ的物理节点放到集合R1中,把已承载虚拟机的数量小于安全阈值Θ且 大于临界值λ的物理节点放到集合R2中,剩余的物理节点放到集合R3中。
(3)利用灰色预测理论中的无偏GM(1,1)模型计算R3中的物理节点各类资源 (CPU、内存、网络)的未来负载ucpu,umem,unet。具体步骤为:
(3.1)获取原始序列其中表示第i个较短时间内的负载测 量值。为了提高测量值的精确性,本文对每个时间段内的负载进行k次测量 假设k次测量的数据近似服从正态分布,利用t检验法对k次测 量数据进行误差数据的剔除。若是可疑数据,则当统计量 时(t(α)是显著性水平为α的t检验临界值, 一般取α=0.05),认为是异常值,可考虑将其剔除。通过上述处理后,把留 下的测量数据的算术平均值作为该时间段内的负载测量值。
(3.2)对原始序列进行一次累加后,得到序列其中,
(3.3)建立无偏GM(1,1)模型:
(3.4)获得α1和α2的估计值和其中,
(3.5)根据(3.4),可获得的近似值
(3.6)根据(3.5),可获得(令)。由此, 可计算出第n+1个时间段内的负载值即可获得各类资源的未来负载 ucpu,umem,unet。
(4)将R3中各个物理节点pi(不包含正进行虚拟机迁移的物理节点)按其各类资 源的未来负载与单个物理节点中各类资源的负载上界Ωcpu,Ωmem,Ωnet之间的大小关 系进行分组:高负载组Grouphigh、负载不均衡组Groupimbalance和负载正常组Groupnormal,
(4.1)若则pi∈Grouphigh;
(4.2)否则,若则pi∈Groupimbalance;
(4.3)否则,pi∈Groupnormal。
根据源物理节点所属的节点集合,对目的物理节点的选择进行预处理,初 步选择符合条件且的节点,从而获得 适合每个待迁虚拟机放置的目的物理节点候选集s1,s2,...,si,...,sz,具体过程如图2 所示,若虚拟机vi的源节点psrc属于R3中的Groupimbalance且|Groupimbalance|>1,则对Groupimbalance(不包括psrc)进行筛选,将符合条件的节点放到对应的候选集si中,若没有符 合条件的节点(|si|=0),则对R2进行筛选,将符合条件的节点放到对应的候选集 si中,若仍没有符合条件的节点,则再对R1进行筛选;若源节点psrc属于Grouphigh或 属于R1,则先对R2进行筛选,若R2没有符合条件的节点,则再对R1进行筛选。
(5)计算每个待迁虚拟机重放置到对应候选集中各物理节点的能耗变化量△Ev。 除了制冷、照明外,云环境数据中心的能源消耗主要来自物理节点的CPU、内存、 硬盘、I/O卡等物理设备,每个设备在总能耗中所占比例各不相同,其中CPU是 主要的能量消耗源。CPU的能耗与其负载有着密切的联系,CPU负载越高,能耗 越高。而其他物理设备的能耗相对稳定,只与物理节点是否开启有关。
单个物理节点在单位时间内的能耗P如式(1)所示。
P=Pcpu+Pother (1)
其中Pother是单个物理节点中的其他物理设备在单位时间内的总能耗,机器开启 后,此能耗基本趋于稳定。设各开启的物理节点,其Pother值相同。Pcpu是单个物理 节点的CPU在单位时间内的能耗,可由式(2)计算得,Pno-virtual是该物理节点上无 虚拟机时的单位能耗,Pcpu-intensive、Pcpu-nointensive分别表示开启单个CPU密集型虚拟机和 单个非CPU密集型虚拟机所增加的单位能耗,a、b分别表示该物理节点上CPU 密集型虚拟机的数量和非CPU密集型虚拟机的数量。
Pcpu=Pno-virtual+a×Pcpu-intensive+b×Pcpu-nointensive (2)
在时间T内单个物理节点的能耗为:
E=P×T (3)
重新放置虚拟机v后的能耗变化量△Ev如式(4)所示。其中Esrc(v)是源物理节点 在虚拟机v迁出前的能耗;是目的物理节点在虚拟机v迁入前的能耗;是源物理节点在虚拟机v迁出后的能耗;Edest(v)是目的物理节点在虚拟机v迁入 后的能耗;是虚拟机v迁移产生的能耗。若虚拟机v迁出后,源物理节 点上无虚拟机,并且预关闭该物理节点,则其能耗为0。
虚拟机迁移产生的能耗主要由虚拟机创建时的能耗Ev-on、虚拟机关闭时的能 耗Ev-off、虚拟机迁出引起的源物理节点关闭时的能耗Esrc-off以及虚拟机迁入引起的 目的物理节点开启时的能耗Edest-on组成,如式(5)所示。当虚拟机v迁出后,源物 理节点上仍有虚拟机时,Esrc-off=0;当虚拟机v迁移无需开启新的物理节点时, Edest-on=0。
(6)对每个待迁虚拟机vi(在某个时间段T内,有z个虚拟机需要迁移,分别为 v1,v2,...,vi,...,vz),从其对应的候选集中分别选出使△Ev最大的物理节点为pi, 若pj(j=1,2,...,i-1,i+1,...,z)与pi均不相同,则将vi直接放置到目的物理节点pi上; 若有多个虚拟机对应的能耗变化量最大的物理节点相同,则以整体能耗最优为 目标进行博弈,选出各自对应的目的物理节点,并将虚拟机重放置到该物理节 点上,具体过程如下:
各个待迁虚拟机是博弈的参与方,即v1,v2,...,vj,...vk(k≤z),参与方vj的策略集 合STj={合作,竞争},其中“合作”表示参与方vj愿意以整体能耗最优为目标,“竞 争”表示参与方vj只愿意以自身能耗最优为目标。从另一个角度看,实质是目的 物理节点的选择。虚拟机v重放置到目的物理节点上的收益Uv(·)=△Ev,在某时间 段内,各虚拟机重放置的总收益为Uall(·)=∑△Ev,博弈以最大化Uall(·)为目标,进行 待迁虚拟机与目的物理节点的最佳匹配。
若以两个虚拟机vi,vj竞争同一个物理节点p为例,则博弈的收益矩阵如表1 所示。其中,和分别表示vi和vj各自单独放置到物理节点p上所获的收益, △E′vi和△′Evj分别表示vi和vj选择其他能耗次优的物理节点上所获的收益,分 别表示vi在三种不同情况下(即:vi合作、vj竞争;vi竞争、vj合作;vi、vj均竞 争)以p为目的物理节点的概率。
表1收益矩阵
vj--合作 vj--竞争
若则当两个虚拟机互相合作时,他们的整体收益应为 此时,可得式(6),当时,等号成立。从而得出:只有当 两个虚拟机相互合作时才能确保所获得的整体收益最大,因此,在博弈中,参 与方通过选择合作使整体收益最大。若同理可得。
若虚拟机没有竞争到能耗变化量最大的物理节点,则从候选集中选出能耗变化 量次大的物理节点,当出现竞争时,用上述方法处理;若仍没有竞争到,则再 从候选集中选出能耗变化量第三大的物理节点,依次类推,直到找到合适的目 的物理节点或没有找到;若没有找到,则此重放置失败,需重新选择候选集。 若候选集为空,则可考虑开启新的物理节点。
机译: 一种基于备份运行时约束将虚拟机放置在服务器上的系统
机译: 一种用于虚拟机的滚轮分馏进料系统(通过Google Translate进行机器翻译,没有法律约束力)
机译: 一种混合动力系统在速度约束期间重调输入速度的方法