基于云计算的虚拟机在线迁移算法

2015-09-26 02:48穆瑞辉新乡学院计算机与信息工程学院河南新乡453003
安阳工学院学报 2015年2期
关键词:计算环境队列内存

穆瑞辉(新乡学院计算机与信息工程学院,河南新乡453003)

基于云计算的虚拟机在线迁移算法

穆瑞辉
(新乡学院计算机与信息工程学院,河南新乡453003)

构建了在线迁移算法模型和虚拟机负载评估向量,并依据各物理节点的带宽占用率、内存占用率和CPU占用率,确定迁移时机和需要迁移的源物理节点,依据CPU在各节点的占有率、ROM的使用效率、带宽的利用率来确定目标物理节点。通过仿真模拟环境试验证明,文中算法在虚拟机在线迁移中能够大幅度地提高物理节点的负载均衡,同时SLA违反率最小和云计算数据中心能耗最小。

违反率;虚拟机;物理节点;迁移算法

0 引言

云计算[1](cloud computing)是一个系统运算平台或可执行应用的程序,通过INTERNET将各种SER⁃VICE和以及为这些SERVICE服务的各种资源链接起来,从而使我们客户端不需要知道它的工作原理,就可以用来为我们服务。那么云计算的一个重要特点[2]就是资源的虚拟化和服务的虚拟化。

基于云计算的虚拟机在线迁移可以描述为:在不影响云计算中心提供的服务的前提下,在规定的时间范围内,将虚拟机从源物理节点迁移到目标节点上,以均衡节点负载和节约云计算数据中心能耗。

截至目前,已经应用的有来自VMware企业的VMotion[3]虚拟机产品和来自Xen企业的Live Mi⁃gration[4]虚拟机产品。

目前在基于虚拟机的迁移算法主要体现在物理节点的迁移和选择恰当的迁移时间、选择等待迁移的虚拟机和选择恰当的目标物理节点。

本文基于原有算法的优缺点,提出了基于云计算的迁移算法,并在实验中佐证了该算法的可靠性和有效性。

1 构建在线迁移算法模型

通过图1可以清晰地构建在线迁移算法模型。

在图1的算法模型中,客户端可以把数据计算任务上传到云计算中心,云计算平台就会依据各服务器的数据计算负载状况,自主确定把数据计算任务分配给负载轻的服务器,最后用相应的虚拟机来进行云计算。

2 改进的云计算在线迁移算法

2.1虚拟机负载度量评估

我们可以通过检测CPU、带宽流量和内存的利用率来确定相应物理节点的负载。其中可以用公式(1)来表示CPU的平均占有率:

在该公式中,Usek用来计算单个CPU在虚拟机vk中的占用率,k用来表示虚拟机对应的物理节点所拥有CPU的数目。

用公式(2)来计算物理节点上内存的占用率:

在公式(2)中,m为物理节点上的虚拟机vk的个数,Vusek表示虚拟机vk正在使用的内存大小,Vswapk表示虚拟机vk交换页面实际需要的内存大小,M表示该物理节点总的内存大小。

用公式(3)来计算物理节点带宽的占用率:

在公式(3)中,m表示在该物理节点中的虚拟机vk的数量,Vbandk表示带宽在虚拟机vk上的占用情况,Tb表示该物理节点最大的带宽流量。

用公式(4)来表示该物理节点的负载情况:

2.2确定源物理节点和选择迁移时机

数据计算中心依据设置一个阀值向量Sth={Usecputh,Usememoth,Usebandth},同时对采集每一个物理节点在采集周期Tc中的节点负载向量S={Usecpu,Usememo,Useband},如果在三个连续的周期Tc内,该物理节点采集的负载向量值都大于Sth分量,那么就会激活相应的迁移算法,也就是说,如果在三个连续的数据采集周期Tc中,Usecpu都大于Usecputh时,那么CPU会激发迁移;如果Usememo都大于Usememoth时,内存会激发迁移;如果在Useband都大于Usebandth时,带宽会激发迁移,确定源物理节点和选择迁移时机流程图如图2所显示。

2.3确定和选择高效的在线迁移算法

以前的迁移算法[5]只迁移虚拟机中CPU占有率高的,为了高效的利用虚拟机,我们不仅考虑CPU的占用率,也考虑了带宽、内存的占用率,如果CPU的占用率高,那么表示占用的资源越大;如果内存在虚拟机中的占用率越大,那么表示内存迁移需要的能量消耗越多;如果带宽流量在虚拟机中越大,则表示需要发送和接受的资源越大,因此我们选择CPU占用率、带宽占用率和内存占用率都比较高的来进行迁移,用公式(5)来表示CPU占用率、带宽占用率和内存占用率:

如果选择的是CPU激发的物理节点,那么就要对该物理节点所对应的虚拟机向量V进行占用率排序,然后确定迁移最大Vcpuk值的虚拟机,同样的以此推理,选择迁移最大Vusek值和最大Vbandk值的虚拟机。

2.4选择目标物理节点

一旦确定了集合Sv={v1,v2,...vt},即等待迁移的虚拟机,那么就要选择恰当的目标物理节点,选择步骤如下:

1)依据源物理节点激发的类别,也就是说根据带宽、CPU和内存激发的类别,把源物理节点对应的虚拟机分成三种等待队列QbandQcpu和Qmemo,同时按照各自占用率的大小排序;

2)依据带宽、CPU和内存的占用率由小到大对各物理节点排序,由此得到三个Qnodeband、Qnodecpu和Qnodememo的等待队列,这三个Qnodeband、Qnodecpu和Qnodememo等待队列分别表示目前物理节点中带宽、CPU和内存占用率最大的节点。

3)把Qnodeband等待队列中的首元素取出,与之同时,把该首元素在Qnodecpu和Qnodememo等待队列中删除,同时把该首元素目标物理节点中Qband队列的首元素;

4)把Qnodecpu等待队列中的首元素取出,与之同时,把该首元素在Qnodememo和Qnodeband等待队列中删除,同时把该首元素目标物理节点中Qcpu队列的首元素;

5)把Qnodememo等待队列中的首元素取出,与之同时,把该首元素在Qnodecpu和Qnodeband等待队列中删除,同时把该首元素目标物理节点中Qmemo队列的首元素;

6)一直重复(3)—(5)步骤,条件是Qcpu、Qmemo和Qband等待队列中都为空结束。

2.5基于云计算的在线迁移算法表述

基于云计算的在线迁移算法可以表述如下:

INPUT:基于云计算的各个源物理节点;

OUTPUT:需要迁移的等待队列,也就是说需要把虚拟机v从源物理节点s中,迁移到目标物理节点g上;

STEP1:依据公式(2)计算物理节点上CPU的占用率,依据公式(3)计算物理节点上内存的占用率,依据公式(4)计算物理节点上带宽的占用率,从而可以计算出物理节点上的S向量值,S表示该物理节点的负载值;

STEP2:根据Sth阀值向量值,在三个连续的Tc周期内,采集S分量值都大于Sth向量值的源物理节点,同时把S分量记录为对应的带宽激发节点、CPU激发节点和内存激发节点,从而就可以得到源物理节点s集合;

STEP3:依据激发类型,把物理节点上对应值最高的虚拟机用来进行迁移,比如该物理节点是内存激发节点,那么就在该物理节点上选择内存占用率最大的虚拟机用来迁移,从而得到v的集合,v表示等待迁移的虚拟机;

STEP4:依据带宽激发、CPU激发和内存激发把等待迁移的虚拟机进行分类,从而得到三个Qband、Qcpu和Qmemo等待队列,

STEP5:依据带宽、CPU和内存的占用率由小到大对各物理节点排序,由此得到三个Qnodeband、Qnodecpu和Qnodememo的等待队列,

STEP6:将Qcpu、Qmemo和Qband中的虚拟机根据2.4分别迁移到物理节点队列Qnodecpu、Qnodememo和Qnodeband。

3 仿真模拟实验

为了通过数据验证文中算法,利用基于云计算的仿真模拟工具Cloudsim[6]来构建实验环境,表1就是基于云计算环境中的实验参数。

表1 云计算环境实验参数

那么在仿真模拟环境中,把文中算法和它比较,得到比较结果如表2。

表2 实验比较结果

通过表2可以得出如下结论:由于文中算法分别从带宽占用率、内存占用率和CPU占用率来进行分析,所以在选择目标物理节点、等待迁移的虚拟机和源物理节点上效率更高,从而使迁移对应的虚拟机效率更高,因此在等待迁移的数量不为最小值的虚拟机情形下,该算法SLA违反率较低,同时能耗最小,同时,也可以得出通过以用户的QoS作为牺牲代价,来提高负载均衡和节能的方法,都有很高的SLA违反率。

4 结束语

文中算法通过对确定目标物理节点、选择等待迁移的虚拟机和选择源物理节点等迁移的各个关键点上的以往传统算法进行优化,通过动态分配迁移虚拟机来提高云计算环境下的节能和负载均衡。文中仿真模拟结果显示,文中算法在虚拟机在线迁移中,能够提高物理节点的负载均衡,同时能耗最小。后续的研究方向就是,如何在用户越来越高的QOS需求下,实现云计算环境中高效的虚拟机迁移问题。

[1]VAQUERO L,RODERO M L,CACERCE J,et al.A break in the clouds:towards a cloud definition[J].SIGCOMM Comput⁃er Communication Review,2009,39(1):50-55.

[2]张彬彬,罗英伟,汪小林,等.虚拟机全系统在线迁移[J].电子学报,2009,37(4):894-899.

[3]徐志红,刘进军,赵生慧.适应广域网的虚拟机在线迁移模型[J].计算机应用,2012,32(7):1929-1931,1968.

[4]王得发,王丽芳,蒋泽军.云计算环境中虚拟机智能迁移关键技术研究[J].计算机测量与控制,2012,20(5):1389-1391.

[5]方义秋,唐道红,葛君伟.云环境下基于虚拟机动态迁移的调度策略研究[J].微电子学与计算机,2012,29(4):45-48.

[6]胡志刚,欧阳晟,阎朝坤.云环境下面向能耗降低的资源负载均衡方法[J].计算机工程,2012,38(5):53-55.

(责任编辑:赵建周)

Live Migration Algorithm Based on Cloud Computing

MU Rui-hui
(College of Computer and Information Engineering,Xinxiang University,Xinxiang 453003,China)

Firstly,build an online migration algorithm model and virtual machine load assessment vector,then, according to the bandwidth rate for each physical node,memory usage and CPU utilization to determine migra⁃tion timing and source physical nodes need to migrate at the same time,according to the CPU in the share of each node,the efficient use of ROM,and bandwidth utilization to determine the target physical nodes.Through simula⁃tion environment test,showed that the proposed algorithm in a virtual machine live migration,and can greatly im⁃prove load balancing physical nodes,while the SLA violation rate minimum and cloud computing data center power consumption to a minimum.

violation rate;virtual machine;physical node;migration algorithm

TP301.6

A

1673-2928(2015)02-0049-03

2014-11-16

国家自然基金项目(61250007),河南省自然科学基金(1221013210871)。

穆瑞辉(1980-),男,河南辉县人,新乡学院讲师,硕士研究生,研究方向:软件设计与开发。

猜你喜欢
计算环境队列内存
云计算环境下网络安全等级保护的实现途径
队列队形体育教案
队列里的小秘密
基于多队列切换的SDN拥塞控制*
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
在队列里
分布式计算环境下网络数据加密技术研究
内存搭配DDR4、DDR3L还是DDR3?
上网本为什么只有1GB?