一种MapReduce中备份任务推测执行策略的优化方案的制作方法

文档序号:9547029阅读:338来源:国知局
一种MapReduce中备份任务推测执行策略的优化方案的制作方法
【技术领域】
[0001] 本发明属于云计算领域,具体涉及一种MapReduce中备份任务推测执行策略的优 化方案。
【背景技术】
[0002] MapReduce是一个流行的编程模型处理大型数据集的目的。MapReduce可以分为 map和reduce两种任务,map任务包含map阶段,reduce任务包括shuffle、merge和reduce 阶段。MapReduce任务执行时间通常是由那些性能较低的节点决定。推测执行策略被称为 处理上述问题的一种方法;具体来说是通过将低性能的机器上运行这些任务备份到性能更 尚机器上的。
[0003] 尽管多个推测执行策略被提出了,仍有很多缺陷存在于策略。传统的推测执行策 略,推测执行的准确率低,错误的启动推测执行策略,将消耗更多的资源。极端情况下,会导 致整个集群运行速度的快速下降。甚至陷入由于资源的反复竞争,使整个集群陷入死锁的 状态,最终可能导致任务的失败。此外,在云环境中,出售资源,或者说服务就是收益的一种 方式,介绍资源消耗,就相当与是增加某个集群所带来的经济效益,如:某用户购买了某公 司云计算服务(按时间计费),当用户提交一个作业时,采用默认的策略可能需要消耗20分 钟,采用优化的策略则可以节约时间5分钟,这样就为用户节约了费用;最坏情况下,由于 不合理地启动备份任务,会导致任务的失败,造成资源的浪费,而优化过后的策略则可以避 免上述情况,提高了用户的满意度,所以提高备份任务推测执行策略的准确率有其必要性。
[0004] 基于上述问题,一种MapReduce中备份任务推测执行策略的优化方案,采用指数 平滑算法,集合集群中节点实时性能,极大程度的克服了原有策略准确率低,错误地启动备 份任务,导致过度消耗集群资源。本方案提高了推测执行的正确率,有效地节约了资源,大 大提升了整个集群的运行速度,缩短了任务执行所需要消耗的时间。

【发明内容】

[0005] 本发明的目的是提供一种MapReduce中备份任务推测执行策略的优化方案,采用 指数平滑算法,集合集群中节点实时性能,对任务运行的剩余时间进行准确的预测。解决默 认情况下,推测执行准确率低,由于错误地启动备份任务的问题。极大程度的提高了推测执 行的正确率,有效地节约了集群中有限的资源。
[0006] 本发明所提供的一种MapReduce中备份任务推测执行策略的优化方案主要包括4 个步骤:预测当前各任务完成时间、预测新任务完成时间、选择需备份的任务和选择在哪个 节点上备份执行。
[0007] 具体步骤如下:
[0008] (5)预测当前各任务完成时间
[0009] 具体来说需根据以下公式:
[0010]
[0012] 其中,Ireni代表当前任务总的剩余时间,它由当前阶段剩余时间和剩余阶段总的剩 余时间组成。进一步的化简公式中,P代表剩余阶段中的某一个,fp代表剩余所有的阶段, 代表某阶段P的平均完成时间。&(^〇^是个参数,可以表示为当前数据处理量和平均 每个任务数据处理量的比值,datainputR表当前处理数据量,Clataavg代表平均每个节点的处 理数据量。其次,我们根据平滑处理后的公式来计算当前阶段的剩余时间。
[0013] (6)预测新任务完成时间:新任务的完成时间依据以下公式
[0014] Tbf= TimeStamp+T avg
[0015] 其中,Tbf代表备份任务完成的时刻,TimeStamp代表当前时刻,T avg代表已经完成 的任务在该阶段所用的时间。
[0016] (7)选则需备份的任务
[0017] 遍历所有任务,选择如果开启备份执行,最后可能是有效任务的任务,也就是说, 剩余执行时间和假如开启备份任务完成时间差最大的任务
[0018] (8)选择在哪个节点上备份执行
[0019] 根据节点的位置进行分类:分为Data-Local、Rack_Local以及Other-Local,优先 选择Data-Local,其次再根据剩余资源选择当前最优节点,会更有可能成为有效的推测执 行。
[0020] 有益效果
[0021] 本发明解决了传统的推测执行策略,推测执行的准确率低,市场会错误地启动推 测执行策略等缺点。本方案极大程度的提高了推测执行的正确率,有效地节约了资源,大大 提升了整个集群的运行速度,缩短了任务执行所需要消耗的时间。
【附图说明】
[0022] 图1为一种MapReduce中备份任务推测执行策略的优化方案的流
[0023] 程图;
[0024] 图2为WordCount执行时间的比较;
[0025] 图3为Gr印执行时间的比较。
【具体实施方式】
[0026] 下面将参考附图并结合实施例,来详细说明本发明。以下结合实际部署情况为例 来说明本发明。
[0027] 本发明所提供的一种MapReduce中备份任务推测执行策略的优化方案主要包括4 个步骤,如图1中所示,具体为:预测当前各任务完成时间、预测新任务完成时间、选择需备 份的任务和选择在哪个节点上备份执行。
[0028] 具体步骤如下:
[0029] (1)预测当前各任务完成时间
[0030] 具体来说是根据以下公式:
[0033] 其中,Ireni代表当前任务总的剩余时间,它由当前阶段剩余时间和剩余阶段总的剩 余时间组成。进一步的化简公式中,P代表剩余阶段中的某一个,fp代表剩余所有的阶段, 代表某阶段P的平均完成时间。&(^〇^是个参数,可以表示为当前数据处理量和平均 每个任务数据处理量的比值,datainputR表当前处理数据量,Clataavg代表平均每个节点的处 理数据量。当前阶段是shuffle阶段时,我们设置factor dS 1,因为shuffle未完成时难 以估估计处理的数据量。
[0034] 其次,我们根据平滑处理后的公式来计算当前阶段的剩余时间,平滑处理的公式 如下:
[0035] vpt= a*v ot+(l_a)*vpt !,a = 0· 1,
[0036] vpt代表预测的速度,v &代表观测到的速度,v pt i代表上一时刻的预测速度,a是其 中一个参数,设置为〇. 1。则完成当前阶段剩余数据量需要时间可以表示为:
[0038] (2)预测新任务完成时间:新任务的完成时间依据以下公式
[0039] Tbf= TimeStamp+T avg
[0040] 其中,Tbf代表备份任务完成的时刻,TimeStamp代表当前时刻,T avg代表已经完成 的任务在该阶段所用的时间。
[0041] (3)选则需备份的任务
[0042] 遍历所有任务,对每个任务计算Difference = Irem-Tbf
[0043] 对于其中Difference小于0的任务直接舍弃,相互比较记录下Difference的最 大值,对应的任务为需要开启备份任务的节点。
[0044] (4)选择在哪个节点上开启备份执行
[0045] 根据节点的位置进行分类:分为Data-Local、Data_Rack以及Data-Other,优先选 择Data-Local,其次再根据剩余资源选择当前最优节点,具体选择方式如下:
[0046]
[0047] 根据Ratio选择,选择出值最大的节点,代表着剩余资源相对丰富的点,将备份的 任务交由这些节点执行,会更有可能成为有效的推测执行。
[0048] 对提出的策略与原有策略进行课比较,分别运行了 WordCount、Grep应用, WordCount和Grep的数据集为50GB。在不同策略下,每组实验进行了 5次,了取平均值, MR-None代表在MapReduce里面禁用了推测执行策略;MR-Original代表在MapReduce里面 采用了原始推测执行策略,MR-Optimized代表在MapReduce里面采用了本文提出的推测执 行策略。
[0049] 实验产生的结果如图2、图3所示,详细来说,我们的策略比原有策略减少了至少 15%的执行时间;相对禁用该策略的情况,执行时间减少了了 25%。
【主权项】
1. 一种MapReduce中备份任务推测执行策略的优化方案,其特征在于,包括4个步骤: 预测当前各任务完成时间、预测新任务完成时间、选择需备份的任务和选择在哪个节点上 备份执行; 具体步骤如下: (1) 预测当前各任务完成时间 具体来说需根据以下公式:其中,Τ_代表当前任务总的剩余时间,它由当前阶段剩余时间和剩余阶段总的剩余时 间组成;进一步的化简公式中,Ρ代表剩余阶段中的某一个,fp代表剩余所有的阶段, 代表某阶段P的平均完成时间;个参数,可以表示为当前数据处理量和平均每个 任务数据处理量的比值,datainputR表当前处理数据量,dataavg代表平均每个节点的处理数 据量;其次,我们根据平滑处理后的公式来计算当前阶段的剩余时间; (2) 预测新任务完成时间:新任务的完成时间依据以下公式 Tbf=TimeStamp+Tavg 其中,Tbf代表备份任务完成的时刻,Timestamp代表当前时刻,Tavg代表已经完成的任 务在该阶段所用的时间; (3) 选则需备份的任务 遍历所有任务,选择如果开启备份执行,最后可能是有效任务的任务,也就是说,剩余 执行时间和假如开启备份任务完成时间差最大的任务; (4) 选择在哪个节点上备份执行 根据节点的位置进行分类:分为Data-Local、Rack-Local以及Other-Local,优先选择Data-Local,其次再根据剩余资源选择当前最优节点,会更有可能成为有效的推测执行。
【专利摘要】一种MapReduce中备份任务推测执行策略的优化方案,采用指数平滑算法,结合集群中节点实时性能,对任务运行各阶段的时间分别计算,达到对任务运行的剩余时间进行准确预测的目的。解决了默认情况下,推测执行准确率低,由于错误地启动备份任务的问题。本方案极大程度的提高推测执行的正确率,节省了任务运行的时间,有效地节约了集群中有限的资源。
【IPC分类】G06F9/50
【公开号】CN105302647
【申请号】CN201510752617
【发明人】刘琦, 蔡卫东, 肖博, 沈剑, 付章杰
【申请人】南京信息工程大学
【公开日】2016年2月3日
【申请日】2015年11月6日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1