[发明专利]基于负载均衡机制的权重优先Task任务调度方法有效
申请号: | 201810208263.X | 申请日: | 2018-03-14 |
公开(公告)号: | CN108446179B | 公开(公告)日: | 2022-01-14 |
发明(设计)人: | 尚凤军;陈炫伶 | 申请(专利权)人: | 重庆邮电大学 |
主分类号: | G06F9/50 | 分类号: | G06F9/50 |
代理公司: | 重庆市信立达专利代理事务所(普通合伙) 50230 | 代理人: | 包晓静 |
地址: | 400065 重*** | 国省代码: | 重庆;50 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 负载 均衡 机制 权重 优先 task 任务 调度 方法 | ||
本发明属于资源分配技术领域,公开了一种基于负载均衡机制的权重优先Task任务调度方法,避免单个高权值worker节点负载过高,以及大的task任务直接被丢弃的问题进行改进;首先将task任务进行分类,以task任务读取速度和占用资源量的大小两个条件,将task任务分为四类;在各个worker节点上加入负载均衡模块,使之成为分布式负载均衡模型;并动态监测各worker节点上的资源使用和负载情况,在master节点上根据权值的大小,再通过与task分类情况进行映射至各个worker节点,再进行task任务的调度。解决各个高权值worker节点间负载不均衡及队列拥堵的问题。
技术领域
本发明属于资源分配技术领域,尤其涉及一种基于负载均衡机制的权重优先Task任务调度方法。
背景技术
在spark源码中,task任务至worker节点的调度过程是按照stage的优先级以及task的本地性进行优先级的区分,默认task采用一个线程来进行计算。在广播task的时候,如果task大于128mb-200mb,则直接将task丢弃。Task将以队列的形式,由master节点分配到各个worker节点。这样会导致各节点之间的分配不均衡,出现高配置节点长期处于饥饿状态,而配置低的节点长期处于满负载状态,导致任务完成时间较长,性能较低,资源利用率较低。在现有的改进算法中,根据worker节点权值进行动态资源分配。每个worker节点通过节点监测模块可以根据自身资源情况及负载变化情况定期动态调整权值大小,master节点调度时读取各节点权值优先选择权值较大节点。但是该算法没有考虑到在高权值的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任务的调度。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于重庆邮电大学,未经重庆邮电大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810208263.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:优化卡顿的方法及装置
- 下一篇:一种基于数据迁移的数据中心动态任务调度方法