CN112328383A - 基于优先权的作业并发控制及调度算法 - Google Patents

基于优先权的作业并发控制及调度算法 Download PDF

Info

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
Application number
CN202011297804.4A
Other languages
English (en)
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.)
Hunan Changxing Traffic Wisdom Technology Co ltd
Original Assignee
Hunan Changxing Traffic Wisdom 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 Hunan Changxing Traffic Wisdom Technology Co ltd filed Critical Hunan Changxing Traffic Wisdom Technology Co ltd
Priority to CN202011297804.4A priority Critical patent/CN112328383A/zh
Publication of CN112328383A publication Critical patent/CN112328383A/zh
Pending legal-status Critical Current

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/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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/48Indexing scheme relating to G06F9/48
    • G06F2209/484Precedence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5011Pool
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5021Priority

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、算法效益评估模型:作业完成后,通过作业调度算法效益评估模型,评估作业优先权算法合理性,根据评估结果优化优先权算法参数,多次迭代后找出最优算法配置。
具体实施中,根据作业调度历史记录及资源使用情况评估调度算法效益,主要评估总周转时间
Figure BDA0002785900720000051
总周转时间越少,算法越优,总周转时间可以根据静态优先级、调用方式、关键度、资源消耗等级维度来分别统计,根据统计结果确定优先权计算因子优化点,基于优化建议调整计算因子权重值,用于下一个迭代计算,多次迭代后,最终找到符合要求的算法参数配置(注:如何基于统计结果自动优化计算因子权重参数,涉及另外一个机器学习算法,不包含在本发明中)。
综上所述,本发明基于多个项目实践验证,实用性强,鲁棒性好;算法可落地性强,相比于业界已有方案,算法效率高,算法参数调整灵活,可动态修改参数适应优先权算法模型调整。
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

Claims (4)

1.基于优先权的作业并发控制及调度算法,包括作业并发控制模型、作业执行优先权算法及算法效益评估模型三部分,其特征在于,具体步骤如下:
S1、作业并发控制模型:根据作业调度要求设计作业并发控制模型;
S2、作业执行优先权算法:基于作业并发控制模型,结合作业执行优先权算法,计算优先执行作业清单,根据作业清单完成作业执行;
S3、算法效益评估模型:作业完成后,通过作业调度算法效益评估模型,评估作业优先权算法合理性,根据评估结果优化优先权算法参数,多次迭代后找出最优算法配置。
2.根据权利要求1所述的基于优先权的作业并发控制及调度算法,其特征在于,所述步骤S1中使用计算资源池方式实现并发控制模型,从平台、租户、作业组三个层面逐步控制作业并发数量,资源池并发数可根据并发满负荷情况下计算资源的使用情况进行动态调整,资源池一般根据租户、作业执行服务器组来划分,资源池下可通过作业组实现局部并发控制。
3.根据权利要求1所述的基于优先权的作业并发控制及调度算法,其特征在于,所述步骤S2中基于公平合理、关键业务优先的原则,根据作业优先权决定作业执行先后顺序,作业优先权由静态优先权和动态优先权两方面组成,静态优先权由是否关键链路作业、作业静态优先级、作业平均执行时间、作业调用方式、执行批次日期等因素共同决定;动态优先权根据作业等待时间进行动态计算。
4.根据权利要求1所述的基于优先权的作业并发控制及调度算法,其特征在于,所述步骤S3中根据作业调度历史记录及资源使用情况持续评估调度算法效益,并根据评估结果对作业调度算法参数进行持续优化。
CN202011297804.4A 2020-11-19 2020-11-19 基于优先权的作业并发控制及调度算法 Pending CN112328383A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (10)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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
Sprunt et al. Aperiodic task scheduling for hard-real-time systems
Saksena et al. Scalable real-time system design using preemption thresholds
US7752622B1 (en) Method and apparatus for flexible job pre-emption
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) 基于优先权的作业并发控制及调度算法
CN110187956B (zh) 一种多智能体平台的分层实时任务调度方法和系统
CN107943568B (zh) 综合模块化航空电子系统两级调度模型与原型平台
US8214836B1 (en) Method and apparatus for job assignment and scheduling using advance reservation, backfilling, and preemption
US20100162041A1 (en) Fetch operation scheduling
CN106874112A (zh) 一种结合负载均衡的工作流回填方法
CN104239154A (zh) 一种Hadoop集群中的作业调度方法和作业调度器
CN114217966A (zh) 基于资源调整的深度学习模型动态批处理调度方法和系统
CN110362391A (zh) 资源调度方法、装置、电子设备及存储介质
CN106934537A (zh) 基于反向工作流调度的子期限获取优化方法
US8281313B1 (en) Scheduling computer processing jobs that have stages and precedence constraints among the stages
CN113535387A (zh) 一种异构感知的gpu资源分配与调度方法及系统
US20240004707A1 (en) Methods and systems for energy-efficient scheduling of periodic tasks on a group of processing devices
Golub Operating system support for coexistence of real-time and conventional scheduling
CN115619002A (zh) 一种灵活动态混合关键系统调度方法
WO2023015787A1 (zh) 一种高吞吐云计算资源回收系统
CN112506640B (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