Hadoop云平台下基于负载监控的混合调度方法技术

技术编号:9462698 阅读:167 留言:0更新日期:2013-12-18 23:52
本发明专利技术公开了一种Hadoop云平台下基于负载监控的混合调度方法。通过分析Max-D算法、FIFO算法以及公平调度算法的调度效果和各自应用场景,提出一个基于负载监控的混合调度策略。本发明专利技术通过对系统负载的实时监控,在三个算法中选择最合适现负载状况的调度算法。相比单一的使用一种调度算法,基于负载监控的混合调度策略有着明显的优势,能够适应Hadoop系统中负载的变化,使得系统能够保持比较好的性能。

【技术实现步骤摘要】
Hadoop云平台下基于负载监控的混合调度方法
本专利技术涉及云平台作业调度方法,尤其是涉及一种Hadoop云平台下基于负载监控的混合作业调度方法。技术背景无线感知网络技术是近几年一个渐渐兴起的技术,集成了传感器技术、嵌入式计算技术、分布式信息处理技术和通信技术,是一种全新的信息获取和处理技术。它在理论设计、应用实现、发展方向等方面与传统网络不同,因此传感器网络的理论依据与系统设计与传统的网络系统有很大的区别。Hadoop是一个具有高可靠性的良好扩展性的分布式系统,可以在大量廉价的硬件设备组成的集群上运行应用程序,并且为应用程序提供了一组稳定可靠的接口。Hadoop现有调度方法调度目标都比较单一,仅能满足单一的负载情况,而在不同的负载情况下,性能有很大区别,造成了作业调度方法适应性较差,不能满足云平台的复杂性和多样性。Hadoop中作业调度方法广泛使用FIFO方法或公平调度方法。FIFO方法根据作业(job)的提交时间对作业进行分配,优先分配先提交的作业。FIFO方法实现简单,调度消耗少,但是在面对海量数据处理时,某些需要大量计算的作业会长期占用资源,而后续作业将迟迟得不到执行,影响系统的性能和用户的体验。公平调度方法保证作业能够公平的获得资源进行执行,但是作业平均完成时间较长。
技术实现思路
本专利技术的目的是提供一种高效的Hadoop云平台下的混合调度方法,从而应对云平台的复杂性。实现本专利技术目的的技术解决方案为:1、Hadoop系统中的资源(taskTracker)向中心节点(jobTracker)持续发送自身节点的实时信息,包括是否空闲,正在执行任务的已执行时间以及执行进度。2、对系统负载进行实时监控,根据资源发送的实时信息计算系统内的负载程度,系统负载指系统在某时刻正在执行的任务量:假设系统中有m个资源,其中空闲的资源个数为k,待执行的任务数为numT,定义系统的负载度为:若0≤HL<1,则系统处于低载;若1≤HL≤2,则系统处于负载平衡;若HL>2,则系统处于过载。3、当有资源向中心节点请求任务(task)时,根据实时负载程度选择调度方案:在系统资源低载情况下,使用FIFO调度方法,降低调度消耗;在负载平衡情况下使用公平调度方法,提高系统的公平性,保证作业都能得到执行;在过载情况下使用Max-D调度方法,使得作业平均完成时间缩短。3中涉及的Max-D调度方法实现流程如下:第一步:确定云环境中所有计算资源以及空闲资源的集合。第二步:对待分配作业按作业提交先后排序成队列,新提交的作业被加入该队列尾部。第三步:对排序后的作业进行调度,采用Max-D方法选择合适的资源进行执行。对于3中第三步的Max-D方法,其步骤如下:步骤3.1:对所有待分配作业,计算作业在所有计算资源上的平均估计运行时间;步骤3.2:计算每个作业的平均估计运行时间以及其在单个空闲的计算资源上最少的运行时间之间的差值Di,并记录该计算资源;步骤3.3:在所有作业中找到差值Di最大的作业,并将该Di记为D;步骤3.4:若D≥0,则分派作业给记录的资源进行处理,同时将该资源从空闲资源集合中去除;若D<0,则重新确定分配的资源和空闲资源集合,将完成其分配作业的资源加入到空闲资源集合中,然后返回步骤3.1。步骤3.5:重复步骤3.2到步骤3.4直到为所有申请作业的资源分配了作业。步骤3.1中计算资源平均估计完成时间方法如下:假设云环境是由n个未分配作业T={t1,t2,...tn}和m个资源R={r1,r2,...rm}组成,每个资源同时只能对一个作业进行处理;资源中空闲的资源个数为k,记为R'={r1',r2',...rk'},其中k<m;作业ti在资源rj上的估计运行时间为TCirj,则作业ti在所有资源上的平均运行时间为作业ti在资源rj上的完成时间,是正在rj上执行的作业的剩余完成时间以及作业ti在rj上的完成时间之和。假设在云环境中,对于同一类作业,资源处理的速率与其处理的数据量成正比。作业i在资源r上的预计完成时间为正在资源r上运行作业的剩余完成时间以及作业i在资源r上执行时间之和:其中,TCirj(k+1)表示将资源rj处理作业ti所需的完成时间,TCirj(k)表示前一个作业在资源rj上的预测完成时间;M(k)是运行该作业所需时间与运行单位作业所需时间的比值;RTCirj(k)表示前一个作业在rj上实际运行时间,pro(0<pro≤1)表示前一个作业的完成比例,如果资源rj是空闲资源,即前一个作业已经执行完成,则pro=1,上述公式可以简化为通过该资源上前一个作业的估计执行时间TCirj(k)和实际执行时间RTCirj(k),使用公式(1)进行估算得到未调度的作业在某个资源上的执行时间。然而,在系统刚启动的阶段,各资源上还未执行过作业,则资源的执行时间无法通过前一个作业的执行情况进行估算。因此在系统刚启动时,对于所有资源,令TCirj(0)=RTCirj(0)=0(3)这样待执行作业会首先选择未执行过作业的资源进行执行,在资源执行完第一个作业后,便得到了作业的实际执行时间RTCirj(1),令TCirj(1)等于RTCirj(1),则之后作业的运行时间可以按照公式(1)进行估算。步骤3.2中计算差值Di的方法如下:作业ti在所有未分配工作的节点上的最小运行时间记为mUTCi=min{TCir1',TCir2',...,TCirk'},记录下满足TCirj'=mUTCi的未分配作业rj',并记BRi=rj',然后根据公式Di=AvgTCi-mUTCi,得到作业i的差值Di。本专利技术与现有技术相比,其显著优点:1、本专利技术通过对系统负载的监控,实时的为待分配的任务选择合适的调度方法,保证了系统在不同的系统状态下始终能够保持高效的性能;2、本专利技术的作业调度只会将作业分配到空闲的资源上,保证了云环境下负载的均衡,不会出现部分资源过载而其他资源空闲的情况;3、本专利技术通过Max-D方法为作业选择最合适的资源,减少了作业的平均完成时间,提高了系统的吞吐率。附图说明附图是本专利技术所述的基于负载混合调度策略原理图。具体实施方式下面结合附图对本专利技术做进一步说明。假设系统中有m个资源,其中空闲的资源个数为k,待执行的任务数为numT,定义系统的负载度为:若0≤HL<1,则系统处于低载;若1≤HL≤2,则系统处于负载平衡;若HL>2,则系统处于过载。基于负载监控的混合调度策略包含一个负载监测器和一个调度选择器。负载监测器负责对系统的负载进行监测与计算,调度选择器则根据负载监本文档来自技高网...
Hadoop云平台下基于负载监控的混合调度方法

【技术保护点】
一种Hadoop云平台下基于负载监控的混合调度方法,其特征在于方法如下:(1)Hadoop系统中的资源taskTracker向中心节点jobTracker持续发送自身节点的实时信息,实时信息包括是否空闲、正在执行任务的已执行时间以及执行进度;(2)对系统负载进行实时监控,根据资源发送的实时信息计算系统内的负载程度:(3)当有资源向中心节点请求任务task时,根据实时负载程度选择调度方案:在系统资源低载情况下,使用FIFO调度方法,降低调度消耗;在负载平衡情况下使用公平调度方法,提高系统的公平性,保证作业都能得到执行;在过载情况下使用Max?D调度方法,使得作业平均完成时间缩短。

【技术特征摘要】
1.一种Hadoop云平台下基于负载监控的混合调度方法,其特征在于方法如下:(1)Hadoop系统中的资源taskTracker向中心节点jobTracker持续发送自身节点的实时信息,实时信息包括是否空闲、正在执行任务的已执行时间以及执行进度;(2)对系统负载进行实时监控,根据资源发送的实时信息计算系统内的负载程度:(3)当有资源向中心节点请求任务task时,根据实时负载程度选择调度方案:在系统资源低载情况下,使用FIFO调度方法,降低调度消耗;在负载平衡情况下使用公平调度方法,提高系统的公平性,保证作业都能得到执行;在过载情况下使用Max-D调度方法,使得作业平均完成时间缩短;Max-D调度方法实现流程如下:第一步:确定云环境中所有计算资源以及空闲资源的集合;第二步:对待分配作业按作业提交先后排序成队列,新提交的作业被加入该队列尾部;第三步:对排序后的作业进行调度,采用Max-D方法选择合适的资源进行执行;Max-D方法,其步骤如下:步骤3.1:对所有待分配作业,计算作业在所有计算资源上的平均估计运行时间;步骤3.2:计算每个作业的平均估计运行时间以及其在单个空闲的计算资源上最少的运行时间之间的差值Di,并记录该计算资源;步骤3.3:在所有作业中找到差值Di最大的作业,并将该Di记为D;步骤3.4:若D≥0,则分派作业给记录的资源进行处理,同时将该资源从空闲资源集合中去除;若D<0,则重新确定分配的资源和空闲资源集合,将完成其分配作业的资源加入到空闲资源集合中,然后返回步骤3.1;步骤3.5:重复步骤3.2到步骤3.4直到为所有申请作业的资源分配了作业;步骤3.1中计算资源平均估计完成时间方法如下:假设云环境是由n个未分配作业T={t1,t2,...tn}和m个资源R={r1,r2,...rm}组成,每个资源同时只能对一个作业进行处理;资源中空闲的资源个数为k,记为R'={r1',r2',...rk'},其中k<m;作业ti在资源rj上的估计运行时间为TCirj,则作业ti在所有资源上的平均运行时间为作业ti在资源rj上的完成时间,是正在rj上执行的作业的剩余完成时间以及作业ti在rj上的完成时间之和;假设在云环境中,对于同一类作业,资源处理的速率与其处理的数据量成正比,作业i在资源r上的预计完成时间为正在资源r上运行作业的剩余完成时间以及作业i在资源r上执行时间之和:

【专利技术属性】
技术研发人员:李千目陆路侯君
申请(专利权)人:南京理工大学连云港研究院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1