《一种HADOOP调度法的优化方法.pdf》由会员分享,可在线阅读,更多相关《一种HADOOP调度法的优化方法.pdf(6页珍藏版)》请在专利查询网上搜索。
1、10申请公布号CN104102794A43申请公布日20141015CN104102794A21申请号201410382956222申请日20140806G06F17/5020060171申请人浪潮电子信息产业股份有限公司地址250101山东省济南市高新区舜雅路1036号72发明人刘晶74专利代理机构济南信达专利事务所有限公司37100代理人姜明54发明名称一种HADOOP调度法的优化方法57摘要本发明公开了一种HADOOP调度法的优化方法,属于计算机软件及并行计算技术领域,方法如下通过调整HADOOP任务各阶段的权值,准确地确定出任务进度值,掌握任务的剩余完成时间;找到真正的掉队任务,并在正。
2、常节点上进行推测执行;根据网络的负载情况,不断改变后备任务的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。本发明的一种HADOOP调度法的优化方法和现有技术相比,具有的有效果是对任务各阶段的权值进行调整,根据不同的作业进行不同权值的设置,使其更接近真实值,能够帮助更准确地计算任务的进度值、进程速率与预计剩余完成时间。51INTCL权利要求书1页说明书3页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书3页附图1页10申请公布号CN104102794ACN104102794A1/1页21一种HADOOP调度法的优化方法,其特征在于,采用任务各阶段。
3、进度值选取模块、申请任务的TASKTRACKER是否为掉队节点判定模块、掉队任务判定模块、掉队任务排序模块以及后备任务建立模块;方法如下通过调整HADOOP任务各阶段的权值,准确地确定出任务进度值,掌握任务的剩余完成时间;找到真正的掉队任务,并在正常节点上进行推测执行;根据网络的负载情况,不断改变后备任务的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。2根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的任务各阶段进度值选取模块可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,从而准确地确定任务的进度值与进度速率。3根据权利要求1所述的一种HA。
4、DOOP调度法的优化方法,其特征在于,所述的申请任务的TASKTRACKER是否为掉队节点判定模块,通过确定TASKTRACKER的速率,准确判定申请任务的TASKTRACKER是不是掉队者,如是,则将掉队任务的后备任务交由该TASKTRACKER执行。4根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的掉队任务判定模块通过一个任务的MAP任务的进程速率以及REDUCE任务的进程速率,准确判定该任务是否为掉队任务。5根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的掉队任务排序模块通过确定掉队任务队列中每个任务预计完成的剩余时间并对其排序,准确判定任。
5、务优先级。6根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的后备任务建立模块通过系统的负载量和系统的处理能力的比值来确定掉队任务的情况,当一些TASKTRACKER空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。权利要求书CN104102794A1/3页3一种HADOOP调度法的优化方法0001技术领域0002本发明涉及计算机软件及并行计算技术领域,具体地说是一种HADOOP调度法的优化方法。背景技术0003随着计算机技术和互联网技术的迅猛发展,网络普及率和互联网用户的规模也在逐年攀升,用户规模不断攀升与数据处理量迅速增长的双重刺激为互联网应用带来了新的挑战。首。
6、先,海量的数据需要巨大规模的存储资源作为基础,其次网络应用对数据的依赖性增加,使得对海量数据进行计算和处理的能力的需求越来越强烈,维护这些应用程序的数据存储的成本和数据计算处理的成本越来越高。在应用需求和相关技术发展的推动下,云计算作为一种新的模型被提了出来,它从技术上解决了大规模并行计算、海量数据分布式存储、海量数据实时备份和应用高度集成等问题。GOOGLE研发出了简单而又高效的云计算技术,为了对GOOGLE云计算技术有更加深入的了解,APACHE提出了分布式计算框架HADOOP,对成千上万的任务进行调度的海量数据并行处理系统,HADOOP的调度器负责所有作业与其任务调度的整个过程,包括如何。
7、选择作业和任务,如何选择任务的执行者等。衡量调度器优劣的标准之一就是系统对任务的响应时间。选择合适的调度程序不仅能够缩短系统的响应时间,而且能够改善HADOOP的执行能力和交互能力,因此对HADOOP调度法的研究和改进工作具有非常重要的意义。发明内容0004本发明的技术任务是提供一种HADOOP调度法的优化方法。0005本发明的技术任务是按以下方式实现的,该HADOOP调度法的优化方法采用任务各阶段进度值选取模块、申请任务的TASKTRACKER是否为掉队节点判定模块、掉队任务判定模块、掉队任务排序模块以及后备任务建立模块;方法如下通过调整HADOOP任务各阶段的权值,准确地确定出任务进度值,。
8、掌握任务的剩余完成时间;找到真正的掉队任务,并在正常节点上进行推测执行;根据网络的负载情况,不断改变后备任务的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。0006所述的任务各阶段进度值选取模块可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,从而准确地确定任务的进度值与进度速率。0007所述的申请任务的TASKTRACKER是否为掉队节点判定模块,通过确定TASKTRACKER的速率,准确判定申请任务的TASKTRACKER是不是掉队者,如是,则将掉队任务的后备任务交由该TASKTRACKER执行。0008所述的掉队任务判定模块通过一个任务的MAP任务的进程速率。
9、以及REDUCE任务说明书CN104102794A2/3页4的进程速率,准确判定该任务是否为掉队任务。0009所述的掉队任务排序模块通过确定掉队任务队列中每个任务预计完成的剩余时间并对其排序,准确判定任务优先级。0010所述的后备任务建立模块通过系统的负载量和系统的处理能力的比值来确定掉队任务的情况,当一些TASKTRACKER空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。0011本发明的一种HADOOP调度法的优化方法和现有技术相比,具有的有效果是对任务各阶段的权值进行调整,根据不同的作业进行不同权值的设置,使其更接近真实值,能够帮助更准确地计算任务的进度值、进程速率与预计剩余完成。
10、时间。根据系统中的负载情况,对后备任务数量上限进行动态调整,避免由于过度推测执行带来系统的性能下降,更好地利用推测执行机制帮助改善任务的响应时间。附图说明0012附图为一种HADOOP调度法的优化方法的流程示意图。具体实施方式0013实施例1该HADOOP调度法的优化方法采用任务各阶段进度值选取模块、申请任务的TASKTRACKER是否为掉队节点判定模块、掉队任务判定模块、掉队任务排序模块以及后备任务建立模块。0014方法如下通过调整HADOOP任务各阶段的权值,准确地确定出任务进度值,掌握任务的剩余完成时间;找到真正的掉队任务,并在正常节点上进行推测执行;根据网络的负载情况,不断改变后备任务。
11、的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。0015任务各阶段进度值选取模块可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,从而准确地确定任务的进度值与进度速率。具体步骤为通过实验数据对WORDCOUNT任务的各阶段进度值进行估算,并记录这些参考值。在执行其他任务时,可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,这能够帮助算法更准确地计算任务的进度值与进度速率,以便更好地推测执行后备任务。0016申请任务的TASKTRACKER是否为掉队节点判定模块,通过确定TASKTRACKER的速率,准确判定申请任务的TASKTRACKER是不是掉队者,如是。
12、,则将掉队任务的后备任务交由该TASKTRACKER执行。具体步骤为判断申请任务的TASKTRACKER是否为掉队节点,SI用来区分正常的MAPTASKTRACKER和掉队的MAPTASKTRACKER。RI用来区分正常的REDUCETASKTRACKER和掉队的REDUCETASKTRACKER。每个TASKTRACKER只运行在一个节点上,所以掉队节点就等同于掉队TASKTRACKER。假设系统里有N个TASKTRACKER,第I个TASKTRACKER的速率,对于MAP任务是TIPR_M,对于REDUCE任务是TIPR_R,平均速率为是APR_M、APR_R,如果有J个MAP任务和K个R。
13、EDUCE任务运行在第I个说明书CN104102794A3/3页5TASKTRACKER上,则TIPR_M,TIPR_R,ATPR_M,ATPR_R,对于运行速率,如果它满足TIPR_M1SIATPR_M,就可判定是一个掉队的MAPTASKTRACKER,TIPR_R1RIATPR_R,就可判定是一个掉队的REDUCETASKTRACKER。SI和RI的值需要通过大量实验来确定。如果值太小,就会将一些正常TASKTRACKER误判为掉队TASKTRACKER,如果值太大,则会将一些掉队TASKTRACKER误判为是正常TASKTRACKER。只有当申请任务的TASKTRACKER不是掉队者时,。
14、才将掉队任务的后备任务交由该TASKTRACKER执行。0017掉队任务判定模块通过一个任务的MAP任务的进程速率以及REDUCE任务的进程速率,准确判定该任务是否为掉队任务。具体步骤为ST被用来区分正常运行的MAP任务和掉队的MAP任务。RT被用来区分正常运行的REDUCE任务和掉队的REDUCE任务。如果MAP任务I的进程速率和所有正在运行任务的平均进程速率满足公式PRI_M1STAPR_M,,任务I就被认为是掉队的MAP任务。如果REDUCE任务I的进程速率和所有正在运行任务的平均进程速率满足PRI_R1RTAPR_R,任务I就被认为是掉队的REDUCE任务,其中APR_M、APR_R。。
15、如果ST和RT值太小,就会将一些正常运行的任务误判为是掉队任务,如果值很大,则会将一些掉队任务误判为是正常运行的任务。将掉队的MAP任务和REDUCE任务分别放入掉队MAP任务队列与掉队REDUCE任务队列中去。0018掉队任务排序模块通过确定掉队任务队列中每个任务预计完成的剩余时间并对其排序,准确判定任务优先级。具体步骤为将掉队任务按照预计完成的剩余时间进行排序通过公式PRPS/T,TIMETOEND1PS/PR,计算出掉队任务队列中每个任务预计完成的剩余时间,并进行排序,剩余时间最长的任务优先级最高。其中T是任务已经执行的时间,PS是任务的进度值,PR是进程速率。TIMETOEND是完成该。
16、任务还需要的剩余时间。0019后备任务建立模块通过系统的负载量和系统的处理能力的比值来确定掉队任务的情况,当一些TASKTRACKER空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。具体步骤为建立后备任务,LT用来定义系统处理的负载量与处理能力的比值,系统的负载量用一个作业周期系统所处理的任务数量TASKNUM表示,系统的处理能力用系统能够同时执行的MAP任务的数量SA表示(因为在一个作业执行过程中,MAP任务的数量会远远大于REDUCE任务的数量,每个数据块对应一个MAP任务)。BP被用作定义所有任务中后备任务的最大比例,它的大小随着网络中负载的动态变化而改变。如果有一些掉队任务并且满足公式BACKUPNUMBPTASKNUM,那么当一些TASKTRACKER空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。0020通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。说明书CN104102794A1/1页6图1说明书附图CN104102794A。