CN108446179A - 基于负载均衡机制的权重优先Task任务调度方法 - Google Patents

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

Info

Publication number
CN108446179A
CN108446179A CN201810208263.XA CN201810208263A CN108446179A CN 108446179 A CN108446179 A CN 108446179A CN 201810208263 A CN201810208263 A CN 201810208263A CN 108446179 A CN108446179 A CN 108446179A
Authority
CN
China
Prior art keywords
task
weights
load
worker nodes
scheduling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201810208263.XA
Other languages
English (en)
Other versions
CN108446179B (zh
Inventor
尚凤军
陈炫伶
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Radio and Television Yunrong Digital Technology Co.,Ltd.
Original Assignee
Chongqing University of Post and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Chongqing University of Post and Telecommunications filed Critical Chongqing University of Post and Telecommunications
Priority to CN201810208263.XA priority Critical patent/CN108446179B/zh
Publication of CN108446179A publication Critical patent/CN108446179A/zh
Application granted granted Critical
Publication of CN108446179B publication Critical patent/CN108446179B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Factory Administration (AREA)

Abstract

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

Description

基于负载均衡机制的权重优先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平均任务增长率≤σ×慢节点阈值(2)
2.其次结合加权轮转算法的思想,对worker节点进行权值的计算:如图2:
其中,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机的总权值。若满足公式(5)的条件,则为单个worker节点的负载阈值。
3.然后在原有模型上加入分布式负载均衡框架:如图3;
4.最后将计算出的worker节点上的权值和task分类后的情况进行映射;并且worker权值为0的节点不进行分配,且占用数据量大且读取速度慢类型的task直接进行慢任务备份,并等待权值最大的worker节点进行分配:
慢任务备份条件:
(1)未在进程上失败过的task
(2)没有备份过的task
(3)Task所占用的资源量大
(4)属于慢任务,见公式(2)
Task/Worker映射方式如图4。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

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任务调度方法,其特征在于,所述步骤一具体包括:分为占用数据量小且读取速度快、占用数据量小且读取速度慢、占用数据量大且读取速度快、占用数据量大且读取速度慢四类;
其中判断task任务大小的方法:
判断task任务是否为慢任务的方法:
一个进程上Task平均进度增长率-所以进程上Task平均任务增长率≤σ×慢节点阈值。
4.如权利要求2所述的基于负载均衡机制的权重优先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机的总权值。
5.如权利要求2所述的基于负载均衡机制的权重优先Task任务调度方法,其特征在于,所述步骤四的慢任务备份条件:未在进程上失败过的task;没有备份过的task;Task所占用的资源量大;属于慢任务。
CN201810208263.XA 2018-03-14 2018-03-14 基于负载均衡机制的权重优先Task任务调度方法 Active CN108446179B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810208263.XA CN108446179B (zh) 2018-03-14 2018-03-14 基于负载均衡机制的权重优先Task任务调度方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810208263.XA CN108446179B (zh) 2018-03-14 2018-03-14 基于负载均衡机制的权重优先Task任务调度方法

Publications (2)

Publication Number Publication Date
CN108446179A true CN108446179A (zh) 2018-08-24
CN108446179B CN108446179B (zh) 2022-01-14

Family

ID=63194382

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810208263.XA Active CN108446179B (zh) 2018-03-14 2018-03-14 基于负载均衡机制的权重优先Task任务调度方法

Country Status (1)

Country Link
CN (1) CN108446179B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008013A (zh) * 2019-03-28 2019-07-12 东南大学 一种最小化作业完工时间的Spark任务分配方法
CN110866027A (zh) * 2018-12-29 2020-03-06 厦门安妮股份有限公司 一种提高区块链查询效率的系统及方法
CN110990139A (zh) * 2019-12-06 2020-04-10 安徽芯智科技有限公司 一种基于rtos的smp调度方法及系统
CN111949218A (zh) * 2020-08-25 2020-11-17 重庆紫光华山智安科技有限公司 一种高可用存储系统负载均衡方法、系统、介质及终端
CN112463390A (zh) * 2020-12-11 2021-03-09 厦门市美亚柏科信息股份有限公司 一种分布式任务调度方法、装置、终端设备及存储介质
CN112732437A (zh) * 2020-12-30 2021-04-30 成都科来网络技术有限公司 一种高效的动态均衡分布式任务调度方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225815A1 (en) * 2000-02-17 2003-12-04 Brenner Larry Bert Apparatus and method for periodic load balancing in a multiple run queue system
CN101140528A (zh) * 2007-08-31 2008-03-12 中兴通讯股份有限公司 一种实现集群内定时任务负载均衡的方法、装置及系统
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和系统
CN102521044A (zh) * 2011-12-30 2012-06-27 北京拓明科技有限公司 一种基于消息中间件的分布式任务调度方法及系统
CN106161661A (zh) * 2016-10-09 2016-11-23 郑州云海信息技术有限公司 一种分布式负载均衡调度的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030225815A1 (en) * 2000-02-17 2003-12-04 Brenner Larry Bert Apparatus and method for periodic load balancing in a multiple run queue system
CN101140528A (zh) * 2007-08-31 2008-03-12 中兴通讯股份有限公司 一种实现集群内定时任务负载均衡的方法、装置及系统
CN102111337A (zh) * 2011-03-14 2011-06-29 浪潮(北京)电子信息产业有限公司 任务调度方法和系统
CN102521044A (zh) * 2011-12-30 2012-06-27 北京拓明科技有限公司 一种基于消息中间件的分布式任务调度方法及系统
CN106161661A (zh) * 2016-10-09 2016-11-23 郑州云海信息技术有限公司 一种分布式负载均衡调度的方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110866027A (zh) * 2018-12-29 2020-03-06 厦门安妮股份有限公司 一种提高区块链查询效率的系统及方法
CN110008013A (zh) * 2019-03-28 2019-07-12 东南大学 一种最小化作业完工时间的Spark任务分配方法
CN110008013B (zh) * 2019-03-28 2023-08-04 东南大学 一种最小化作业完工时间的Spark任务分配方法
CN110990139A (zh) * 2019-12-06 2020-04-10 安徽芯智科技有限公司 一种基于rtos的smp调度方法及系统
CN111949218A (zh) * 2020-08-25 2020-11-17 重庆紫光华山智安科技有限公司 一种高可用存储系统负载均衡方法、系统、介质及终端
CN111949218B (zh) * 2020-08-25 2021-05-25 重庆紫光华山智安科技有限公司 一种高可用存储系统负载均衡方法、系统、介质及终端
CN112463390A (zh) * 2020-12-11 2021-03-09 厦门市美亚柏科信息股份有限公司 一种分布式任务调度方法、装置、终端设备及存储介质
CN112732437A (zh) * 2020-12-30 2021-04-30 成都科来网络技术有限公司 一种高效的动态均衡分布式任务调度方法及系统
CN112732437B (zh) * 2020-12-30 2023-08-22 科来网络技术股份有限公司 一种高效的动态均衡分布式任务调度方法及系统

Also Published As

Publication number Publication date
CN108446179B (zh) 2022-01-14

Similar Documents

Publication Publication Date Title
CN108446179A (zh) 基于负载均衡机制的权重优先Task任务调度方法
CN107038069B (zh) Hadoop平台下动态标签匹配DLMS调度方法
CN102207891B (zh) 对数据划分分布式环境实现动态划分和负载均衡的方法
CN109960585A (zh) 一种基于kubernetes的资源调度方法
CN103475538B (zh) 一种基于多接口的自适应的云服务测试方法
CN105892996A (zh) 一种批量数据处理的流水线作业方法及装置
CN103595651B (zh) 基于分布式的数据流处理方法和系统
CN103699433B (zh) 一种于Hadoop平台中动态调整任务数目的方法及系统
CN105446816B (zh) 一种面向异构平台的能耗优化调度方法
CN108241530A (zh) 一种基于Storm的流式计算二分图任务调度方法
US20190253357A1 (en) Load balancing based on packet processing loads
CN105491150A (zh) 基于时间序列的负载均衡处理方法及系统
CN112363827A (zh) 一种基于延迟因子的多资源指标Kubernetes调度方法
CN115629865B (zh) 一种基于边缘计算的深度学习推理任务调度方法
CN112269632A (zh) 一种优化云数据中心的调度方法和系统
CN108388471B (zh) 一种基于双门限约束虚机迁移的管理方法
CN109144691B (zh) 一种面向多核处理器的任务调度分配方法
CN111459648B (zh) 面向应用程序的异构多核平台资源优化方法和装置
CN111580950A (zh) 一种提升云可靠性的自适应反馈资源调度方法
CN110888713A (zh) 一种针对异构云数据中心的可信虚拟机迁移算法
CN112783651B (zh) 一种云平台vGPU负载均衡调度方法、介质及装置
CN115981843A (zh) 云边协同电力系统中任务调度方法、装置和计算机设备
CN106227600B (zh) 一种基于能量感知的多维虚拟资源分配方法
CN109144664A (zh) 一种基于用户服务质量需求差异的虚拟机动态迁移方法
CN117056064A (zh) 资源分配方法、装置、服务器、存储介质和程序产品

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right

Effective date of registration: 20231017

Address after: Room 401, Tower A, No. 163, Xipingyun Road, Huangpu Avenue, Tianhe District, Guangzhou City, Guangdong Province 510000 (Office only)

Patentee after: Guangzhou Radio and Television Yunrong Digital Technology Co.,Ltd.

Address before: 400065 Chongwen Road, Nanshan Street, Nanan District, Chongqing

Patentee before: CHONGQING University OF POSTS AND TELECOMMUNICATIONS

TR01 Transfer of patent right