CN108563497B - 一种高效的多维度算法调度方法、任务服务器 - Google Patents

一种高效的多维度算法调度方法、任务服务器 Download PDF

Info

Publication number
CN108563497B
CN108563497B CN201810320408.5A CN201810320408A CN108563497B CN 108563497 B CN108563497 B CN 108563497B CN 201810320408 A CN201810320408 A CN 201810320408A CN 108563497 B CN108563497 B CN 108563497B
Authority
CN
China
Prior art keywords
node
task
data
time
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.)
Active
Application number
CN201810320408.5A
Other languages
English (en)
Other versions
CN108563497A (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.)
Glabal Tone Communication Technology Co ltd
Original Assignee
Glabal Tone Communication Technology Co ltd
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 Glabal Tone Communication Technology Co ltd filed Critical Glabal Tone Communication Technology Co ltd
Priority to CN201810320408.5A priority Critical patent/CN108563497B/zh
Publication of CN108563497A publication Critical patent/CN108563497A/zh
Application granted granted Critical
Publication of CN108563497B publication Critical patent/CN108563497B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/5011Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
    • G06F9/5016Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
    • 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
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multi Processors (AREA)

Abstract

本发明属于中央资源管理技术领域,公开了一种高效的多维度算法调度方法、任务服务器,所述高效的多维度算法调度方法使用任务数和集群节点状态来描述集群中节点的负载情况和作业相关的数据本地性情况;通过任务的执行时间和数据长度描述调度前后节点和作业的变化,利用值迭代策略求解算法求解最优调度策略,动态调节作业数据本地性与作业响应时间。同等机器环境和资源情况下,本发明的算法资源率更高,处理速度更快。

Description

一种高效的多维度算法调度方法、任务服务器
技术领域
本发明属于中央资源管理技术领域,尤其涉及一种高效的多维度算法调度方法、任务服务器。
背景技术
目前,业内常用的现有技术是这样的:大数据的分布式调度是在进行数据ETL过程中起到了总体的承上启下的角色,整个数据的生产、交付、消费都会贯穿其中,用户作业提交后,***会将其划分为多个任务,通过调度算法策略将任务分配到哪个任务服务器上来执行。FIFO是Hadoop默认的调度器,其优点是算法简单,便于实现,其缺点为仅以作业进入队列的先后顺序作为调度依据,无法针对作业的不同需求进行差异化调度.Spark提出一种公平调度(Fair Scheduler),在多用户共享集群的环境下,最大化地保证***中的作业能平均分配到集群的资源.公平调度器能最大限度地满足公平性原则,但无法满足数据本地性要求。还有一种延迟调度(Delay Scheduling)算法,为队首作业设置延迟等待时间,当空闲节点出现时,如果此节点包含队首作业所需数据,则立刻执行队首作业,否则先调度其它作业,在队首作业的等待时间超过阈值时,立即执行队首作业.延迟调度策略能够很好地做到公平性与数据本地性之间的均衡,延迟调度的等待时间是通过配置文件进行静态设置的,无法满足集群负载动态变化的情况。
综上所述,现有技术存在的问题是:
(1)FIFO以任务进入队列的先后顺序作为调度依据,按照任务提交或进程变为就绪状态的先后次序,分派CPU;当前任务或进程占用CPU,直到执行完或阻塞,才出让CPU(非抢占方式)。在任务或进程唤醒后(如I/O完成),并不立即恢复执行,通常等到当前任务或进程出让CPU。最简单的算法。比较有利于长作业,而不利于短作业。有利于CPU繁忙的作业,而不利于I/O繁忙的作业。无法针对作业的不同需求进行差异化调度。
(2)公平调度算法可以保证任务的平均分配,但是对于每个任务的差异性无法满足调度的差异性,也会导致资源使用不合理的问题。
(3)延迟调度算法是通过配置文件进行静态设置,对于每个任务的差异性是会实时发生变化的,也无法满足集群负载动态变化的情况。
解决上述技术问题的难度和意义:
上述的几种公共的调度算法都是基于同类型任务的调度,不适用与每个任务有差异的调度,任务的差异需要实时的反馈机制,通过反馈机制更合理的分配计算资源,这就需要一种新型的调度算法来高效的分配计算资源。
发明内容
针对现有技术存在的问题,本发明提供了一种高效的多维度算法调度方法、任务服务器。
本发明是这样实现的,一种高效的多维度算法调度方法,所述高效的多维度算法调度方法使用任务数和集群节点状态来描述集群中节点的负载情况和作业相关的数据本地性情况;通过任务的执行时间和数据长度描述调度前后节点和作业的变化,利用值迭代策略求解算法求解最优调度策略,动态调节作业数据本地性与作业响应时间。
进一步,所述高效的多维度算法调度方法在运行数据处理的集群中,将选择一个节点作为Master,该节点是控制集群任务的核心部件,完成任务调度与监控功能,根据当前集群负载状态和不同任务的数据本地性需求,求取一个最优调度策略;
通过以下指标智能决策建立的数学模型:T:任务的执行时间;N:每个节点的任务数;S:每个节点服务器状态;L:每条数据的长度;C:阈值控制。
进一步,建立TNSL的形式化描述模型具体包括:
T:任务执行时间用来描述线程执行函数的时间,单次任务执行的时间表示:
Figure BDA0001625124900000031
Li:每条数据的单词大小;
Figure BDA0001625124900000032
所有数据的单词总大小;
Tt:所有数据处理的总时间;
F(t):单条数据处理的时间。
进一步,N:任务种类用来描述每个处理节点上分配的处理任务,根据各个节点上分配的任务种类,实时调度各节点下次分配的任务;
每次任务种类的计算公式为:
N=[N1,N2,N2,....Ni];
N:单机的任务数;
i:多少台单机的任务数。
进一步,S:集群中各个节点的状态,通过节点状态的不同,自动计算分配到该节点的数据量;集群各节点分为三种状态,1为完全可用,表示空闲节点;0表示节点满载或者宕机不可用;0至1之间表示节点有任务在跑,但是没有满载,仍然分配任务:
Figure BDA0001625124900000033
S:节点状态;
t:当前执行的时间;
txL′:上一次执行的时间。
进一步,L:需要处理的每条数据的长度,长度以数据的单词为准,对于长度比较大的数据多分配计算资源,长度小的则相反;
L=l(word)
L表示数据大小;
I表示单词的数量;
Word表示单词。
进一步,C:任务数阈值控制:
C=X;
X:根据实际数据量调整。
进一步,所述高效的多维度算法调度方法的求解目标根据当前节点与任务的状态计算最优策略,使得大数据平台下通过多维度指标实时调度:
根据指标每个任务占用的时间为:
g(f(t))=L×f(t)
Master在调度分配上使用下面的公式计算出各个节点需要分配的任务数:
Figure BDA0001625124900000041
本发明的另一目的在于提供一种应用所述高效的多维度算法调度方法的任务服务器。
综上所述,本发明的优点及积极效果为:TNSLC(Execution Time、Number ofTasks、Node Status、Length of data、Threshold Control)调度策略适用于大数据集群中处理环节复杂的环境,当处理的任务执行时间不一致时,可以通过TNSL策略获得最优的调度策略。测试条件,服务机器集群配置:5节点,每个节点8核CPU,64G内存,1T硬盘;综合比较每小时处理文章量(篇)的效率如下:
Figure BDA0001625124900000042
Figure BDA0001625124900000051
综上,同等机器环境和资源情况下,本发明的算法资源率更高,处理速度更快。
附图说明
图1是本发明实施例提供的高效的多维度算法调度方法流程图。
图2是本发明实施例提供的建立TNSL的形式化描述模型示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
如图1所示,本发明实施例提供的高效的多维度算法调度方法包括以下步骤:
S101:使用任务数和集群节点状态来描述集群中节点的负载情况和作业相关的数据本地性情况;
S102:通过任务的执行时间和数据长度描述调度前后节点和作业的变化,利用值迭代策略求解算法求解最优调度策略,动态调节作业数据本地性与作业响应时间,达到最高效调度的效果。
下面结合附图对本发明的应用原理作进一步的描述。
1.1TNSLC的决策过程
TNSLC调度是通过以下指标智能决策建立的数学模型:
1)T:任务的执行时间;
2)N:每个节点的任务数;
3)S:每个节点服务器状态;
4)L:每条数据的长度;
5)C:阈值控制;
TNSLC使用任务数和集群节点的状态对当前集群与任务状态进行描述,通过数据长度和执行时间对任务调度策略进行评估,使用值迭代算法进行最优策略求解,获得最优的任务调度策略.
1.2算法建模
在运行数据处理的集群中,将选择一个节点作为Master,该节点是控制集群任务的核心部件,用来完成任务调度与监控功能,根据当前集群负载状态和不同任务的数据本地性需求,求取一个最优调度策略,其本质是一个最优决策求解问题,首要任务是建立TNSL的形式化描述模型.如图2所示:
1.2.1T:任务执行时间用来描述线程执行函数的时间,有的函数简单或者是本地处理,可以快速响应;有的函数复杂或者是调用远程API,响应速度会慢很多,但是一个完整的数据处理过程是依赖多种函数处理的,所以线程执行时间的快慢决定着调度分配的资源;
单次任务执行的时间表示:
Figure BDA0001625124900000061
Li:每条数据的单词大小;
Figure BDA0001625124900000062
所有数据的单词总大小;
Tt:所有数据处理的总时间;
F(t):单条数据处理的时间;
1.2.2N:任务种类用来描述每个处理节点上分配的处理任务,根据各个节点上分配的任务种类,实时调度各节点下次分配的任务;
每次任务种类的计算公式为:
N=[N1,N2,N2,....Ni];
N:单机的任务数;
i:多少台单机的任务数;
1.2.3S:集群中各个节点的状态,通过节点状态的不同,自动计算可分配到该节点的数据量;
集群各节点分为三种状态,1为完全可用,表示空闲节点;0表示节点满载或者宕机不可用;0至1之间表示节点有任务在跑,但是没有满载,仍然可以分配任务:
Figure BDA0001625124900000071
S:节点状态;
t:当前执行的时间;
txL′:上一次执行的时间;
1.2.4L:需要处理的每条数据的长度,长度以数据的单词为准,对于长度比较大的数据可以多分配一些计算资源,长度小的则相反,可以更有效的利用节点处理的能力;
L=I(word)
L表示数据大小;
I表示单词的数量;
Word表示单词;
1.2.5C:任务数阈值控制,可以针对产生数据倾斜的任务设置阈值,合理的控制和协调任务数量,最大限度的减少数据倾斜问题,保证资源的合理利用和分配。
C=X;
X:根据实际数据量调整;
1.3求解算法流程
TNSL调度算法求解目标即根据当前节点与任务的状态计算最优策略,目标是使得大数据平台下通过多维度指标实时调度,更高效的处理复杂逻辑运算,本专利使用应用最为广泛的值迭代求解算法求解。
根据以上的指标每个任务占用的时间为:
g(f(t))=Lxf(t)
Master在调度分配上使用下面的公式可以计算出各个节点需要分配的任务数:
Figure BDA0001625124900000081
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (3)

1.一种高效的多维度算法调度方法,其特征在于,所述高效的多维度算法调度方法使用任务数和集群节点状态来描述集群中节点的负载情况和作业相关的数据本地性情况;通过任务的执行时间和数据长度描述调度前后节点和作业的变化,利用值迭代策略求解算法求解最优调度策略,动态调节作业数据本地性与作业响应时间;
所述高效的多维度算法调度方法在运行数据处理的集群中,将选择一个节点作为Master,该节点是控制集群任务的核心部件,完成任务调度与监控功能,根据当前集群负载状态和不同任务的数据本地性需求,求取一个最优调度策略;
通过以下指标智能决策建立的数学模型:T:任务的执行时间;N:每个节点的任务数;S:每个节点服务器状态;L:每条数据的长度;C:阈值控制;
建立TNSL的形式化描述模型具体包括:
T:任务执行时间用来描述线程执行函数的时间,单次任务执行的时间表示:
Figure FDA0003193706400000011
Li:每条数据的单词大小;
Figure FDA0003193706400000012
所有数据的单词总大小;
Tt:所有数据处理的总时间;
F(t):单条数据处理的时间;
N:任务种类用来描述每个处理节点上分配的处理任务,根据各个节点上分配的任务种类,实时调度各节点下次分配的任务;
每次任务种类的计算公式为:
N=[N1,N2,N2,....Ni];
N:单机的任务数;
i:多少台单机的任务数;
S:集群中各个节点的状态,通过节点状态的不同,自动计算分配到该节点的数据量;集群各节点分为三种状态,1为完全可用,表示空闲节点;0表示节点满载或者宕机不可用;0至1之间表示节点有任务在跑,但是没有满载,仍然分配任务:
Figure FDA0003193706400000021
S:节点状态;
∫t:当前执行的时间;
∫txL′:上一次执行的时间;
L:需要处理的每条数据的长度,长度以数据的单词为准,对于长度比较大的数据多分配计算资源,长度小的则相反;
L=I(word)
L表示数据大小;
I表示单词的数量;
Word表示单词;
C:任务数阈值控制:
C=X;
X:根据实际数据量调整。
2.如权利要求1所述的高效的多维度算法调度方法,其特征在于,所述高效的多维度算法调度方法的求解目标根据当前节点与任务的状态计算最优策略,使得大数据平台下通过多维度指标实时调度:
根据指标每个任务占用的时间为:
g(f(t))=L×f(t)
Master在调度分配上使用下面的公式计算出各个节点需要分配的任务数:
Figure FDA0003193706400000031
3.一种应用权利要求1~2任意一项所述高效的多维度算法调度方法的任务服务器。
CN201810320408.5A 2018-04-11 2018-04-11 一种高效的多维度算法调度方法、任务服务器 Active CN108563497B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810320408.5A CN108563497B (zh) 2018-04-11 2018-04-11 一种高效的多维度算法调度方法、任务服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810320408.5A CN108563497B (zh) 2018-04-11 2018-04-11 一种高效的多维度算法调度方法、任务服务器

Publications (2)

Publication Number Publication Date
CN108563497A CN108563497A (zh) 2018-09-21
CN108563497B true CN108563497B (zh) 2022-03-29

Family

ID=63534543

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810320408.5A Active CN108563497B (zh) 2018-04-11 2018-04-11 一种高效的多维度算法调度方法、任务服务器

Country Status (1)

Country Link
CN (1) CN108563497B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112764906B (zh) * 2021-01-26 2024-03-15 浙江工业大学 一种基于用户作业类型及节点性能偏向性的集群资源调度方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156659A (zh) * 2011-03-28 2011-08-17 中国人民解放军国防科学技术大学 一种文件作业任务的调度方法及***
CN103226467A (zh) * 2013-05-23 2013-07-31 中国人民解放军国防科学技术大学 数据并行处理方法、***及负载均衡调度器
CN103617087A (zh) * 2013-11-25 2014-03-05 华中科技大学 一种适合迭代计算的MapReduce优化方法
CN105487930A (zh) * 2015-12-01 2016-04-13 中国电子科技集团公司第二十八研究所 一种基于Hadoop的任务优化调度方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9672064B2 (en) * 2015-07-13 2017-06-06 Palo Alto Research Center Incorporated Dynamically adaptive, resource aware system and method for scheduling

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156659A (zh) * 2011-03-28 2011-08-17 中国人民解放军国防科学技术大学 一种文件作业任务的调度方法及***
CN103226467A (zh) * 2013-05-23 2013-07-31 中国人民解放军国防科学技术大学 数据并行处理方法、***及负载均衡调度器
CN103617087A (zh) * 2013-11-25 2014-03-05 华中科技大学 一种适合迭代计算的MapReduce优化方法
CN105487930A (zh) * 2015-12-01 2016-04-13 中国电子科技集团公司第二十八研究所 一种基于Hadoop的任务优化调度方法

Also Published As

Publication number Publication date
CN108563497A (zh) 2018-09-21

Similar Documents

Publication Publication Date Title
CN110096349B (zh) 一种基于集群节点负载状态预测的作业调度方法
WO2023184939A1 (zh) 基于深度强化学习的云数据中心自适应高效资源分配方法
CN103605567B (zh) 面向实时性需求变化的云计算任务调度方法
CN109582448B (zh) 一种面向关键度和时效性的边缘计算任务调度方法
CN108182115A (zh) 一种云环境下的虚拟机负载均衡方法
CN103595651B (zh) 基于分布式的数据流处理方法和***
CN104657221A (zh) 一种云计算中基于任务分类的多队列错峰调度模型及方法
CN105446816B (zh) 一种面向异构平台的能耗优化调度方法
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN109324880A (zh) 一种适用于实时***周期任务模型的低功耗调度方法
CN106445070B (zh) 一种硬实时***资源受限偶发任务能耗优化调度方法
CN111104211A (zh) 基于任务依赖的计算卸载方法、***、设备及介质
CN109739332B (zh) 一种多任务通用能耗优化方法
WO2020248226A1 (zh) 一种基于负载预测的Hadoop计算任务初始分配方法
CN114710563A (zh) 一种集群节能方法及装置
CN103257896B (zh) 一种云环境下的Max-D作业调度方法
CN105847385B (zh) 一种基于运行时长的云计算平台虚拟机调度方法
CN109324891A (zh) 一种比例空闲时间分配的周期任务低功耗调度方法
CN112799828A (zh) 一种基于强化学***台资源调度策略
CN109582436A (zh) 基于容器集群平台的细粒度抢占式资源调度***及方法
CN114579270A (zh) 一种基于资源需求预测的任务调度方法及***
CN104598311A (zh) 一种面向Hadoop的实时作业公平调度的方法和装置
CN113535356B (zh) 一种能量感知的分层任务调度方法和装置
CN110519386B (zh) 云环境下基于数据聚类的弹性资源供应方法和装置
CN108984286A (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