[发明专利]一种于Hadoop平台中动态调整任务数目的方法及系统有效
申请号: | 201310700010.1 | 申请日: | 2013-12-18 |
公开(公告)号: | CN103699433B | 公开(公告)日: | 2017-07-14 |
发明(设计)人: | 康凯;赵霞;宋莹;孙毓忠 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F9/46 | 分类号: | G06F9/46;G06F9/50 |
代理公司: | 北京律诚同业知识产权代理有限公司11006 | 代理人: | 祁建国,田景宜 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 hadoop 平台 动态 调整 任务 目的 方法 系统 | ||
技术领域
本发明涉及Hadoop分布式计算平台,特别是涉及于MapReduce计算框架下进行任务调度的方法及系统。
背景技术
在云计算模式下,Hadoop平台为数据中心的用户提供了大量的服务,与此同时,由于数据中心机器的多样性、用户提交作业的复杂性、处理的数据与日俱增,Hadoop平台本身面临着巨大的挑战,并且这些挑战对Hadoop的性能有较大的影响。因此,如何使得Hadoop平台更适应集群的多样性、作业的复杂性,增强其健壮性,保持其原有的可扩展性、低成本、高效率、容错性等特性成为了改善Hadoop性能的关键。
针对Hadoop性能的优化,目前可分为四类:
1.以提高集群中资源利用率为目的的优化,如Fairness Scheduler[1][2][3][11]、Capacity Scheduler[4]、A Dynamic Map Reduce Scheduler[8],这些优化方法的共同点都是将用户提交的作业组织成不同的队列,然后为每一个队列分配不同大小的资源,以达到资源公平的、充分的使用。
2.以增加任务本地化的比例来缩短作业执行时间为目的的优化,如Delay Scheduler[5]、Locality-Aware Scheduler[12],这些优化方法的共同点是通过数据分布的信息,增加任务本地化执行的数量,减少由于任务拷贝数据所花费的IO时间来缩短任务执行的时间。
3.以提高系统吐吞量为目的的优化,如Context Aware Scheduler[10],优化方案的特点是将任务和节点同时按照CPU密集型和IO密集型进行划分,然后将任务依据对不同类型的节点的需求进行分配,改善系统的吞吐量。
4.通过优化推测任务执行来缩短作业的执行时间,如LATE Scheduler[6][7]、A Load-Aware Scheduler[9],这些优化方法的共同点是通过实时获取作业执行进度的信息及数据所存放的位置,提高推测任务执行的准确率、本地化率,达到缩短作业执行时间的目的。
但是依旧没有解决的问题是:
Hadoop平台无法感知集群节点的异构性状况,无法根据节点自身的处理能力合理有效的初始化集群配置,同时也无法根据任务的执行状况、集群中异构节点的处理能力和资源使用情况自动的调整节点上运行的任务数目和资源使用情况,即无论任务的当前任务的执行速率如何以及系统的各个资源消耗状态如何,Hadoop都无法自动的调整节点上资源的使用状态以使任务的执行达到高效的状态且系统资源得到充分的利用。因为目前Hadoop调度算法中没有考虑平台运行在异构环境下的诸多不同的因素及变化因素,也没有在平台运行中提供修改任务Slots的方法和策略。由于上述的问题使得Hadoop平台在集群和作业都是异构的情形下,其性能受到了严重的影响并且遇到了瓶颈。
发明内容
本发明解决的问题在于,自动的调整节点上运行的任务数目,以使Hadoop平台体现出较高的任务执行效率。
更进一步的,实现集群运行任何异构性的作业或者作业运行在任何异构性的集群中都能使Hadoop平台体现出良好的性能。
更进一步的,通过感知机制对节点中的资源、任务进行动态的调整,提高集群中的资源使用率以缩短作业的响应时间,使得集群中的资源和任务执行速率达到最佳匹配的状态。
更进一步的,使用感知节点的计算能力、任务执行状态实现动态调整Slots数目,有效的感知了集群和作业的异构性。
本发明公开了一种于Hadoop平台中动态调整任务数目的方法,包括:
步骤10,持续获取节点中运行的任务的执行速率;
步骤20,计算执行速率在下降的任务的个数;
步骤30,根据该个数判断是否需要调整节点中所运行的任务的数目。
步骤10之前还包括:
步骤1,获取集群中每个节点的处理能力;
步骤2,获取每个节点的处理资源的使用率。
所述的方法还包括:
该获取集群中每个节点的处理能力的步骤进一步包括:读取每个节点上的CPU核数;和/或
该获取每个节点的处理资源的使用率的步骤进一步包括:每隔固定时间间隔读取每个节点的CPU使用率以及内存使用率。
该步骤10进一步包括:
在节点的每个任务的执行过程中,以固定时间间隔持续获取该任务的当前执行进度,据以计算各时间点的执行速率。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310700010.1/2.html,转载请声明来源钻瓜专利网。