当前位置: 首页 > 专利查询>东北大学专利>正文

一种基于负载预测的Hadoop计算任务推测执行方法技术

技术编号:22075359 阅读:24 留言:0更新日期:2019-09-12 14:01
本发明专利技术提出一种基于负载预测的Hadoop计算任务推测执行方法,包括:资源管理器对备份任务数自适应调整,得到最大备份任务数;预测执行任务完成时间;将最大备份任务数与APPmaster设置的备份任务数比较,取最小值作为备份任务数阈值;判断备份任务数是否小于等于备份任务数阈值;判断任务数是否小于总任务数;预测备份任务完成时间;判断备份任务完成时间和执行任务完成时间大小,确定是否开启备份;本发明专利技术保证了当集群计算资源紧张的情况下,备份任务的开启不会对其他作业产生影响;执行任务的完成时间预测算法,有效避免了迟滞任务的误判导致计算资源浪费;备份任务完成时间预测算法,节约计算节点的计算资源,减少作业的完成时间,提高了集群的整体性能。

A Presumptive Execution Method of Hadoop Computing Tasks Based on Load Prediction

【技术实现步骤摘要】
一种基于负载预测的Hadoop计算任务推测执行方法
本专利技术涉及本专利技术涉及分布式、大数据、云计算领域,具体涉及一种基于负载预测的Hadoop计算任务推测执行方法。
技术介绍
计算任务推测执行是指在分布式集群环境下,因为程序bug,负载不均衡或者资源分布不均,造成同一个作业的多个计算任务运行速度不一致,有的计算任务运行速度明显慢于其他计算任务,这些计算任务拖慢了作业的整体执行进度,为了避免这种情况发生,Hadoop利用以空间换时间的思想,会为该计算任务启动备份任务,让该备份与原始任务同时运行,哪个先运行完,则使用它的结果。当AppMaster检测到Map计算任务或Reduce计算任务中运行最慢的任务的剩余完成时间大于已完成任务的平均执行时间,则会为该任务启动备份任务。当前的Hadoop平台下,为了加速用户作业的完成,Hadoop平台会采用以时间换空间的策略,对迟滞任务开启备份来加速作业的完成进度。当前Hadoop中任务推测执行机制并没有考虑计算节点负载变化对任务执行进度的影响,以恒定的速率来反映任务的执行情况,也没有考虑当集群计算资源紧缺时,任务推测执行机制对其他做作业带来的影响。在Hadoop平台中,任务推测执行对作业完成时间有着重要影响,如何优化任务推测执行是优化Hadoop平台的关键步骤之一。
技术实现思路
基于以上技术问题,本专利技术所述的一种基于负载预测的Hadoop计算任务推测执行方法,具体包括三部分:备份任务数自适应调整算法部分,执行任务完成时间预测算法部分,备份任务完成时间预测算法部分。备份任务数自适应调整算法,AppMaster感知当前的集群负载状态,对备份任务的总数量做出调整,减少备份任务对其他作业的干扰,避免过多的备份任务产生资源抢占。执行任务完成时间预测算法,通过历史数据建立起任务完成时间与计算节点负载,任务进度的XGboost模型,每个运行的任务根据XGboost模型实时计算出任务的完成时间,并且将信息发送给AppMaster。备份任务完成时间预测算法,利用计算节点的负载通过XGboost模型预测备份任务的完成时间,选择合理的节点来开启备份任务,减少作业的完成时间。一种基于负载预测的Hadoop计算任务推测执行方法,具体包括如下步骤:步骤1:在作业提交后计算总任务数,且资源管理器对备份任务数自适应调整,得到最大备份任务数,具体包括步骤1.1~步骤1.3:步骤1.1:针对最近一段时间T,将空闲计算节点向资源管理器申请计算资源的时间点保存到链表中;步骤1.2:通过集群空闲度感知方法计算集群空闲度ρ,具体包括:步骤1.2.1:判断链表长度List.sise是否大于阈值Lmax。步骤1.2.1.1:当List.sise>Lmax时,判断链表尾节点和头节点的时间差T是否大于阈值Tmax。步骤1.2.1.1.1:当T>Tmax时,移除头节点,返回步骤1.2.1。步骤1.2.1.1.2:当T≤Tmax时,跳到步骤1.2.2。步骤1.2.1.2:当List.sise≤Lmax时,继续存储计算节点向资源管理器申请计算资源的时间点,返回步骤1.2.1。步骤1.2.2:根据公式(1)算集群空闲度ρ。其中,ρ代表集群空闲度,List.size代表链表长度,T代表链表尾节点和头节点的时间差。步骤1.3:根据公式(2)和公式(3)算集群最大备份任务数TotalBackup。其中,ts代表一个计算周期,TotalBackup代表整个集群能开启的最大备份任务数,τ代表中间变量,N代表任务总数。步骤2:预测执行任务完成时间,具体包括:步骤2.1:构建权值XGboost模型WXG(WeightXGboost)和剩余完成时间的XGboost模型TXG(TimeXGboost)。步骤2.2:Map执行任务由map和sort两个阶段组成,预测Map执行任务完成时间方法,具体包括:步骤2.2.1:输入矩阵x1[各阶段的负载信息]和x2[节点负载预测信息,当前阶段剩余的数据量]。步骤2.2.2:根据公式(4),通过权值XGboost模型WXG(WeightXGboost)计算map阶段与sort阶段的权值wmap,wsort。wmap,wsort=WXG(x1)(4)其中,wmap代表map阶段权值,wsort代表sort阶段权值,x1代表各阶段负载信息,WXG(x)代表权值XGboost模型。步骤2.2.3:根据公式(5),通过剩余完成时间的XGboost模型TXG(TimeXGboost)计算每个阶段剩余完成时间Tremain。Tremain=TXG(x2)(5)其中,Tremain代表各阶段剩余完成时间,x2代表节点负载预测信息和当前阶段剩余的数据量,TXG(x)代表剩余完成时间的XGboost模型。步骤2.2.4:根据公式(6)计算每个阶段的进度progm。其中,progm代表每个阶段的进度,runtime代表每个阶段已经运行的时间。步骤2.2.5:根据公式(7)计算Map执行任务完成进度progMap。progMap=∑i∈{map,sort}wi*progi(7)其中,progMap代表Map执行任务完成进度,wi代表每个阶段的权值,progi代表每个阶段进度。步骤2.2.6:根据公式(8)计算Map执行任务完成时间EstimatedEndTime。其中,EstimatedEndTime代表Map执行任务完成时间,now表示当前时刻,starttime表示任务开始时刻。步骤2.3Reduce执行任务分为copy,sort,reduce三个阶段,预测Reduce执行任务完成时间,具体包括:步骤2.3.1:输入矩阵x1[各阶段的负载信息],x2[节点负载预测信息,当前阶段剩余的数据量]。步骤2.3.2:根据公式(9),通过权值XGboost模型WXG(WeightXGboost)计算copy,sort,reduce三个阶段的权值wcopy,wsort,wreduce。wcopy,wsort,wreduce=WXG(x1)(9)其中,wcopy代表copy阶段权值,wsort代表sort阶段权值,wreduce代表reduce阶段权值。步骤2.3.3:根据公式(10),通过剩余完成时间的XGboost模型TXG(TimeXGboost)计算每个阶段剩余完成时间Tremain。Tremain=TXG(x2)(10)步骤2.3.4:根据公式(11)计算每个阶段的进度progm。步骤2.3.5:根据公式(12)计算Reduce执行任务完成进度progReduce。progReduce=∑i∈{copy,sort,reduce}wi*progi(12)其中,progReduce代表Reduce执行任务完成进度。步骤2.3.6:根据公式(13)计算Reduce执行任务完成时间EstimatedEndTime。步骤3:将最大备份任务数与APPmaster设置的备份任务数比较,取最小值作为备份任务数阈值,并设置初始备份任务数为0,初始任务数为0;步骤4:判断备份任务数是否小于等于备份任务数阈值,若为是,则转到步骤5;若为否,则将备份任务数返回资源管理器;步骤5:判断任务数是否小于总任务数,若为是,则转到步骤6,若为否,则将备份本文档来自技高网...

【技术保护点】
1.一种基于负载预测的Hadoop计算任务推测执行方法,其特征在于,具体步骤如下:步骤1:在作业提交后计算总任务数,且资源管理器对备份任务数自适应调整,得到最大备份任务数,具体包括步骤1.1~步骤1.3:步骤1.1:针对最近一段时间T,将空闲计算节点向资源管理器申请计算资源的时间点保存到链表中;步骤1.2:通过集群空闲度感知方法计算集群空闲度ρ,具体包括:步骤1.2.1:判断链表长度List.sise是否大于阈值Lmax;步骤1.2.1.1:当List.sise>Lmax时,判断链表尾节点和头节点的时间差T是否大于阈值Tmax;步骤1.2.1.1.1:当T>Tmax时,移除头节点,返回步骤1.2.1;步骤1.2.1.1.2:当T≤Tmax时,跳到步骤1.2.2;步骤1.2.1.2:当List.sise≤Lmax时,继续存储计算节点向资源管理器申请计算资源的时间点,返回步骤1.2.1;步骤1.2.2:根据公式(1)算集群空闲度p.

【技术特征摘要】
1.一种基于负载预测的Hadoop计算任务推测执行方法,其特征在于,具体步骤如下:步骤1:在作业提交后计算总任务数,且资源管理器对备份任务数自适应调整,得到最大备份任务数,具体包括步骤1.1~步骤1.3:步骤1.1:针对最近一段时间T,将空闲计算节点向资源管理器申请计算资源的时间点保存到链表中;步骤1.2:通过集群空闲度感知方法计算集群空闲度ρ,具体包括:步骤1.2.1:判断链表长度List.sise是否大于阈值Lmax;步骤1.2.1.1:当List.sise>Lmax时,判断链表尾节点和头节点的时间差T是否大于阈值Tmax;步骤1.2.1.1.1:当T>Tmax时,移除头节点,返回步骤1.2.1;步骤1.2.1.1.2:当T≤Tmax时,跳到步骤1.2.2;步骤1.2.1.2:当List.sise≤Lmax时,继续存储计算节点向资源管理器申请计算资源的时间点,返回步骤1.2.1;步骤1.2.2:根据公式(1)算集群空闲度p.其中,ρ代表集群空闲度,List.size代表链表长度,T代表链表尾节点和头节点的时间差;步骤1.3:根据公式(2)和公式(3)算集群最大备份任务数TotalBackup;其中,ts代表一个计算周期,TotalBackup代表整个集群能开启的最大备份任务数,τ代表中间变量,N代表任务总数;步骤2:预测执行任务完成时间;步骤3:将最大备份任务数与APPmaster设置的备份任务数比较,取最小值作为备份任务数阈值,并设置初始备份任务数为0,初始任务数为0;步骤4:判断备份任务数是否小于等于备份任务数阈值,若为是,则转到步骤5;若为否,则将备份任务数返回资源管理器;步骤5:判断任务数是否小于总任务数,若为是,则转到步骤6,若为否,则将备份任务数返回资源管理器;步骤6:预测备份任务完成时间;步骤7:判断备份任务完成时间EstmitedEndTime备份和执行任务完成时间EstmitedEndTime大小,当EstmitedEndTime备份之EstmitedEndTime时,不开启备份,任务数加1,转到步骤4;当EstmitedEndTime备份<EstmitedEndTime时,开启备份,备份任务数加1,任务数加1,转到步骤4。2.根据权利要求1所述基于负载预测的Hadoop计算任务推测执行方法,其特征在于,所述预测执行任务完成时间,具体包括:步骤2.1:构建权值XGboost模型WXG和剩余完成时间的XGboost模型TXG;步骤2.2:Map执行任务由map和sort两个阶段组成,预测Map执行任务完成时间方法,具体包括:步骤2.2.1:输入矩阵x1[各阶段的负载信息]和x2[节点负载预测信息,当前阶段剩余的数据量];步骤2.2.2:根据公式(4),通过权值XGboost模型WXG计算map阶段与sort阶段的权值wmap,wsort;wmap,wsort=WXG(x1)(4)其中,wmap代表map阶段权值,wsort代表sort阶段权值,x1代表各阶段负载信息,WXG(x)代表权值XGboost模型;步骤2.2.3:根据公式(5),通过剩余完成时间的XGboost模型TXG(TimeXGboost)计算每个阶段剩余完成时间Tremain;Tremain=TXG(x2)(5)其中,Tremain代表各阶段剩余完成时间,x2代表节点...

【专利技术属性】
技术研发人员:张斌李薇郭军刘晨侯帅周杜凯柳波王馨悦张娅杰张瀚铎刘文凤王嘉怡
申请(专利权)人:东北大学
类型:发明
国别省市:辽宁,21

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

1