一种基于MapReduce的自适应作业调度方法

文档序号:6408281阅读:265来源:国知局
专利名称:一种基于MapReduce的自适应作业调度方法
技术领域
本发明属于分布式并行计算领域,具体而言是MapReduce中自适应作业调度方法。
背景技术
近年来,随着宽带网络技术与并行计算理论的快速发展,一种更简化的分布式并 行计算模型——MapReduce应运而生。MapReduce是Google提出的一种实现分布式并行计 算任务的通用软件框架,它简化了由普通计算机组成的超大集群上的并行软件编程模式, 可用于大规模数据集的并行计算。MapReduce分布式计算系统中,作业的调度策略直接关 系到系统整体资源的利用率以及各用户间使用资源的公平性。因此,作业的调度算法成为 MapReduce系统面临的一大挑战。在当前的MapReduce计算模型中,作业的调度主要由集中控制节点完成,该节点 负责将计算任务分配给具有足够资源的空闲节点。为了在集群计算系统中,实现多点并 行计算,调度节点将MapReduce应用划分为固定粒度大小的任务,分配给多个节点。然而, MapReduce集群计算系统中各计算节点的计算能力存在较大差异,常规的静态任务划分及 指派方法,将影响作业的执行效率以及计算资源的利用率。另一方面,MapReduce集群计算 系统的静态调度方法,使得每一个作业真正开始执行之前,需要等待一个较长的时间,完成 所有分解任务的初始化装配,从而导致集群系统中的计算资源被浪费。因此,本发明提出一 种自适应的任务划分及动态任务调度方法,以解决此类问题。

发明内容
本发明的目的是克服静态的任务划分及调度技术的缺陷,提供一种基于节点计算 能力,具有自适应任务划分和任务调度的方法。为达到上述目的,本发明提供的方法包括以下步骤第一步,MapReduce计算节点初始化时,提供一种生成计算节点能力指数的方法, 具体而言,各计算节点根据自身的计算能力(CPU核数量、CPU主频)、存储能力(内存容量) 与网络吞吐能力(网络带宽)等配置参数,生成计算节点单CPU核的能力指数;第二步,参照MapReduce集群计算系统内所有计算节点的能力指数,计算 MapReduce作业的数据块规模;第三步,调度节点根据计算出的数据块规模,对新进入的MapReduce作业的数据 进行划分;第四步,结合各计算节点的能力指数,调度节点动态将MapReduce作业的数据块 组装成任务,分配给各计算节点;第五步,动态统计各计算节点的资源使用率,如果资源使用率低于门限,重新计算 MapReduce作业的数据块规模。进一步,其中所述计算节点CPU核的能力指数计算,包括计算节点扫描自身的硬件配置参数,包括CPU核数、CPU核主频、内存容量及网络接口数量与带宽;根据硬件配置参 数,按照下式产生所述计算节点单核能力指数
权利要求
1.一种基于MapReduce的自适应作业调度方法,其特征在于,包括下列步骤第一步,MapReduce计算节点根据自身的计算能力、存储能力与网络吞吐能力参数,生 成各个计算节点单CPU内核的能力指数;第二步,参照MapReduce集群计算系统内所有计算节点的能力指数,计算MapReduce作 业的数据块规模;第三步,调度节点根据计算出的数据块规模,对新进入的MapReduce作业的数据进行 划分;第四步,结合各计算节点的能力指数,调度节点动态将MapReduce作业的数据块组装 成任务,分配给各计算节点;第五步,动态统计各计算节点的资源使用率,如果资源使用率低于门限,重新计算 MapReduce作业的数据块规模。
2.根据权利要求1所述的基于MapReduce的自适应作业调度方法,其特征在于,所 述计算节点单CPU内核的能力指数,包括计算节点扫描自身的硬件配置参数,包括CPU 核数、CPU核主频、内存容量及网络接口数量与带宽;根据硬件配置参数,按照下式计算C =---ζ微2P式中,C。_代表计算节点单CPU内核的能力指数,C。。re越大表示计算节点单一 CPU内核 对单一任务的处理能力越强,越能处理较大规模的任务;W代表计算节点所有网络接口的 带宽之和,单位为Mbps ;f代表计算节点的CPU内核主频,单位为GHz ;m代表计算节点的内 存总量,单位为GB ;ρ代表计算节点的CPU内核数量,单位为个。
3.根据权利要求1所述的基于MapReduce的自适应作业调度方法,其特征在于,所述计 算MapReduce作业的数据块规模,包括调度节点统计MapReduce集群计算系统所有计算节 点的单核能力指数,按照下式计算数据块大小S = rriin{(a^Core):1 <i <η)式中,S代表数据块大小,单位为MB ;min{C!_ :l<l ^}代表MapReduce集群计算系 统中所有计算节点单CPU内核的能力指数的最小值,Ccore1代表第i个计算节点的单核能力 指数;η代表MapReduce集群计算系统中计算节点总数;α代表调节因子,取值范围为0 1。
4.根据权利要求1所述的基于MapReduce的自适应作业调度方法,其特征在于,所述 MapReduce作业的数据划分,包括如下步骤设定MapReduce集群计算系统的数据块规模; 调用MapReduce集群计算系统的数据划分功能对MapReduce作业的数据划分为数据块。
5.根据权利要求4所述的基于MapReduce的自适应作业调度方法,其特征在于,所述调 度节点对任务的动态装配及动态调度,包括计算节点向调度节点报告其剩余能力指数,所 述调度节点根据所述计算节点的剩余能力指数,按照下式产生所述计算节点最大可处理数 据块数D = Cr/S式中,D代表所述计算节点最大可处理数据块数,S代表数据块大小,C;代表计算节点 可用的剩余能力指数。
6.根据权利要求5所述的基于MapReduce的自适应作业调度方法,其特征在于,所述计 算节点向调度节点报告其剩余能力指数,按照下式公式计算Cr p*Ccore Cuse(j式中,C;代表计算节点可用的剩余能力指数,(;_代表计算节点单CPU内核的能力指 数,P代表计算节点的CPU内核数量,Cused代表计算节点当前已经使用的能力指数。
7.根据权利要求5或6所述的基于MapReduce的自适应作业调度方法,其特征在于,所 述调度节点对任务的动态装配及动态调度,进一步包括调度节点根据产生的计算节点最大 可处理数据块数,将D块数据块装配成一个任务,并指派给所述计算节点。
8.根据权利要求1所述的基于MapReduce的自适应作业调度方法,其特征在于,所述 MapReduce集群计算系统的资源使用率统计,进一步包括计算节点向调度节点报告其总能 力指数和当前已经使用的能力指数,所述调度节点按照下式产生MapReduce集群计算系统 的资源使用率
全文摘要
本发明涉及分布式并行计算领域中MapReduce自适应作业调度方法,包括下列步骤MapReduce计算各个计算节点单CPU内核的能力指数;计算MapReduce作业的数据块规模;调度节点对新进入的MapReduce作业的数据进行划分;调度节点动态将MapReduce作业的数据块组装成任务,分配给各计算节点;动态统计各计算节点的资源使用率,如果资源使用率低于门限,重新计算MapReduce作业的数据块规模。本发明提供一种基于计算节点实际计算能力,具有自适应任务划分和任务调度的方法。
文档编号G06F15/16GK102004670SQ20091031168
公开日2011年4月6日 申请日期2009年12月17日 优先权日2009年12月17日
发明者卢正新, 王芙蓉, 王非, 黄本雄 申请人:华中科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1