CN105138405A - 基于待释放资源列表的MapReduce任务推测执行方法和装置 - Google Patents
基于待释放资源列表的MapReduce任务推测执行方法和装置 Download PDFInfo
- Publication number
- CN105138405A CN105138405A CN201510477121.XA CN201510477121A CN105138405A CN 105138405 A CN105138405 A CN 105138405A CN 201510477121 A CN201510477121 A CN 201510477121A CN 105138405 A CN105138405 A CN 105138405A
- Authority
- CN
- China
- Prior art keywords
- task
- resource
- slow
- released
- list
- 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
- Hardware Redundancy (AREA)
Abstract
本发明公开了一种异构环境下基于待释放资源列表的MapReduce任务推测执行方法和装置,描述了在作业的执行过程中,空闲资源向主节点提交任务请求。如果当前作业存在沿未开始运行的任务,则从尚未开始运行的任务中选择一个任务在空闲资源上执行,算法结束。否则通过记录的作业执行信息,生成作业的慢任务列表。如果慢任务列表大小为0,则表明没有慢任务,不需要进行推测执行,算法结束。否则继续生成待释放资源列表。假设慢任务列表大小为N,待释放资源列表大小为M,根据本发明的备份任务选择算法,选择任务M分配给申请任务的资源,算法结束。本发明相比传统推测执行算法能够找到使慢任务更快完成的资源,从而提高执行效率。
Description
技术领域
本发明涉及云计算技术领域,特别是涉及一种异构环境下基于待释放资源列表的MapReduce任务推测执行方法和装置。
背景技术
近年来,大数据平台Hadoop技术应用日趋成熟。Hadoop是在云计算与大数据的背景下诞生的开源分布计算平台,它借鉴了Google的GFS和MapReduce技术,使开发者可以轻松开发和运行处理海量数据的应用程序。
任务备份是各种计算系统中最常见的容错调度技术。在Hadoop中,与任务备份相关的问题是任务推测执行机制。在分布式集群环境下,因为程序Bug、负载不均衡或者资源分布不均等原因,会造成同一个作业的多个任务之间运行速度不一致。有些任务的运行速度可能明显慢于其他任务(比如一个作业的某个任务进度只有50%,而其他任务已经运行完毕),则这些任务会拖慢作业的整体执行进度。
为了避免这种情况发生,Hadoop采用了推测执行机制。它根据一定的法则推测出“拖后腿”的任务,并为这样的任务启动一个备份任务,让该任务与原始任务同时处理同一份数据,并最终选用最先成功运行完成任务的计算结果作为最终结果。现有的Hadoop推测执行算法主要有LATE调度算法,SAMR调度算法以及Hadoop2.x的推测执行算法。这些推测执行算法都是在出现一个空闲资源提出任务请求后,然后按照一定的策略从慢任务列表中选择一个慢任务在该资源上进行备份执行。但这种方法的缺点是,当前提交任务请求的资源不一定是能使慢任务最快完成的资源。因为在异构环境下,不同节点的任务处理速度是不一样的。很大可能这个资源之后出现的空闲资源,反而能使慢任务更快完成。
发明内容
本发明的目的就是要克服现有技术的不足,提供一种基于待释放资源列表的MapReduce任务推测执行方法和装置,能够找到使慢任务更快完成的资源。
为解决以上技术问题,本发明所采用的技术方案是:一种基于待释放资源列表的MapReduce任务推测执行方法,所述方法包括:
作业运行过程中出现空闲资源,该空闲资源向主节点提交任务请求;
判断作业是否存在尚未运行的任务,如果当前作业还有尚未开始运行的任务,则从尚未开始运行的任务中选择一个任务在空闲资源上执行,否则,继续往下执行;
获取需要的作业运行时信息;
寻找慢任务,获取所有慢任务的剩余完成时间EstimatedTaskTimeLeft,按剩余完成时间由大到小对慢任务列表进行排序,生成慢任务列表CandidateTasks[N];如慢任务列表大小为0,即不存在慢任务,则不需要进行推测执行,否则,继续往下执行;
获取所有正在运行任务所在资源的待释放时间EstimatedNodeTimeLeft,获取备份任务在待释放资源和已释放资源上执行需要的最终完成时间CandidateTaskTime,将获取的最终完成时间CandidateTaskTime由小到大进行排序,并只保留总时间小于已释放资源执行完成备份任务所需时间的待释放资源,生成待释放资源列表CandidateNodes[M];
对慢任务列表CandidateTasks[N]和待释放资源列表CandidateNodes[M]进行判断,如果M<=N,且慢任务列表中第M个慢任务的剩余完成时间estimatedTaskTimeLeft[M]大于备份任务在待释放资源列表的第M个资源上的最终完成时间candidateTaskTime[M]时,则选择慢任务candidateTasks[M]在该申请任务的空闲资源上进行备份执行,否则不为该空闲资源分配慢任务。
进一步的,所述慢任务采用以下公式进行筛选:
FinishedTaskProgressRateMean-TaskProgressRate>
(1)
FinishedTaskProgressRateStd*JobSlowTaskThreshold
其中:
FinishedTaskProgressRateMean:表示作业已完成任务的平均任务进度增长率;
TaskProgressRate:表示任务进度增长率;
FinishedTaskProgressRateStd:表示作业已完成任务的任务进度增长率的标准差;
JobSlowTaskThreshold:用于限定慢任务个数的参数。
进一步的,所述备份任务在待释放资源和已释放资源上执行需要的最终完成时间CandidateTaskTime获取方法如下:
CandidateTaskTime=CandidateTaskExecuteTime+EstimatedNodeTimeLeft
其中:
CandidateTaskExecuteTime:表示备份任务在资源上的执行完成时间;
EstimatedNodeTimeLeft:表示资源的待释放时间;
故,备份任务在已释放资源的最终完成所需的时间就为CandidateTaskExecuteTime,EstimatedNodeTimeLeft=0,即CandidateTaskTime=CandidateTaskExecuteTime;
而备份任务在待释放资源上执行需要的最终完成时间要多加一个等待资源释放的时间,即CandidateTaskTime=CandidateTaskExecuteTime+EstimatedNodeTimeLeft。
进一步的,备份任务在资源上的执行完成时间CandidateTaskExecuteTime获取方式为:
CandidateTaskExecuteTime=1.0/NodeProgressRate;
其中:NodeProgressRate:表示资源所在节点执行任务的任务进度增长率。
相应的,本发明还提出了一种基于待释放资源列表的MapReduce任务推测执行装置,包括:作业信息记录单元、慢任务列表生成单元、待释放资源列表生成单元以及备份任务选择单元;
所述作业信息记录单元,用于在作业运行过程中,获取并记录作业的运行时信息,通过记录的作业信息,可用于生成慢任务列表和待释放资源列表;
所述慢任务列表生成单元,用于从正在运行的任务中识别出会拖慢整个作业运行进度的慢任务,从作业信息记录单元中获取所有慢任务的剩余完成时间EstimatedTaskTimeLeft,并将这些慢任务按从慢到快的顺序进行排列,生成慢任务列表CandidateTasks[N];
所述待释放资源列表生成单元,用于从正在运行的任务中识别出即将运行结束的任务,从作业信息记录单元中获取任务所在资源的待释放时间EstimatedNodeTimeLeft,获取备份任务在待释放资源和已释放资源上执行需要的最终完成时间CandidateTaskTime,将获取的最终完成时间CandidateTaskTime由小到大进行排序,并只保留总时间小于已释放资源执行完成备份任务所需时间的待释放资源,生成待释放资源列表CandidateNodes[M];
备份任务选择单元,用于对慢任务列表CandidateTasks[N]和待释放资源列表CandidateNodes[M]进行判断,如果M<=N,且慢任务列表中第M个慢任务的剩余完成时间estimatedTaskTimeLeft[M]大于备份任务在待释放资源列表的第M个资源上的最终完成时间candidateTaskTime[M]时,则选择慢任务列表CandidateTasks[M]在该申请任务的空闲资源上进行备份执行,否则不为该空闲资源分配慢任务。
本发明使得慢任务列表不仅是局限在当前申请任务的资源上考虑推测执行,而是在短时间内即将释放的一些资源上考虑推测执行,从而能找到使慢任务更快完成的资源。并且本发明提出的待释放资源列表的思想,可以应用于已有的推测执行算法中,使得其对慢任务可以更高效的执行完成,从而使集群的整体性能得到提高。
附图说明
图1为本发明方法实施例的流程示意图;
图2为本发明装置实施例的连接示意图。
具体实施方式
下面结合附图及实施例对本发明的实施方式作进一步描述。
图1为本发明实施例的流程示意图,该方法包括:
S101、在作业的执行过程中出现空闲资源,该空闲资源向主节点提交任务请求;
S102、判断作业是否存在尚未运行的任务,如果当前作业还有尚未开始运行的任务,则从尚未开始运行的任务中选择一个任务在空闲资源上执行,否则,继续往下执行;
S103、获取需要的作业运行时信息;
S104、寻找并筛选出慢任务,获取所有慢任务的剩余完成时间EstimatedTaskTimeLeft,按剩余完成时间由大到小对慢任务列表进行排序,生成慢任务列表CandidateTasks[N];
慢任务采用以下公式(1)进行筛选:
FinishedTaskProgressRateMean-TaskProgressRate>
(1)
FinishedTaskProgressRateStd*JobSlowTaskThreshold
其中:
FinishedTaskProgressRateMean:表示作业已完成任务的平均任务进度增长率;
TaskProgressRate:表示任务进度增长率;
FinishedTaskProgressRateStd:表示作业已完成任务的任务进度增长率的标准差;
JobSlowTaskThreshold:用于限定慢任务个数的参数。
由公式(2)计算出所有慢任务的剩余完成时间,按剩余完成时间由大到小对慢任务列表排序。
EstimatedTaskTimeLeft=(1-TaskProgress)/TaskProgressRate(2)
其中:
TaskProgress:表示任务进度
EstimatedTaskTimeLeft:表示任务剩余完成时间。
S105、如慢任务列表大小为0,即不存在慢任务,则不需要进行推测执行,否则,继续往下执行;
S106、获取所有正在运行任务所在资源的待释放时间EstimatedNodeTimeLeft,获取备份任务在待释放资源和已释放资源上执行需要的最终完成时间CandidateTaskTime,将获取的最终完成时间CandidateTaskTime由小到大进行排序,并只保留总时间小于已释放资源执行完成备份任务所需时间的待释放资源,生成待释放资源列表CandidateNodes[M];
由公式(3)计算出所有正在运行任务所在资源的待释放时间。
EstimatedNodeTimeLeft=(1.0-TaskProgress)/TaskProgressRate(3)
其中:
EstimatedNodeTimeLeft:表示资源的待释放时间。
由公式(4)计算出备份任务在资源上执行完成所需的时间。
CandidateTaskExecuteTime=1.0/NodeProgressRate(4)
其中:
CandidateTaskExecuteTime:表示备份任务在资源上的执行完成时间
NodeProgressRate:表示资源所在节点执行任务的任务进度增长率。
由公式(5)计算出来的时间作为备份任务在待释放资源和已释放资源上执行需要的最终完成时间CandidateTaskTime。
CandidateTaskTime=CandidateTaskExecuteTime+EstimatedNodeTimeLeft(5)
其中:
CandidateTaskExecuteTime:表示备份任务在资源上的执行完成时间;
EstimatedNodeTimeLeft:表示资源的待释放时间;
故,备份任务在已释放资源的最终完成所需的时间就为CandidateTaskExecuteTime,EstimatedNodeTimeLeft=0,即CandidateTaskTime=CandidateTaskExecuteTime;
而备份任务在待释放资源上执行需要的最终完成时间要多加一个等待资源释放的时间,即CandidateTaskTime=CandidateTaskExecuteTime+EstimatedNodeTimeLeft。
将待释放资源列表按公式(5)计算出来的最终完成时间由小到大进行排序,并只保留总时间小于已释放资源执行完成备份任务所需时间的待释放资源,生成待释放资源列表。待释放资源列表的大小是由备份任务在待释放资源上的最终完成时间小于备份任务在已释放资源上执行完成时间的个数决定的。
S107、对慢任务列表CandidateTasks[N]和待释放资源列表CandidateNodes[M]进行判断,如果M>N,表明当前空闲资源处理任务比较慢,在待释放资源列表中,已释放资源前面存在足够多的更快的待释放资源,则不为该空闲资源分配慢任务,否则向下执行。
S108、如果M<=N,判断第M个慢任务的剩余完成时间estimatedTaskTimeLeft[M]是否大于备份任务在第M个待释放资源上的最终完成时间candidateTaskTime[M],如果大于则进入下一步,否则不为该空闲资源分配慢任务。
因为只有备份任务能比原任务更快完成,这样备份执行才有意义。所以需要满足备份任务在该资源上的预测完成时间小于原任务的剩余完成时间这一条件,否则启动该备份任务只会浪费更多的资源。
S109、选择慢任务candidateTasks[M]在该申请任务的空闲资源上进行备份执行。
LATE推测执行算法总是选择最慢的任务(即candidateTasks[1])进行备份执行,因为一个作业最终完成时间是由最慢的任务决定的。为什么本发明的推测执行算法选择candidateTasks[M]进行备份执行呢?其实本发明的推测执行算法目标也是使最慢的任务尽快完成。本发明隐含着以下预调度算法:
该备份任务选择算法先将candidateTasks[1]预分配给candidateNodes[1],candidateTasks[2]预分配给candidataNodes[2],直到candidateTasks[M]分配给candidateNodes[M]。先解释一下什么叫预分配?因为candidateNodes[M]之前的任务其实是还没有实际释放的,他们并没有申请任务,也不能将任务实际分配到这些资源上。但是通过预测可以发现,这些未释放的资源能比已释放资源candidateNode[M]使任务更快完成。所以本发明暂时不将最慢的任务candidateTasks[1]分配给当前申请任务的资源,而是等待更快的资源释放,然后将最慢的任务分配给更快的资源。这样反而能使慢任务更快完成。
由上面的算法还可以看到,当第i个慢任务的剩余完成时间大于或者等于第i个待释放资源的备份任务预测完成时间,本发明就不为这个资源分配慢任务了。这是为什么?
这是因为慢任务列表是由慢到快排好序的,待释放资源列表是按由快到慢排好序的。所以如果estimatedTaskTimeLeft[i]<=estimatedNodeTimeLeft[i],那么必然有estimatedTaskTimeLeft[i+1]<=estimatedNodeTimeLeft[i],即第i个任务后的所有任务也都不可能满足在第i个资源上执行的条件;同样,必然有estimatedNodeTimeLeft[i+1]>=estimatedNodeTimeLeft[i],即第i个任务也不可能满足在第i个资源以后所有资源执行的条件。而且estimatedTaskTimeLeft[i+1]<=estimatedNodeTimeLeft[i+1]也是肯定成立的。总之,只要列表前面的任务无法满足对应资源上的执行条件,列表后面的任务肯定也无法找到满足条件的资源。所以,当第i个慢任务的剩余完成时间大于或者等于第i个待释放资源的备份任务预测完成时间,我们就可以不为这个资源分配慢任务了。基于该考虑,甚至本发明可以直接比较estimatedTaskTimeLeft[M]是否大于estimatedNodeTimeLeft[M],如果大于就分配第M个任务,否则不为该资源分配任务。
所以本发明备份任务选择算法核心点为:判断M是否大于N,如果大于,则不为该空闲资源分配任务。否则判断estimatedTaskTimeLeft[M]是否大于candidateTaskTime[M],如果大于,则选择candidateTasks[M]进行备份执行,否则不为该资源分配慢任务。
由于一个作业最终完成时间是由最慢的任务决定的,所以首先让最慢的任务从待释放资源列表中挑选能使最慢的任务最快完成的资源。这里慢任务列表是按任务剩余完成时间由大到小的顺序已经排好序的,排在列表最前面的任务即是最慢的任务。同样,待释放资源列表是按能使任务完成由快到慢的顺序进行排列的,排在最前面的资源能使任务完成越快。
下面通过一个实施例进一步描述该备份任务选择算法,可以假设N=5,M=3,N表示慢任务列表的大小,M表示待释放资源列表的大小。其中,待释放资源列表的最后一个资源就是申请任务的已释放资源,备份任务选择算法就是要为已释放资源选择一个任务。
慢任务列表如表1所示,把任务candidateTasks[i]简写为CT[i]:
CT[1] | CT[2] | CT[3] | CT[4] | CT[5] |
表1:慢任务列表
待释放资源列表如表2所示,把candidateNodes[j]简写为CN[j]:
CN[1] | CN[2] | CN[3] |
表2:待释放资源列表
本发明的备份任务选择算法直接判断estimatedTaskTimeLeft[3]是否大于estimatedNodeTimeLeft[3],如果大于,就将CT[3]分配给CN[3],否则不为CN[3]分配任务,算法结束。
而LATE算法以及其他的一些算法都是将CT[1]分配给CN[3],即总是选择最慢的任务进行备份执行。
由最后的任务分配结果可以看出本发明的推测执行算法与别的推测执行算法的区别。但通过本发明的待释放资源列表可以看出,CN[3]并不是能使CT[1]最快完成的资源。CN[1]和CN[2]都能使慢任务更快完成。根据尽量使越慢的任务越快完成的准则,本发明将CT[1]分配给了CN[1],CT[2]分配给了CN[2]。所以本发明给CN[3]分配的是CT[3]任务,而不是最慢的CT[1]任务。根据这样的分配策略,本发明最终将CT[1]发配给了CN[1],其他算法将CT[1]分配给了CN[3],而根据待释放资源列表的排序可知,CN[1]比CN[3]能使任务更快完成。所以,从理论分析上,本发明的推测执行算法能使慢任务更快完成。
为了验证本发明的可行性和有效性,将本发明的推测执行算法(简称Hadoop-My)与LATE算法以及不采用推测执行算法Hadoop(简称Hadoop-None)进行实验对比。
实验环境是由7个异构节点组成的Hadoop集群。
在集群中,Hadoop版本为0.21,使用的操作系统为Ubuntu14.04。
硬件配置情况如表3所示:
表3:硬件配置情况
实验选择WordCount测试程序运行6G的数据,每个算法分别运行20次,平均运行时间(单位:毫秒)对比表格如下。
算法 | 平均运行时间 |
Hadoop-None | 4’56” |
LATE | 4’34” |
Hadoop-My | 4’26” |
算法 | 平均备份任务数 | 成功数 |
LATE | 6 | 3 |
Hadoop-My | 3 | 2 |
由实验结果可以看出,LATE算法存在较多运行失败的备份任务,本发明的算法保证了备份任务以较大的概率执行成功,减少了备份执行的任务数,从而可以使更多的空闲资源用于别的作业的执行。总体上提高了集群的效率。另外,LATE算法不能使最慢的任务在更快的资源上运行,如当前申请任务的资源较慢,则慢任务在该资源上备份执行使得慢任务并不能很快完成。而本发明的算法会比较当前申请任务的资源与即将释放的资源,如即将释放的资源能使慢任务更快完成,则最慢的任务不会分配给申请任务的资源,而是等待能使任务更快完成的资源,从而使得作业能在更短的时间内完成。
相应的,请参阅图2,本实施例中还提供了一种基于待释放资源列表的MapReduce任务推测执行装置,包括:作业信息记录单元201、慢任务列表生成单元202、待释放资源列表生成单元203以及备份任务选择单元204;
所述作业信息记录单元201,用于在作业运行过程中,获取并记录作业的运行时信息,通过记录的作业信息,可用于生成慢任务列表和待释放资源列表;
所述慢任务列表生成单元202,用于从正在运行的任务中识别出会拖慢整个作业运行进度的慢任务,从作业信息记录单元201中获取所有慢任务的剩余完成时间EstimatedTaskTimeLeft[M],并将这些慢任务按从慢到快的顺序进行排列,生成慢任务列表CandidateTasks[N];
所述待释放资源列表生成单元203,用于从正在运行的任务中识别出即将运行结束的任务,从作业信息记录单元201中获取任务所在资源的待释放时间EstimatedNodeTimeLeft,获取备份任务在待释放资源或已释放资源上执行需要的最终完成时间CandidateTaskTime,将获取的最终完成时间CandidateTaskTime由小到大进行排序,并只保留总时间小于已释放资源执行完成备份任务所需时间的待释放资源,生成待释放资源列表CandidateNodes[M];
备份任务选择单元204,用于对慢任务列表CandidateTasks[N]和待释放资源列表CandidateNodes[M]进行判断,如果M<=N,且慢任务的剩余完成时间estimatedTaskTimeLeft[M]大于备份任务在待释放资源上的最终完成时间candidateTaskTime[M]时,则选择慢任务candidateTasks[M]在该申请任务的空闲资源上进行备份执行,否则不为该空闲资源分配慢任务。
以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (5)
1.一种基于待释放资源列表的MapReduce任务推测执行方法,其特征在于,所述方法包括:
作业运行过程中出现空闲资源,该空闲资源向主节点提交任务请求;
判断作业是否存在尚未运行的任务,如果当前作业还有尚未开始运行的任务,则从尚未开始运行的任务中选择一个任务在空闲资源上执行,否则,继续往下执行;
获取需要的作业运行时信息;
寻找慢任务,获取所有慢任务的剩余完成时间EstimatedTaskTimeLeft,按剩余完成时间由大到小对慢任务列表进行排序,生成慢任务列表CandidateTasks[N];如慢任务列表大小为0,即不存在慢任务,则不需要进行推测执行,否则,继续往下执行;
获取所有正在运行任务所在资源的待释放时间EstimatedNodeTimeLeft,获取备份任务在待释放资源和已释放资源上执行需要的最终完成时间CandidateTaskTime,将获取的最终完成时间CandidateTaskTime由小到大进行排序,并只保留总时间小于已释放资源执行完成备份任务所需时间的待释放资源,生成待释放资源列表CandidateNodes[M];
对慢任务列表CandidateTasks[N]和待释放资源列表CandidateNodes[M]进行判断,如果M<=N,且慢任务列表中第M个慢任务的剩余完成时间estimatedTaskTimeLeft[M]大于备份任务在待释放资源列表的第M个资源上的最终完成时间candidateTaskTime[M]时,则选择慢任务candidateTasks[M]在该申请任务的空闲资源上进行备份执行,否则不为该空闲资源分配慢任务。
2.根据权利要求1所述的一种基于待释放资源列表的MapReduce任务推测执行方法,其特征在于,所述慢任务采用以下公式进行筛选:
FinishedTaskProgressRateMean-TaskProgressRate>
FinishedTaskProgressRateStd*JobSlowTaskThreshold
其中:
FinishedTaskProgressRateMean:表示作业已完成任务的平均任务进度增长率;
TaskProgressRate:表示任务进度增长率;
FinishedTaskProgressRateStd:表示作业已完成任务的任务进度增长率的标准差;
JobSlowTaskThreshold:用于限定慢任务个数的参数。
3.根据权利要求1所述的一种基于待释放资源列表的MapReduce任务推测执行方法,其特征在于,所述备份任务在待释放资源和已释放资源上执行需要的最终完成时间CandidateTaskTime获取方法如下:
CandidateTaskTime=CandidateTaskExecuteTime+EstimatedNodeTimeLeft
其中:
CandidateTaskExecuteTime:表示备份任务在资源上的执行完成时间;
EstimatedNodeTimeLeft:表示资源的待释放时间;
故,备份任务在已释放资源的最终完成所需的时间就为CandidateTaskExecuteTime,EstimatedNodeTimeLeft=0,即CandidateTaskTime=CandidateTaskExecuteTime;
而备份任务在待释放资源上执行需要的最终完成时间要多加一个等待资源释放的时间,即CandidateTaskTime=CandidateTaskExecuteTime+EstimatedNodeTimeLeft。
4.根据权利要求3所述的一种基于待释放资源列表的MapReduce任务推测执行方法,其特征在于,备份任务在资源上执行完成所需的时间CandidateTaskExecuteTime获取方式为:
CandidateTaskExecuteTime=1.0/NodeProgressRate;
其中:NodeProgressRate:表示资源所在节点执行任务的任务进度增长率。
5.一种基于待释放资源列表的MapReduce任务推测执行装置,其特征在于,包括:作业信息记录单元、慢任务列表生成单元、待释放资源列表生成单元以及备份任务选择单元;
所述作业信息记录单元,用于在作业运行过程中,获取并记录作业的运行时信息,通过记录的作业信息,可用于生成慢任务列表和待释放资源列表;
所述慢任务列表生成单元,用于从正在运行的任务中识别出会拖慢整个作业运行进度的慢任务,从作业信息记录单元中获取所有慢任务的剩余完成时间EstimatedTaskTimeLeft,并将这些慢任务按从慢到快的顺序进行排列,生成慢任务列表CandidateTasks[N];
所述待释放资源列表生成单元,用于从正在运行的任务中识别出即将运行结束的任务,从作业信息记录单元中获取任务所在资源的待释放时间EstimatedNodeTimeLeft,获取备份任务在待释放资源或已释放资源上执行需要的最终完成时间CandidateTaskTime,将获取的最终完成时间CandidateTaskTime由小到大进行排序,并只保留总时间小于已释放资源执行完成备份任务所需时间的待释放资源,生成待释放资源列表CandidateNodes[M];
备份任务选择单元,用于对慢任务列表CandidateTasks[N]和待释放资源列表CandidateNodes[M]进行判断,如果M<=N,且慢任务列表中第M个慢任务的剩余完成时间estimatedTaskTimeLeft[M]大于备份任务在待释放资源列表的第M个资源上的最终完成时间candidateTaskTime[M]时,则选择慢任务candidateTasks[M]在该申请任务的空闲资源上进行备份执行,否则不为该空闲资源分配慢任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510477121.XA CN105138405B (zh) | 2015-08-06 | 2015-08-06 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510477121.XA CN105138405B (zh) | 2015-08-06 | 2015-08-06 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105138405A true CN105138405A (zh) | 2015-12-09 |
CN105138405B CN105138405B (zh) | 2019-05-14 |
Family
ID=54723761
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510477121.XA Active CN105138405B (zh) | 2015-08-06 | 2015-08-06 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105138405B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105808334A (zh) * | 2016-03-04 | 2016-07-27 | 山东大学 | 一种基于资源重用的MapReduce短作业优化系统及方法 |
CN105868070A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 确定任务消耗资源的方法及装置 |
CN106201681A (zh) * | 2016-06-30 | 2016-12-07 | 湖南大学 | Hadoop平台下基于预释放资源列表的任务调度算法 |
CN109213752A (zh) * | 2018-08-06 | 2019-01-15 | 国网福建省电力有限公司信息通信分公司 | 一种基于cim的数据清洗转换方法 |
CN111858150A (zh) * | 2019-04-26 | 2020-10-30 | Emc知识产权控股有限公司 | 用于大规模数据备份的管理的系统和方法 |
WO2020248227A1 (zh) * | 2019-06-13 | 2020-12-17 | 东北大学 | 一种基于负载预测的Hadoop计算任务推测执行方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110047A1 (en) * | 2010-11-15 | 2012-05-03 | International Business Machines Corporation | Reducing the Response Time of Flexible Highly Data Parallel Tasks |
CN103023805A (zh) * | 2012-11-22 | 2013-04-03 | 北京航空航天大学 | 一种MapReduce系统 |
CN104102794A (zh) * | 2014-08-06 | 2014-10-15 | 浪潮电子信息产业股份有限公司 | 一种hadoop调度法的优化方法 |
CN104199739A (zh) * | 2014-08-26 | 2014-12-10 | 浪潮(北京)电子信息产业有限公司 | 一种基于负载均衡的推测式Hadoop调度方法 |
CN104636204A (zh) * | 2014-12-04 | 2015-05-20 | 中国联合网络通信集团有限公司 | 一种任务调度方法与装置 |
-
2015
- 2015-08-06 CN CN201510477121.XA patent/CN105138405B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20120110047A1 (en) * | 2010-11-15 | 2012-05-03 | International Business Machines Corporation | Reducing the Response Time of Flexible Highly Data Parallel Tasks |
CN103023805A (zh) * | 2012-11-22 | 2013-04-03 | 北京航空航天大学 | 一种MapReduce系统 |
CN104102794A (zh) * | 2014-08-06 | 2014-10-15 | 浪潮电子信息产业股份有限公司 | 一种hadoop调度法的优化方法 |
CN104199739A (zh) * | 2014-08-26 | 2014-12-10 | 浪潮(北京)电子信息产业有限公司 | 一种基于负载均衡的推测式Hadoop调度方法 |
CN104636204A (zh) * | 2014-12-04 | 2015-05-20 | 中国联合网络通信集团有限公司 | 一种任务调度方法与装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105868070A (zh) * | 2015-12-25 | 2016-08-17 | 乐视网信息技术(北京)股份有限公司 | 确定任务消耗资源的方法及装置 |
CN105808334A (zh) * | 2016-03-04 | 2016-07-27 | 山东大学 | 一种基于资源重用的MapReduce短作业优化系统及方法 |
CN106201681A (zh) * | 2016-06-30 | 2016-12-07 | 湖南大学 | Hadoop平台下基于预释放资源列表的任务调度算法 |
CN106201681B (zh) * | 2016-06-30 | 2019-04-26 | 湖南大学 | Hadoop平台下基于预释放资源列表的任务调度方法 |
CN109213752A (zh) * | 2018-08-06 | 2019-01-15 | 国网福建省电力有限公司信息通信分公司 | 一种基于cim的数据清洗转换方法 |
CN111858150A (zh) * | 2019-04-26 | 2020-10-30 | Emc知识产权控股有限公司 | 用于大规模数据备份的管理的系统和方法 |
WO2020248227A1 (zh) * | 2019-06-13 | 2020-12-17 | 东北大学 | 一种基于负载预测的Hadoop计算任务推测执行方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105138405B (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105138405A (zh) | 基于待释放资源列表的MapReduce任务推测执行方法和装置 | |
US8381212B2 (en) | Dynamic allocation and partitioning of compute nodes in hierarchical job scheduling | |
CN105117286B (zh) | MapReduce中任务的调度方法和流水化执行方法 | |
WO2019153973A1 (zh) | 事件驱动方法及装置 | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN109144710B (zh) | 资源调度方法、装置及计算机可读存储介质 | |
WO2016078008A1 (zh) | 调度数据流任务的方法和装置 | |
CN105912387A (zh) | 数据处理作业调度方法及装置 | |
CN104243617A (zh) | 一种异构集群中面向混合负载的任务调度方法及系统 | |
US20210390405A1 (en) | Microservice-based training systems in heterogeneous graphic processor unit (gpu) cluster and operating method thereof | |
CN110580195A (zh) | 一种基于内存热插拔的内存分配方法和装置 | |
CN113886034A (zh) | 任务调度方法、系统、电子设备及存储介质 | |
CN108509280A (zh) | 一种基于推送模型的分布式计算集群本地性调度方法 | |
CN113590281A (zh) | 基于动态集中式调度的分布式并行模糊测试方法及系统 | |
US10599472B2 (en) | Information processing apparatus, stage-out processing method and recording medium recording job management program | |
CN108984105B (zh) | 对网络存储设备中的复制任务进行分配的方法和设备 | |
JP7122299B2 (ja) | 処理タスクを実行するための方法、装置、デバイス、および記憶媒体 | |
Tang et al. | A network load perception based task scheduler for parallel distributed data processing systems | |
CN104503820B (zh) | 一种基于异步启动的Hadoop优化方法 | |
CN110750362A (zh) | 生物信息的分析方法、装置和存储介质 | |
Jung et al. | Dynamic scheduling for speculative execution to improve MapReduce performance in heterogeneous environment | |
CN117909061A (zh) | 基于gpu混合集群的模型任务处理系统和资源调度方法 | |
CN116483546A (zh) | 分布式训练任务调度方法、装置、设备及存储介质 | |
CN112783613B (zh) | 一种单元调度的方法和装置 | |
CN115712524A (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 |