基于 LLF 的 HADOOP 任务调度器Word文件下载.docx

上传人:b****1 文档编号:13297919 上传时间:2022-10-09 格式:DOCX 页数:11 大小:45.68KB
下载 相关 举报
基于 LLF 的 HADOOP 任务调度器Word文件下载.docx_第1页
第1页 / 共11页
基于 LLF 的 HADOOP 任务调度器Word文件下载.docx_第2页
第2页 / 共11页
基于 LLF 的 HADOOP 任务调度器Word文件下载.docx_第3页
第3页 / 共11页
基于 LLF 的 HADOOP 任务调度器Word文件下载.docx_第4页
第4页 / 共11页
基于 LLF 的 HADOOP 任务调度器Word文件下载.docx_第5页
第5页 / 共11页
点击查看更多>>
下载资源
资源描述

基于 LLF 的 HADOOP 任务调度器Word文件下载.docx

《基于 LLF 的 HADOOP 任务调度器Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于 LLF 的 HADOOP 任务调度器Word文件下载.docx(11页珍藏版)》请在冰豆网上搜索。

基于 LLF 的 HADOOP 任务调度器Word文件下载.docx

10优先级的计算方法以及应对超时现象的方法。

另外还描述了调度器的设计结构和实现方式,

并通过实验验证调度策略的有效性。

关键词:

计算机应用技术;

Hadoop;

任务调度;

最低松弛度优先

LLFSchedulerinHadoop

15JingChao,LvYuqin,HouBin

(SchoolofElectronicEngineering,BeijingUniversityofPostsandTelecommunications,Beijing

100876)

Abstract:

Hadoopisanexcellentopen-sourcedistributedcomputingplatform.TheHadoopcantakeuseofdifferentconfigurationsofcomputerstobuildlow-cost,high-performancedistributed

20clusters,withfaulttoleranceandscalability.Hadoopclustercanrunhundredsofjobsthatsharinsystemresources,soschedulingbecomesaproblem.ThispaperproposesaschedulingalgorithmbasedonLeastLaxityFirst(LLF)inHadoopinordertoachievefairnessandschedulingspecialpreemption.Thisarticlediscussesthedetailsoftheschedulingalgorithm,includingtherepresentationoflaxity,prioritycalculationmethodandthemethodofresponsetimeouts.Italso

25describesthedesignandimplementationofthescheduler,andshowsexperimentstoverifytheeffectivenessofschedulingstrategies.

Keywords:

computerapplicationtechnology;

Hadoop;

taskscheduling;

LeastLaxityFirst

0引言

[1]30Hadoop是开源的分布式计算平台,实现了MapReduce模型。

MapReduce是Google提

出的一个用于大规模计算的分布式编程模型。

MapReduce隐藏了分布式编程的底层细节,

让没有并行编程经验的开发人员也能够开发分布式程序。

在该模型中,分布式运算抽象为

Map和Reduce两个步骤。

开发者只需要实现Map和Reduce函数的逻辑,然后提交给

MapReduce运行环境,计算任务便会在计算机集群上自动、并行地调度执行。

35MapReduce架构中包含一个JobTracker和若干个TaskTraker。

JobTracker负责将作业拆

分成Map任务和Reduce任务,分发给不同的TaskTraker去执行,并监视Task的的执行情

况。

默认情况下,一个TaskTracker可以同时运行两个Map任务或Reduce任务,这样一个

能够运行一个任务的资源称为Slot。

由于Hadoop集群内的所有作业共享资源,所以需要由调度器决定作业获得资源的顺序。

40Hadoop默认的调度方法是先进先出(FIFO)策略,作业按照到达的顺序被提交。

公平调度

[2]算法(FairScheduler)目的是让所有的作业都获得相同资源。

调度器将所有

资源分为若干个池(Pool),并为每个作业池分配相同的资源。

默认情况下,每个用户分属

作者简介:

荆超(1987-),男,硕士研究生,主要研究方向:

云计算、数据仓库.E-mail:

jingchao1024@

-1-

在不同的作业池中,从而使得每个用户获得等量的资源。

[3]Malgorzata和Ian为了增加系统执行效率,设计了一种限定作业执行时间的调度器。

45根据作业已完成部分的运行速度及预先设定的完成时间,来估计作业的资源需求量,按照这

个需求量决定作业执行的优先级。

r[4]基于Deadline还有另外一种调度算法ConstraintSchedule。

在该算法中,作业的

Deadline由用户指定。

系统首先根据集群中最慢的节点计算出在规定Deadline内完成该作业

至少需要的Slot个数,并把这个数目的Slot分配给该作业。

如果还有空闲Slot,则尽量安50排更多的作业运行。

LaxityFirst,LLF)是广为人知的动态任务调度算法,已经被最低松弛度优先(Least

[5][6]用于多核CPU环境和并行计算环境,但是在MapReduce环境还没有相关研究。

本文将提出一种Hadoop环境下的LLF任务调度算法,实现调度器的公平性并提供特殊

抢占功能。

文章结构安排如下:

第一部分将论述LLF调度器的原理。

第二部分描述调度器55的实现方法。

第三部分对LLF调度器进行实验验证。

总结部分将概况本文内容并提出对未

来工作的展望。

1LLF调度算法

1.1松弛度的表示

LLF算法根据任务紧急的程度来计算作业的优先级。

作业的紧急程度越高,其优先级就60越高。

例如,要求一个作业在300ms的时候执行完,其本身运行需要100ms,那么这个作

业的松弛程度就是200ms,如图1所示。

作业开始时间作业运行时间松弛度

当前时间作业预计完成

时间

图1松弛度的表示

65

我们的LLF算法设计为可抢占式的,在每次调度的时候,即便有已经开始的作业,高

优先级的作业也可以在它们完成之前先获取资源。

所以作业的运行时间并不是集中的,有可

能被打断,图1所述的松弛度需要进行转换。

如果用户不指定预完成时间,那么系统在一个合理的时间内完成该作业即可。

这个合理70的时间应当是根据系统的处理速度和提交作业的作业规模预计出来的。

我们以这个合理完成

时间作为预计完成时间,用这个值减去当前时间作为松弛度计算的依据,如图2所示。

图2松弛度的变换表示

-2-

修改后的松弛度计算方法如式4-2。

startestimatedcurrL=T+T?

T

(2)mmmm75startcurrestimatedTTT是当前时间。

我们将是作业开始的时间,是作业估计运行时间,mmmstartestimatedT+T作为作业预计完成时间,如式4-3所示:

mmdeadlinestartestimated(3)=+TTTmmm

如果我们已知一个作业的任务量和系统的执行速度,那么就可以很容易地估算出作业的80运行时间。

作业的任务量取决于计算逻辑的复杂度以及数据源的规模。

MapReduce模型设

计为应对海量数据,但对数据的计算逻辑都很简单,所以系统中的作业的执行时间主要取决

estimatedT于要处理的数据量。

体现在式3中就是,作业规模越小,其也越小。

同一时间开始m

的作业,松弛度与作业规模成反比。

在MapReduce模型中,数据Block的形式存储,默认的Block大小为64MB,Block的85个数反应了数据的规模。

默认情况下,一个Block在Map端对应一个Split输入,并产生一

个Map任务。

所以我们可以根据Map任务的个数来衡量原始数据量。

由于Hadoop集群的异构性,其执行速度很难从理论上计算出来,所以我们通过实验的

方式测定出系统的吞吐量。

例如,对100G的示例数据进行计算,这个作业标记为e,取出

运算过程中Map的个数,并记录作业执行时间,用这两个值就能估算出系统的吞吐量,如

exec90是该作业的执行时间。

T是作业e产生的Map任务个数,M4。

其中,e式e

MeS(4)=baseexecTe但是MapReduce作业的任务量不仅取决于Map任务,后序的Shuffle过程和Reduce过程占用了更多的执行时间。

Shuffle过程中的数据传输是通过网络完成的,而网络传输的速度远小于本地磁盘的读写速度,网络带宽也是Hadoop集群最稀缺的资源,所以这一步的传输量很大程度上决定了作业的运行时间。

由于无法事先预测某一作业的Shuffle量,所以我95们执行不同Shuffle比例的MapReduce作业,然后将各种作业的平均执行时间作为系统执行速度的计算依据。

我们选取三种典型的计算:

词频统计(WordCount),全搜索正则表达式(Grep)和排序(Sort)。

WordCount统计一篇文本中出现过的词汇及其出现的次数,在Shuffle阶段只

需传输<

word,count>

这样的键值对,而且Map阶段对中间结果进行Combine操作,使得网

络传输量非常小。

这样的作业我们称之为Weak-Shuffle型作业。

100Sort对整个记录数据按照某个字段进行排序操作,并将拍好序的结果输出。

所有的数据都要从Map任务输入给Reduce任务,需要大量的网络传输。

我们称这种作业类型为Strong-Shuffle型。

Grep在原始文档中按正则表达式查找,并且打印匹配的行。

Shuffle阶段所传输的数据取决于文本中有多少记录满足正则表达式。

这样的作业我们成为Dithering-Shuffle型作业。

故式4变为式5。

105

Be?

execTe?

EeS,E={WordCount,Grep,Sort}(5)=base|E|

-3-

Sm6根据,就可以估算出某个作业的预完成时间,如式:

baseBestimatedm110(6)T=mSbase

1.2优先级的确定

由于异构环境会造成很多不确定性,很有可能造成超时现象。

即使有多个任务超时,它

L为们的紧张程度也应该有所同。

超过

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1