CN112328383A - 基于优先权的作业并发控制及调度算法 - Google Patents
基于优先权的作业并发控制及调度算法 Download PDFInfo
- Publication number
- CN112328383A CN112328383A CN202011297804.4A CN202011297804A CN112328383A CN 112328383 A CN112328383 A CN 112328383A CN 202011297804 A CN202011297804 A CN 202011297804A CN 112328383 A CN112328383 A CN 112328383A
- Authority
- CN
- China
- Prior art keywords
- job
- priority
- algorithm
- concurrency control
- execution
- 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
- 238000013210 evaluation model Methods 0.000 claims abstract description 13
- 238000011156 evaluation Methods 0.000 claims abstract description 7
- 230000003068 static effect Effects 0.000 claims description 15
- 238000000034 method Methods 0.000 abstract description 4
- 238000004364 calculation method Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 4
- 238000005457 optimization Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 230000007306 turnover Effects 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/48—Program initiating; Program switching, e.g. by interrupt
- G06F9/4806—Task transfer initiation or dispatching
- G06F9/4843—Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
- G06F9/4881—Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
-
- 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
- G06F9/5038—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 considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/48—Indexing scheme relating to G06F9/48
- G06F2209/484—Precedence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5011—Pool
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/5021—Priority
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了基于优先权的作业并发控制及调度算法,包括作业并发控制模型、作业执行优先权算法及算法效益评估模型三部分,具体步骤如下:S1、作业并发控制模型:根据作业调度要求设计作业并发控制模型;S2、作业执行优先权算法:基于作业并发控制模型,结合作业执行优先权算法,计算优先执行作业清单,根据作业清单完成作业执行;S3、算法效益评估模型:通过作业调度算法效益评估模型,评估作业优先权算法合理性,根据评估结果优化优先权算法参数,多次迭代后找出最优算法配置。本发明基于多个项目实践验证,实用性强,鲁棒性好;算法可落地性强,相比于业界已有方案,算法效率高,算法参数调整灵活,可动态修改参数适应优先权算法模型调整。
Description
技术领域
本发明涉及大数据作业调度领域,尤其涉及基于优先权的作业并发控制及调度算法。
背景技术
针对大数据领域,在***体量比较大,涉及的作业数量多(2+),作业依赖关系复杂,作业种类较多,同时提供计算资源有限的情况下,保障每日批量作业执行能在规定的时间段内正常有序完成,是一件非常有挑战性的工作。
首先分析一下作业并发执行的制约因素,主要涉及以下几方面:1、作业执行时间段要求,一般为凌晨0~6点,共6个小时,时间段内需要保证平台关键作业流程正常执行完成;2、作业调度平台由于作业的多样性,需要与多个周边***集成,为了不对周边***业务造成太大影响,需严格控制与******交互的作业并发度;3、针对平台内部作业,受限于计算资源及业务保障需要,也需根据计算资源使用情况控制好作业并发数量;4、作业触发执行规则:部分作业依赖于******事件,部分作业根据作业依赖触发,部分作业定时触发,总体来说,作业触发执行时间不完全固定。
基于以上要求,要保证作业在既定并发规则的前提下尽量按时保质保量完成,需要一套作业调度算法,来实现作业执行过程中尽量充分均匀利用平台计算资源,按照作业优先等级正常有序完成作业执行。
针对以上作业调度算法,目前业界已有部分解决方案,实现了静态局部的作业并发调度。比如根据平台/租户/作业类型等逐级设定并发控制规则,结合作业配置的优先级来调度作业执行,这种方案在作业体量不太大,作业链路不是很复杂的情况下是能满足***要求的,但随着作业体量及作业链路复杂度的不断增加,同时平台计算资源有限的情况下,由于作业调度控制规则较为固定单一,可能出现作业多时(同时满足执行条件的作业数量)作业排队严重、***繁忙,作业少时(依赖未满足或者触发时间未到)***空闲,作业长时间等待执行,关键作业链路延后执行等情况,从而导致作业跑批未能按时完成,对业务造成影响。
因此,针对大型的作业调度***,研究一套自动灵活可落地的作业调度方案,来保障批量作业按时正常有序完成非常有意义,因此,我们提出了基于优先权的作业并发控制及调度算法。
发明内容
本发明提出的基于优先权的作业并发控制及调度算法,解决了上述背景技术中提出的问题。
为了实现上述目的,本发明采用了如下技术方案:
基于优先权的作业并发控制及调度算法,包括作业并发控制模型、作业执行优先权算法及算法效益评估模型三部分,具体步骤如下:
S1、作业并发控制模型:根据作业调度要求设计作业并发控制模型;
S2、作业执行优先权算法:基于作业并发控制模型,结合作业执行优先权算法,计算优先执行作业清单,根据作业清单完成作业执行;
S3、算法效益评估模型:作业完成后,通过作业调度算法效益评估模型,评估作业优先权算法合理性,根据评估结果优化优先权算法参数,多次迭代后找出最优算法配置。
优选的,所述步骤S1中使用计算资源池方式实现并发控制模型,从平台(全局)、租户(应用)、作业组(租户下同一性质的作业)三个层面逐步控制作业并发数量,资源池并发数可根据并发满负荷情况下计算资源的使用情况进行动态调整,资源池一般根据租户、作业执行服务器组来划分,资源池下可通过作业组实现局部并发控制。
优选的,所述步骤S2中基于公平合理、关键业务优先的原则,根据作业优先权决定作业执行先后顺序,作业优先权由静态优先权和动态优先权两方面组成,静态优先权由是否关键链路作业、作业静态优先级、作业平均执行时间、作业调用方式、执行批次日期等因素共同决定;动态优先权根据作业等待时间进行动态计算。
优选的,所述步骤S3中根据作业调度历史记录及资源使用情况持续评估调度算法效益,并根据评估结果对作业调度算法参数进行持续优化。
本发明的有益效果为:
本发明基于优先权的作业并发控制及调度算法具有可落地性强,实用性强,鲁棒性好等特点;相比于普通作业调度算法,本算法可以根据较多考量因素精细调度作业运行,根据作业运行资源消耗情况动态调整并发控制参数,同时通过作业调度算法效益评估模型,持续评估作业优先权算法合理性,根据评估结果持续优化算法参数,找出最优算法配置。
附图说明
图1为本发明作业并发控制模型示意图。
图2为本发明优先权算法相关说明示意图。
图3为本发明优先权计算样例(动态优先权固定)示意图。
图4为本发明优先权计算样例(动态优先权变化)示意图。
具体实施方式
下面将对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。
参照图1-4,基于优先权的作业并发控制及调度算法,包括作业并发控制模型、作业执行优先权算法及算法效益评估模型三部分,具体步骤如下:
S1、作业并发控制模型:根据作业调度要求设计作业并发控制模型;
参阅图1,具体实施中,从平台(全局)、租户(应用)、作业组(租户下同一性质的作业)三个层面逐步控制作业并发数量,首先,通过定义全局总并发数,控制全局的并发度;然后根据租户、作业执行服务器组两个维度定义作业计算资源池,用来控制不同租户、不同作业执行服务器组下的并发数量;为了精细化控制租户下不同作业性质的并发度,通过对作业进行分组,在同一资源池下实现不同作业组的局部并发度控制,未分组的作业按照资源池并发数进行控制,在资源池并发数满负荷的情况下,可根据作业计算资源的使用情况,动态调整资源池并发数。
S2、作业执行优先权算法:基于作业并发控制模型,结合作业执行优先权算法,计算优先执行作业清单,根据作业清单完成作业执行;
查阅图2-4,具体实施中,基于既定的并发控制规则下,根据作业的优先权调度作业进入***运行。每个作业通过计算得出一个优先权,资源能满足且优先权高的作业先执行,当多个作业优先权相同时,按照先来先服务原则进行调度。作业优先权由静态优先权和动态优先权两方面组成,静态优先权由作业静态优先级、业务关键度、作业调用方式、资源消耗等级等因素共同决定;动态优先权根据作业等待时间及作业平均执行时间进行动态计算;
作业优先权计算方法:
优先权P=β1*静态优先权+β2*动态优先权(其中βi为计算权重因子)
静态优先权影响因素:
作业静态优先级:由用户根据作业重要程度指定,1:低;2:中;3:高;6:VIP;
调用方式:1:人工-普通;2:自动-定时触发;3:自动-事件触发;6:人工-立即执行;
业务关键度,1:次要;2:普通;3:重要;6:关键;
资源消耗等级,1:低;2:中;3:高;6:超高;
静态优先权:Weight(i)=(α1*(W1离散)+α2*(W2离散)+α3*(W3离散))/α4*(W4离散)
其中,优先权影响因素αi从上往下权重逐步下降,即α1>α2>α3>α4。
Wi离散:Weight(i)=wi/W,其中wi∈{低优先级/1,一般优先级/2,高优先级/3,非常高优先级/4}中一个,W为对应具体因子的优先级值的总和,即W=∑wi。
动态优先权:Weight(i)=(t1(i)+t2(i))/t2(i),t1(i)表示任务i的等待时间,t2(i)表示任务i的运行时间。
作业i的优先权计算公式:P(i)=β1*(α1*W离散)+α2*(W离
散)+α3*(W离散))/α4*(W离散)+β2((t1(i)+t2(i))/t2(i))。
S3、算法效益评估模型:作业完成后,通过作业调度算法效益评估模型,评估作业优先权算法合理性,根据评估结果优化优先权算法参数,多次迭代后找出最优算法配置。
具体实施中,根据作业调度历史记录及资源使用情况评估调度算法效益,主要评估总周转时间总周转时间越少,算法越优,总周转时间可以根据静态优先级、调用方式、关键度、资源消耗等级维度来分别统计,根据统计结果确定优先权计算因子优化点,基于优化建议调整计算因子权重值,用于下一个迭代计算,多次迭代后,最终找到符合要求的算法参数配置(注:如何基于统计结果自动优化计算因子权重参数,涉及另外一个机器学习算法,不包含在本发明中)。
综上所述,本发明基于多个项目实践验证,实用性强,鲁棒性好;算法可落地性强,相比于业界已有方案,算法效率高,算法参数调整灵活,可动态修改参数适应优先权算法模型调整。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。
Claims (4)
1.基于优先权的作业并发控制及调度算法,包括作业并发控制模型、作业执行优先权算法及算法效益评估模型三部分,其特征在于,具体步骤如下:
S1、作业并发控制模型:根据作业调度要求设计作业并发控制模型;
S2、作业执行优先权算法:基于作业并发控制模型,结合作业执行优先权算法,计算优先执行作业清单,根据作业清单完成作业执行;
S3、算法效益评估模型:作业完成后,通过作业调度算法效益评估模型,评估作业优先权算法合理性,根据评估结果优化优先权算法参数,多次迭代后找出最优算法配置。
2.根据权利要求1所述的基于优先权的作业并发控制及调度算法,其特征在于,所述步骤S1中使用计算资源池方式实现并发控制模型,从平台、租户、作业组三个层面逐步控制作业并发数量,资源池并发数可根据并发满负荷情况下计算资源的使用情况进行动态调整,资源池一般根据租户、作业执行服务器组来划分,资源池下可通过作业组实现局部并发控制。
3.根据权利要求1所述的基于优先权的作业并发控制及调度算法,其特征在于,所述步骤S2中基于公平合理、关键业务优先的原则,根据作业优先权决定作业执行先后顺序,作业优先权由静态优先权和动态优先权两方面组成,静态优先权由是否关键链路作业、作业静态优先级、作业平均执行时间、作业调用方式、执行批次日期等因素共同决定;动态优先权根据作业等待时间进行动态计算。
4.根据权利要求1所述的基于优先权的作业并发控制及调度算法,其特征在于,所述步骤S3中根据作业调度历史记录及资源使用情况持续评估调度算法效益,并根据评估结果对作业调度算法参数进行持续优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011297804.4A CN112328383A (zh) | 2020-11-19 | 2020-11-19 | 基于优先权的作业并发控制及调度算法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011297804.4A CN112328383A (zh) | 2020-11-19 | 2020-11-19 | 基于优先权的作业并发控制及调度算法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112328383A true CN112328383A (zh) | 2021-02-05 |
Family
ID=74320888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011297804.4A Pending CN112328383A (zh) | 2020-11-19 | 2020-11-19 | 基于优先权的作业并发控制及调度算法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112328383A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360939A (zh) * | 2021-06-02 | 2021-09-07 | 北京天空卫士网络安全技术有限公司 | 一种安全访问的控制方法和装置 |
CN114157482A (zh) * | 2021-12-02 | 2022-03-08 | 建信金融科技有限责任公司 | 一种业务访问控制方法、装置、控制设备及存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143758A1 (en) * | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Facilitating scheduling of jobs by decoupling job scheduling algorithm from recorded resource usage and allowing independent manipulation of recorded resource usage space |
CN102708011A (zh) * | 2012-05-11 | 2012-10-03 | 南京邮电大学 | 一种面向云计算平台任务调度的多级负载评估方法 |
US20140380322A1 (en) * | 2013-06-24 | 2014-12-25 | Sap Ag | Task Scheduling for Highly Concurrent Analytical and Transaction Workloads |
CN106295878A (zh) * | 2016-08-09 | 2017-01-04 | 广东技术师范学院 | 一种基于Petri网与改进遗传算法的柔性作业车间调度*** |
WO2017128507A1 (zh) * | 2016-01-29 | 2017-08-03 | 中兴通讯股份有限公司 | 一种去中心化资源调度方法及*** |
CN107589985A (zh) * | 2017-07-19 | 2018-01-16 | 山东大学 | 一种面向大数据平台的两阶段作业调度方法及*** |
CN107948095A (zh) * | 2017-11-21 | 2018-04-20 | 中国银行股份有限公司 | 一种资源控制方法、装置及总线***服务器 |
CN110362390A (zh) * | 2019-06-06 | 2019-10-22 | 银江股份有限公司 | 一种分布式数据集成作业调度方法及装置 |
CN110471758A (zh) * | 2019-07-02 | 2019-11-19 | 中国电力科学研究院有限公司 | 一种网络分析应用多用户并发作业调度***及方法 |
DE102018125090A1 (de) * | 2018-10-10 | 2020-04-16 | Beckhoff Automation Gmbh | Verfahren zur Datenverarbeitung und speicherprogrammierbare Steuerung |
-
2020
- 2020-11-19 CN CN202011297804.4A patent/CN112328383A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070143758A1 (en) * | 2005-12-15 | 2007-06-21 | International Business Machines Corporation | Facilitating scheduling of jobs by decoupling job scheduling algorithm from recorded resource usage and allowing independent manipulation of recorded resource usage space |
CN102708011A (zh) * | 2012-05-11 | 2012-10-03 | 南京邮电大学 | 一种面向云计算平台任务调度的多级负载评估方法 |
US20140380322A1 (en) * | 2013-06-24 | 2014-12-25 | Sap Ag | Task Scheduling for Highly Concurrent Analytical and Transaction Workloads |
WO2017128507A1 (zh) * | 2016-01-29 | 2017-08-03 | 中兴通讯股份有限公司 | 一种去中心化资源调度方法及*** |
CN106295878A (zh) * | 2016-08-09 | 2017-01-04 | 广东技术师范学院 | 一种基于Petri网与改进遗传算法的柔性作业车间调度*** |
CN107589985A (zh) * | 2017-07-19 | 2018-01-16 | 山东大学 | 一种面向大数据平台的两阶段作业调度方法及*** |
CN107948095A (zh) * | 2017-11-21 | 2018-04-20 | 中国银行股份有限公司 | 一种资源控制方法、装置及总线***服务器 |
DE102018125090A1 (de) * | 2018-10-10 | 2020-04-16 | Beckhoff Automation Gmbh | Verfahren zur Datenverarbeitung und speicherprogrammierbare Steuerung |
CN110362390A (zh) * | 2019-06-06 | 2019-10-22 | 银江股份有限公司 | 一种分布式数据集成作业调度方法及装置 |
CN110471758A (zh) * | 2019-07-02 | 2019-11-19 | 中国电力科学研究院有限公司 | 一种网络分析应用多用户并发作业调度***及方法 |
Non-Patent Citations (2)
Title |
---|
S. FUJITA; LEI DENG; S. TAGASHIRA: "An active scheduler: autonomous concurrency control of parallel programs in a distributed environment", PROCEEDINGS. EIGHTH INTERNATIONAL CONFERENCE ON PARALLEL AND DISTRIBUTED SYSTEMS. ICPADS 2001 * |
葛茂松: "一种优化的并行数据流调度算法", 电脑知识与技术, vol. 15, no. 22 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113360939A (zh) * | 2021-06-02 | 2021-09-07 | 北京天空卫士网络安全技术有限公司 | 一种安全访问的控制方法和装置 |
CN114157482A (zh) * | 2021-12-02 | 2022-03-08 | 建信金融科技有限责任公司 | 一种业务访问控制方法、装置、控制设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2023184939A1 (zh) | 基于深度强化学习的云数据中心自适应高效资源分配方法 | |
US20080306950A1 (en) | Arrival rate throttles for workload management | |
US7984447B1 (en) | Method and apparatus for balancing project shares within job assignment and scheduling | |
CN112035251B (zh) | 基于强化学习作业布局的深度学习训练***及方法 | |
CN101923487A (zh) | 一种综合嵌入式实时周期任务调度方法 | |
CN103793272A (zh) | 一种周期性任务调度方法及*** | |
CN112328383A (zh) | 基于优先权的作业并发控制及调度算法 | |
CN107168770A (zh) | 一种低能耗的云数据中心工作流调度与资源供给方法 | |
CN107943568B (zh) | 综合模块化航空电子***两级调度模型与原型平台 | |
US8214836B1 (en) | Method and apparatus for job assignment and scheduling using advance reservation, backfilling, and preemption | |
US20100162041A1 (en) | Fetch operation scheduling | |
CN112114973A (zh) | 一种数据处理方法及装置 | |
CN106874112A (zh) | 一种结合负载均衡的工作流回填方法 | |
CN114217966A (zh) | 基于资源调整的深度学习模型动态批处理调度方法和*** | |
CN110362391A (zh) | 资源调度方法、装置、电子设备及存储介质 | |
CN106934537A (zh) | 基于反向工作流调度的子期限获取优化方法 | |
US8281313B1 (en) | Scheduling computer processing jobs that have stages and precedence constraints among the stages | |
CN113535387A (zh) | 一种异构感知的gpu资源分配与调度方法及*** | |
Golub | Operating system support for coexistence of real-time and conventional scheduling | |
WO2023015787A1 (zh) | 一种高吞吐云计算资源回收*** | |
CN112506640B (zh) | 一种用于加密运算芯片的多处理器架构及调配方法 | |
CN114995971A (zh) | 实现kubernetes中pod批量调度方法及*** | |
CN117453379B (zh) | Linux***中AOE网计算任务的调度方法及*** | |
CN115599557B (zh) | 一种考虑任务重要程度动态变化的调度器*** | |
CN110196762A (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 |