[发明专利]一种MapReduce任务的容错调度方法无效
申请号: | 201210535892.6 | 申请日: | 2012-12-13 |
公开(公告)号: | CN103064728A | 公开(公告)日: | 2013-04-24 |
发明(设计)人: | 刘扬;魏蔚;王珂;杨卫东;刘灿 | 申请(专利权)人: | 河南工业大学 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F11/07;H04L29/08 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 450001 河南省*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 mapreduce 任务 容错 调度 方法 | ||
技术领域
本发明涉及到云计算环境中并行任务调度方法,是一种结合检查点和主动复制的MapReduce任务的容错调度方法。
背景技术
云环境中,节点和任务失效不再是个意外,而成为大规模系统的特征。LADIS 2009大会发布数据显示,一个集群每年会有1%~5%的硬盘会报废,20个机架和3个路由器会宕机一次,服务器每年会平均宕机两次,报废几率在2%~4%。即使对于一个由1万个超级可靠的服务器(MTBF为30年)组成的分布式系统,每天也都会发生失效问题。因此,对于由大量廉价计算机所组成的云环境而言,由各种故障带来的节点和任务失效成为更频繁和普遍的问题,必须视失败为常态,系统必须提供有效的容错方法。
MapReduce提供了一种以大规模并行处理模式来处理数据密集型任务的编程模型。在Google公司内部,通过大规模集群和MapReduce软件,每天有超过20PB的数据得到处理,每个月处理的数据量超过400PB。Yahoo公司实现了基于MapReduce的开源版本Hadoop,Facebook每天用它来处理数据导入、提交时报等任务,Amazon公司采用弹性MapReduce来处理大量的数据密集型任务。MapReduce由于它的易于编程、数据分布和容错等特性而受到越来越多的关注和应用。
Google在2006年的研究报告中指出,在一个平均由268个工作节点组成的计算环境中,每一个MapReduce作业都伴随着5个工作节点的失效。MapReduce采用了一种基于重调度执行(re-schedule)的容错机制来确保失效任务的正确执行,但是系统在重调度失效任务时,未能充分考虑任务的数据分布、重调度失效任务的性能开销延迟,因而常常一个简单的节点失效就会导致作业的整体完成时间延长50%。而对于一个采用了MapReduce计算模型的查询任务而言,如果每个输入数据片段中包含一个错误记录,将会导致整个MapReduce作业增加100%的运行时间开销,这对于SLA需求较高的应用是不能接受的,因而需要采用更加优化的容错调度算法来减少由于系统故障或错误所带来的时间延迟。
发明内容
本发明采用基于检查点的主动复制方法进行任务的容错调度CROFT(Checkpoint and Replication Oriented Fault Tolerant scheduling algorithm),对任务失效和节点失效均有较好的容错支持,并且能明显减少节点失效时的作业延迟,从而提高Mapreduce作业的性能。 算法分为两个部分,分别为运行master节点上的worker节点上,默认前提是:首先,master节点会将所有的mapper任务和reducer任务进行预分配。另外,master节点地位重要且数目较少,通过为其维护多个完全一致的“热备份”,可以保证故障发生时的无缝处理。
每个计算节点在执行每个Mapper任务前,会为该任务创建一个本地local检查点文件和一个全局索引index检查点文件。本地local检查点文件负责记录当前任务的执行进度,从而能够在任务失效情况下避免重复执行过程。而全局索引index检查点文件负责记录当前任务的执行特征,从而能够在节点失效情况下根据快速构造出中间结果数据,减少任务的再执行时间。
该算法可明显减少作业的平均完成时间,算法会将发生失效节点上的任务重新调度到可用的副本工作节点(worker)上,但是与传统的MapReduce容错方法不同,失效节点上任务不会从头重新执行,而是将任务调度到可用的副本worker节点上,新的节点会根据检查点文件快速构造出中间结果数据。通过实验验证了算法的有效性,CROFT能够比Hadoop的运行时性能提升30%以上。支持容错的MapReduce任务调度算法如算法1和算法2所示。
支持容错的任务调度算法如算法1和算法2所示。
当发生任务失效时,只需读取保存在本地的检查点文件,将出错任务的状态和执行恢复到检查点处,减少了任务的重复执行时间。这样,这些中间结果就像被重新调度的mapper任务刚刚输出一样。
当发生节点失效时,master节点上的调度器负责将失效节点上被中断的mapper任务进行排队,在对任务进行重调度时,mapper任务会被重新调度到可用的副本节点上执行,副本节点能够根据索引检查点快速构造出失效节点上执行的mapper任务的中间结果数据,大大减少了重调度任务的执行时间。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于河南工业大学,未经河南工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201210535892.6/2.html,转载请声明来源钻瓜专利网。
- 上一篇:等离子手持美容器
- 下一篇:一种神经内科用按摩带