一种准实时mapreduce调度算法的改进与实现

一种准实时mapreduce调度算法的改进与实现

ID:31363551

大小:105.00 KB

页数:4页

时间:2019-01-09

一种准实时mapreduce调度算法的改进与实现_第1页
一种准实时mapreduce调度算法的改进与实现_第2页
一种准实时mapreduce调度算法的改进与实现_第3页
一种准实时mapreduce调度算法的改进与实现_第4页
资源描述:

《一种准实时mapreduce调度算法的改进与实现》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、一种准实时MapReduce调度算法的改进与实现  摘要:该文通对MapReduce调度器中准实时调度算法的研究,实现了在MapReduce调度器上能够依据正在进行的任务的进度,对任务的完成时间进行估计,在运行时给每个任务动态的分配资源。实验表明,本算法提高了MapReduce系统的资源利用率,达到了准实时MapReduce调度的预期目标。  关键词:MapReduce;调度策略;调度算法  中图分类号:TP311文献标识码:A文章编号:1009-3044(2016)15-0003-02  1引言  MapReduce

2、是一个用于大规模数据集的并行运算模型.广泛应用于分布式查询、分布式排序、Web访问日志分析、机器学习以及基于统计的机器翻译等领域[1]。MapReduce系统中现有的三种调度器:FIFO调度器、CapacityScheduler调度器以及FairScheduler调度器[2]。目前这三种调度算法,在作业提交前,必须对系统的参数进行预先设定。而且,一旦作业提交,MapReduce系统给每一个任务的资源分配策略就已经确定下来,不能根据任务执行的实际情况进行动态的调整[3]。本文提出的算法使MapReduce调度器能够对正在

3、进行的任务的进度及任务的完成时间进行估计,并在运行时给每个任务动态的分配资源,从而提高了MapReduce系统的资源利用率。4  2算法思想  准实时MapReduce调度算法主要由作业性能估计及任务调度策略两部分组成。  1)作业性能估计的主要思想是:通过作业m中,已完成任务集合的完成时间和任务数量的统计,推测作业m中的任务平均完成时间,并且以此推测正在执行任务的剩余完成时间。然后,准实时调度算法就可以以此作为判断任务性能的依据,确定任务的优先级并对任务进行调度。  2)任务调度策略的主要思想是:根据作业性能估计中得

4、到的任务平均完成时间,通过公式推导,得出作业还需要的任务执行单元的数量,以此确定作业的优先级,调度器再根据作业的优先级,给不同的作业分配相应的资源。任务调度策略包括两部分:一是将合适的优先级赋给作业;二是基于作业优先级的分配算法。  3准实时MapReduce调度器的核心类及主要功能  准实时MapReduce调度器的核心类由SoftRealTimeConfiguration类、SoftRealTimeOperationInProgressListener类、SoftRealTimeTaskScheduler类、Sof

5、tRealTimeOperation类、OperationTracker类和OperationInProgress类等组成。准实时MapReduce调度器的核心类图如图1所示,核心类及主要功能如下:  1)SoftRealTimeConfiguration类继承自org.apache.hadoop.conf.Configuration类,功能是进行配置文件管理。在HadoopMapReduce启动加载时,SoftRealTimeConfiguration会读取配置文件中的参数,并保存至相应的数据结构中。4  2)Sof

6、tRealTimeOperationInProgressListener类该类继承自org.apache.hadoop.Mapred.OperationInProgressListener类,功能是当作业添加或者删除时,通知调度器。该类包含三个主要函数:operationAdded、operationRemoved以及operationUpdated,功能是当有作业添加到作业队列,从作业队列删除;作业的状态有更新时,该类侦听到这些事件并且执行对应的函数。  3)SoftRealTimeTaskScheduler类继承自

7、org.apache.hadoop.mapreduce.server.operationtracker.TaskTracker类,实现核心调度算法。SoftRealTimeTaskScheduler类除了包含initScheduleQueue,priorityOp及addOperationToQueue三个主要函数以外,还包括assignTasks和getOperations函数。assignTasks函数的功能是用于返回正在某个TaskTracker上执行的任务集合;getOperations函数的功能是通过作业队列

8、的名称返回该队列中的作业。  4)SoftRealTimeOperation类记录作业的状态和估计作业完成时间,并以此为依据比较正在运行的两个作业之间的优先级大小。  5)OperationTracker类用于调度作业,其主要功能有:  1获取集群的状态,比如tasktracker列表,map过程中空闲的slot任务执行器总数,r

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。