CN104102794A - 一种hadoop调度法的优化方法 - Google Patents
一种hadoop调度法的优化方法 Download PDFInfo
- Publication number
- CN104102794A CN104102794A CN201410382956.2A CN201410382956A CN104102794A CN 104102794 A CN104102794 A CN 104102794A CN 201410382956 A CN201410382956 A CN 201410382956A CN 104102794 A CN104102794 A CN 104102794A
- Authority
- CN
- China
- Prior art keywords
- task
- falling behind
- tasktracker
- hadoop
- standby
- 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.)
- Pending
Links
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种HADOOP调度法的优化方法,属于计算机软件及并行计算技术领域,方法如下:通过调整hadoop任务各阶段的权值,准确地确定出任务进度值,掌握任务的剩余完成时间;找到真正的掉队任务,并在正常节点上进行推测执行;根据网络的负载情况,不断改变后备任务的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。本发明的一种HADOOP调度法的优化方法和现有技术相比,具有的有效果是:对任务各阶段的权值进行调整,根据不同的作业进行不同权值的设置,使其更接近真实值,能够帮助更准确地计算任务的进度值、进程速率与预计剩余完成时间。
Description
技术领域
本发明涉及计算机软件及并行计算技术领域,具体地说是一种HADOOP调度法的优化方法。
背景技术
随着计算机技术和互联网技术的迅猛发展,网络普及率和互联网用户的规模也在逐年攀升,用户规模不断攀升与数据处理量迅速增长的双重刺激为互联网应用带来了新的挑战。首先,海量的数据需要巨大规模的存储资源作为基础,其次网络应用对数据的依赖性增加,使得对海量数据进行计算和处理的能力的需求越来越强烈,维护这些应用程序的数据存储的成本和数据计算处理的成本越来越高。在应用需求和相关技术发展的推动下,云计算作为一种新的模型被提了出来,它从技术上解决了大规模并行计算、海量数据分布式存储、海量数据实时备份和应用高度集成等问题。Google研发出了简单而又高效的云计算技术,为了对Google云计算技术有更加深入的了解,Apache提出了分布式计算框架Hadoop,对成千上万的任务进行调度的海量数据并行处理系统,Hadoop 的调度器负责所有作业与其任务调度的整个过程,包括如何选择作业和任务,如何选择任务的执行者等。衡量调度器优劣的标准之一就是系统对任务的响应时间。选择合适的调度程序不仅能够缩短系统的响应时间,而且能够改善Hadoop的执行能力和交互能力,因此对Hadoop调度法的研究和改进工作具有非常重要的意义。
发明内容
本发明的技术任务是提供一种HADOOP调度法的优化方法。
本发明的技术任务是按以下方式实现的,该HADOOP调度法的优化方法采用任务各阶段进度值选取模块、申请任务的 TaskTracker 是否为掉队节点判定模块、掉队任务判定模块、掉队任务排序模块以及后备任务建立模块;
方法如下:
通过调整hadoop任务各阶段的权值,准确地确定出任务进度值,掌握任务的剩余完成时间;找到真正的掉队任务,并在正常节点上进行推测执行;根据网络的负载情况,不断改变后备任务的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。
所述的任务各阶段进度值选取模块可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,从而准确地确定任务的进度值与进度速率。
所述的申请任务的 TaskTracker 是否为掉队节点判定模块,通过确定TaskTracker的速率,准确判定申请任务的 TaskTracker 是不是掉队者,如是,则将掉队任务的后备任务交由该 TaskTracker 执行。
所述的掉队任务判定模块通过一个任务的map任务的进程速率以及reduce任务的进程速率,准确判定该任务是否为掉队任务。
所述的掉队任务排序模块通过确定掉队任务队列中每个任务预计完成的剩余时间并对其排序,准确判定任务优先级。
所述的后备任务建立模块通过系统的负载量和系统的处理能力的比值来确定掉队任务的情况,当一些 TaskTracker 空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。
本发明的一种HADOOP调度法的优化方法和现有技术相比,具有的有效果是:对任务各阶段的权值进行调整,根据不同的作业进行不同权值的设置,使其更接近真实值,能够帮助更准确地计算任务的进度值、进程速率与预计剩余完成时间。根据系统中的负载情况,对后备任务数量上限进行动态调整,避免由于过度推测执行带来系统的性能下降,更好地利用推测执行机制帮助改善任务的响应时间。
附图说明
附图1为一种HADOOP调度法的优化方法的流程示意图。
具体实施方式
实施例1:
该HADOOP调度法的优化方法采用任务各阶段进度值选取模块、申请任务的 TaskTracker 是否为掉队节点判定模块、掉队任务判定模块、掉队任务排序模块以及后备任务建立模块。
方法如下:
通过调整hadoop任务各阶段的权值,准确地确定出任务进度值,掌握任务的剩余完成时间;找到真正的掉队任务,并在正常节点上进行推测执行;根据网络的负载情况,不断改变后备任务的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。
任务各阶段进度值选取模块可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,从而准确地确定任务的进度值与进度速率。具体步骤为:通过实验数据对WordCount任务的各阶段进度值进行估算,并记录这些参考值。在执行其他任务时,可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,这能够帮助算法更准确地计算任务的进度值与进度速率,以便更好地推测执行后备任务。
申请任务的 TaskTracker 是否为掉队节点判定模块,通过确定TaskTracker的速率,准确判定申请任务的 TaskTracker 是不是掉队者,如是,则将掉队任务的后备任务交由该 TaskTracker 执行。具体步骤为:判断申请任务的 TaskTracker 是否为掉队节点,Si用来区分正常的 map TaskTracker 和掉队的 map TaskTracker。Ri用来区分正常的 reduce TaskTracker 和掉队的 reduce TaskTracker。每个 TaskTracker只运行在一个节点上,所以掉队节点就等同于掉队 TaskTracker。假设系统里有 N 个TaskTracker,第 i 个 TaskTracker 的速率,对于 map 任务是 TiPR_m,对于 reduce 任务是TiPR_r,平均速率为是APR_m、APR_r,如果有j个map任务和k个reduce任务运行在第i个TaskTracker上,则TiPR_m= ,TiPR_r=,ATPR_m=,ATPR_r=,对于运行速率,如果它满足TiPR_m<(1-Si)*ATPR_m,就可判定是一个掉队的map TaskTracker,TiPR_r<(1-Ri)*ATPR_r,就可判定是一个掉队的reduce TaskTracker。Si 和 Ri 的值需要通过大量实验来确定。如果值太小,就会将一些正常TaskTracker 误判为掉队 TaskTracker,如果值太大,则会将一些掉队 TaskTracker 误判为是正常 TaskTracker。只有当申请任务的 TaskTracker 不是掉队者时,才将掉队任务的后备任务交由该 TaskTracker 执行。
掉队任务判定模块通过一个任务的map任务的进程速率以及reduce任务的进程速率,准确判定该任务是否为掉队任务。具体步骤为:St被用来区分正常运行的 map 任务和掉队的 map 任务。Rt被用来区分正常运行的 reduce 任务和掉队的 reduce 任务。如果 map 任务 i 的进程速率和所有正在运行任务的平均进程速率满足公式PRi_m<(1-St)*apr_m,,任务 i 就被认为是掉队的 map 任务。如果 reduce 任务i 的进程速率和所有正在运行任务的平均进程速率满足PRi_r<(1-Rt)*apr_r,任务 i 就被认为是掉队的 reduce 任务,其中apr_m=、apr_r=。如果St 和 Rt 值太小,就会将一些正常运行的任务误判为是掉队任务,如果值很大,则会将一些掉队任务误判为是正常运行的任务。将掉队的 map 任务和 reduce 任务分别放入掉队 map 任务队列与掉队 reduce 任务队列中去。
掉队任务排序模块通过确定掉队任务队列中每个任务预计完成的剩余时间并对其排序,准确判定任务优先级。具体步骤为:将掉队任务按照预计完成的剩余时间进行排序通过公式PR = PS /t,TimeToEnd = (1 ? PS) / PR,计算出掉队任务队列中每个任务预计完成的剩余时间,并进行排序,剩余时间最长的任务优先级最高。其中 t 是任务已经执行的时间,PS是任务的进度值,PR是进程速率。TimeToEnd 是完成该任务还需要的剩余时间。
后备任务建立模块通过系统的负载量和系统的处理能力的比值来确定掉队任务的情况,当一些 TaskTracker 空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。具体步骤为:建立后备任务,Lt用来定义系统处理的负载量与处理能力的比值,系统的负载量用一个作业周期系统所处理的任务数量 TaskNum 表示,系统的处理能力用系统能够同时执行的 map 任务的数量Sa表示(因为在一个作业执行过程中,map任务的数量会远远大于 reduce 任务的数量,每个数据块对应一个 map 任务)。BP被用作定义所有任务中后备任务的最大比例,它的大小随着网络中负载的动态变化而改变。如果有一些掉队任务并且满足公式BackupNum < BP *TaskNum,,,那么当一些 TaskTracker 空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。
通过上面具体实施方式,所述技术领域的技术人员可容易的实现本发明。但是应当理解,本发明并不限于上述的几种具体实施方式。在公开的实施方式的基础上,所述技术领域的技术人员可任意组合不同的技术特征,从而实现不同的技术方案。
Claims (6)
1.一种HADOOP调度法的优化方法,其特征在于,采用任务各阶段进度值选取模块、申请任务的 TaskTracker 是否为掉队节点判定模块、掉队任务判定模块、掉队任务排序模块以及后备任务建立模块;
方法如下:
通过调整hadoop任务各阶段的权值,准确地确定出任务进度值,掌握任务的剩余完成时间;找到真正的掉队任务,并在正常节点上进行推测执行;根据网络的负载情况,不断改变后备任务的数量上限值,保证网络的负载均衡,避免因过度执行后备任务导致网络拥塞。
2.根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的任务各阶段进度值选取模块可以自行调整相应参数,使得任务各阶段的进度值更接近实际值,从而准确地确定任务的进度值与进度速率。
3. 根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的申请任务的 TaskTracker 是否为掉队节点判定模块,通过确定TaskTracker的速率,准确判定申请任务的 TaskTracker 是不是掉队者,如是,则将掉队任务的后备任务交由该 TaskTracker 执行。
4.根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的掉队任务判定模块通过一个任务的map任务的进程速率以及reduce任务的进程速率,准确判定该任务是否为掉队任务。
5.根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的掉队任务排序模块通过确定掉队任务队列中每个任务预计完成的剩余时间并对其排序,准确判定任务优先级。
6.根据权利要求1所述的一种HADOOP调度法的优化方法,其特征在于,所述的后备任务建立模块通过系统的负载量和系统的处理能力的比值来确定掉队任务的情况,当一些 TaskTracker 空闲的时候就会从掉队任务队列中选择任务并执行其后备任务。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410382956.2A CN104102794A (zh) | 2014-08-06 | 2014-08-06 | 一种hadoop调度法的优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410382956.2A CN104102794A (zh) | 2014-08-06 | 2014-08-06 | 一种hadoop调度法的优化方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104102794A true CN104102794A (zh) | 2014-10-15 |
Family
ID=51670945
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410382956.2A Pending CN104102794A (zh) | 2014-08-06 | 2014-08-06 | 一种hadoop调度法的优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104102794A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138405A (zh) * | 2015-08-06 | 2015-12-09 | 湖南大学 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
CN105302647A (zh) * | 2015-11-06 | 2016-02-03 | 南京信息工程大学 | 一种MapReduce中备份任务推测执行策略的优化方案 |
WO2016197716A1 (zh) * | 2016-01-18 | 2016-12-15 | 中兴通讯股份有限公司 | 一种作业调度方法和装置 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609303A (zh) * | 2012-01-18 | 2012-07-25 | 华为技术有限公司 | MapReduce系统的慢任务调度方法和装置 |
CN103699433A (zh) * | 2013-12-18 | 2014-04-02 | 中国科学院计算技术研究所 | 一种于Hadoop平台中动态调整任务数目的方法及系统 |
-
2014
- 2014-08-06 CN CN201410382956.2A patent/CN104102794A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102609303A (zh) * | 2012-01-18 | 2012-07-25 | 华为技术有限公司 | MapReduce系统的慢任务调度方法和装置 |
CN103699433A (zh) * | 2013-12-18 | 2014-04-02 | 中国科学院计算技术研究所 | 一种于Hadoop平台中动态调整任务数目的方法及系统 |
Non-Patent Citations (2)
Title |
---|
何翔: "异构分布式环境下基于MapReduce模型的任务调度算法研究", 《中国优秀硕士学位论文全文数据库 信息科技辑(月刊 )》 * |
刘奎等: "基于数据局部性的推测式Hadoop任务调度算法研究", 《计算机应用研究》 * |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105138405A (zh) * | 2015-08-06 | 2015-12-09 | 湖南大学 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
CN105138405B (zh) * | 2015-08-06 | 2019-05-14 | 湖南大学 | 基于待释放资源列表的MapReduce任务推测执行方法和装置 |
CN105302647A (zh) * | 2015-11-06 | 2016-02-03 | 南京信息工程大学 | 一种MapReduce中备份任务推测执行策略的优化方案 |
CN105302647B (zh) * | 2015-11-06 | 2019-04-16 | 南京信息工程大学 | 一种MapReduce中备份任务推测执行策略的优化方案 |
WO2016197716A1 (zh) * | 2016-01-18 | 2016-12-15 | 中兴通讯股份有限公司 | 一种作业调度方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103631657B (zh) | 一种基于MapReduce的任务调度方法 | |
CN102185779B (zh) | 与综合配置能力成比例的数据中心资源负载均衡的方法及装置 | |
CN103401939B (zh) | 一种采用混合调度策略的负载均衡方法 | |
CN102521055B (zh) | 一种虚拟机资源分配方法及其系统 | |
CN108572873A (zh) | 一种解决Spark数据倾斜问题的负载均衡方法及装置 | |
CN103338228A (zh) | 基于双加权最小连接算法的云计算负载均衡调度算法 | |
CN107734052A (zh) | 面向组件依赖的负载均衡容器调度方法 | |
CN106385468A (zh) | Web集群的可预测动态负载均衡方法 | |
CN112835698A (zh) | 一种基于异构集群的请求分类处理的动态负载均衡方法 | |
CN103257896B (zh) | 一种云环境下的Max-D作业调度方法 | |
CN107193652A (zh) | 容器云环境中流数据处理系统的弹性资源调度方法及系统 | |
CN108270805B (zh) | 用于数据处理的资源分配方法及装置 | |
CN108055292B (zh) | 一种虚拟机向物理机映射的优化方法 | |
CN110489200A (zh) | 一种适用于嵌入式容器集群的任务调度方法 | |
CN103514046A (zh) | 一种虚拟机放置方法及集群管理服务器 | |
CN103500123A (zh) | 异构环境中并行计算调度方法 | |
CN104753977A (zh) | 基于模糊聚类的地震处理解释基础设施云资源调度方法 | |
CN109614216A (zh) | 一种基于烟花算法的云平台能耗优化管理方法 | |
CN102917014B (zh) | 资源调度方法及装置 | |
CN109947558A (zh) | 主机资源利用率计算方法和资源调度方法 | |
CN105740059B (zh) | 一种面向可分割任务的粒子群调度方法 | |
CN106412124A (zh) | 一种并序化云服务平台任务分配系统及任务分配方法 | |
CN104102794A (zh) | 一种hadoop调度法的优化方法 | |
Wang et al. | Dependency-aware network adaptive scheduling of data-intensive parallel jobs | |
Fan et al. | A heterogeneity-aware data distribution and rebalance method in Hadoop cluster |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20141015 |
|
WD01 | Invention patent application deemed withdrawn after publication |