法律状态公告日
法律状态信息
法律状态
2019-04-16
授权
授权
2016-03-02
实质审查的生效 IPC(主分类):G06F9/50 申请日:20151106
实质审查的生效
2016-02-03
公开
公开
技术领域
本发明属于云计算领域,具体涉及一种MapReduce中备份任务推测执行策略的优化方案。
背景技术
MapReduce是一个流行的编程模型处理大型数据集的目的。MapReduce可以分为map和reduce两种任务,map任务包含map阶段,reduce任务包括shuffle、merge和reduce阶段。MapReduce任务执行时间通常是由那些性能较低的节点决定。推测执行策略被称为处理上述问题的一种方法;具体来说是通过将低性能的机器上运行这些任务备份到性能更高机器上的。
尽管多个推测执行策略被提出了,仍有很多缺陷存在于策略。传统的推测执行策略,推测执行的准确率低,错误的启动推测执行策略,将消耗更多的资源。极端情况下,会导致整个集群运行速度的快速下降。甚至陷入由于资源的反复竞争,使整个集群陷入死锁的状态,最终可能导致任务的失败。此外,在云环境中,出售资源,或者说服务就是收益的一种方式,介绍资源消耗,就相当与是增加某个集群所带来的经济效益,如:某用户购买了某公司云计算服务(按时间计费),当用户提交一个作业时,采用默认的策略可能需要消耗20分钟,采用优化的策略则可以节约时间5分钟,这样就为用户节约了费用;最坏情况下,由于不合理地启动备份任务,会导致任务的失败,造成资源的浪费,而优化过后的策略则可以避免上述情况,提高了用户的满意度,所以提高备份任务推测执行策略的准确率有其必要性。
基于上述问题,一种MapReduce中备份任务推测执行策略的优化方案,采用指数平滑算法,集合集群中节点实时性能,极大程度的克服了原有策略准确率低,错误地启动备份任务,导致过度消耗集群资源。本方案提高了推测执行的正确率,有效地节约了资源,大大提升了整个集群的运行速度,缩短了任务执行所需要消耗的时间。
发明内容
本发明的目的是提供一种MapReduce中备份任务推测执行策略的优化方案,采用指数平滑算法,集合集群中节点实时性能,对任务运行的剩余时间进行准确的预测。解决默认情况下,推测执行准确率低,由于错误地启动备份任务的问题。极大程度的提高了推测执行的正确率,有效地节约了集群中有限的资源。
本发明所提供的一种MapReduce中备份任务推测执行策略的优化方案主要包括4个步骤:预测当前各任务完成时间、预测新任务完成时间、选择需备份的任务和选择在哪个节点上备份执行。
具体步骤如下:
(5)预测当前各任务完成时间
具体来说需根据以下公式:
其中,Trem代表当前任务总的剩余时间,它由当前阶段剩余时间和剩余阶段总的剩余时间组成。进一步的化简公式中,p代表剩余阶段中的某一个,fp代表剩余所有的阶段,
(6)预测新任务完成时间:新任务的完成时间依据以下公式
Tbf=TimeStamp+Tavg
其中,Tbf代表备份任务完成的时刻,TimeStamp代表当前时刻,Tavg代表已经完成的任务在该阶段所用的时间。
(7)选则需备份的任务
遍历所有任务,选择如果开启备份执行,最后可能是有效任务的任务,也就是说,剩余执行时间和假如开启备份任务完成时间差最大的任务
(8)选择在哪个节点上备份执行
根据节点的位置进行分类:分为Data-Local、Rack-Local以及Other-Local,优先选择Data-Local,其次再根据剩余资源选择当前最优节点,会更有可能成为有效的推测执行。
有益效果
本发明解决了传统的推测执行策略,推测执行的准确率低,市场会错误地启动推测执行策略等缺点。本方案极大程度的提高了推测执行的正确率,有效地节约了资源,大大提升了整个集群的运行速度,缩短了任务执行所需要消耗的时间。
附图说明
图1为一种MapReduce中备份任务推测执行策略的优化方案的流
程图;
图2为WordCount执行时间的比较;
图3为Grep执行时间的比较。
具体实施方式
下面将参考附图并结合实施例,来详细说明本发明。以下结合实际部署情况为例来说明本发明。
本发明所提供的一种MapReduce中备份任务推测执行策略的优化方案主要包括4个步骤,如图1中所示,具体为:预测当前各任务完成时间、预测新任务完成时间、选择需备份的任务和选择在哪个节点上备份执行。
具体步骤如下:
(1)预测当前各任务完成时间
具体来说是根据以下公式:
其中,Trem代表当前任务总的剩余时间,它由当前阶段剩余时间和剩余阶段总的剩余时间组成。进一步的化简公式中,p代表剩余阶段中的某一个,fp代表剩余所有的阶段,
其次,我们根据平滑处理后的公式来计算当前阶段的剩余时间,平滑处理的公式如下:
vpt=a*vot+(1-a)*vpt-1,a=0.1,
vpt代表预测的速度,vot代表观测到的速度,vpt-1代表上一时刻的预测速度,a是其中一个参数,设置为0.1。则完成当前阶段剩余数据量需要时间可以表示为:
(2)预测新任务完成时间:新任务的完成时间依据以下公式
Tbf=TimeStamp+Tavg
其中,Tbf代表备份任务完成的时刻,TimeStamp代表当前时刻,Tavg代表已经完成的任务在该阶段所用的时间。
(3)选则需备份的任务
遍历所有任务,对每个任务计算Difference=Trem-Tbf
对于其中Difference小于0的任务直接舍弃,相互比较记录下Difference的最大值,对应的任务为需要开启备份任务的节点。
(4)选择在哪个节点上开启备份执行
根据节点的位置进行分类:分为Data-Local、Data-Rack以及Data-Other,优先选择Data-Local,其次再根据剩余资源选择当前最优节点,具体选择方式如下:
根据Ratio选择,选择出值最大的节点,代表着剩余资源相对丰富的点,将备份的任务交由这些节点执行,会更有可能成为有效的推测执行。
对提出的策略与原有策略进行课比较,分别运行了WordCount、Grep应用,WordCount和Grep的数据集为50GB。在不同策略下,每组实验进行了5次,了取平均值,MR-None代表在MapReduce里面禁用了推测执行策略;MR-Original代表在MapReduce里面采用了原始推测执行策略,MR-Optimized代表在MapReduce里面采用了本文提出的推测执行策略。
实验产生的结果如图2、图3所示,详细来说,我们的策略比原有策略减少了至少15%的执行时间;相对禁用该策略的情况,执行时间减少了了25%。
机译: 写时驱逐,一种用于具有推测执行功能的多处理器系统中预取单元和/或一级缓存的管理策略
机译: 维持处理系统中执行任务的推测状态
机译: 一种集体管理计算机系统中包括的硬件中错误的发生并执行备份和恢复以通知外部终端的方法