基于高响应比的作业调度方法、系统、终端、存储介质与流程

文档序号:26278077发布日期:2021-08-13 19:34阅读:184来源:国知局
基于高响应比的作业调度方法、系统、终端、存储介质与流程

本发明属于计算机应用技术领域,尤其涉及一种基于高响应比的作业调度方法、系统、终端、存储介质。



背景技术:

由于目前高性能计算集群环境中,总是有一些任务需要被优先运行,按照传统的排序方式,可以在一定程度兼顾到公平的原则,但是无法体现对用户作业优先级的体现。传统的调整方法只能由管理员人工手动干预作业优先级顺序,效率低且极耗费人工。

现有的高响应比优先调度算法在作业调度中的主要过程如下:

为了能够简化说明流程,本方法将高性能计算机的最小使用资源单位定义为一台计算机节点,而不是一个节点中的几个cpu计算核心。实际使用场景,可以扩展为多台计算机。

m为所有未调度的作业的集合,h为所有计算机节点集合:

(1)判断作业集合m是否为空,不为空,执行步骤(2);否则跳到步骤(6);

(2)对于作业集中的所有任务,计算其累积等待时长以及预估运行时间,从而得到响应比,响应比=(等待时间+预估运行时间)/预估运行时间=1+(等待时间/预估运行时间);

(3)根据步骤(2)的结果,找出响应比最高的那个作业mi和所对应的机器hj;

(4)将任务mi发送到机器hj上运行;并将该任务从任务集合中删除;

(5)将hj机器标记为已占用状态,并更新所有机器的状态;

(6)接收新作业到m集合中,回到步骤(1)。

根据公式可知:

当作业的等待时间相同时,则要求服务时间越短,其响应比越高,有利于短作业。

当要求运行时间相同时,作业的响应比由其等待时间决定,等待时间越长,其响应比越高,因而它实现的是先来先运行。

对于长作业,作业的响应比可以随等待时间的增加而提高,当其等待时间足够长时,其响应比便可升到很高,从而也可获得处理机会。克服了饥饿状态,兼顾了长作业。

综上所述,现有技术存在的问题是:

现有的高响应比优先调度算法是采用短作业优先、先来先服务、长作业靠等待时间不断增长从而获得处理机会这三个原则来进行作业调度。但相应的,其缺点是增加响应比计算系统开销。另外,按照这种排序方式,确实可以在一定程度兼顾到公平的原则,但是由于是靠等待时间来获得处理作业响应,无法体现出用户作业的优先级,遇到紧急任务需要被优先运行时,就只能手动干预作业优先级顺序,导致效率低下,影响作业处理效率。

解决上述技术问题的难度在于:让软硬件资源在非人工干预的条件下,由系统自行判断并运行当前紧急的重要作业,满足科研进度、型号研发的迫切需要。

解决上述技术问题的意义在于:本方法将作业调度在高响应比优先调度算法(hrrn)的基础上,增加了用户权重因子的属性,该属性包括用户权重因子大小、用户权重因子数量以及用户权重因子冷却时长这三个变量来动态调整作业优先级。本方法将该算法命名为基于动态用户权重因子的高响应比优先调度算法dufhrrn。duf即dynamicuserfactor的英文缩写,中文即用户动态因子。

该算法可以克服在系统满负荷运行时用户作业由于用户权重固定,一直处于无法相对公平地获得计算资源的问题,增加调度成功率,并能提高任务的公平性,防止高权重用户过度占用计算资源,更加符合技术人员在使用有限的软件license资源提交作业的情况,实用性得到了提高,可以有效保证仿真计算团队能最大程序上实现对作业优先级顺序的可控性,满足专项科研进度、型号研发的迫切需要。



技术实现要素:

本发明为了解决上述现有技术中存在的问题,其目的提供一种基于高响应比的作业调度方法、系统、终端、存储介质。

本发明为解决这一问题所采取的技术方案是:

一种基于高响应比的作业调度方法,所述基于高响应比的作业调度方法包括:

步骤101:管理员终端设置软硬件基本信息、作业队列、用户权限、用户权重因子;

所述用户权重因子包括:用户权重因子动态值、用户权重因子数量值、用户权重因子冷却时间;

步骤102:用户终端为作业手动设置是否使用所述用户权重因子,选择后提交作业;

其中:

选择是,用户终端的用户权重因子动态值为步骤101中的设置值,且设置值不为1;

选择否,用户终端的用户权重因子动态值默认为1;

步骤103:用户终端进入作业排队阶段,由作业调度方法确定用户终端的作业优先级,按优先级由高到低来顺序运行作业。

优选的,所述步骤103中的作业调度方法,至少包括以下步骤:

步骤201:判断作业集合m是否为空,不为空,执行步骤202;若为空,跳到步骤206;

步骤202:计算作业集合m中的每个作业的加权响应比;

加权响应比=[(等待时间+预估运行时间)/预估运行时间]*用户动态权重因子=[1+(等待时间/预估运行时间)]*用户权重因子动态值;

步骤203:根据步骤202的结果,找出加权响应比最高的作业mi和其所对应的机器hj;

步骤204:将作业mi发送到机器hj上运行,并将作业mi从作业集合m中删除;

步骤205:将hj机器标记为已占用状态;

步骤206:更新所有其他作业状态,接收新作业到作业集合m中,回到步骤201;

其中:m为所有未调度的作业的集合。

进一步优选的,所述步骤204中,如果作业mi的用户权重因子动态值不为1,作业mi从作业集合m中删除时,该作业所对应的用户终端的用户权重因子数量值同步减1。

进一步优选的,用户终端的用户权重因子数量值减1后,所述步骤206中,作业mi的用户权重因子冷却时间结束时,作业mi的用户权重因子动态值重新归还给用户终端,同时用户终端的用户权重因子数量值加1。

进一步优选的,所述步骤202中,加权响应比=[1+(等待资源/预估资源)]*用户权重因子动态值。

优选的,所述步骤102中,系统为用户终端的作业自动分配使用所述用户权重因子,分配后提交作业;

其中:

当用户终端的用户权重因子数量值大于0时,作业的用户权重因子动态值为步骤101中的设置值,且设置值不为1;

当用户终端的用户权重因子数量值等于0时,作业的用户权重因子动态值默认为1。

本发明的另一目的在于:提供了一种信息数据处理终端,所述信息数据处理终端用于实现所述的基于高响应比的作业调度方法。

本发明的另一目的在于:提供一种计算机可读存储介质,其上储存有指令,当所述指令在计算机上运行时,使得计算机执行所述的基于高响应比的作业调度方法的步骤。

本发明的另一目的在于:一种计算机设备,其特征在于,所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述的基于高响应比的作业调度方法的步骤。

本发明的另一目的在于:一种基于优先级的作业调度方法,应用如基于高响应比的作业调度方法所述的用户权重因子,其加权优先级=fp(已有算法优先级,用户动态权重因子);

其中:fp为已有算法中的优先级与用户权重因子动态值做计算后得到新的加权优先级。

结合上述的所有技术方案,本发明所具备的优点及积极效果为:

1.提出由用户选择是否使用用户权重因子,即是否紧急处理作业,给与用户自主权,可以由系统根据用户的选择,手动指定使用用户权重因子、自动使用用户权重因子或不使用用户权重因子。这种调度方式,可以极大地对用户进行区别对待,关注重点用户。

2.提出用户权重因子数量值的方法,利用该方法可细化对用户作业优先级的控制范围,用户权重因子会由于用户或系统的使用而减少,并非一直存在,使系统资源不会出现紧张问题。

3.提出用户权重因子冷却时间的方法,利用该方法可对用户权重因子的再次可用时间作精确控制,防止用户权重因子在短时间内反复使用。

4.对不同用户根据作业情况使用不同组合,将用户权重因子动态值,用户权重因子数量值以及用户权重因子冷却时间这三者组合,而非单一的用户权重因子,便于多样化处理,综合调节作业优先级,而不是一味地盲目提高某些用户的所有作业优先级。

5.上述技术点的处理,能够在系统资源紧张,作业争抢较严重的情景下,根据用户的作业属性和等待时长来综合控制作业的运行顺序,达到控制和优化作业优先级。

6.除应用于用户以外,还可以用于作业种类,对不同的作业种类施加不同的动态值,数量以及冷却时间,而非单一的用户权重因子来调整作业优先级。如将3个用户,切换为3种软件的作业。

7.除了应用于基于高响应比的优先调度算法以外,还可以施加于其它类似已有算法,从而进一步优化算法,优化系统资源。

附图说明

以下将结合附图和实施例来对本发明的技术方案作进一步的详细描述,但是应当知道,这些附图仅是为解释目的而设计的,因此不作为本发明范围的限定。此外,除非特别指出,这些附图仅意在概念性地说明此处描述的结构构造,而不必要依比例进行绘制。

图1是本发明中手动设置用户权重因子的作业调度方法流程图;

图2是本发明中系统设置用户权重因子的作业调度方法流程图;

图3是本发明的作业调度方法示意图。

具体实施方式

首先,需要说明的是,以下将以示例方式来具体说明本发明的具体结构、特点和优点等,然而所有的描述仅是用来进行说明的,而不应将其理解为对本发明形成任何限制。此外,在本文所提及各实施例中予以描述或隐含的任意单个技术特征,或者被显示或隐含在各附图中的任意单个技术特征,仍然可在这些技术特征(或其等同物)之间继续进行任意组合或删减,从而获得可能未在本文中直接提及的本发明的更多其他实施例。另外,为了简化图面起见,相同或相类似的技术特征在同一附图中可能仅在一处进行标示。

在本发明中,除非另有明确的规定和限定,术语“安装”、“设置”、“连接”、“固定”、“旋接”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定,对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在发明中的具体含义。

下面结合附图1-3来具体说明本发明。

实施例1:

如图1所示,本发明实施例提供的基于高响应比的作业调度方法包括以下步骤:

s101:管理员终端设置软硬件基本信息、作业队列、用户权限、用户权重因子;

所述用户权重因子包括:用户权重因子动态值、用户权重因子数量值、用户权重因子冷却时间;

s102:用户终端为作业手动设置是否使用所述用户权重因子,选择后提交作业;

该步骤中用户终端还可以针对选择和填写进行作业运行所必须的内容,如作业求解文件、运行脚本、所需要的软件版本以及进程并行量(即cpu核心数量)等可选参数;

其中:

选择是,用户终端的用户权重因子动态值为步骤101中的设置值,且设置值不为1;

选择否,用户终端的用户权重因子动态值默认为1;

s103:用户终端进入作业排队阶段,由作业调度方法确定用户终端的作业优先级,按优先级由高到低来顺序运行作业。

本实施例中,用户权重因子动态值的大小可以用整数来表示,也可以用小数来表示,是一个相对值。在真实系统中,为了易于管理员理解,通常以整数表示,比如从1到10或1到100。

用户如果选择不设置紧急作业,即不选择使用用户权重因子,其用户权重因子动态值默认为1,即对算法公式无加权影响。

当请求紧急作业的用户终端数量过多,大于管理员终端所设的用户权重因子数量值时,会根据先进先服务等基本调度策略来决定执行的先后顺序。

用户权重因子冷却时间根据作业性质来确定,通常的设置时长为0小时到72小时之间。

工作原理:

本技术方案中,在传统调度算法的基础上,对作业调度加入了用户权重因子动态值的概念。传统意义上的调度算法对用户只有静态权重的概念,根据用户级别来确定其权重。本技术方案在此基础上,还增加了用户权重因子数量值和用户权重因子冷却时间的概念,在对重要而紧急的作业优先处理的同时,同时也提高了作业调度的公平性。

例如有三个用户u1、u2、u3,如果系统中只有静态权重,且u1为高优先级用户,会导致u2、u3的作业可能迟迟得不到运行。但u2、u3实际上只需要保证少量的作业得到较高优先级即可满足需求,针对这种情况,本技术方案提出了用户权重因子的设计,只需要给u2、u3用户设置用户权重因子动态值,用户权重因子动态值设置得越大,其先执行的概率越大。

但相应的,为了保证资源合理分配,不出现资源紧张的问题,赋予u2、u3用户的用户权重因子数量值也会有限,例如只设定一个,这样就可以保证u2、u3用户可以各自运行1个高优先级的作业。这样既可以满足u1的高优先级不受影响,同时u2、u3也能尽快执行作业。等作业结束后,可以通过用户权重因子冷却时间的长短,调整u2、u3在冷却时间过后,再次提交高优先级作业,提升了运行频率,调度系统因此可以在资源比例和使用时长上进行控制。

对于u2、u3两个用户的资源分配,如果u2用户需要频繁运行较短时间的作业,可以设置相对较短的冷却时间,这样u2用户可以保证大概率分配到少的时间运行短作业或资源占用少的作业。如果u3用户运行作业时间较长,可设置为较长的冷却时间,这样可以防止频繁提交,长时间占用资源。

从上述可以看出,针对不同的用户,设置不同的用户权重因子动态值、用户权重因子数量值和用户权重因子冷却时间,可以使相关作业能够优先运行,保证了不同需求的用户作业均在一定程度上得到优先执行。

进一步的,还可在本实施例中考虑,所述步骤s103中的作业调度方法,至少包括以下步骤:

s201:判断作业集合m是否为空,不为空,执行s202;若为空,跳到s206;

s202:计算作业集合m中的每个作业的加权响应比;

加权响应比=[(等待时间+预估运行时间)/预估运行时间]*用户权重因子动态值=[1+(等待时间/预估运行时间)]*用户权重因子动态值;

s203:根据步骤202的结果,找出加权响应比最高的作业mi和其所对应的机器hj;

s204:将作业mi发送到机器hj上运行,并将作业mi从作业集合m中删除;

s205:将hj机器标记为已占用状态;

s206:更新所有其他作业状态,接收新作业到作业集合m中,回到步骤s201;

其中:m为所有未调度的作业的集合。

步骤s202中,如果用户终端选择不使用用户权重因子,其加权响应比视为不考虑用户权重因子动态值,响应比不再加权,其作业优先级不做变化。

如果用户终端使用用户权重因子,会在响应比公式上加上用户权重因子动态值,生成加权响应比。根据加权响应比的值域大小,从而确定所有作业的优先级排名。

这里的“接收新作业到作业集合m”是指整个调度系统的一次调度循环,在每次调度完成后,会接收新的待运行作业到作业集合m中,等待下一次调度循环。服务不停止,调度会一直循环运行,一轮一轮地进行作业调度操作。

更进一步的,还可在本实施例中考虑,所述步骤s204中,如果作业mi的用户权重因子动态值不为1,作业mi从作业集合m中删除时,该作业所对应的用户终端的用户权重因子数量值同步减1。

用户权重因子动态值不为1时,即用户终端为作业设置使用了用户权重因子。当作业mi得到最高加权响应比,执行完毕后从从作业集合m中删除时,用户权重因子数量值会同步减1,以免其他作业抢占资源。

更进一步的,还可在本实施例中考虑,用户终端的用户权重因子数量值减1后,所述步骤s206中,作业mi的用户权重因子冷却时间结束时,作业mi的用户权重因子动态值重新归还给用户终端,同时用户终端的用户权重因子数量值加1。

在上面的步骤s204中,用户权重因子数量值减1后,其由于有用户权重因子冷却时间的设置,会在冷却时间到后被释放出来,即在步骤206中,使用户权重因子数量值再加1,被其他作业使用,达到有序分配资源的目的。

更进一步的,还可在本实施例中考虑,所述步骤s202中,加权响应比=[1+(等待资源/预估资源)]*用户权重因子动态值。

基于高响应比的作业调度算法根据系统和实际情况有所不同,例如u1、u2、u3用户,可以类比切换为3种软件的作业,其参数也从预估运行时间切换到预估资源,计算相应的加权响应比。

实施例2:

进一步的,还可在本实施例中考虑,所述步骤102中,系统为用户终端的作业自动分配使用所述用户权重因子,分配后提交作业;

其中:

用户终端的用户权重因子数量值大于0,作业的用户权重因子动态值为步骤101中的设置值,且设置值不为1;

用户终端的用户权重因子数量值等于0,作业的用户权重因子动态值默认为1。

当用户终端不想手动为作业一个个去选择是否实施紧急作业时,可以由系统来为用户终端的作业自动分配使用用户权重因子。

当用户权重因子数量值大于0时,系统会给用户作业自动分配用户权重因子动态值,对算法公式进行加权响应比计算。

当用户权重因子数量值等于0时,即用户终端的用户权重因子数量已经用尽,则将作业的用户权重因子动态值默认为1,也就是不参与优先级的加权响应比计算,对算法公式无加权影响。

实施例3:

一种基于优先级的作业调度方法,应用如上述所述的用户权重因子,其加权优先级=fp(已有算法优先级,用户权重因子动态值);

其中:fp为已有算法中的优先级与用户权重因子动态值做计算后得到新的加权优先级。

在其它调度算法中,也可以施加本技术方案提出的用户权重因子。除了上述所述公司,还可以如下施加:

加权优先级=已有算法优先级*用户动态权重因子;

加权优先级=已有算法优先级+用户动态权重因子;

这些施加方式均可以帮助优化调度算法,提高运行效率。

综上所述,本发明提供了一种基于高响应比的作业调度方法、系统、终端、存储介质。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用全部或部分地以计算机程序产品的形式实现,所述计算机程序产品包括一个或多个计算机指令。在计算机上加载或执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl)或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输)。所述计算机可读取存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

以上实施例对本发明进行了详细说明,但所述内容仅为本发明的较佳实施例,不能被认为用于限定本发明的实施范围。凡依本发明申请范围所作的均等变化与改进等,均应仍归属于本发明的专利涵盖范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1