一种基于超算的作业调度优化系统及方法与流程

文档序号:32489864发布日期:2022-12-10 02:23阅读:256来源:国知局
一种基于超算的作业调度优化系统及方法与流程

1.本发明属于计算机高性能计算技术领域,尤其涉及一种基于超算的作业调度优化系统及方法。


背景技术:

2.本部分的陈述仅仅是提供了与本发明相关的背景技术信息,不必然构成已经成为本领域一般技术人员所公知的现有技术。
3.随着高性能计算技术的发展,超算集群的作业调度已经成为超算日常运行中一个十分重要的组成部分。在超算集群的作业调度过程中,用户提交作业给调度系统,由调度系统对超算集群的资源进行分配调度。
4.为使超算集群调度稳定运行,目前较为常见的方法是通过调度系统来限制每个用户提交的最大作业数量,以保证调度能够在一定数量的作业中稳定运行。这种方案的局限性在于,随着超算集群用户规模的增大,作业数量也越来越多,这样对调度系统的访问次数不断增多,使得调度系统本身的状态越来越不稳定,从而影响超算集群资源的分配效率。


技术实现要素:

5.为了解决上述问题,本发明提供一种基于超算的作业调度优化系统及方法,以在超算集群用户规模增大,且作业数量增多的情况下,尽可能地减少对调度系统的访问次数,提高调度系统的稳定性。
6.为了实现上述目的,本发明主要包括以下几个方面:
7.第一方面,本发明实施例提供一种基于超算的作业调度优化系统,包括调度系统和超算集群,所述调度系统用于对超算集群的资源进行分配调度,还包括:调度缓存服务器和作业缓存服务器;
8.所述调度缓存服务器用于获取并缓存调度系统中当前所有用户的等待作业数量;
9.所述作业缓存服务器用于接收用户提交的作业,将该作业加入到该用户的作业缓存队列的队尾;从所述调度缓存服务器中获取该用户的等待作业数量,若所述等待作业数量小于或等于预设的数量阈值,则将所述作业缓存队列的作业进行排序后依次提交至调度系统,直到该用户的作业缓存数量大于所述数量阈值,停止提交作业。
10.在一种可能的实施方式中,所述作业缓存服务器具体用于针对作业缓存队列的每一个作业,计算作业使用的总进程数与作业排队等待时间的乘积,将该乘积与初始权重的和值确定为作业的权重,将所述作业缓存队列的作业按照所述权重进行排序。
11.在一种可能的实施方式中,所述作业缓存服务器在判定该用户的等待作业数量大于数量阈值时,对接收到的作业进行缓存。
12.在一种可能的实施方式中,所述调度系统在接收到用户的作业缓存队列时,向所述调度缓存服务器发送更新用户等待作业数量的通知。
13.在一种可能的实施方式中,所述调度系统在用户提交的作业完成时,向所述调度
缓存服务器发送更新用户等待作业数量的通知。
14.在一种可能的实施方式中,当所述调度缓存服务器获取并缓存用户的等待作业数量时,向所述作业缓存服务器发送缓存服务通知。
15.第二方面,本发明实施例提供一种基于超算的作业调度优化方法,包括:
16.获取并缓存调度系统中当前所有用户的等待作业数量;
17.接收用户提交的作业,将该作业加入到该用户的作业缓存队列的队尾;获取该用户的等待作业数量,若所述等待作业数量小于或等于预设的数量阈值,则将所述作业缓存队列的作业进行排序后依次提交至调度系统,直到该用户的作业缓存数量大于所述数量阈值,停止提交作业。
18.在一种可能的实施方式中,判定该用户的等待作业数量大于数量阈值时,对接收到的作业进行缓存。
19.第三方面,本发明实施例提供一种计算机设备,包括:处理器、存储器和总线,所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时执行如上述第二方面和第二方面任一种可能的实施方式中所述的基于超算的作业调度优化方法的步骤。
20.第四方面,本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行如上述第二方面和第二方面任一种可能的实施方式中所述的基于超算的作业调度优化方法的步骤。
21.以上一个或多个技术方案存在以下有益效果:
22.本发明所提供的作业调度优化系统,通过调度缓存服务器获取并缓存调度系统中当前所有用户的等待作业数量;以及通过作业缓存服务器接收用户提交的作业,将该作业加入到该用户的作业缓存队列的队尾;从所述调度缓存服务器中获取该用户的等待作业数量,若所述等待作业数量小于或等于预设的数量阈值,则将所述作业缓存队列的作业进行排序后依次提交至调度系统,直到该用户的作业缓存数量大于所述数量阈值,停止提交作业。这样,在超算集群用户规模增大,且作业数量增多的情况下,减少调度系统的访问次数,提高调度系统的稳定性。
23.并且根据作业使用的总进程数、作业排队等待时间和用户设置的初始权重,确定作业缓存队列中作业的权重,根据作业的权重调整提交到调度系统的先后顺序,可以满足用户的需求,提高用户的体验度。
附图说明
24.构成本发明的一部分的说明书附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。
25.图1是本发明实施例一所提供的基于超算的作业调度优化系统的结构示意图;
26.图2是本发明实施例一所提供的基于超算的作业调度优化方法的流程示意图。
具体实施方式
27.下面结合附图与实施例对本发明作进一步说明。
28.应该指出,以下详细说明都是示例性的,旨在对本发明提供进一步的说明。除非另
有指明,本文使用的所有技术和科学术语具有与本发明所属技术领域的普通技术人员通常理解的相同含义。
29.需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本发明的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
30.实施例一
31.超算集群通常是使用多个超级计算中心处理器或者物理计算机组成的计算系统和环境,调度系统是一种分布式资源管理和调度系统,调度系统通过特定的算法,从外存的作业队列中选取某些作业调入内存,并为它们创建进程、分配资源。为使超算集群调度稳定运行,现阶段通常限制每个用户提交的最大作业数量,但是随着超算集群用户规模的增大以及作业数量的增多,对调度系统的访问次数也不断增多,使得调度系统本身的状态越来越不稳定,影响超算集群资源的分配效率。
32.基于此,本发明实施例提供一种基于超算的作业调度优化系统,通过对用户提交的作业进行缓存,在用户的等待作业数量小于或等于预设的数量阈值时,对作业缓存队列进行排序并依次提交至调度系统,这样可以尽可能地减少频繁地多次访问调度系统,在超算集群用户规模增大,且作业数量增多的情况下,可以提高调度系统的稳定性。同时可以根据用户需求对作业缓存队列的作业进行排序,调整提交到调度系统的先后顺序,提高用户的体验度。
33.如图1所示,本实施例提供一种基于超算的作业调度优化系统,包括调度系统和超算集群,所述调度系统用于对超算集群的资源进行分配调度,还包括:调度缓存服务器和作业缓存服务器;
34.所述调度缓存服务器用于获取并缓存调度系统中当前所有用户的等待作业数量;
35.所述作业缓存服务器用于接收用户提交的作业,将该作业加入到该用户的作业缓存队列的队尾;从所述调度缓存服务器中获取该用户的等待作业数量,若所述等待作业数量小于或等于预设的数量阈值,则将所述作业缓存队列的作业进行排序后依次提交至调度系统,直到该用户的作业缓存数量大于所述数量阈值,停止提交作业。
36.在一个超算集群上,当用户使用调度系统提交作业的时候,将查询调度缓存服务器,确认该用户是否有大于x个作业处于等待状态,其中x为自定义设置的一个数值且大于0。若该用户的作业有大于x个作业处于等待状态,则将该用户提交的作业加入缓存队列,将不会与调度系统进行交互。若该用户的作业小于或等于x个作业处于等待状态,调度系统将通知调度缓存服务器更新调度缓存,调度缓存服务器更新缓存后,通知作业缓存服务器进行作业提交。
37.这里,作业缓存服务器在等待作业数量小于或等于预设的数量阈值时,将作业缓存队列的作业进行排序后依次提交至调度系统。进一步的,所述作业缓存服务器具体用于针对作业缓存队列的每一个作业,计算作业使用的总进程数与作业排队等待时间的乘积,将该乘积与初始权重的和值确定为作业的权重,将所述作业缓存队列的作业按照所述权重进行排序。
38.在具体实施中,计算规则:单个作业权重=作业使用的总进程数*作业排队等待的
分钟数+初始权重,其中初始权重默认为1,以保证提交的作业都处在同一水平权重。这里,用户在提交作业时会写明作业需要的总进程数,以及为作业设置一个初始权重,通过该方式,可以根据用户的实际需要,调整作业在作业缓存队列的先后顺序,提高用户的体验度。
39.所述作业缓存服务器在判定该用户的等待作业数量大于数量阈值时,对接收到的作业进行缓存,此时,该作业不与调度系统发生交互,可以有效地较少对调度系统的访问次数,提高调度系统的稳定性。
40.进一步的,所述调度系统在接收到用户的作业缓存队列时,向所述调度缓存服务器发送更新用户等待作业数量的通知;或者,所述调度系统在用户提交的作业完成时,向所述调度缓存服务器发送更新用户等待作业数量的通知。
41.所述调度缓存服务器获取并缓存用户的等待作业数量时,向所述作业缓存服务器发送缓存服务通知。以确保调度缓存服务器及时地更新调度信息,并通知作业缓存服务器进行作业缓存服务,从而有利于提高超算集群资源的分配效率。
42.实施例二
43.如图2所示,本发明实施例还提供一种基于超算的作业调度优化方法,具体包括以下步骤:
44.s201:获取并缓存调度系统中当前所有用户的等待作业数量;
45.s202:接收用户提交的作业,将该作业加入到该用户的作业缓存队列的队尾;获取该用户的等待作业数量,若所述等待作业数量小于或等于预设的数量阈值,则将所述作业缓存队列的作业进行排序后依次提交至调度系统,直到该用户的作业缓存数量大于所述数量阈值,停止提交作业。
46.作为一可选实施方式,在判定该用户的等待作业数量大于数量阈值时,对接收到的作业进行缓存。
47.本实施例提供的基于超算的作业调度优化方法是基于前述的基于超算的作业调度优化系统得到的,基于超算的作业调度优化方法中的具体实施方式可见前文中的基于超算的作业调度优化系统的实施例部分,在此不再进行赘述。
48.实施例三
49.本发明实施例还提供一种计算机设备,所述计算机设备包括处理器、存储器和总线。
50.所述存储器存储有所述处理器可执行的机器可读指令,当计算机设备运行时,所述处理器与所述存储器之间通过总线通信,所述机器可读指令被所述处理器执行时,可以执行如上述图2所示方法实施例中的基于超算的作业调度优化方法的步骤,具体实现方式可参见方法实施例,在此不再赘述。
51.实施例四
52.本发明实施例还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器运行时执行上述方法实施例中所述的基于超算的作业调度优化方法的步骤。
53.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁
碟、光盘、只读存储记忆体(read-only memory,rom)或随机存储记忆体(random accessmemory,ram)等。
54.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1