基于负载均衡机制的权重优先Task任务调度方法技术

技术编号:18763641 阅读:35 留言:0更新日期:2018-08-25 10:25
本发明专利技术属于资源分配技术领域,公开了一种基于负载均衡机制的权重优先Task任务调度方法,避免单个高权值worker节点负载过高,以及大的task任务直接被丢弃的问题进行改进;首先将task任务进行分类,以task任务读取速度和占用资源量的大小两个条件,将task任务分为四类;在各个worker节点上加入负载均衡模块,使之成为分布式负载均衡模型;并动态监测各worker节点上的资源使用和负载情况,在master节点上根据权值的大小,再通过与task分类情况进行映射至各个worker节点,再进行task任务的调度。解决各个高权值worker节点间负载不均衡及队列拥堵的问题。

【技术实现步骤摘要】
基于负载均衡机制的权重优先Task任务调度方法
本专利技术属于资源分配
,尤其涉及一种基于负载均衡机制的权重优先Task任务调度方法。
技术介绍
目前,业内常用的现有技术是这样的:在spark源码中,task任务至worker节点的调度过程是按照stage的优先级以及task的本地性进行优先级的区分,默认task采用一个线程来进行计算。在广播task的时候,如果task大于128mb-200mb,则直接将task丢弃。Task将以队列的形式,由master节点分配到各个worker节点。这样会导致各节点之间的分配不均衡,出现高配置节点长期处于饥饿状态,而配置低的节点长期处于满负载状态,导致任务完成时间较长,性能较低,资源利用率较低。在现有的改进算法中,根据worker节点权值进行动态资源分配。每个worker节点通过节点监测模块可以根据自身资源情况及负载变化情况定期动态调整权值大小,master节点调度时读取各节点权值优先选择权值较大节点。但是该算法没有考虑到在高权值的worker节点上等待任务较多,造成任务拥堵的情况。并且,在task任务对worker节点的选择时,仅仅考虑到分配至权值最大的节点,会造成单个worker节点任务数量负载过高的情况。综上所述,现有技术存在的问题是:现有的改进算法没有考虑到在高权值的worker节点上等待任务较多,造成任务拥堵的情况;在task任务对worker节点的选择时,仅仅考虑到分配至权值最大的节点,造成单个worker节点任务数量负载过高的情况。解决上述技术问题的难度和意义:针对Hadoop云平台下,任务调度方案已经出现了很多,也较为成熟。但是在Spark平台下,关于Task的任务调度也出现了一些研究成果。在分布式计算领域中,调度策略的根本目标是根据当前集群中各个Worker节点上的资源(包括CPU、内存和网络资源)剩余情况与各个Task任务要求,在资源和任务之间做出最优的匹配。并且,各个Worker节点的权值不同,节点的计算能力就不同。因此,分布式系统中的Task任务调度是一个多目标优化问题,更进一步说,它是一个典型的NP问题。
技术实现思路
针对现有技术存在的问题,当前的Spark版本中,在对Task任务的调度过程仅用FIFO的策略进行调度,未考虑到各个Worker节点的计算能力不同的因素,导致计算能力弱的节点阻塞,计算能力强的节点资源闲置。现有的优化策略的研究就过程中,仅考虑到对Worker节点进行权值计算,未考虑到这将导致Task任务阻塞等待Worker节点的资源,以至于增加任务运行时间。本专利技术提供了一种基于负载均衡机制的权重优先Task任务调度方法。本专利技术是这样实现的,一种基于负载均衡机制的权重优先Task任务调度方法,所述基于负载均衡机制的权重优先Task任务调度方法包括:将task任务进行分类,以task任务读取速度和占用资源量的大小两个条件,将task任务分为四类;在各个worker节点上加入负载均衡模块,使之成为分布式负载均衡模型;并动态监测各worker节点上的资源使用和负载情况,在master节点上根据权值的大小,再通过与task分类情况进行映射至各个worker节点,再进行task任务的调度。进一步,所述基于负载均衡机制的权重优先Task任务调度方法包括以下步骤;步骤一,将task任务按照读取速度及占用资源量的大小进行分类;步骤二,结合加权轮转算法的思想,对worker节点进行权值的计算;步骤三,在原有模型上加入分布式负载均衡框架;步骤四,将计算出的worker节点上的权值和task分类后的情况进行映射;并且worker权值为0的节点不进行分配,且占用数据量大且读取速度慢类型的task直接进行慢任务备份,并等待权值最大的worker节点进行分配。进一步,所述步骤一具体包括:分为占用数据量小且读取速度快、占用数据量小且读取速度慢、占用数据量大且读取速度快、占用数据量大且读取速度慢四类;其中判断task任务大小的方法:判断task任务是否为慢任务的方法:一个进程上Task平均进度增长率-所以进程上Task平均任务增长率≤σ×慢节点阈值。进一步,所述步骤二具体包括:CU代表:CPU的利用率;MU代表:内存利用率;WCL代表:单个worker节点上负载的队列长度;capacity代表:该worker节点的权值;count代表:权值计算过程中的计算次数;其中,CPU利用率的计算方法:内存利用率的计算方法:MU实时可用=M总量-MBuffer-Mcache;其中,M总量表示内存总量;MU实时可用表示目前可以使用的内存容量;MFree表示空闲内存容量;Mcache表示缓存容量;单个worker节点上负载的队列长度计算方法:其中,WTask表示该worker机上负载task的数量;总Task表示正在运行的task的数量;W权值表示该worker机的权值;总权值表示所有worker机的总权值。进一步,所述步骤四的慢任务备份条件:未在进程上失败过的task;没有备份过的task;Task所占用的资源量大;属于慢任务。综上所述,本专利技术的优点及积极效果为:针对现有的改进算法中结合加权轮转算法的思想,避免单个高权值worker节点负载过高,以及大的task任务直接被丢弃的问题进行改进。首先将task任务进行分类,以task任务读取速度和占用资源量的大小两个条件,将task任务分为四类;在各个worker节点上加入负载均衡模块,使之成为分布式负载均衡模型;并动态监测各worker节点上的资源使用和负载情况,在master节点上根据权值的大小,再通过与task分类情况进行映射至各个worker节点,再进行task任务的调度。通过计算Worker节点的权值,能够更好的区分Worker节点的计算能力,再将task分类后与Worker节点进行映射更能充分利用资源,解决弱节点负载过高,强节点负载过低的问题。节省了任务运行时间,提高了资源利用率。附图说明图1是本专利技术实施例提供的基于负载均衡机制的权重优先Task任务调度方法流程图。图2是本专利技术实施例提供的结合加权轮转算法的思想,对worker节点进行权值的计算示意图。图3是本专利技术实施例提供的在原有模型上加入分布式负载均衡框架示意图。图4是本专利技术实施例提供的Task/Worker映射方式示意图。具体实施方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合实施例,对本专利技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定本专利技术。如图1所示,本专利技术实施例提供的基于负载均衡机制的权重优先Task任务调度方法包括以下步骤:S101:将task任务进行分类,以task任务读取速度和占用资源量的大小两个条件,将task任务分为四类;在各个worker节点上加入负载均衡模块,使之成为分布式负载均衡模型;S102:动态监测各worker节点上的资源使用和负载情况,在master节点上根据权值的大小;S103:通过与task分类情况进行映射至各个worker节点,再进行task任务的调度。下面结合附图对本专利技术的应用原理作进一步的描述。本专利技术实施例提供的基于负载均衡机制的权重优先Task任务调度方法本文档来自技高网
...

【技术保护点】
1.一种基于负载均衡机制的权重优先Task任务调度方法,其特征在于,所述基于负载均衡机制的权重优先Task任务调度方法包括:将task任务进行分类,以task任务读取速度和占用资源量的大小两个条件,将task任务分为四类;在各个worker节点上加入负载均衡模块,使之成为分布式负载均衡模型;并动态监测各worker节点上的资源使用和负载情况,在master节点上根据权值的大小,再通过与task分类情况进行映射至各个worker节点,再进行task任务的调度。

【技术特征摘要】
1.一种基于负载均衡机制的权重优先Task任务调度方法,其特征在于,所述基于负载均衡机制的权重优先Task任务调度方法包括:将task任务进行分类,以task任务读取速度和占用资源量的大小两个条件,将task任务分为四类;在各个worker节点上加入负载均衡模块,使之成为分布式负载均衡模型;并动态监测各worker节点上的资源使用和负载情况,在master节点上根据权值的大小,再通过与task分类情况进行映射至各个worker节点,再进行task任务的调度。2.如权利要求1所述的基于负载均衡机制的权重优先Task任务调度方法,其特征在于,所述基于负载均衡机制的权重优先Task任务调度方法包括以下步骤;步骤一,将task任务按照读取速度及占用资源量的大小进行分类;步骤二,结合加权轮转算法的思想,对worker节点进行权值的计算;步骤三,在原有模型上加入分布式负载均衡框架;步骤四,将计算出的worker节点上的权值和task分类后的情况进行映射;并且worker权值为0的节点不进行分配,且占用数据量大且读取速度慢类型的task直接进行慢任务备份,并等待权值最大的worker节点进行分配。3.如权利要求2所述的基于负载均衡机制的权重优先Task任务调度方法,其特征在于,所述步骤一具体包括:分为占用数据量小且读取速度快、占用数据量小且读...

【专利技术属性】
技术研发人员:尚凤军陈炫伶
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:重庆,50

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

1