没有合适的资源?快使用搜索试试~ 我知道了~
© 2014作者。由爱思唯尔公司出版信息工程研究院负责评选和同行评议可在www.sciencedirect.com上在线获取ScienceDirectIERI Procedia 10(2014)70 - 752014未来信息工程一种Hadoop调度S. Suresha *,N.P. 戈帕兰b国家技术学院计算机应用系,Tiruchirappalli 632 015,印度摘要MapReduce是一种流行的并行编程模型,用于解决云计算环境中的大数据应用。Hadoop是一个开源的MapReduce实现,被大量用户广泛使用。它提供了一个抽象的环境,运行大规模的数据密集型应用程序在一个可扩展的和容错的方式。在文献中提出了几种具有不同性能目标的Hadoop调度算法。在本文中,一个新的最优任务选择方案,以协助调度器时,多个本地任务可用于一个节点。为了提高将来为作业启动的本地任务的百分比的概率,在节点的可用本地任务中,具有最少数量的输入副本、附加到节点的磁盘的单独负载和最大期望等待下一个本地节点的时间的任务被启动。所提出的方法进行了评估,通过广泛的实验,它已被观察到,该方法显着提高了性能。从实验中,大约20%的改进实现了局部性和公平性。© 2014作者。由爱思唯尔公司出版 这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/3.0/)。信息工程研究院负责评选和同行评议关键词:Hadoop,MapReduce,任务选择,作业调度。1. I介绍随着计算系统的快速发展,它已被应用于解决非常复杂的问题,* 通讯作者。联系电话:+91-9941506562。电子邮件地址:sureshtvmalai85@gmail.com2212-6678 © 2014作者由爱思唯尔公司出版 这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/3.0/)。信息工程研究所负责的选择和同行评审S. 苏雷什和N.P.Gopalan/IERI Procedia 10(2014)7071不同的领域。这些应用程序生成和处理的数据量非常大。网格计算、云计算等计算范式的出现,有效地解决了大规模数据密集型应用。然而,传统的编程模型、负载平衡、调试和调度解决方案在处理大数据应用程序时效率低下。重新定义大规模数据密集型应用程序的上述问题的解决方案吸引了许多研究受众。文献中提出了几种框架来有效地处理BigData应用程序[1-4]。MapReduce [1]是云环境中数据密集型应用程序的流行编程模型。它隐藏了所有的并行编程的困难,从用户和提供抽象的环境。Hadoop[5]MapReduce是MapReduce的一个广泛使用的开源实现。Hadoop能够在商用硬件上提供容错、负载平衡和可扩展的服务,这使得Hadoop成为大数据处理的标准。Hadoop的性能主要取决于调度器。针对不同类型的工作负载、环境和应用提出了几种调度算法[6-10]。在本文中,一个新的最优任务选择方案,以协助调度器时,多个本地任务可用于一个节点。为了提高将来为作业启动的本地任务的百分比的概率,在节点的可用本地任务中,具有最少数量的输入副本、附加到节点的磁盘的单独负载和最大期望等待下一个本地节点的时间的任务被启动。所提出的方法进行了评估,通过广泛的实验,它已被观察到,该方法显着提高了性能。从实验中,大约20%的改进实现了局部性和公平性。本文的其余部分组织如下。第2节探讨了Hadoop调度的相关工作。第3节介绍了所提出的方法。在第4节和第5节中对所提出的方法的性能进行了评估。2. 相关作品Hadoop使用主从架构来并发运行应用程序。主节点和从节点通过发送心跳消息进行通信。只要从空节点接收到心跳,Hadoop调度程序就会开始向该节点启动任务。Hadoop使用默认的FIFO调度器进行作业调度。FIFO在小作业的响应时间和用户之间的公平共享方面缺乏性能。针对不同类型的工作负载、环境和应用提出了几种调度算法[6-10]。Yahoo提出了容量管理[6]来在不同的组织之间共享Hadoop集群。创建一组具有最小保证容量的队列,并相应地在集群中共享。Facebook提出了Hadoop公平集群(HFS)[7],以在用户/应用程序之间公平地共享集群。将创建一组池,并为每个池分配最小共享。Zaharia等人提出了LATE [8]和Delay调度[9],分别用于有效地启动推测任务和通过稍微放松公平性来实现改进的局部性。在[10]中考虑了作业的期限约束。对进一步的Hadoop调度技术感兴趣的读者可以参考[11]中的详细调查。虽然在文献中提出了一些算法,他们都没有考虑的问题,选择最优的任务,从一个节点的可用本地任务集。3. 该方法Hadoop调度器根据调度策略选择一个作业,每当节点空闲时分配一个插槽。在决定作业之后,调度器开始搜索以从作业的未调度任务列表中找到本地任务以在空闲节点上启动。如果发现本地任务,调度程序立即启动该任务。如果没有可用的本地任务,调度程序将启动非本地任务,或者将机会留给下一个任务72S. 苏雷什和N.P.Gopalan/IERI Procedia 10(2014)70σ根据调度策略在队列中调度作业。默认情况下,Hadoop会在作业的可用本地任务中找到第一个本地任务。假设有许多本地任务可用于作业,则不考虑在其中选择任务与另一任务相比的益处。基于各种因素从可用的本地任务集合中仔细地选择任务可以在将来改进其他任务的局部性并且可以实现改进的负载平衡。默认情况下,Hadoop将每个输入块复制到3个不同的节点中。几种复制算法根据工作负载特性动态地创建和删除文件/块,并在节点之间平衡负载。Hadoop使用Hadoop分布式文件系统(HDFS)存储输入和输出数据,将文件划分为固定大小的块。这将导致应用程序的输入(可能由许多文件组成)以不同的副本计数存储的情况。通常,节点的数量小于块的数量,并且每个块被复制到多个地方(静态或动态复制),作业的许多输入块存储在同一个节点中。此外,许多文件被提供作为应用程序的输入,这进一步增加了作业的本地任务数量到节点的机会。为了选择一个最佳的任务,考虑到其他任务的最高可能的局部性的目标,知识的未来到达的首选节点的空闲时隙是已知的。此外,启动其输入存储在连接到节点的磁盘中负载最少的磁盘上的任务也实现了高传输速率,并在磁盘级产生更好的负载平衡。节点的未来到达时间在它们到达之前是未知的。为了预测任务的节点的未来到达时间,使用节点的进度。在选择任务时考虑以下因素:输入文件/块的副本计数,任务下一个空闲节点的预计到达时间与操作系统中的最优页面替换算法类似,该算法估计具有数据局部性的节点对任务的未来到达时间,并将其用于任务选择。令T = {t 1,t 2,. t i}是在节点n i上具有其输入的作业J i的未调度任务的集合(到节点n i的本地任务的集合)。Li是在任务tiRt是ti的输入的复制因子,Sik是ti的第k个任务的ET(t)=(一)我的天ೖೖసభௌೖௗ一个节点上的磁盘负载等于该节点上运行的任务的I/O请求和其他节点上运行的非本地任务通过网络访问磁盘的部分I/O请求之和。为了将负载分配到连接到节点的磁盘上,选择其输入存储在磁盘上的任务,其中存储最少数量的运行任务的输入是可取的。为简单起见,计算磁盘负载时不考虑非本地任务。存储任务输入的磁盘负载ேೖDL(ti)=1-ேೖ௦(二)其中Ns是节点中的槽的数量,并且Ni是从存储任务ti类似地,基于复制计数的复制权重计算如下:RW(ti)= 1-ேೖா௧ೖ�୫୧୬ሺ ேೖா௧ሻ ୫ୟ୶ሺ ேೖா௧ሻ ೖ�୫୧୬ሺேೖா௧ሻ(三)S. 苏雷什和N.P.Gopalan/IERI Procedia 10(2014)7073TS(T)= max{其中max(Rt)和min(Rt)分别是任务输入块的副本的最大和最小数量。副本数越多,RW(ti)的值越小,副本数越少,RW(ti)的值越大。DL(ti)和RW(ti)的值的范围从零到一。ET(ti)的值在0和1之间归一化。最后,对于任务选择,作为上述三个目标函数的线性组合的多目标函数被形式化如下:TS(T)= max {λ ×ET(ti) + λ ×DL(ti) + λRW(ti)},1λ iλ n(4)ேೖேೖா௧ೖ�୫୧୬ሺ ேೖா௧ሻ×()+ ×(1 -)+ × [1-]},1( 5)ೖೖೖసభௌೖௗேೖ௦୫ୟ୶ሺ ேೖா௧ሻ ೖ�୫୧୬ሺ ேೖா௧ሻ符号n、n和n是对应于目标函数的比例变量,并且n是根据调度策略接下来可以调度的作业中的节点可用于本地任务的数量。该方法的性能开销是微不足道的。因为,即使集群大小很大,节点本地的作业的任务数量也不是一个更大的值。此外,计算小n值的TS(T)值所花费的时间可以忽略不计。此外,所提出的方法可用于任何Hadoop调度算法和Hadoop之外的任何系统,这些系统具有多个调度选项。目标函数被定义为多个目标的线性组合,这使得可以根据我们的要求轻松地添加或删除目标。比例变量的值根据我们的需要是固定的,它们的和可以是1。值越大,意味着该目标函数的权重越大4. 绩效评价所提出的方法的性能进行了评估,通过广泛的实验。在20节点集群上进行了仿真实验。每个节点都有2.4GHz的四核处理器和4GB的RAM。所有节点都有三个7200 RPM的500 GB SATA硬盘驱动器,节点 连 接 1 Gbps 以 太 网 。 WordCount 作 业 用 于 实 验 和 输 入 使 用 Hadoop 1.0.4 版 本 发 行 版 中 的RandomTextWriter程序生成的数据。有100个工作产生的随机输入大小与到达时间间隔为15秒。在整个实验过程中,λ、λ和λ的值分别固定为0.4、0.3和0.3。所有实验重复5次,并给出所得结果的平均值。Hadoop公平调度器(HFS)[7]在实验中被用作调度器。所提出的方法的性能是衡量在数据局部性的改善。图1显示了百分比HFS和HFS启动的本地任务,以及针对各种作业规模提出的任务选择方法。小 作业(1到2个任务)在HFS中获得较低的局部性百分比,因为输入在少数节点中可用。此外,使用所提出的方法与HFS不改善局部性显着小的工作。因为,所提出的方法不适用于单任务作业和2-4个任务的作业有很低的概率为一个以上的任务输入块存储在同一个节点上。所提出的方法的性能为大型作业(超过50个任务的作业)也实现了HFS的微不足道的改善。大型作业通常在大量节点中具有输入数据,因此默认情况下导致最高局部性。另一方面,在一项研究中, 所提出的方法显著地改善了中等大小作业(5到50个MAP任务)的局部性。通过所提出的方法在HFS上发射本地节点实现了大约20%的改进。Zaharia等人提出的延迟调度[9]通过放松资源分配的公平性来改善数据局部性。用户可以通过相应地设置延迟阈值来实现期望的局部性水平。所提出的方案的性能进行了测试,使用HFS与延迟调度。中获得的结果σ74S. 苏雷什和N.P.Gopalan/IERI Procedia 10(2014)70由于性能的提高可以忽略不计,所以在此没有给出局部性项。另一方面,在作业之间的资源分配的公平性方面实现了相当大的改善(图2)。该方法增加了任务局部性的机会,减少了延迟调度技术的公平松弛,以实现期望的局部性。因此,所提出的方法在延迟调度用于更高局部性的情况下提高了公平性方面的性能。局部性和公平性的改进也会在作业响应时间和负载平衡方面产生更好的性能。在未来,分析所提出的算法的性能与各种调度算法,集群规模和工作负载的计划。此外,影响系统性能的其他几个因素将被考虑用于任务选择。HFS HSF +拟议1008060402001 Ͳ 4 5 Ͳ 20 21 Ͳ 50 51 Ͳ 150 151 Ͳ300作业大小(地图任务数)> 350Fig. 1.为各种工作规模图二.延迟调度局部映射S. 苏雷什和N.P.Gopalan/IERI Procedia 10(2014)70755. 结论提出了一种Hadoop环境下的最优任务选择方法。提出了一种基于输入文件/块的副本数、任务到达下一个空闲节点的估计时间和当前磁盘负载等多目标的多目标函数,用于从作业的可用本地任务集中选择任务.所提出的方法的性能进行了评估,通过广泛的实验,并观察到约20%的改进,在HFS的局部性。此外,它还实现了公平性的显着改善,而不影响与延迟调度使用的局部性。如果将来,影响系统性能的其他几个因素将被考虑用于任务选择。引用[1] 杰弗里·迪恩和桑贾伊·格玛沃特。MapReduce:简化大型集群上的数据处理。Communications of the ACM,51(1):107[2] Michael Isard,Mihai Budiu,Yuan Yu,Andrew Birrell和Dennis Fetterly。Dryad:分布式数据-从顺序构建块并行程序。ACM SIGOPS Operating Systems Review,41(3):59-72,2007.[3] Jaliya Ekanayake,Hui Li,Bingjing Zhang,Thilina Gunarathne,Seung-Hee Bae,Judy Qiu,andGeoffrey Fox. Twister:迭代MapReduce的运行时。第19届ACM高性能分布式计算国际研讨会论文集,810[4] Yunhong Gu和Robert L Grossman.扇区和球体:高性能数据云的设计和实现。PhilosophicalTransactions of the Royal Society A:Mathematical,Physical and Engineering Sciences,367(1897):2429[5] Apache Hadoop。 http://hadoop.apache.org/。[6] Hadoophttp://hadoop.apache.org/docs/stable/capacity_scheduler.html[7] Hadoophttp://hadoop.apache.org/docs/stable/fair_scheduler.html[8] M. Zaharia,A. Konwinski,A. D.约瑟夫河H.卡茨和我斯托伊卡。提高异构环境中MapReduce的性能。第八届USENIX操作系统设计与实现研讨会(OSDI),2008年。[9] M. Zaharia,D. Borthakur,J. Sen Sarma,K. Ellingegy,S. Shenker和我。斯托伊卡。延迟调度:一种在集群调度中实现局部性和公平性的简单技术。在2010年第五届欧洲计算机系统会议(EuroSys)的会议记录中。[10] K. Kc和K. Anyanwu,“Scheduling Hadoop Jobs to Meet Deadlines”,Proc. CloudCom,388-392,2010。[11] B.Thirmala Rao,LSS. Reddy.在云环境中改进Hadoop MapReduce调度的调查。国际计算机应用,34(9):29- 33,2011.
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Unity UGUI性能优化实战:UGUI_BatchDemo示例
- Java实现小游戏飞翔的小鸟教程分享
- Ant Design 4.16.8:企业级React组件库的最新更新
- Windows下MongoDB的安装教程与步骤
- 婚庆公司响应式网站模板源码下载
- 高端旅行推荐:官网模板及移动响应式网页设计
- Java基础教程:类与接口的实现与应用
- 高级版照片排版软件功能介绍与操作指南
- 精品黑色插画设计师作品展示网页模板
- 蓝色互联网科技企业Bootstrap网站模板下载
- MQTTFX 1.7.1版:Windows平台最强Mqtt客户端体验
- 黑色摄影主题响应式网站模板设计案例
- 扁平化风格商业旅游网站模板设计
- 绿色留学H5模板:科研教育机构官网解决方案
- Linux环境下EMQX安装全流程指导
- 可爱卡通儿童APP官网模板_复古绿色动画设计
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功