一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向大规模并行机的快速作业调度方法与流程

2022-03-22 20:16:55 来源:中国专利 TAG:


1.本发明涉及一种面向大规模并行机的快速作业调度方法,属于高性能计算技术领域。


背景技术:

2.作业调度器是作业管理系统的重要组成部分,其功能为在等待运行的作业中尽可能公平和高效地选择最合适的作业去调度运行,以满足用户课题实时运行需求,提高系统资源利用率。
3.目前常用的任务调度策略主要有传统改进算法、启发式算法和智能算法。传统改进算法能满足大规模并行机用户的基本需求,但是存在某些大作业因长时间得不到调度而被“饿死”、系统资源利用率低等问题;启发式算法简单直观,但是存在初期求解速度慢、搜索时间长、过早收敛等问题;智能算法能够自主地学习如何针对给定的优化目标有效地调度系统中独立的批处理作业,但是算法复杂,目前基本没有应用于超大规模系统中。


技术实现要素:

4.本发明的目的是提供一种面向大规模并行机的快速作业调度方法,解决大规模并行机中固定资源规模需求作业的高效调度问题。
5.为达到上述目的,本发明采用的技术方案是:提供一种面向大规模并行机的快速作业调度方法,基于一作业调度架构,所述作业调度架构包括:作业池,用于存放所有待调度作业的基本信息;调度策略模块,用于按照某种规则从作业池中选择合适的作业调度运行;作业启动模块,用于启动运行已完成调度即将运行的用户作业;所述作业调度方法包括以下步骤:s1、根据实际系统中用户作业的需求,设置系统作业等待时间阈值;s2、从作业池中获得所有待调度作业的基本信息,包括作业的提交队列、提交时间以及资源需求;s3、根据s2获得的待调度作业的基本信息,将所有待调度作业按照计算得到的优先级由大到小进行排序;s4、各队列根据s3获得的作业排序情况,依次查询队列中可用资源数量是否满足待调度作业的资源需求,队列间可并行查询;s5、若队列中可用资源数量满足作业所需资源量,则调用作业启动模块启动该作业,并将启动结果记入数据库,此作业调度完成;s6、若队列中可用资源数量不满足作业所需资源量,则判断作业等待时间是否超过s1中设定的阈值,若超过,则对该作业所需的资源进行预约,待资源预约成功,调用作业启动模块启动作业,此作业调度完成;若不超过,则该作业继续留在作业池中,等待下一次调度;s7、所有待调度作业处理完毕,此次调度结束。
6.上述技术方案中进一步改进的方案如下:1.上述方案中,s3中作业优先级计算的方法为,其中, k1、k2、k3分别为权重因子,p
vip
为特权优先级值,初始设为0,pu为用户优先级值,pq为队列优先级值,pm为预先设定的作业优先级的阈值,t
wait
为系统作业实际等待时间。
7.2. 上述方案中,计算作业优先级时,先判断该作业是否设置了特权,若设置,则其优先级值为特权优先级值,作业最先被调度运行;否则,取计算得到的优先级值与优先级阈值中的较小者,当作业的优先级达到设定的阈值时,作业即需要进行资源预约,避免其长时间得不到调度。
8.由于上述技术方案的运用,本发明与现有技术相比具有下列优点:本发明作业调度方法能够在大规模并行机中并发高效地选择合适的作业调度运行,减少总的作业等待时间,提高系统资源利用率,改善用户使用体验。
附图说明
9.附图1为作业调度架构;附图2为作业调度流程图。
具体实施方式
10.实施例:本发明提供一种面向大规模并行机的快速作业调度方法,基于一作业调度架构,所述作业调度架构包括:作业池,用于存放所有待调度作业的基本信息;调度策略模块,用于按照某种规则从作业池中选择合适的作业调度运行;作业启动模块,用于启动运行已完成调度即将运行的用户作业;所述作业调度方法包括以下步骤:s1、根据实际系统中用户作业的需求,设置系统作业等待时间阈值;s2、从作业池中获得所有待调度作业的基本信息,包括作业的提交队列、提交时间以及资源需求;s3、根据s2获得的待调度作业的基本信息,将所有待调度作业按照计算得到的优先级由大到小进行排序;s4、各队列根据s3获得的作业排序情况,依次查询队列中可用资源数量是否满足待调度作业的资源需求,队列间可并行查询;s5、若队列中可用资源数量满足作业所需资源量,则调用作业启动模块启动该作业,并将启动结果记入数据库,此作业调度完成;s6、若队列中可用资源数量不满足作业所需资源量,则判断作业等待时间是否超过s1中设定的阈值,若超过,则对该作业所需的资源进行预约,待资源预约成功,调用作业启动模块启动作业,此作业调度完成;若不超过,则该作业继续留在作业池中,等待下一次调度;s7、所有待调度作业处理完毕,此次调度结束。
11.s3中作业优先级计算的方法为,其中, k1、k2、k3分别为权重因子,p
vip
为特权优先级值,初始设为0,pu为用户优先级值,pq为队
列优先级值,pm为预先设定的作业优先级的阈值,以上各参数均由系统管理员在环境构建时预先设置,t
wait
为系统作业实际等待时间。
12.计算作业优先级时,先判断该作业是否设置了特权,若设置,则其优先级值为特权优先级值,作业最先被调度运行;否则,取计算得到的优先级值与优先级阈值中的较小者,当作业的优先级达到设定的阈值时,作业即需要进行资源预约,避免其长时间得不到调度。
13.对上述实施例的进一步解释如下:本发明主要针对超大规模系统中海量固定资源规模需求作业的快速调度需求,提出一种模块化的作业调度架构,为保证资源管理与使用的独立性,该架构在设计上对系统资源以队列的方式进行了逻辑上的划分,队列之间计算资源配置相互独立无交叉,为并行化调度提供了基础;并设计了一种支持预约的面向大规模并行机的快速作业调度方法,以缩短队列间资源无交叉系统的作业平均等待时间、提高系统资源利用率。
14.在作业排序、资源分配与调度运行过程中,基于队列间资源无交集条件和队列间并发控制机制的各队列可用资源查询、特定大作业的资源预约、预约过程中基于回填技术的低优先级作业挂起、并发调度作业运行等方法,通过这种并行化控制方法可有效减少作业等待时间,提高系统资源利用率,提高系统作业吞吐率。
15.如图1,作业调度架构主要由作业池、调度策略和作业启动模块三部分组成,其中,作业池负责存放所有待调度作业的基本信息,调度策略模块主要负责按照某种规则从作业池中选择合适的作业调度运行,该部分可根据需求自定义调度策略,以对作业进行更精确的控制,作业启动模块主要负责启动运行已完成调度即将运行的用户作业。
16.基于此架构提出一种支持预约的快速作业调度方法,为了避免系统中某些大规模作业等待时间过长,影响用户体验,设定了作业最长等待时间,若作业等待时间超过该阈值,则该作业需要预约资源,优先调度运行。
17.具体的作业处理流程如图2:步骤1、从作业池中获得所有作业信息;步骤2、将待调度作业按照计算得到的优先级进行排序;步骤3、并行查询各队列可用资源是否满足待调度作业的需求;步骤4、若资源满足需求,则调用作业启动模块启动该作业,并将启动结果记入数据库,此作业调度完成;步骤5、若资源不满足需求,则判断作业等待时间是否超过预先设定的阈值,若超过,则对该作业所需的资源进行预约,待资源预约成功,调用作业启动模块启动作业,此作业调度完成;若不超过,则该作业继续留在作业池中,等待下一次调度。
18.步骤6、所有待调度作业处理完毕,此次调度结束。
19.作业优先级的计算方法为:其中,k1、k2、k3分别为权重因子,p
vip
为特权优先级值,初始设为0,pu为用户优先级值,pq为队列优先级值,t
wait
为作业等待时间,pm为预先设定的作业优先级的阈值。
20.计算作业优先级时,先判断该作业是否设置了特权,若设置,则其优先级值为特权优先级值,作业最先被调度运行;否则取计算得到的优先级值与优先级阈值中的较小者,当作业的优先级达到设定的阈值时,作业即需要进行资源预约,避免其长时间得不到调度。
21.采用上述一种面向大规模并行机的快速作业调度方法时,其能够在大规模并行机
中并发高效地选择合适的作业调度运行,减少总的作业等待时间,提高系统资源利用率,改善用户使用体验。
22.为了便于更好的理解本发明,下面将对本文中使用的术语进行简要的解释:作业管理系统:指运行于大规模并行机中,集作业调度、启动、控制与回收等功能为一体的管理控制系统。
23.上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献