论文研究-Hadoop平台下计算能力调度算法的改进与实现.pdf


-
在计算能力调度算法中没有全面考虑各资源特征的分配是否满足作业多样的服务要求,提出一种基于优先级的计算能力加权调度算法,根据作业的优先级以及提交时间等因素来计算作业的权重。依据作业的权重对作业队列进行排序并分配空闲的slot给队首的作业,从而避免调度陷入局部最优也能更好地满足作业的多样性服务要求。在搭建的Hadoop平台上进行实验表明,改进后的算法能较均衡地分配系统资源减少一些作业的等待时间,并且运行全部作业的用时有所减少。
戴小平,张宜力: Hadoop平台下计算能力调度算法的改进与实现 2015,51(19 (3)选择task,考虑lask的 locality和资源使用情况。 askcapacity、 blocksize和 avgtasksize对同一队列的作业 计算能力调度算法应用于较多小作业时性能较差,米说都是定值所以可以简化权重公式为 容易陷入局部最优,夲文的算法主要是在计算能力调度 priority weight[i (ctime task 的基础上优化步骤(2)中的作业选择策略,优化后的策 ∑ priorily[i sume alas 咯更加公平,避免选择策略陷入局部最优,从而提高了 从公式(6)可以看出作业的优先级是对权重影响最 整个系统的效率和用户满意度 大的因子,这是因为(mc+as)>1。这样不仪能实 在原算法中作业队列是按照作业提交时间和作业 优先级进行排序,然后选择队列头部的作业。在本算法现作业的差异化词度,还能够更公平地调度作业,尤其 中首先根据作业权重对每个队列的作业进行排序,然后 是一些优先级较低的小作业。 将这个空闲的st分配给选中队列的第一个作业的task42算法的实现 (该作业必须满足步骤(2)中的两个条件)。可以看出, 1)数据结构设计 作业的权重是选择的重要参考依据。 bQueue的调度队列中每个元素 joiNto的数据结 考虑到1 ask Tracker主动请求task的模式以及 Hadoop构为 仟务调度体系非抢占模式的特六,为了使调度的任务避 class JahScheduling In fo 免长期的等待,同时各个任务调度权重又能根据实际情 Jobld jobld; 况进行调整,可以通过下面一系列推导得到权重的公式 JobPriority priority 假设用V表示一个轮转周期内处理数据的总量, long starttime 般情况下Map务的数量远远超过 Reduce f务的数量。 int tasks um=o 因此,用系统能够同时运行的Map任务数量的能力来表 int finshed task num =0 double weight=0 示系统的所能处理任务数量的能力,记为 taskcapacity 而且每个Map任务所处理的数据量为输入数据的分块 本文算法在 Job Schedulinglnfo中增加了几个参数, 大小即为IDFS中数据块的大小,记为 block size(一股设解析如下 为64MB),所以每一个轮转周期系统所处理的数据量为: taskNum:作业的任务数量: V= taskcapacity x hlock size (1) finshedTaskNum:作业已完成的任务数; 用 avgtasksize表示某job划分的任务平均大小, jobsite weight:作业的权重。 表示某job的大小, tasknum ber表示job的任务数,则有 (2)权重的计算方法 avgtasksize[]= jobsite[il (2) 权重的计算要基于作业的优先级、作业的提交时间 lasknumberlil 以及作业的完成量,其中优先级对应的值如表1所示 如果jb的权重为 weight[为了保证优先级的 作用和有效性,某个job的优先级与所有job优先级之和 苌1优先级对应的具体值 的比值应该基本等于这个job执行的数据量与队列一个 Priority valuc VERY HIGH 4.0 轮转周期的数据量的比值,即有 3.0 avglasksize[i]x weight[] prioritvli (3) NORMAL taskcapacity x blocksize priority lil LOW 1.0 于是就可以得到 算法的供代码如下 cigh taskcapacity x blocksize x priority il (4) avgtasksize[]x∑ priority] Input: JobInfo Output: null 根据实际情况对权重进行动态的调整遥免算法陷 1./*权重的变化取决于 factor的变化* 入局部最优,这里的实际情况就是队列中作业的等待时 2 update parameter of job/*更新当前 jobInfo的信息* 间以及作业完成度(未完成task全部的task)。因此计 3. factor-unfinished task numbers/task Num +current time 算作业权重要将作业的等待时间以及作业的完成度考 rtT 虑进去,由此可得: 4. if unfinished task numbers of job: >0 weight[i] taskcapacity x blocksize x priority then avgtasksize[ix∑ prior /*sum( priority)是队列中所以作业优先级值的和*/ ctime task stime atask (5) 5. job weight=( priority/sum( priority ))factor 其中, ctime表示当前时间,stme表示作业提交时间, 7. job weight=0 task表示未完成任务数, atask代表任务的总数。 8. end if 权重是同一队列中作业排列的依据,在公式(5)中 (3)算法的其他内容描述 64 015,51(19) Computer Engineering and Applications计算机工程与应用 本算法中要将 JobQueue中作业根据作业的权重进 表3作业详细信息 行排序,实现的关键部分就是增加一个新的比较器.通 作业大小MB作业优先级 过比较器来对队列排序。比较器伪代码描述如下 作业1 4 LOW 作业2 512 LOW Input: JobInfo job, Joblnfo job 2 作业3 512 NORMAL Output: int 作业4 NORMAL 1./res是权重比较的结果* 作业5 5l2 HIGH 2.if job weight<job2 weight 作业6 HIGH 作业7 VERY HIGH 作业8 SI VERY HIGH 4. cl 1 weight==job2 weight ? 0: 1) 7.if res-=0 then γ在权重相等的情况下,进一步比较作业的优先级* 8. if jobl priority<job2 priority then 0123456789101114151617 10. else 时间 res=(jobI priority==job2 priority? 0: 1) 图2FIFO调度器运行结果图 12. end if /sres仍然等于零时直接比较作业的ID来求出res*/ 13. if res==0 4 then res -job1 Id compare to job1 16.end if 8 5实验结果及分析 123456 89101112 时间/m 实验采用三台虚拟机,操作系统为 Linux ubuntu 图3计算能力调度器运行结果图 10.042, Java version为1.6.010rc2, Hadoop版本为0.202。 将其中一台作为主机 Master,其余的两台分别作为 Slave 使用最常川的 WordCount(从文本数据统计单词次数)作 业来测试调度的改进。算法部分参数配置如表2所示 表2算法参数配置 属性值 取值 supports-priority T queue. default capacity 3456 minimum-user-limit-percent 时间/min maximum-initialized-jobs-per-user 2 图4本文算法运行结果图 实验!将八个作业传到集群上运行,作业的详细信 对比实验结果可以看出三个调度算法的执行顺序 息如表3。 均不相同,时长不一。FIFO算法是按照作业的优先级 FIFO调度器中得到的运行时间如图2所示。 和进入队列先后时间顺序执行的,没有考虑作业的长短 将 Hadoop0.20.2计算能力调度器插入到集群屮。以及不同作业的需求,执行总时间最长,计算能力调度 同样将上面的八个作业传到集群上运行得到的运行时算法和本文算法执行顺序不同是因为算法的选择作业 间如图3所示 策略不同。对比图3和图4,可以看出图4中的部分小作 将本文的调度算法插入到集群中,得到的运行时间业执行时间提前,执行顺序并没有严格按照作业的优先 如图4所示 级进行执行;还可以看出虽然部分作业的执行时间廷长 戴小平,张宜力: Hadoop平台下计算能力调度算法的改进与实现 2015,51(19 了但是等待作业执行时间提前了。这是因为在作业执6结束语 行的尾段,作业的完成度较高而等待作业的完成度较 作业调度器关系到 Hadoop平台整体的性能和系统 低,调度器动态调整了作业的权重,等待作业的权重这的资源使用效率,以及云计算服务的能力。本文提出了 时候有可能大于运行的作业,这样就减少了等待作业的一种基于优先级的计算能力加权调度算法,当系统出现 响应时间。同时可以看出,优化后的作业选择策略使得空的slot时,作业的选择策略不仅仅考虑作业的优先 总时间比计算能力调度算法减少了两分多钟。 级而是同时将作业的等待时间和作业完成度动态的考 实验2测试更一般的情况,提交八个作业到集群上虑进去。这种策略避免了作业调度器陷入局部最优,同 运行。作业的优先级和大小是不尽同的,集群分别使用时能够减少某些相对较高优先级小作业的等待时间,在 FIFO、本文算法和计算能力调度算法,完成时间对比如一定程度上优化了作业选择策略,减少了总运行时间, 图5所 提高了系统的使用效率 FIFO 参考文献 计算能力算法 本文算法 []刘鹏云计算[M]2版北京:电子工业出版社,2011. 三10 onlargeclustersjj.communicationsoftheAcm,2008 51(1):107-113 [3 Ralf L Googles MapReduce programming model-revisited[J 345678 Scicncc of Computcr Programming, 2008, 70(1): 1-30 完成作业个数 4] wbite T Hadoop权威指南[M]曾大聃,周傲英,译北京:清 图5作业在不同调度算法下的完成时间对比 华大学出版社,2010 5 Apache Hadoopeb/ol]-2013-09-01.httP: //hadoop. apache 从图5可以看出虽然本文算法在完成前几个作业和 原算法的用时上并没有太大的优势,但是随着作业数的增(6]赵春燕云环境下作业调度算法研究与实现[D北京:北京 加本文算法逐渐显现出优势。因此可以预测,在大的多用 交通大学,2009:20-58 户多任务的集群上本文算法的效率肯定将超过原算法。[7]罗军舟,金嘉晖,送爱波,等云计算体系架构与关健技术 实验3将三个不尽相同的作业组上传到集群上,并 通信学报,2011,32(7):3-21. 用本文算法和计算能力调度算法进行测试。每组八个8 Fair SchedulerEB/oL20130901htp: hadoop. apache 作业,作业的优先级随机分配,J-a是小作业占多数的作 org/common/docs/r0 20.2/ fair scheduler.htmL. 业组,b是大作业和小作业的数量相当的作业组,c是 [9]capacityScheduler[eb/ol].[2013-09-01.http://hadoop.Apache 大作业占多数的作业组,得到结果如图6所示。 org/common/docs/r0.20.2/capacity scheduler htmI [10] Torabzadch F, 7andich M Cloud thcory-bascd simulated annealing approach for scheduling in the two-stage 计算能力算法 本文算法 assembly flowshop[J]. Advances in Engineering Software 15 2010,41(10):1243-1298 12 [11 Zaharia M, Borthakur D, Sen Sarma J, et al. Delay scheduling A simple tcchniquc for achieving locality and fairness in cluster scheduling[C]/proceedings of EuroSys 10 Nev York. NY USA: ACM, 2010: 265-278 J-a J-b [12 Matei Z, Dhruba B, Joydeep s, et al. Delay scheduling 图6三组作业在两种调度算法下的时间比较 A simple technique for achieving locality and fairness in cluster scheduling[C]/Proc of the 5th European Con 从图6可以看出来不同类型的作业组在本文算法下 ference on Computer Systems, 2010: 265-278 运行的时间均比计算能力调度算法要少。在作业组中有 [1]3]李建锋,彭舰云计算环境下基于改进遗传算法的任务调 较多小作业的时候本文算法可以减少总运行时间,当作 度算法[J计算机应用,2011,31(1):184-186 业组中大作业占据绝大多数时,4文算法就退化为与计141邓自立云计算中的网络拓扑设计和 Hadoop合研究Dl 算能力调度算法类似。结合实验对比图可以得出本文 合肥:中国科学技术大学 算法减少了部分作业等待时间,优化了作业选择策暾,[15陈艳金 Mapreduce模型在 Hadoop平台下实现作业调度 使得作业组的总运行时间减少,提高了用户的满意度。 算法的研究和改进[D]广州:华南理工大学,2011

-
2019-09-07
517KB
论文研究-Hadoop平台下改进的LATE调度算法.pdf
2019-09-07对Hadoop平台下的MapReduce现有的调度器进行分析研究。针对LATE调度算法在分配节点执行落后任务的备份任务时的不足,结合Hadoop集群的异构性和工作负载的特殊性,在LATE调度算法的基础
211KB
论文研究-Hadoop集群公平调度算法的改进 .pdf
2019-08-17Hadoop集群公平调度算法的改进,张晓莉,谷利泽,对于基于特定系统和应用建立的Hadoop集群,任务的作业优先级别有显著差异。此时原有的公平调度算法并不能很好地利用资源并完成相应
293KB
论文研究-Hadoop公平调度器延迟调度算法延迟间隔的选择 .pdf
2019-08-21Hadoop公平调度器延迟调度算法延迟间隔的选择,张博钰,方维,目前,Hadoop分布式计算框架在各大互联网企业中被广泛的应用。多用户共享集群是Hadoop应用的典型场景,其中如何在保证用户作业服务质
693KB
论文研究-Hadoop平台下基于截止时间限制的动态调度算法的研究.pdf
2019-07-22为了满足有截止时间限制的MapReduce作业的需求,提出一种基于截止时间限制的动态调度算法(DCDS)。该算法实时监控作业运行状况,并对作业运行时间进行动态估算,从而确定作业优先级;对于时间紧迫的作
654KB
论文研究-改进的Hadoop作业调度算法.pdf
2019-09-07分布式集群普遍存在负载均衡问题,而Hadoop没有考虑到节点间性能的差异.虽然有负载均衡机制,但是效果不太理想,因此运行过程中经常会出现负载不均衡的情况。针对如上问题,深入分析了Hadoop源代码,理
528KB
论文研究-Hadoop剩余有效时间调度算法 .pdf
2019-08-18Hadoop剩余有效时间调度算法,李熙文,邹华,并行计算被用来解决复杂的分布式计算问题和大型的处理问题,通过同时使用多台机器中的计算能力,达到实现高效并行计算的目的。Had
518KB
论文研究-异构Hadoop环境下的实时作业调度算法.pdf
2019-09-13为提升Hadoop集群在异构环境下处理硬实时作业的性能,提出一种基于历史进度自动调整作业优先级的调度算法(HAPS)。该算法实时监控作业进度信息,对作业进度率进行指数平滑预测,计算作业剩余执行时间,动
965KB
论文研究-Hadoop平台的多队列作业调度优化方法研究.pdf
2019-07-22对Hadoop平台的作业调度算法进行了研究,提出了支持作业类型区分的多队列调度优化算法。优化算法支持根据节点当前的负载情况分配不同类型的作业,以提高节点的资源利用率;允许作业队列的资源在闲置时被其他作
1.7MB
论文研究-Hadoop下基于统计最优的资源调度算法.pdf
2019-07-22云计算集群中的资源存在异构和节点稳定性问题。异构资源的计算能力不同会导致较突出的作业任务同步问题, 而某个节点的不稳定状态会使运行于该节点的任务大量备份或重新计算。针对上述两问题将严重影响集群作业的执
1.6MB
论文研究-同构Hadoop集群环境下改进的延迟调度算法.pdf
2019-07-22在Hadoop框架下计算资源和数据资源可以在不同物理位置的特点产生本地化问题。延迟调度算法的产生旨在解决本地化问题, 此算法根据任务待处理数据的物理位置作为作业的计算节点, 调度任务至目标节点。但是可
1.2MB
论文研究-Hadoop云平台下基于资源预估的作业调度算法.pdf
2019-07-22为解决Hadoop云平台下作业无法满足时间约束的问题,提出一种基于资源预估的作业调度算法。通过建立资源预估模型计算作业所需资源,结合作业间的资源竞争关系对完成时间进行判定,最后根据作业的数据本地性改进
790KB
论文研究-改进人工鱼群算法在Hadoop作业调度算法的应用.pdf
2019-07-22在分析Hadoop缺省及改进的作业调度算法基础上,引入群智能算法,设计了基于改进人工鱼群算法的Hadoop作业调度算法。采用随机键方式对待分配任务进行编码,以任务总执行时间作为启发函数,并引入吞食行为
1.2MB
论文研究-基于logistic回归模型的Hadoop本地任务调度优化算法.pdf
2019-07-22当一个工作节点有多个本地任务可执行时,默认情况下,调度器都是按照任务被发现的先后顺序来进行执行,效率低下。为了优化对本地任务的调度,提出了一种基于机器学习的Hadoop本地任务调度优化算法。选取定义与
546KB
论文研究-风电场数据中心Hadoop云平台作业调度算法研究.pdf
2019-09-11风电场数据中心包含状态监测、数据采集等实时类作业和非实时类作业,采用C/S结构存在资源利用率不平衡、管理与维护成本高等缺点。设计了一种基于Hadoop云平台的数据中心架构;针对开源Hadoop平台现有
837KB
论文研究-基于数据局部性的推测式Hadoop任务调度算法研究.pdf
2019-07-22针对Hadoop平台现有任务调度算法优化程度不高的问题,提出了一种基于数据局部性的推测式任务调度算法。该算法通过计算节点上Map和Reduce任务时长比例,结合不同节点上数据的局部特性,采用了比现有算
296KB
论文研究-一种异构环境下的Hadoop调度算法 .pdf
2019-08-15一种异构环境下的Hadoop调度算法,梁建武,周杨,MapReduce作为一种重要的大规模数据并行程序模型已经越来越广泛的应用于web索引,数据挖掘以及科学仿真等方面。作为MapReduce的开源实现
653KB
论文研究-基于蚁群算法的Hadoop资源感知调度器研究.pdf
2019-09-13通过研究蚁群算法,针对现有Hadoop调度器的不足,提出一个基于蚁群算法的Hadoop资源感知调度器及其具体实现方案。从而使Hadoop作业调度器可以更有效地对任务进行分配,提高整体架构的作业性能。通
1.51MB
论文研究-一种改进的Hadoop多用户作业调度方法.pdf
2019-07-22针对目前Hadoop作业调度方法服务水平不高、资源利用率低的问题,提出了一种改进的Hadoop多用户作业调度算法。分析了Hadoop现行调度算法存在的不足,提出了基于服务质量(QoS)的作业选择量化和
1.27MB
论文研究-基于延迟调度策略的reduce调度优化算法.pdf
2019-07-22在大规模的Hadoop集群中,良好的任务调度策略对提高数据本地性、减小网络传输开销、减少作业执行时间以及提高集群的作业吞吐量都有着重要的影响。针对Hadoop架构中reduce任务的数据本地性较低问题
2.6MB
论文研究-基于动态等待时间阈值的延迟调度算法.pdf
2019-07-22针对已有的延迟调度算法存在的两个问题:a建立在节点会很快空闲的理论假设下有一定限制, 当节点不会很快空闲时算法性能严重下降; b基于静态的等待时间阈值, 不能适应云计算数据中心动态的负载变化及不同用户
465KB
论文研究-并行化语音识别系统的研究与设计.pdf
2019-09-11如何处理海量语音数据是语音识别应用的一个重要问题,采用并行化计算取代传统的单机处理,如果并行调度控制不当,最终合并的结果在合并顺序上就会出现错误,并且数据切分不合理还会造成语义连贯性的丢失导致准确率的
82.2MB
微信小程序源码-合集6.rar
2020-09-04微信小程序源码,包含:图片展示、外卖点餐、小工具类、小游戏类、演绎博览、新闻资讯、医疗保健、艺术生活等源码。
133KB
python 京东预约抢购茅台脚本插件 一键运行
2021-02-26python 京东预约抢购茅台脚本插件 一键运行,按照readme介绍的步骤即可。 已经测试可以抢购得到。 注意:本资源仅用于用来学习,严禁用于任何商业目的,下载之后应当在24小时之内删除。
28KB
各显卡算力对照表!
2018-01-11挖矿必备算力对照!看看你的机器是否达到标准!看完自己想想办法刷机!
Python自动化爬虫实战与高级架构技巧
2020-07-22讲解基于Python Selenium 的自动化数据采集,自动化框架设计,SEO搜索收录引擎与接口对接等实战项目
103KB
七夕情人节表白HTML源码(两款)
2016-08-23七夕节、情人节表白用的HTML源码(两款)
737KB
京东抢茅台改进版_python.zip
2021-02-19自动抢购京东53度飞天茅台python脚本改进版,提供脚本源代码仅供大家学习研究,亲测有效已经抢到1瓶,欢迎改进升级
-
下载
DateStructures.zip
DateStructures.zip
-
博客
Windows编程创建窗口流程
Windows编程创建窗口流程
-
学院
MySQL 查询与高级查询(多表、嵌套和正则表达式)
MySQL 查询与高级查询(多表、嵌套和正则表达式)
-
博客
解决yii2框架报错:yii\base\ErrorException: Undefined index:的方法
解决yii2框架报错:yii\base\ErrorException: Undefined index:的方法
-
下载
弹光调制干涉具共振热动态模型的分析与研究
弹光调制干涉具共振热动态模型的分析与研究
-
博客
javascript--判断是否本周
javascript--判断是否本周
-
学院
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
MySQL 备份与恢复详解(高低版本 迁移;不同字符集 相互转换;表
-
博客
2021-03-05
2021-03-05
-
下载
3d旋转立方体哟哟哟.html
3d旋转立方体哟哟哟.html
-
博客
gitlab 出现git pull 成功 git push失败的情况
gitlab 出现git pull 成功 git push失败的情况
-
下载
游戏中时装换装框架附Dragon换装实例
游戏中时装换装框架附Dragon换装实例
-
学院
MySQL 设计基础(数据库概论、初探)
MySQL 设计基础(数据库概论、初探)
-
下载
双光弹差频调制型偏振光谱测量技术
双光弹差频调制型偏振光谱测量技术
-
博客
2021-03-05
2021-03-05
-
学院
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
博客
SAE助力海底小纵队学,全面拥抱SAE,节省25%以上成本
SAE助力海底小纵队学,全面拥抱SAE,节省25%以上成本
-
博客
linux coredump 问题总结
linux coredump 问题总结
-
下载
Proteus单片机仿真实例-电子钟.rar
Proteus单片机仿真实例-电子钟.rar
-
学院
MySQL 多实例安装 及配置主从复制实验环境
MySQL 多实例安装 及配置主从复制实验环境
-
下载
北理工车用发动机构造(不含视频).zip
北理工车用发动机构造(不含视频).zip
-
下载
光弹调制差频偏振测量及误差分析
光弹调制差频偏振测量及误差分析
-
学院
朱老师鸿蒙系列课程第1期-3.鸿蒙系统Harmonyos源码配置和管理
朱老师鸿蒙系列课程第1期-3.鸿蒙系统Harmonyos源码配置和管理
-
下载
理论力学历年考题.zip北京理工大学848理论力学历年期末考题
理论力学历年考题.zip北京理工大学848理论力学历年期末考题
-
下载
api2sql:db操作的代理,使用api接口访问数据库-源码
api2sql:db操作的代理,使用api接口访问数据库-源码
-
学院
【爱码农】C#制作MDI文本编辑器
【爱码农】C#制作MDI文本编辑器
-
博客
Kotlin 添加到现有应用
Kotlin 添加到现有应用
-
学院
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
FFmpeg4.3系列之16:WebRTC之小白入门与视频聊天的实战
-
学院
Windows系统管理
Windows系统管理
-
学院
计算机网络 应用层 诸多协议 实验环境搭建
计算机网络 应用层 诸多协议 实验环境搭建
-
下载
CGGD21-源码
CGGD21-源码