CN104008001A - 用于大数据支撑的虚拟机动态迁移算法 - Google Patents
用于大数据支撑的虚拟机动态迁移算法 Download PDFInfo
- Publication number
- CN104008001A CN104008001A CN201410224917.XA CN201410224917A CN104008001A CN 104008001 A CN104008001 A CN 104008001A CN 201410224917 A CN201410224917 A CN 201410224917A CN 104008001 A CN104008001 A CN 104008001A
- Authority
- CN
- China
- Prior art keywords
- task
- virtual machine
- cloud platform
- completion
- estimated time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种用于大数据支撑的虚拟机动态迁移算法,以为所有作业中预计完成时间最短者值最小作为虚拟机迁移的目标函数,采用退火算法就行求解,搜索最优的虚拟机迁移策略,以达到迁移目的。本发明有效解决了利用虚拟机运行大数据框架时物理资源分配不均的问题,为大数据的实现提供了技术支撑,提高大数据框架的效率。
Description
技术领域
本发明涉及一种用于大数据支撑的虚拟机动态迁移算法,属于大数据部署的技术领域。
背景技术
随着信息化技术以及物联网技术的高速发展,越来越多企业意识到大数据对企业发展的战略意义,但是并不是所有的企业都有足够的精力和能力去应对部署以Hadoop为代表的大数据平台带来的挑战(部署门槛和系统调优门槛)。而且Name Node和Job tracker存在单点失效问题,Hive、HCatalog等非Hadoop核心模块也没有双机集群高可用性的保障,专有的Hadoop集群CPU利用率低,Hadoop和非Hadoop负载不能直接共享资源,等等。这一系列的问题,都给Hadoop的使用带来了诸多不便。
因此,利用服务器虚拟化技术来部署大数据平台成为有效的解决手段。服务器虚拟化技术将多台物理机及其CPU、内存等资源聚合起来统一管理,提高计算机物理资源的利用率,降低了部署大数据的成本。同时,服务器虚拟化提供了高可用的基础设施,当物理服务器发生故障时,虚拟服务器可以自动切换到资源池中的其他物理服务器上。
不同于在物理服务器上部署大数据框架,虚拟机的高可靠性,资源的高效利用,便利的创建和注销方法为大数据的部署带来便利。然而,大数据框架的资源调度只能针对虚拟资源而非物理资源,因此,物理资源调度问题成为在虚拟机上部署大数据带来的新挑战
针对在物理机器上部署大数据框架的资源调度优化问题,通常的思路是对大数据框架进行改进。考虑到实际应用场景中,不同作业对资源的需求往往具有较大差异,静态配置slot数目往往会导致节点上的资源利用率过高或者过低,为了解决该问题,有学者提出采用动态调整slot数目的方案。针对现有框架中区分slot类别的资源管理方案会降低slot的利用率,有学者提出不再区分Map slot和Reduce slot,而是只有一种slot,并让Map Task和ReduceTask共享这些slot,从而提高slot的利用率。然而,针对在虚拟服务器上部署大数据框架的资源调度优化问题,鲜有研究
发明内容
本发明提出一种用于大数据支撑的虚拟机动态迁移算法,用于解决利用虚拟机部署大数据时,物理资源分配不均的问题。
本发明所采用的技术方案为:
用于大数据支撑的虚拟机动态迁移算法,包括以下步骤:
1)建立解空间,所述解空间是指物理机运行无异常情况下所有的云平台状态,,用如下方式表示:
其中,i表示任一云平台状态;
2)对于任意一个云平台中,定义每个任务预计完成时间为建立与资源及任务之间的预测模型;
其中,j表示任一云平台状态i中任一任务;
3)对于任意给定的云平台状态,每个作业都会包含很多任务,定义作业预计完成时间
其中,k表示任一云平台状态i中任一作业;
4)构建虚拟机迁移的目标函数;
5)采用退火算法求解所述虚拟机迁移的目标函数。
前述的云平台状态i定义为:
其中,PM表示物理机集合,VM表示虚拟机集合,JOB表示当前运行的作业集合,TASK表示当前运行的任务集合,
FVM→PM表示虚拟机到物理机的映射,
FTASK→JOB表示MapReduce的任务到作业的映射,
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表示虚拟机到物理机的映射,
FTASK→JOB(taskp)≠FTASK→JOB(taskq);
FTASK→VM表示MapReduce的任务到虚拟机的映射,即任务运行在哪个虚拟机上。
2、对于任意一个云平台状态i,定义每个任务j预计完成时间为任务的预计完成时间与任务量、CPU资源、内存资源、I/O资源密切相关,并且可以发现与各资源成线性关系,因此利用回归分析的方法建立任务j预计完成时间与资源及任务之间的预测模型为:
其中,为云平台状态i下j任务的预计完成时间,为虚拟机
在云平台状态i下的回归系数,为云平台状态i下计算j任务预计完成时间时的任务量,分别表示云平台状态下i下第j个任务运行的虚拟机的CPU、内存、I/O的空闲资源;
为了使计算过程更加清晰,将上述的预测模型简化为:
任务预计完成时间的求解过程为:
在云平台状态i下,结合计算机资源使用的惯性,取最近的运行完成任务的历史数据作为预测样本,在任务运行时,每间隔一段时间记录一次当前的任务量、时间点、CPU、内存、I/O空闲资源信息,设所记录样本数为n,在实际应用中n的数量需要权衡效率和成本;
根据记录的预测样本,得到
其中,t1…tn在历史任务运行完成时计算得到,用结束的时间戳减去记录的时间戳,为从MapReduce的任务监控参数获取到的任务的当前时间点的剩余任务量,分别为通过虚拟化软件的sdk获取的历史任务的当前时间点的CPU、内存、I/O空闲资源信息;
对回归系数进行最小二乘法运算,可得回归系数的估计值
其中
计算虚拟机迁移后的任务预计完成时间的估计值
其中,为任务量,可由MapReduce的任务监控程序获得,虚拟机的CPU空闲资源xcpu、内存空闲资源xm、I/O的空闲资源xI/O由虚拟机资源分配策略算出:
x=(xcpu,xm,xI/O)
其中,物理资源,虚拟机份额值,所有虚拟机份额总值,实际使用资源都可由虚拟机软件的sdk获取。
本发明对虚拟机的资源使用状态监控通过服务器虚拟化软件提供的接口实现,包括VMWare的vsphere webservice sdk以及Xen的xenserver sdk。
1)vsphere webservice sdk
获取CPU——summary.quickStats.overallCpuUsage
获取内存——HostSystem.QueryMemoryOverheadEx
2)xenserver sdk
获取CPU——VM.VCPU_params
获取内存——VM.memory_static。
3、考虑到每个作业都会包含很多任务,对于任一给定的云平台状态i,定义作业预计完成时间该作业中所有任务的预计完成时间最大值,表达式如下:
其中,表示云平台状态i下k作业的预计完成时间。
4、因为虚拟机最终是运行在物理机上,虚拟机之间会竞争物理机的资源,本发明采取贪心的策略,尽量以最快的速度提交一个作业,从而释放占用的资源,并且云平台中会有多个作业同时运行,因此构建虚拟机迁移的目标函数为所有作业中预计完成时间最短者值最小,表达方式如下:
5、采用退火算法求解虚拟机迁移的目标函数:
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),继续计算;
其中,α为降温系数,本发明中取α=0.99,终止温度e选取e=10-5,T的初始值T0:T0=1。
Claims (8)
1.用于大数据支撑的虚拟机动态迁移算法,其特征在于,包括以下步骤:
1)建立解空间,所述解空间是指物理机运行无异常情况下所有的云平台状态,用如下方式表示:
其中,i表示任一云平台状态;
2)对于任意一个云平台中,定义每个任务预计完成时间为建立与资源及任务之间的预测模型;
其中,j表示任一云平台状态i中任一任务;
3)对于任意给定的云平台状态,每个作业都会包含很多任务,定义作业预计完成时间
其中,k表示任一云平台状态i中任一作业;
4)构建虚拟机迁移的目标函数;
5)采用退火算法求解所述虚拟机迁移的目标函数。
2.根据权利要求1所述的用于大数据支撑的虚拟机动态迁移算法,其特征在于,所述云平台状态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的任务到虚拟机的映射。
3.根据权利要求1所述的用于大数据支撑的虚拟机动态迁移算法,其特征在于,所述任务预计完成时间与资源及任务之间的预测模型为:
其中,为云平台状态i下j任务的预计完成时间,为虚拟机 在云平台状态i下的回归系数,为云平台状态i下计算j任务预计完成时间时的任务量,分别表示云平台状态下i下第j个任务运行的虚拟机的CPU、内存、I/O的空闲资源;
为了使计算过程更加清晰,所述预测模型简化为:
4.根据权利要求3所述的用于大数据支撑的虚拟机动态迁移算法,其特征在于,所述任务预计完成时间的求解包括以下步骤:
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)。
5.根据权利要求1所述的用于大数据支撑的虚拟机动态迁移算法,其特征在于,所述作业预计完成时间定义为该作业中所有任务的预计完成时间最大值,表达式如下:
其中,表示云平台状态i下k作业的预计完成时间。
6.根据权利要求1所述的用于大数据支撑的虚拟机动态迁移算法,其特征在于,所述目标函数是指所有作业中预计完成时间最短者值最小,表达方式如下:
。
7.根据权利要求1所述的用于大数据支撑的虚拟机动态迁移算法,其特征在于,所述利用退火算法求解虚拟机迁移的目标函数包括以下步骤:
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。
8.根据权利要求7所述的用于大数据支撑的虚拟机动态迁移算法,其特征在于,所述 降温系数α选取0.99;所述终止温度e选取e=10-5。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410224917.XA CN104008001B (zh) | 2014-05-26 | 2014-05-26 | 用于大数据支撑的虚拟机动态迁移方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410224917.XA CN104008001B (zh) | 2014-05-26 | 2014-05-26 | 用于大数据支撑的虚拟机动态迁移方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104008001A true CN104008001A (zh) | 2014-08-27 |
CN104008001B CN104008001B (zh) | 2017-04-12 |
Family
ID=51368667
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410224917.XA Active CN104008001B (zh) | 2014-05-26 | 2014-05-26 | 用于大数据支撑的虚拟机动态迁移方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104008001B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635285A (zh) * | 2015-12-30 | 2016-06-01 | 南京理工大学 | 一种基于状态感知的vm迁移调度方法 |
CN107016480A (zh) * | 2016-01-28 | 2017-08-04 | 五八同城信息技术有限公司 | 任务调度方法、装置及系统 |
CN115081944A (zh) * | 2022-07-24 | 2022-09-20 | 国网浙江省电力有限公司湖州供电公司 | 适用于一体化现场移动检测设备的数据同步方法及平台 |
WO2022213686A1 (zh) * | 2021-04-07 | 2022-10-13 | 谈斯聪 | 一种自动化储物、作业、传送、投递一体化装置、系统及方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102917025A (zh) * | 2012-09-21 | 2013-02-06 | 江苏乐买到网络科技有限公司 | 一种云计算平台的业务迁移方法 |
US20130326506A1 (en) * | 2012-05-30 | 2013-12-05 | Michael P. McGrath | Mechanism for Controlling Capacity in a Multi-Tenant Platform-as-a-Service (Paas) Environment in a Cloud Computing System |
-
2014
- 2014-05-26 CN CN201410224917.XA patent/CN104008001B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130326506A1 (en) * | 2012-05-30 | 2013-12-05 | Michael P. McGrath | Mechanism for Controlling Capacity in a Multi-Tenant Platform-as-a-Service (Paas) Environment in a Cloud Computing System |
CN102917025A (zh) * | 2012-09-21 | 2013-02-06 | 江苏乐买到网络科技有限公司 | 一种云计算平台的业务迁移方法 |
Non-Patent Citations (2)
Title |
---|
张鹏: "《数据中心网络的流量管理和优化问题研究》", 《中国博士学位论文全文数据库 信息科技辑》 * |
沈恺涛等: "《基于云计算和改进离散粒子群的任务调度研究》", 《计算机测量与控制》 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105635285A (zh) * | 2015-12-30 | 2016-06-01 | 南京理工大学 | 一种基于状态感知的vm迁移调度方法 |
CN105635285B (zh) * | 2015-12-30 | 2018-12-14 | 南京理工大学 | 一种基于状态感知的vm迁移调度方法 |
CN107016480A (zh) * | 2016-01-28 | 2017-08-04 | 五八同城信息技术有限公司 | 任务调度方法、装置及系统 |
CN107016480B (zh) * | 2016-01-28 | 2021-02-02 | 五八同城信息技术有限公司 | 任务调度方法、装置及系统 |
WO2022213686A1 (zh) * | 2021-04-07 | 2022-10-13 | 谈斯聪 | 一种自动化储物、作业、传送、投递一体化装置、系统及方法 |
CN115081944A (zh) * | 2022-07-24 | 2022-09-20 | 国网浙江省电力有限公司湖州供电公司 | 适用于一体化现场移动检测设备的数据同步方法及平台 |
Also Published As
Publication number | Publication date |
---|---|
CN104008001B (zh) | 2017-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Kumar et al. | Renewable energy-based multi-indexed job classification and container management scheme for sustainability of cloud data centers | |
CN104991830B (zh) | 基于服务等级协议的yarn资源分配和节能调度方法及系统 | |
Shu et al. | Cloud-integrated cyber-physical systems for complex industrial applications | |
CN107038069B (zh) | Hadoop平台下动态标签匹配DLMS调度方法 | |
US20130219385A1 (en) | Batch scheduler management of virtual machines | |
CN103593242B (zh) | 基于Yarn框架的资源共享控制系统 | |
CN102508639B (zh) | 一种基于卫星遥感数据特征的分布式并行处理方法 | |
JP6183374B2 (ja) | データ処理システム、データ処理方法およびプログラム | |
CN110825494A (zh) | 物理机调度方法及装置、计算机可存储介质 | |
CN101788920A (zh) | 一种基于处理器分区技术的cpu虚拟化方法 | |
CN104008001A (zh) | 用于大数据支撑的虚拟机动态迁移算法 | |
Pakize | A comprehensive view of Hadoop MapReduce scheduling algorithms | |
IN2013CH04372A (zh) | ||
US8904204B2 (en) | Managing computing resources through aggregated core management | |
Kao et al. | Data-locality-aware mapreduce real-time scheduling framework | |
Choi et al. | Data-locality aware scientific workflow scheduling methods in HPC cloud environments | |
Kang et al. | A SLA driven VM auto-scaling method in hybrid cloud environment | |
EP3125114A1 (en) | Virtual machine system, control method therfor, and control program recording medium therefor | |
Baliś et al. | Auto-scaling of scientific workflows in kubernetes | |
Cai et al. | An energy-efficiency-aware resource allocation strategy in multi-granularity provision for green computing | |
US20130346983A1 (en) | Computer system, control system, control method and control program | |
CN111522637B (zh) | 一种基于成本效益的storm任务调度方法 | |
Blazewicz et al. | New perspectives in scheduling theory | |
CN106055410A (zh) | 一种云计算内存资源分配方法 | |
CN107479945B (zh) | 一种虚拟机资源调度方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |