用于大数据支撑的虚拟机动态迁移算法制造技术

技术编号:10354850 阅读:166 留言:0更新日期:2014-08-27 11:15
本发明专利技术公开了一种用于大数据支撑的虚拟机动态迁移算法,以为所有作业中预计完成时间最短者值最小作为虚拟机迁移的目标函数,采用退火算法就行求解,搜索最优的虚拟机迁移策略,以达到迁移目的。本发明专利技术有效解决了利用虚拟机运行大数据框架时物理资源分配不均的问题,为大数据的实现提供了技术支撑,提高大数据框架的效率。

【技术实现步骤摘要】
用于大数据支撑的虚拟机动态迁移方法
本专利技术涉及一种用于大数据支撑的虚拟机动态迁移方法,属于大数据部署的

技术介绍
随着信息化技术以及物联网技术的高速发展,越来越多企业意识到大数据对企业发展的战略意义,但是并不是所有的企业都有足够的精力和能力去应对部署以Hadoop为代表的大数据平台带来的挑战(部署门槛和系统调优门槛)。而且NameNode和Jobtracker存在单点失效问题,Hive、HCatalog等非Hadoop核心模块也没有双机集群高可用性的保障,专有的Hadoop集群CPU利用率低,Hadoop和非Hadoop负载不能直接共享资源,等等。这一系列的问题,都给Hadoop的使用带来了诸多不便。因此,利用服务器虚拟化技术来部署大数据平台成为有效的解决手段。服务器虚拟化技术将多台物理机及其CPU、内存等资源聚合起来统一管理,提高计算机物理资源的利用率,降低了部署大数据的成本。同时,服务器虚拟化提供了高可用的基础设施,当物理服务器发生故障时,虚拟服务器可以自动切换到资源池中的其他物理服务器上。不同于在物理服务器上部署大数据框架,虚拟机的高可靠性,资源的高效利用,便利的创建和注销方法为大数据的部署带来便利。然而,大数据框架的资源调度只能针对虚拟资源而非物理资源,因此,物理资源调度问题成为在虚拟机上部署大数据带来的新挑战针对在物理机器上部署大数据框架的资源调度优化问题,通常的思路是对大数据框架进行改进。考虑到实际应用场景中,不同作业对资源的需求往往具有较大差异,静态配置slot数目往往会导致节点上的资源利用率过高或者过低,为了解决该问题,有学者提出采用动态调整slot数目的方案。针对现有框架中区分slot类别的资源管理方案会降低slot的利用率,有学者提出不再区分Mapslot和Reduceslot,而是只有一种slot,并让MapTask和ReduceTask共享这些slot,从而提高slot的利用率。然而,针对在虚拟服务器上部署大数据框架的资源调度优化问题,鲜有研究
技术实现思路
本专利技术提出一种用于大数据支撑的虚拟机动态迁移方法,用于解决利用虚拟机部署大数据时,物理资源分配不均的问题。本专利技术所采用的技术方案为:用于大数据支撑的虚拟机动态迁移方法,包括以下步骤:1)建立解空间,所述解空间是指物理机运行无异常情况下所有的云平台状态,,用如下方式表示:其中,i表示任一云平台状态;2)对于任意一个云平台中,定义每个任务预计完成时间为建立与资源及任务之间的预测模型;其中,j表示任一云平台状态i中任一任务;3)对于任意给定的云平台状态,每个作业都会包含很多任务,定义作业预计完成时间其中,k表示任一云平台状态i中任一作业;4)构建虚拟机迁移的目标函数;5)采用退火算法求解所述虚拟机迁移的目标函数。前述的云平台状态i定义为:其中,PM表示物理机集合,VM表示虚拟机集合,JOB表示当前运行的作业集合,TASK表示当前运行的任务集合,FVM→PM表示虚拟机到物理机的映射,FVM→PM(vmq)∈PM,且FVM→PM(vmp)≠FVM→PM(vmq);FTASK→JOB表示MapReduce的任务到作业的映射,FTASK→JOB(taskq)∈JOB,且FTASK→JOB(taskp)≠FTASK→JOB(taskq);FTASK→VM表示MapReduce的任务到虚拟机的映射。前述的任务预计完成时间与资源及任务之间的预测模型为:其中,为云平台状态i下j任务的预计完成时间,为虚拟机在云平台状态i下的回归系数,为云平台状态i下计算j任务预计完成时间时的任务量,分别表示云平台状态下i下第j个任务运行的虚拟机的CPU、内存、I/O的空闲资源;为了使计算过程更加清晰,所述预测模型简化为:前述的任务预计完成时间的求解包括以下步骤:2-1)在云平台状态i下,结合计算机资源使用的惯性,取最近的运行完成任务的历史数据作为预测样本,在任务运行时,每间隔一段时间记录一次当前的任务量、时间点、CPU、内存、I/O空闲资源信息,设所记录的预测样本数为n,定义:其中,t1…tn在历史任务运行完成时计算得到,用结束的时间戳减去记录的时间戳,为从MapReduce的任务监控参数获取到的任务的当前时间点的剩余任务量,分别为通过虚拟化软件的sdk获取的历史任务的当前时间点的CPU、内存、I/O空闲资源信息;2-2)对回归系数进行最小二乘法运算,可得回归系数的估计值其中2-3)计算虚拟机迁移后的任务预计完成时间的估计值其中,虚拟机的CPU空闲资源xcpu、内存空闲资源xm、I/O的空闲资源xI/O由虚拟机资源分配策略算出:x=(xcpu,xm,xI/O)。前述的作业预计完成时间定义为该作业中所有任务的预计完成时间最大值,表达式如下:其中,表示云平台状态i下k作业的预计完成时间。前述的目标函数是指所有作业中预计完成时间最短者值最小,表达方式如下:前述的利用退火算法求解虚拟机迁移的目标函数包括以下步骤:5-1)定义代价函数差Δf,由于虚拟机进行迁移导致云平台由解空间的i状态变到解空间的i+1状态,所述代价函数差是指云平台状态i+1所有作业的预计完成时间最短值与云平台状态i所有作业的预计完成时间最短值之差,表达式如下:5-2)设定接受准则P,如果代价函数差Δf<0,则接受迁移该虚拟机作为迁移策略;如果代价函数差Δf≥0,则以概率exp(-Δf/T)接受迁移该虚拟机作为迁移策略,其中,T表示当前温度;5-3)选定终止温度e,若T<e,则退火算法结束,输出当前状态,即为目标函数的解;若T≥e,则更新T为T×α,返回步骤5-1),继续计算;其中,α为降温系数,T的初始值T0:T0=1。前述的降温系数α选取0.99;所述终止温度e选取e=10-5。本专利技术有效解决了利用虚拟机运行大数据框架时物理资源分配不均的问题,为大数据的实现提供了技术支撑,提高大数据框架的效率。附图说明图1为本专利技术实施例中虚拟机的分布示意图;图2为图1的虚拟机的资源占用情况示意图。具体实施方式下面结合附图和具体实施方式详细说明本专利技术。在云平台下,利用虚拟机部属大数据平台时,由于大数据框架MapReduce的资源调度策略只是针对虚拟机的,并不能涉及到物理机的资源分配情况,因此会存在物理资源分配不均匀的情况。如图1和图2所示,位于物理机1上的虚拟机vm1,vm2,vm3,vm4都会占用很多I/O资源,但CPU和内存资源比较空闲,此时运行于这些虚拟机上的任务会由于I/O瓶颈,运行得相当慢。同样,位于物理机2上的虚拟机vm5,vm6,vm7,vm8由于CPU和内存资源的瓶颈,导致运行在上面的任务速度也相当慢,然而I/O资源却相当空闲。本专利技术的用于大数据支撑的虚拟机动态迁移方法,主要包括以下步骤:1、建立解空间,解空间是指物理机运行无异常情况下,所有可能的云平台状态,表达方式为:云平台状态i定义为:其中,PM表示物理机集合,VM表示虚拟机集合,JOB表示当前运行的作业集合,TASK表示当前运行的任务集合,FVM→PM表示虚拟机到物理机的映射,FVM→PM(vmq)∈PM,且FVM→PM(vmp)≠FVM→PM(vmq);FTASK→JOB表示MapReduce的任务到作业的映射,FTASK→本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/55/201410224917.html" title="用于大数据支撑的虚拟机动态迁移算法原文来自X技术">用于大数据支撑的虚拟机动态迁移算法</a>

【技术保护点】
用于大数据支撑的虚拟机动态迁移算法,其特征在于,包括以下步骤: 1)建立解空间,所述解空间是指物理机运行无异常情况下所有的云平台状态,用如下方式表示: 其中,i表示任一云平台状态; 2)对于任意一个云平台中,定义每个任务预计完成时间为建立与资源及任务之间的预测模型;其中,j表示任一云平台状态i中任一任务; 3)对于任意给定的云平台状态,每个作业都会包含很多任务,定义作业预计完成时间其中,k表示任一云平台状态i中任一作业; 4)构建虚拟机迁移的目标函数; 5)采用退火算法求解所述虚拟机迁移的目标函数。

【技术特征摘要】
1.用于大数据支撑的虚拟机动态迁移方法,其特征在于,包括以下步骤:1)建立解空间,所述解空间是指物理机运行无异常情况下所有的云平台状态,用如下方式表示:其中,i表示任一云平台状态;所述云平台状态i定义为:其中,PM表示物理机集合,VM表示虚拟机集合,JOB表示当前运行的作业集合,TASK表示当前运行的任务集合,FVM→PM表示虚拟机到物理机的映射,且FVM→PM(vmp)≠FVM→PM(vmq);FTASK→JOB表示MapReduce的任务到作业的映射,且FTASK→JOB(taskp)≠FTASK→JOB(taskq);FTASK→VM表示MapReduce的任务到虚拟机的映射;2)对于任意一个云平台中,定义每个任务预计完成时间为建立与资源及任务之间的预测模型;任务预计完成时间与资源及任务之间的预测模型为:其中,j表示任一云平台状态i中任一任务;为云平台状态i下j任务的预计完成时间,为虚拟机在云平台状态i下的回归系数,为云平台状态i下计算j任务预计完成时间时的任务量,分别表示云平台状态下i下第j个任务运行的虚拟机的CPU、内存、I/O的空闲资源;为了使计算过程更加清晰,所述预测模型简化为:所述任务预计完成时间的求解包括以下步骤:2-1)在云平台状态i下,结合计算机资源使用的惯性,取最近的运行完成任务的历史数据作为预测样本,在任务运行时,每间隔一段时间记录一次当前的任务量、时间点、CPU、内存、I/O空闲资源信息,设所记录的预测样本数为n,定义:其中,t1…tn在历史任务运行完成时计算得到,用结束的时间戳减去记录的时间戳,为从MapReduce的任务监控参数获取到的任务的当前时间点的剩余任务量,分别为通过虚拟化软件的sdk获取的历史任务的当前时间点的CPU、内存、I/O空闲资源信息;2-2)对回归系数进行最小二乘法运算,可得回归系数的估计值其中2-3)计算虚拟机迁移后的任务预计完成时间的估计值

【专利技术属性】
技术研发人员:李叶飞王松云官国飞姚鹏
申请(专利权)人:国家电网公司江苏省电力公司江苏方天电力技术有限公司
类型:发明
国别省市:北京;11

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

1