龙源期刊网云计算中虚拟资源管理技术研究作者:郭秋滟来源:《现代电子技术》2016年第01期摘要:为了确保云计算提供的服务质量,解决云计算资源的不确定性因素,围绕资源预测、资源分配、资源迁移三个方面展开研究。提出了基于资源相似度的性能预测方法,基于多维度质量及负载均衡的资源分配技术以及节点效能和失效规律的资源动态迁移技术。为了验证上述技术方案的合理性和有效性,在对上述技术进行深入研究的基础上,借助相关仿真软件并结合模拟参数设计了多组实验。通过对得到的实验数据和结果进行比较和分析,验证了提出的资源预测技术、资源分配技术、资源迁移技术的正确性和有效性。关键词:云计算;资源管理;性能预测;资源分配;资源迁移中图分类号:TN711⁃34;TP391.4文献标识码:A文章编号:1004⁃373X(2016)01⁃0035⁃050引言云计算通过虚拟化技术,整合大量虚拟资源为用户提供各种服务。面对云计算的众多不确定性因素,服务质量会受影响[1]。不同云计算应用商提供的基础设施层所提供的服务有所不同,实现方式也有区别,但都有一个共同点那就是面对大规模的资源,实现高层次的资源管理。目前的虚拟化资源管理技术在应用中只是总体保证稳定的性能,针对具体的应用场景并不能保证都是最优的[2]。系统在为虚拟机寻找物理机时,基本采用先来先服务,没有对用户的资源请求以及可用的物理资源进行评估,因此存在资源不合理分配的现象。本文对云计算中基于虚拟化资源管理的一些技术进行研究,主要包括:RSBP神经网络预测技术,多维度QoS及负载均衡的资源分配技术以及基于节点效能和实效规律的资源迁移技术。研究内容不仅能提高资源分配的性能,同时节约效能,既有重要的学术价值,也具有广泛的应用前景。1RSBP神经网络预测实验及结果分析RSBP性能预测通过数据中心代理执行获取资源信息,根据信息查询相类似的节点,再根据该节点用预测方法预测出执行时间。对RSBP性能预测算法的描述如下:(1)初始化BP感知器A,从监控代理Broker获取节点历史记录DataRecords。(2)当任务需要对资源[Ri]进行预测时,判断[Ri]的DataRecords是否为空,如果不为空,进入步骤(3);否则进入步骤(4)。龙源期刊网(3)利用指数平均值计算[Ri]的预测执行时间。(4)利用资源相似度查找性能相似的节点,若有则进入步骤(5);否则进入步骤(6)。(5)寻找相似度符合要求最高且DataRecords不为空的节点[Ri,]再利用指数平均值计算[Ri]的预测执行时间。(6)根据资源性能的参数值输入A,利用BP预测获得A的输出就是预测执行时间。(7)当[Ri]运行结束将记录送入监控代理Broker。RSBP性能预测算法流程图如图1所示。采用RSBP方法进行预测并进行误差性能分析[3]。测试39次不同的任务,利用RSBP预测算法计算得到的预测相对误差变化如图2所示。图2使用RSBP预测算法预测的相对误差表1为实验结果的汇总信息。RSBP算法的平均相对误差为5.01%,但是相对误差在最大时将近17%,大于平均值近12个百分点。经过分析发现,造成任务预测时间相对误差过大的主要原因是训练集不充足,任务的属性值在训练集处于稀疏区。另外还有一种情况是:有些输入属性的值域跨度比较大,也很难做到样本的全面、均匀分布。针对这一情况,在训练集中拓宽了数据的范围,重新训练网络,然后重新预测任务,结果相对误差降到了7.24%。由此可见BP神经网络训练样本质量的重要性。表1RSBP预测算法的相对误差汇总%[最小相对误差\&最大相对误差\&平均相对误差\&0.04\&16.99\&5.01\&]对于训练样本质量的重要性,本文提出了一种缓解方法:将使用BP预测的新任务的信息加入到BP网络训练集的增补集中,再次重新预测任务,得到误差汇总的情况如表2所示。表2增补集的RSBP预测算法的相对误差汇总%[最小相对误差\&最大相对误差\&平均相对误差\&0.03\&12.46\&3.61\&]由表2进一步地发现误差比原来的要小很多,但是训练时间却增加了。主要是因为这些新任务都未曾执行,等到该集合到一定规模后,需要重新训练BP网络。而这些重新训练的网络导致训练集合过于庞大,不仅增加训练时间,同时也使得训练空间的某些区域数据过于密集。龙源期刊网因此可以考虑删除部分训练集中处于稠密区的早期数据,以此来保证训练集不要过大;但是在删除的同时要保证训练空间数据分布均匀。2多维度QoS及负载均衡的资源分配方法2.1多维度QoS资源分配多维度QoS及负载均衡的资源分配方法(MultiplyQoSandLoadBalance,MQLB)将用户的要求和系统的性能组成多维度QoS[4]。对于多个用户的要求,主要利用节点的实时负载情况,进行负载均衡定量分析;通过比较节点各项指标的加权值,对用户请求和资源进行匹配,以达到充分利用资源、节约资金,保证负载均衡的目的。本文采用平均带宽的方法模拟带宽对于整个网络的影响。设传输经过的边分别为[l1,l2,…,ln,]对应的带宽分别是[BW1,BW2,…,BWn,]则平均带宽为:[BW=1ni=1nBWi](1)将平均带宽作为虚拟机的参数设置,这样就能将底层的网络拓扑结构因素加入资源分配策略中。任务的执行时间为:[time=MIMIPS](2)在引入拓扑结构后,需要加入BW的因素,网络延迟时间为:[time1=MIBW](3)则任务执行总时间为:[Time=time+time1](4)[Time=MIMIPS+MIBW](5)[Time=MIMIPS⋅BW(MIPS+BW)](6)这样在处理加入网络拓扑结构的贪心算法时,可以用[MIPS⋅BW(MIPS+BW)]替换MIPS改进的贪心算法通过MI和MIPS两个因素去求解资源分配策略。基于多维度QoS及负载均衡资源分配算法示意图如图3所示。2.2模拟实验及结果分析第一组实验:以10个用户群为例,分析资源分配的响应时间和数据中心的耗费情况。龙源期刊网第二组实验:根据不同用户群,对比三种不同资源分配方法,从资源的平均响应时间和数据中心耗费进行分析,给出数据中心的耗费趋势。首先创建10个数据中心,每个数据中心10个物理机,每个物理机3个虚拟节点。实验数据先以一个具体的10个用户群分配的任务进行分析,再进行其他数目的用户群的不同策略的比较。对于10个用户群分配的任务,考虑用户任务的响应时间情况如表3所示,每个用户具体的最大响应时间、最小响应时间是不相等的,但是平均响应时间是差不多的,也即分配算法对于每个用户即是均等的,公平对待。10个数据中心的耗费情况如表4所示,每一个数据中心各自的耗费情况如图4所示。比较不同的分配策略的响应时间如图5所示。由图可知基于多维度QoS及负载均衡的资源分配策略(MQLB)的平均响应时间均明显小于Round⁃robin(轮询分配算法)和TLB(ThrottedLoadBalancer,均衡分配策略)。其中TLB的响应时间在有时小于多维度QoS及负载均衡的资源分配策略(MQLB)时间,但是TLB的时间变化非常大,性能不稳定。因为TLB是找到第一个满足需求的虚拟节点,所以产生的碎片空间对于不同的任务请求变化差别是比较大的。比较不同分配策略耗费的情况如表5所示。从表中可以看出,三种策略的数据传输代价耗费都是一样的,但是对于虚拟机的耗费则是很大的不同。基于多维度QoS及负载均衡的资源分配策略(MQLB)的耗费明显小于Round⁃robin,也略微小于TLB;所以总的耗费如图6所示。综上所述,在模拟的云计算环境中,基于多维度QoS及负载均衡的资源分配策略(QoS+GGA)的性能优于Round⁃robin和TLB,能够实现资源的合理分配,在负载、资源访问性能提升和耗费之间能够获得好的平衡。3基于NPFR的资源迁移方法云计算系统由成百上千的节点组成,节点的失效是常事[5]。为了使用户抽象地使用资源,处理容错问题,节省设计和维护费用采用虚拟化,同时为了实现动态的自适应管理资源,采取资源迁移。研究人员在虚拟化和节点代理的基础上建立分布式结构。对于出错的节点,采取相应的迁移机制,提出了基于节点效能及失效规律(NodePerformanceandFailureRules,NPFR)的资源迁移方法。3.1NPFR算法描述NPFR资源动态迁移算法如下:(1)从监控代理实时获得节点数据记录。龙源期刊网(2)确定有无异常节点和失效节点,若有,则标记,处理失效节点。(3)根据实时记录计算节点效能。(4)确定系统节点的快节点选择阈值,慢节点选择阈值,标记快节点和慢节点。(5)对空闲队列的所有节点用失效模型进行失效规律检测。(6)将慢节点的任务迁移到空闲队列中的空闲节点上重执行,并将原任务杀死;若无空闲节点,则迁移到快节点上重执行,将慢节点加入到空闲队列。(7)将异常节点的任务迁移到空闲队列中的空闲节点上重执行,若无空闲节点,则迁移到快节点上重执行,将异常节点加入到空闲队列。(8)将失效节点的任务迁移到空闲队列中的空闲节点上重执行,若无空闲节点,则迁移到快节点上重执行,将失效节点加入到空闲队列。3.2模拟实验及分析为了实时模拟云计算服务的负载情况,本文修改了CloudSim仿真工具中的DatacenterBroker模块类,实现每隔5s周期生成1~3组,每组中包含数量不同的任务,并将任务随机分配到虚拟机中[6]。为了在一定时间内保持负载的稳定,维持该虚拟机的负载状况,在接下来的多个周期中重复添加任务。设计三组实验如下:第一组实验:对比三种迁移策略的能耗情况,验证节点效能优化迁移策略耗费比较少;第二组实验:对比三种迁移策略在迁移次数、SLA的差别,验证节点效能优化迁移策略的性能;第三组实验:对比不同规模下的三种迁移策略耗能的趋势。在模拟实验中,配置一个Datacenter,Datacenter包含10台Host,最大功率为250W,3台处理器,处理器能力分别为1000MIPS,2000MIPS,3000MIPS,每台主机内存为10GB。主机功耗计算按使用率的平方递增,主机带宽为1000Mb/s。单个数据中心共有80个虚拟机,在每台主机上运行Xen虚拟机自带的监视器。每个虚拟机分配带宽为2500KB/s,系统的分配内存为128MB。本文中低阈值[δ]设为0.20,高阈值[2δ]设为0.80。默认无负载最低功耗为0。设定每隔10s检查是否有合适的虚拟机需要迁移。各种策略的能耗对比数据如图7所示。从图中可以看出,节点效能优迁移策略耗能比另外两种要少,并且随着时间的增多这种优势越来越明显。龙源期刊网增加了三个性能参数的对比,分别是SLA,迁移次数,平均SLA。从耗能方面对比,无迁移情况和节点效能优化策略相比,约多耗能23.6%。节点效能优化策略与CloudSim的DVFS策略相比,约节省15.3%的能耗。从迁移次数方面对比,DVFS策略并不实用。从表中可以看出,节点效能优化迁移策略迁移次数远少于DVFS策略,这是因为DVFS策略每次的虚拟机重新分配主机来寻找迁移路径,所以几乎每个虚拟机都被迁移。从SLA方面对比,违反SLA是指虚拟机不能获得其请求的CPU处理。三种策略的SLA(Service⁃levelAgreement)相差并不大。但是平均SLA却是依次降低。发生违反SLA的概率越低,表示系统的服务质量越高。在以上实验的基础上,本文设置了不同规模的对比试验,试验数据见表7。给出三种不同的方法在电源消耗方面的对比,如图8所示。其中,集群规模表示为物理节点数/虚拟节点数。可以看出,数据中心规模越大,节点效能优化迁移策略方法减少的耗能就越多。这是由于节点效能优化迁移策略方法通过设置的高低阈值减少了虚拟机迁发生的次数,进而