CN111625352A - 调度方法、装置及存储介质 - Google Patents
调度方法、装置及存储介质 Download PDFInfo
- Publication number
- CN111625352A CN111625352A CN202010419258.0A CN202010419258A CN111625352A CN 111625352 A CN111625352 A CN 111625352A CN 202010419258 A CN202010419258 A CN 202010419258A CN 111625352 A CN111625352 A CN 111625352A
- Authority
- CN
- China
- Prior art keywords
- system resources
- scheduling method
- job
- scheduling
- run time
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 28
- 238000012549 training Methods 0.000 claims description 14
- 238000003066 decision tree Methods 0.000 claims description 5
- 238000007637 random forest analysis Methods 0.000 claims description 2
- 238000013468 resource allocation Methods 0.000 claims description 2
- 238000007726 management method Methods 0.000 claims 1
- 230000006870 function Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation 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/5016—Allocation 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明的一些实施例涉及一种调度方法,包括:配置作业所需的系统资源;基于所配置的系统资源,预测所述作业的运行时间;和如果所预测的运行时间大于基线时长,则为所述作业增加系统资源。本公开的实施例能更好地实现作业运行时间的预测。本发明的实施例还能基于历史数据统计来提高预测的准确性。本公开的实施例能根据所预测的作业运行时间,通过增加资源来更好地保证作业在预设的基线时间之前完成。
Description
技术领域
本公开涉及大数据技术领域,特别是涉及一种调度方法、装置及存储介质。
背景技术
随着技术的发展,计算机和互联网系统需处理的数据量越来越大,进入了以“EB”为单位的大数据时代。基于数据密集型应用的集群式计算框架不断涌现,如离线计算框架hadoop、实时计算框架spark、流式计算框架spark-streaming、Flink等。
在应对海量业务数据的处理需求时,企业需要部署多个计算集群。在一定的数据规模下,分配的CPU和内存资源越多,作业运行的时间越短;另一方面,随着数据规模的增加,所需的CPU、内存资源会增加,作业运行的时间会延长。需要解决方案来在不同计算集群间进行作业调度,以保证作业在规定时间内完成。
现有技术中已经存在一些主要用于作业调度的技术,例如基于简单轮询、加权轮询、随机、加权随机等方式进行作业调度,或者基于作业优先级调度。但这些调度技术更多地是关注集群的负载平衡,无法适用于更复杂的场景。
发明内容
本发明的一些实施例涉及一种调度方法,包括:配置作业所需的系统资源;基于所配置的系统资源,预测所述作业的运行时间;和如果所预测的运行时间大于基线时长,则为所述作业增加系统资源。
本发明的一些实施例涉及一种调度装置,包括:系统资源配置模块,用于配置作业所需的系统资源;预测模块,用于基于所配置的系统资源,预测所述作业的运行时间;和增加模块,用于如果所预测的运行时间大于基线时长,则为所述作业增加系统资源。
本公开的实施例能更好地实现作业运行时间的预测。本发明的实施例还能基于历史数据统计来提高预测的准确性。本公开的实施例能根据所预测的作业运行时间,通过增加资源来更好地保证作业在预设的基线时间之前完成。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并于说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种调度方法的示意图;
图2是根据一示例性实施例示出的一种调度系统的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
应当理解的是,在本文中提及的“若干个”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
图1是根据一示例性实施例示出的一种作业调度方法的示意图,包括如下步骤:
配置作业步骤:配置作业所需的系统资源。系统资源的例子包括CPU核心数和运行内存等。配置操作例如可以根据经验对每项资源设置一个初始值。系统资源为计算集群的系统资源,计算集群可以是Hadoop、Spark、Giraph等。在一些实施方式中,优先为作业配置空闲的系统资源。
预测步骤:基于所配置的系统资源,预测所述作业的运行时间。在一些实施例中可以对照历史运行数据来进行预测;例如可以将所配置的系统资源与历史运行所实际耗用的资源进行对比,然后从历史运行所耗时间预测作业在所配置的资源上运行将需要的时间。在一些实施例中,可以使用已知的YARN技术来进行资源的配置。
在本发明的实施例中,可以利用历史数据和机器学习来提高作业运行时间的预测的准确性。
例如可以使用现有技术中已知的梯度提升决策树(GBDT)或随机森林来训练预测所需模型。本发明的实施例还可以基于先前作业完成的实际资源占用和实际运行时间(即历史数据)对所述预测模型的训练进行纠正偏差,以提高所需预测模型的准确性。例如可以将比较新的历史数据运行GDBT模型的训练流程;随着历史数据的增加,之前一些预测结果由于对应样本不足导致的偏差可以有效减小。
使用GDBT进行模型训练的过程例如如下。首先可以设置作业样本所需资源的特征,例如如下7项:CPU核心数、CPU算力、内存、磁盘读写速率、网络带宽、数据规模、sql代价指数。再设作业的预测运行时间为(y)。将作业的历史运行记录作为样本集,然后将该样本集按照7:3的比例进一步分类为训练集和测试集,此处的分类可以是随机的。
GDBT的训练过程涉及多轮迭代,每轮迭代产生一个弱分类器,每个分类器在上一轮分类器的残差基础上进行训练,最终将每轮训练得到的弱分类器求和。残差是样本值与预测值的差值[y-Fm(x)],弱分类器例如可以选用分类回归树(CART)。模型的最终描述如下:
Fm(x)=Fm-1(x)+fm(x)
其中fm(x)为每一轮训练得到的弱分类器,x表示样本特征(其中特征可以包含7项:CPU核心数、CPU算力、内存、磁盘读写速率、网络带宽、数据规模、SQL代价指数)。
可以使用训练集对模型进行训练,先用初始值y去训练一棵树(初始值为所有样本的平均值),得到预测值F(x)及残差[y-F(x)],之后的树则基于之前树的残差不断拟合得到,最终会训练出一系列的树作为模型。在得到模型后,使用测试集对模型进行测试,结果表明该模型的准确率达到88.47%。
增加资源步骤:可以对作业预先设置基线时长。例如如果作业的优先级较高,则所设置的基线时长比较短。如果前述所预测的运行时间大于为作业设置的基线时长,则需要为所述作业增加系统资源。例如可以增加用于执行作业的CPU核心数和内存资源,以降低预测运行时间。
在本发明的实施方式中,可以遍历各计算集群,以选择满足预设条件的计算集群的资源来配置给作业。在本发明的另一种实施方式中,在已经得知作业运行需要的系统资源后,遍历所有计算集群,找到剩余资源最多并且符合资源需求的计算集群,将作业下发到该集群上运行。其中预设条件是剩余资源最多的计算集群,将作业下发运行。
在本发明的实施例中,在为作业增加资源后,可以再次预测作业的运行时间,然后再与基线时长比较。如预测得到的运行时间仍大于基线时长,则可以继续增加系统资源,直到预测的运行时间小于或等于基线时长。在本发明的另一实施例中,虽然预测出的时间大于基线时长,但二者之间的差距很小(例如小于预设的差距,例如1小时或30分钟),则不再增加资源,而是进而执行作业。
图2是根据本发明示例性实施例的系统的框图。该系统包括智能调度器、多个计算集群及其执行代理(node)。在一个实施方案中,智能调度器包括资源管理器、代价计算器和node调度器。资源管理器用于统计各集群的资源使用情况。代价计算器的主要功能是实施前述的预测作业的运行时间和配置作业需要的资源。在配置好作业需要的系统资源后,node调度器通过调度各计算集群的执行代理(node)下发作业至计算集群以执行作业。在图示的示例中,计算集群包括Hadoop(分布式系统基础架构)、Spark(大规模数据处理的计算引擎)、Hive(数据仓库工具)、Hbase(开源的、分布式的、非关系型数据库)、Giraph(大规模数据处理的计算装置);根据实际情况,还可以包括其他计算集群,或者一种计算集群可以存在多个实例(例如存在两个或多个Hadoop集群)。
需要说明的一点是,上述实施例提供的装置在实现其功能时,仅以上述各个功能模块的划分进行举例说明,实际应用中,可以根据实际需要而将上述功能分配由不同的功能模块完成,即将设备的内容结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
本领域技术人员应该可以意识到,在上述一个或多个示例中,本公开实施例所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机设备可读介质中或者作为计算机设备可读介质上的一个或多个指令或代码进行传输。计算机设备可读介质包括计算机设备存储介质和通信介质,其中通信介质包括便于从一个地方向另一个地方传送计算机设备程序的任何介质。存储介质可以是通用或专用计算机设备能够存取的任何可用介质。
本公开实施例还提供了一种计算机设备存储介质,用于储存为上述测试装置所用的计算机设备软件指令,其包含用于执行上述调度方法所设计的程序。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本公开旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。
Claims (16)
1.一种调度方法,包括:
(1)配置作业所需的系统资源;
(2)基于所配置的系统资源,预测所述作业的运行时间;和
(3)如果所预测的运行时间大于基线时长,则为所述作业增加系统资源。
2.根据权利要求1所述的调度方法,其中所述步骤(1)包括为该任务配置空闲的系统资源。
3.根据权利要求1所述的调度方法,其中步骤(3)包括:
遍历多个计算集群,从满足预设条件的计算集群中为该作业增加系统资源。
4.根据权利要求1所述的调度方法,还包括:
构建预测模型,
其中,所述预测模型在步骤(2)中被使用。
5.根据权利要求4所述的调度方法,还包括:
在所述构建预测模型步骤之后,基于作业的历史记录来对对所述预测模型进行训练。
6.根据权利要求5所述的调度方法,其中所述历史记录包括作业的实际资源占有情况和实际运行时间。
7.根据权利要求4所述的调度方法,其中所述基于作业的历史记录来对对所述预测模型进行训练的步骤利用了梯度提升决策树或随机森林。
8.根据权利要求7所述的调度方法,其中所述基于作业的历史记录来对对所述预测模型进行训练的步骤利用了梯度提升决策树,并且将所述历史记录作为梯度提升决策树的样本集。
9.根据权利要求8所述的调度方法,其中所述利用梯度提升决策树的步骤包括:
获得执行计算中计算集群每轮迭代生成的弱分类器,每个分类器基于上轮分类器的残差基础训练,残差基于公式(1)和(2)获得,包括:
T=y-Fm(x)
(1)
T为残差,y为实际运行时间,Fm(x)为预测运行时间;
Fm(x)=Fm-1(x)+fm(x)
(2)
其中fm(x)为每一轮训练得到的弱分类器,x为样本集中的样本特征,Fm-1(x)为上一轮的预测值。
10.根据权利要求9所述的调度方法,其中所述弱分类器利用了分类回归树。
11.根据权利要求9所述的调度方法,其中所述样本特征包括CPU核心数、CPU算力、内存、磁盘读写速率、网络带宽、数据规模、SQL代价指数。
12.根据权利要求1所述的调度方法,其中,在步骤(3)之后再次执行步骤(2)。
13.一种调度装置,包括:
系统资源配置模块,用于配置作业所需的系统资源;
预测模块,用于基于所配置的系统资源,预测所述作业的运行时间;和
增加模块,用于如果所预测的运行时间大于基线时长,则为所述作业增加系统资源。
14.根据权利要求13所述的调度装置,还包括:
资源管理模块,用于统计个计算集群的资源使用情况。
15.一种调度系统,包括:
处理器;
用于存储所述处理器的可执行指令的存储器;
其中,所述处理器被配置为在执行所述可执行指令时能够:
配置作业所需的系统资源;
基于所配置的系统资源,预测所述作业的运行时间;
如果所预测的运行时间大于基线时长,则为所述作业增加系统资源。
16.一种计算机设备可读存储介质,其特征在于,所述计算机设备可读存储介质中包含可执行指令,所述可执行指令被执行时能执行权利要求1至12中任一所述的调度方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010419258.0A CN111625352A (zh) | 2020-05-18 | 2020-05-18 | 调度方法、装置及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010419258.0A CN111625352A (zh) | 2020-05-18 | 2020-05-18 | 调度方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111625352A true CN111625352A (zh) | 2020-09-04 |
Family
ID=72259132
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010419258.0A Pending CN111625352A (zh) | 2020-05-18 | 2020-05-18 | 调度方法、装置及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111625352A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114518952A (zh) * | 2020-11-20 | 2022-05-20 | 中国电信股份有限公司 | 容器内存使用量预测自反馈优化的方法、装置及存储介质 |
WO2022116142A1 (zh) * | 2020-12-04 | 2022-06-09 | 深圳大学 | 一种基于图神经网络的资源调度方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729246A (zh) * | 2013-12-31 | 2014-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种任务调度方法和装置 |
CN110209467A (zh) * | 2019-05-23 | 2019-09-06 | 华中科技大学 | 一种基于机器学习的弹性资源扩展方法和系统 |
CN110321222A (zh) * | 2019-07-01 | 2019-10-11 | 中国人民解放军国防科技大学 | 基于决策树预测的数据并行作业资源分配方法 |
CN111010292A (zh) * | 2019-11-26 | 2020-04-14 | 苏宁云计算有限公司 | 一种离线任务延时告警系统、方法及计算机系统 |
-
2020
- 2020-05-18 CN CN202010419258.0A patent/CN111625352A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103729246A (zh) * | 2013-12-31 | 2014-04-16 | 浪潮(北京)电子信息产业有限公司 | 一种任务调度方法和装置 |
CN110209467A (zh) * | 2019-05-23 | 2019-09-06 | 华中科技大学 | 一种基于机器学习的弹性资源扩展方法和系统 |
CN110321222A (zh) * | 2019-07-01 | 2019-10-11 | 中国人民解放军国防科技大学 | 基于决策树预测的数据并行作业资源分配方法 |
CN111010292A (zh) * | 2019-11-26 | 2020-04-14 | 苏宁云计算有限公司 | 一种离线任务延时告警系统、方法及计算机系统 |
Non-Patent Citations (1)
Title |
---|
金之钧,盛秀杰: "区带与圈闭定量评价新方法", pages: 173 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114518952A (zh) * | 2020-11-20 | 2022-05-20 | 中国电信股份有限公司 | 容器内存使用量预测自反馈优化的方法、装置及存储介质 |
WO2022116142A1 (zh) * | 2020-12-04 | 2022-06-09 | 深圳大学 | 一种基于图神经网络的资源调度方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10831633B2 (en) | Methods, apparatuses, and systems for workflow run-time prediction in a distributed computing system | |
Li et al. | Performance modeling and predictive scheduling for distributed stream data processing | |
US9934071B2 (en) | Job scheduler for distributed systems using pervasive state estimation with modeling of capabilities of compute nodes | |
US20200034750A1 (en) | Generating artificial training data for machine-learning | |
Yang et al. | Intermediate data caching optimization for multi-stage and parallel big data frameworks | |
Chen et al. | Retail: Opting for learning simplicity to enable qos-aware power management in the cloud | |
US20130268941A1 (en) | Determining an allocation of resources to assign to jobs of a program | |
CN110825522A (zh) | Spark参数自适应优化方法及系统 | |
CN110377519B (zh) | 大数据系统的性能容量测试方法、装置、设备及存储介质 | |
Wang et al. | Lube: Mitigating bottlenecks in wide area data analytics | |
HoseinyFarahabady et al. | Q-flink: A qos-aware controller for apache flink | |
CN111625352A (zh) | 调度方法、装置及存储介质 | |
Ardagna et al. | Predicting the performance of big data applications on the cloud | |
Wu et al. | Exploring performance models of hadoop applications on cloud architecture | |
Lattuada et al. | Optimal resource allocation of cloud-based spark applications | |
Salamun et al. | Evolving scheduling heuristics with genetic programming for optimization of quality of service in weakly hard real-time systems | |
Tariq et al. | Execution time prediction model that considers dynamic allocation of spark executors | |
CN113407343A (zh) | 一种基于资源分配的业务处理方法、装置及设备 | |
CN112580816A (zh) | 机器学习训练资源管理 | |
Marinho et al. | LABAREDA: a predictive and elastic load balancing service for cloud-replicated databases | |
Hu et al. | An optimal resource allocator of elastic training for deep learning jobs on cloud | |
CN110928659A (zh) | 一种具有自适应功能的数值水池系统远程多平台接入方法 | |
Tang et al. | A network load perception based task scheduler for parallel distributed data processing systems | |
HoseinyFarahabady et al. | A dynamic resource controller for resolving quality of service issues in modern streaming processing engines | |
Baresi et al. | Using formal verification to evaluate the execution time of Spark applications |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200904 |
|
RJ01 | Rejection of invention patent application after publication |