CN110806928A - 一种作业提交方法及系统 - Google Patents

一种作业提交方法及系统 Download PDF

Info

Publication number
CN110806928A
CN110806928A CN201910985176.XA CN201910985176A CN110806928A CN 110806928 A CN110806928 A CN 110806928A CN 201910985176 A CN201910985176 A CN 201910985176A CN 110806928 A CN110806928 A CN 110806928A
Authority
CN
China
Prior art keywords
job
queue
super
running
submission
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
CN201910985176.XA
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.)
Beijing Parallel Technology Co Ltd
Original Assignee
Beijing Parallel 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 Beijing Parallel Technology Co Ltd filed Critical Beijing Parallel Technology Co Ltd
Priority to CN201910985176.XA priority Critical patent/CN110806928A/zh
Publication of CN110806928A publication Critical patent/CN110806928A/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
    • 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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种作业提交方法及系统。其中,作业提交方法在调度服务器中执行,调度服务器分别与多个超级计算中心和多个客户端相连,且多个超级计算中心上布置有多个用于运行作业的作业队列。方法包括步骤:获取多个超级计算中心上的多个作业队列的资源使用情况;接收来自客户端的作业提交请求,作业提交请求中包含待提交作业的脚本参数;结合资源使用情况及脚本参数,确定适于运行该作业的作业队列;将作业提交至所确定的作业队列,以便作业队列运行该作业;以及在作业运行的各时间段,接收由超级计算中心发送的作业队列运行作业的结果。

Description

一种作业提交方法及系统
技术领域
本发明涉及云计算技术领域,尤其是一种作业提交方法及系统。
背景技术
高性能计算技术的应用领域越来越广泛,高性能计算已经不局限于传统行业领域(如石油、气象、材料、物理和地球科学计算等)的研究。尤其是近几年来,随着高性能计算技术的快速发展,互联网与传统行业不断地渗透和融合,推动了智能语音、人脸识别、智慧医疗、可穿戴设备等各个领域的快速发展。当越来越多的用户需要使用超级计算资源来执行计算任务(或称为“作业”)时,如何合理地分配计算资源、且不增加用户的学习成本,就成为一个关键的问题。
目前较为常见的作业调度方案,是用户将作业提交到本地的超级计算集群中,由本地集群执行作业。这种方案的局限性在于,只能在局域网中使用。例如,由于物理区域隔绝限制,位于3个物理区域A、B、C的不同用户,只能在其对应的3个物理区域中的集群上提交作业。设想一种场景,当区域A拥有大量用户、且用户提交的作业很多,而区域B的用户提交了极少量作业、并且有很多空闲的计算资源时,这就容易造成各超算集群上用户的分布不均,浪费计算资源。
因此,需要一种方便、高效的作业提交方案,能够自动合理地匹配出合适的计算资源,保证作业的正常执行。
发明内容
为此,本发明提供了一种作业提交方法及系统,以力图解决或者至少缓解上面存在的至少一个问题。
根据本发明的一个方面,提供了一种作业提交方法,该方法在调度服务器中执行,调度服务器分别与多个超级计算中心和多个客户端相连,其中,多个超级计算中心上布置有多个用于运行作业的作业队列,包括步骤:获取多个超级计算中心上的多个作业队列的资源使用情况;接收来自客户端的作业提交请求,作业提交请求中包含待提交作业的脚本参数;结合资源使用情况及脚本参数,确定适于运行该作业的作业队列;将作业提交至所确定的作业队列,以便作业队列运行该作业;以及在作业运行的各时间段,接收由超级计算中心发送的作业队列运行作业的结果。
可选地,在根据本发明的作业提交方法中,在作业运行的各时间段,接收由超级计算中心发送的作业队列运行作业的结果的步骤包括:在作业运行的各时间段,接收由超级计算中心每隔对应的时间间隔发送的作业队列运行作业的结果,其中,运行时间越长,对应的时间间隔越长。
可选地,在根据本发明的作业提交方法中,在作业运行的各时间段,接收由超级计算中心每隔对应的时间间隔发送的作业队列运行作业的结果的步骤包括:在作业开始运行时,接收由超级计算中心每隔第一时间间隔发送的作业运行结果;在作业运行第一时长后,接收由超级计算中心每隔第二时间间隔发送的作业运行结果;在作业运行第二时长后,接收由超级计算中心每隔第三时间间隔发送的作业运行结果,其中,第一时间间隔小于第二时间间隔,第二时间间隔小于第三时间间隔。
可选地,在根据本发明的作业提交方法中,作业队列的资源使用情况包括以下信息中的一个或多个:作业队列中所包含的计算节点的数量和各计算节点的状态、作业队列的运行时间限制、以及作业队列的费率。
可选地,在根据本发明的作业提交方法中,结合资源使用情况及脚本参数,确定适于运行该作业的作业队列的步骤包括:解析脚本参数,得到待提交作业的作业类型和运行环境参数,运行环境参数包括运行作业所需的计算资源的数量;根据当前的资源使用情况,选取符合运行环境参数的作业队列,作为第一队列集合;从第一队列集合中选取出符合所述作业类型的作业队列,作为第二队列集合;以及根据各作业队列的费率,从第二队列集合中确定出适于运行该作业的作业队列。
可选地,在根据本发明的作业提交方法中,运行环境参数还包括运行该作业的预期作业队列。
可选地,根据本发明的作业提交方法还包括步骤:当脚本参数中包含预期作业队列时,判断预期作业队列的资源使用情况是否符合运行环境参数;若符合运行环境参数,则确定预期作业队列为适于运行该作业的作业队列。
可选地,根据本发明的作业提交方法还包括步骤:保存所接收到的作业运行结果;响应于来自客户端的查询指令,将待查询的作业信息发送给客户端;其中,作业信息包括以下信息中的一种或多种:已提交作业的运行状态、已提交作业的详细信息、已完成历史作业列表。
可选地,在根据本发明的作业提交方法中,第一时间间隔为3秒,第二时间间隔为1分钟,第三时间间隔为5分钟;第一时长为10分钟,第二时长为1小时。
根据本发明的另一方面,提供了一种作业提交系统,包括:客户端,适于响应于用户输入生成作业提交请求,作业提交请求中包含待提交作业的脚本参数;布置在多个物理地点的多个超级计算中心,各超级计算中心上包括适于运行作业的多个作业队列;以及调度服务器,分别与客户端和多个超级计算中心相连接,包括:连接管理单元,适于获取各超级计算中心上的多个作业队列的资源使用情况,还适于接收来自客户端的作业提交请求,资源调度单元,适于结合资源使用情况及脚本参数,确定适于运行该作业的作业队列,作业提交单元,适于将该作业提交至所确定的作业队列,以便作业队列运行该作业,连接管理单元还适于在作业运行的各时间段,接收由超级计算中心发送的作业队列运行作业的结果。
可选地,在根据本发明的作业提交系统中,超级计算中心还适于在运行作业的各时间段,每隔对应的时间间隔,将作业运行结果发送给调度服务器。
可选地,在根据本发明的作业提交系统中,作业运行的时间越长,所述对应的时间间隔越长。
可选地,根据本发明的作业提交系统中还包括:与客户端相连的认证服务器,适于在接收到来自客户端的包含用户信息的登录请求时,对用户信息进行认证;客户端还适于在认证通过时,指示调度服务器获取超级计算中心上的多个作业队列的资源使用情况。
根据本发明的又一方面,还提供了一种计算设备,包括:一个或多个处理器;和存储器;一个或多个程序,其中一个或多个程序存储在存储器中并被配置为由一个或多个处理器执行,一个或多个程序包括用于执行如上所述方法中的任一方法的指令。
根据本发明的又一方面,还提供了一种存储一个或多个程序的计算机可读存储介质,一个或多个程序包括指令,指令当计算设备执行时,使得计算设备执行如上所述的方法中的任一方法。
根据本发明的作业提交方案,打破了超级计算中心的物理隔离,通过云环境,对整个系统内的所有计算资源进行统一管理,以解决资源分布不均、且计算资源浪费的问题。同时,不限制用户只能在一个物理地点的作业队列上提交作业,但又不改变前端原有的作业提交方式,调度工作由后端的调度服务器来完成。
附图说明
为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。
图1示出了根据本发明一个实施例的作业提交系统100的示意图;
图2示出了根据本发明一个实施例的计算设备200的构造示意图;
图3示出了根据本发明一个实施例的作业提交方法300的流程图;以及
图4示出了根据本发明一个实施例的调度服务器120的示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
图1示出了根据本发明一个实施例的作业提交系统100的示意图。
如图1所示,该作业提交系统100包括多个超级计算中心110、调度服务器120和多个客户端130,且调度服务器120分别与多个超级计算中心110和多个客户端130相连接。应当指出,图1中的作业提交系统100仅是示例性的,在具体的实践情况中,作业提交系统100中可以有不同数量的超级计算中心、调度服务器和客户端,本发明对作业提交系统100中所包括的超级计算中心、调度服务器以及客户端的数目不做限制。
超级计算中心110布置在各个物理区域,且每个超级计算中心110中包含至少一个集群,集群是一台或多台用于执行计算任务的物理设备(该物理设备又可以称为“计算节点”),超级计算中心110通过这些计算节点运行各种作业(或应用),完成计算任务。在作业提交系统100中,将包含一个或多个计算节点的集群,称之为作业队列。
客户端130可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也可以实现为诸如手机、平板电脑、笔记本电脑、电视盒子、可穿戴设备等移动设备。在客户端130上布置有相应的应用,用户可以通过该应用,提交作业到超级计算中心110。在根据本发明的实施例中,所提交的作业来自于物理、化学、生物、石油、电力、水利、科研、制造等领域或行业,不限于此。
调度服务器120(如图4所示)一方面接收来自客户端130的提交作业的请求,另一方面从各处的超级计算中心110处,获取其上各作业队列的资源使用情况。这样,调度服务器120就可以确定出将当前用户提交的作业分配到某个超级计算中心的某个作业队列上去执行。调度服务器120与超级计算中心130之间通过TCP/IP协议进行通信。
作业提交系统100以云的方式,将本来位于不同物理地点的超级计算中心(或者说,位于不同物理地点的作业队列,下文中均从作业队列的角度进行阐述)集中在一个云环境中。这样,各作业队列原有的用户可以通过系统100来访问其他作业队列。根据本发明的作业提交系统100,变相增加了每个作业队列的用户数量,平衡了不同作业队列之间的资源利用率。
设想一种场景:位于不同物理地点的3个作业队列A、B、C,及对应位于相应物理地点的用户集合D、E、F。对于作业队列A,用户D很多、且计算任务很重,用户共提交了1000个作业,其中,有400个作业在等待计算。对于作业队列B,用户E不多、且计算任务很轻,用户共提交了10个作业,还有500个计算节点空闲。在作业队列C中,用户F不多、但计算任务重,用户共提交了400个作业,且都在运行中。
若按照原有的作业提交系统,作业队列A中的400个作业只能等作业队列A中有空闲计算节点时再运行,等待时间可能会很长。根据本发明的作业提交系统100,将这三个作业队列的计算资源全部开放给用户D、E、F,原来将作业提交到作业队列A的一些用户,可以将作业提交到作业队列B,利用作业队列B上的空闲计算节点来执行其作业,节省了这些用户的等待时间,同时还解决了作业队列B的计算资源空闲浪费的问题。
此外,调度服务器120还会从超级计算中心110处获取作业队列运行作业的结果并保存。当客户端110响应于用户输入的命令生成查询指令时,调度服务器120将待查询的作业信息发送给客户端110,以供其显示给用户。在一种实施例中,可以从调度服务器120中查询的作业信息包括以下信息中的一种或多种:已提交作业的运行状态、已提交作业的详细信息、已完成历史作业列表。
在又一些实施例中,作业提交系统100还包括认证服务器140,该认证服务器140与客户端110相连。当用户要登录该应用时,输入用户信息,客户端110生成包含用户信息的登录请求,发送给认证服务器140。认证服务器140对用户信息进行认证,并将认证结果(认证通过或认证不通过)返回给客户端110。当客户端110接收到认证通过的消息时,接收用户输入的命令,指示调度服务器120获取超级计算中心110上的多个作业队列的资源使用情况。关于认证用户信息的过程,属于本领域常见技术,故本发明的实施例对此不做过多阐述。
根据本发明的作业提交系统100,打破了超级计算中心的物理隔离,通过云环境,对整个系统内的所有计算资源进行统一管理,以解决资源分布不均、且计算资源浪费的问题。同时,不限制用户只能在一个物理地点的作业队列上提交作业,但又不改变前端原有的作业提交方式,调度工作由后端的调度服务器来完成。
根据本发明的实施方式,作业提交系统100及其中的各组成部分,均可以通过如下所述的计算设备200来实现。图2示出了根据本发明一个实施例的计算设备200的示意图。
如图2所示,在基本的配置202中,计算设备200典型地包括系统存储器206和一个或者多个处理器204。存储器总线208可以用于在处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型的处理,包括但不限于:微处理器(μP)、微控制器(μC)、数字信息处理器(DSP)或者它们的任何组合。处理器204可以包括诸如一级高速缓存210和二级高速缓存212之类的一个或者多个级别的高速缓存、处理器核心214和寄存器216。示例的处理器核心214可以包括运算逻辑单元(ALU)、浮点数单元(FPU)、数字信号处理核心(DSP核心)或者它们的任何组合。示例的存储器控制器218可以与处理器204一起使用,或者在一些实现中,存储器控制器218可以是处理器204的一个内部部分。
取决于期望的配置,系统存储器206可以是任意类型的存储器,包括但不限于:易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或者它们的任何组合。系统存储器206可以包括操作系统220、一个或者多个应用222以及程序数据224。在一些实施方式中,应用222可以布置为在操作系统上由一个或多个处理器204利用程序数据224执行指令。
计算设备200还可以包括有助于从各种接口设备(例如,输出设备242、外设接口244和通信设备246)到基本配置202经由总线/接口控制器230的通信的接口总线240。示例的输出设备242包括图形处理单元248和音频处理单元250。它们可以被配置为有助于经由一个或者多个A/V端口252与诸如显示器或者扬声器之类的各种外部设备进行通信。示例外设接口244可以包括串行接口控制器254和并行接口控制器256,它们可以被配置为有助于经由一个或者多个I/O端口258和诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备)或者其他外设(例如打印机、扫描仪等)之类的外部设备进行通信。示例的通信设备246可以包括网络控制器260,其可以被布置为便于经由一个或者多个通信端口264与一个或者多个其他计算设备262通过网络通信链路的通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以体现为在诸如载波或者其他传输机制之类的调制数据信号中的计算机可读指令、数据结构、程序模块,并且可以包括任何信息递送介质。“调制数据信号”可以是这样的信号,它的数据集中的一个或者多个或者它的改变可以在信号中编码信息的方式进行。作为非限制性的示例,通信介质可以包括诸如有线网络或者专线网络之类的有线介质,以及诸如声音、射频(RF)、微波、红外(IR)或者其它无线介质在内的各种无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质二者。
计算设备200可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也可以实现为服务器,例如文件服务器、数据库服务器、应用程序服务器和WEB服务器等。当然,计算设备200也可以实现为小尺寸便携(或者移动)电子设备的一部分。在根据本发明的实施例中,计算设备200被配置为执行根据本发明的作业提交方法。计算设备200的应用222中包含执行根据本发明的方法300的多条程序指令。
图3示出了根据本发明一个实施例的作业提交方法300的流程示意图。该方法300适于在如上所述的调度服务器120中执行。
如图3所示,方法300始于步骤S310。在步骤S310中,响应于来自客户端110的用户指令,调度服务器120获取多个超级计算中心上的多个作业队列的资源使用情况。
根据一种实施例,在用户成功登陆应用后,用户在客户端110的应用中继续输入命令,以便于客户端110指示调度服务器120,由调度服务器120通过TCP/IP协议获取广域网和局域网中的(即,作业提交系统100中的)作业队列的资源使用情况。作业队列的资源使用情况包括以下信息中的一个或多个:作业队列中所包含的计算节点的数量和各计算节点的状态、作业队列的运行时间限制、作业队列所运行的作业类型、以及作业队列的费率。在一种实施例中,计算节点的状态可以是如下状态中的一种:已分配、运行中、关机、失败、未来、空闲、维护、重启、混合和未知等。
关于作业队列的费率,将作业提交到作业队列时,由于CPU及其他硬件性能差异,不同的作业队列,将会具有不同的费率。以用户所购买的核时单价(即,每个计算核每小时的运行价钱)作为标准费率,计算出提交到其他作业队列的费用比率。例如作业队列A的费率是100%,代表作业队列A每核时价格等同于用户所购买的核时单价;又如,作业队列B的费率是50%,代表作业队列B每核时价格等于用户所购买的核时单价的50%。
随后在步骤S320中,调度服务器120接收来自客户端110的作业提交请求。该作业提交请求中包含待提交作业的脚本参数。
根据本发明的实施方式,脚本参数是客户端110响应于用户提交作业时输入的参数所生成的。脚本参数中包含待提交作业的作业类型和运行环境参数。作业类型根据客户端110上的应用类型来划分,如VASP、Fluent、LAMMPS等,不限于此。
在一种实施例中,用户在提交作业时,输入运行该作业所需的计算资源数量,由客户端110据此生成脚本参数。此时,运行环境参数通常包含运行该作业所需的计算资源的数量(如,运行该作业所需要的计算节点数量)。
在另一种实施例中,用户在提交作业时,输入运行该作业所需的计算资源数量、和运行该作业的预期作业队列,由客户端110据此生成脚本参数。此时,运行环境参数除了运行该作业所需的计算资源数量外,还包含运行该作业的预期作业队列。
随后在步骤S330中,调度服务器120结合资源使用情况及脚本参数,确定适于运行该作业的作业队列。
根据本发明的实施方式,步骤S330可以按照如下几个步骤来执行。
步骤(1),调度服务器120解析脚本参数,得到待提交作业的作业类型和运行环境参数。而后,根据运行环境参数所包含的内容来进行判断。关于脚本参数的具体内容可参考步骤S320所述。
步骤(2),若运行环境参数包括运行该作业所需的计算资源的数量,则根据当前的资源使用情况,选取符合该运行环境参数的作业队列,作为第一队列集合。例如,从脚本参数中解析出的运行该作业所需的计算资源的数量是:需要20个计算节点。调度服务器120就根据所获取的作业队列的资源使用情况(见步骤S310),确定出包含20个节点状态为“空闲”的计算节点的作业队列,作为第一队列集合。
步骤(3),从第一队列集合中选取出符合作业类型的作业队列,作为第二队列集合。假设所提交作业的作业类型为VASP,则进一步从第一队列集合中筛选出作业队列所运行的作业类型为VASP的作业队列,构成第二队列集合。
应当指出,本发明实施例对步骤(2)和步骤(3)的执行顺序并不做过多限制。基于上述描述,调度服务器120也可以先筛选出符合作业类型的作业队列,再从中筛选出满足计算资源的数量的作业队列,均在本发明的保护范围之内。
步骤(4),根据各作业队列的费率,从第二队列集合中确定出适于运行该作业的作业队列。如前文所述,用各作业队列的费率乘以用户所购买的核时单价,就可以得到各作业队列的核时价格(每个计算核每小时的运行价钱);再结合所提交作业所需要的计算资源的数量,就可以确定出各作业队列运行该作业所需费用(用所需要的计算资源的数量乘以各作业队列的核时价格)。通常,从第二队列集合中选取费用最低的作业队列,作为适于运行该作业的作业队列。这样,在保证为用户匹配能够及时执行其所提交作业的作业队列的同时,又能够控制用户花销,争取为用户节省费用。
在另一些实施例中,当脚本参数中包含预期作业队列和运行该作业所需的计算资源的数量时,判断该预期作业队列的资源使用情况是否符合运行环境参数中所包含的计算资源的数量。
若符合运行环境参数中所包含的计算资源的数量,则确定该预期作业队列为适于运行该作业的作业队列。若不符合运行环境参数中所包含的计算资源的数量,则执行如上所述的步骤(2)至步骤(4),来确定出适于运行该作业的作业队列。
随后在步骤S340中,将该待提交的作业提交至所确定的作业队列,以便该作业队列运行该作业。
随后在步骤S350中,在作业运行的各时间段,接收由超级计算中心发送的作业队列运行作业的结果。
考虑到在作业运行的各时间段,用户对作业运行结果的期待值会不同。例如,在刚提交作业时,用户可能希望能尽快看到一些作业运行结果,但是在作业运行的后期,用户可能就没有很强烈的愿望了。故而,根据本发明的一种实施方式,在作业运行的各时间段,调度服务器120会接收到由超级计算中心110每隔对应的时间间隔发送的作业队列运行作业的结果。其中,运行时间越长,对应的时间间隔越长。
具体地,在作业开始运行时,接收由超级计算中心110每隔第一时间间隔发送的作业运行结果。在作业运行第一时长后,接收由超级计算中心110每隔第二时间间隔发送的作业运行结果。在作业运行第二时长后,接收由超级计算中心110每隔第三时间间隔发送的作业运行结果。以此类推,直至作业运行结束。其中,对于运行时长的划分,可以是等间隔的,例如第一时长、第二时长均取1小时,作业每运行固定时长后,超级计算中心110每隔对应的时间间隔向调度服务器120发送作业运行结果。或者,运行时长也可以不是等间隔的,本发明的实施例对此不做过多限制。在本发明的实施例中,第一时间间隔小于第二时间间隔,第二时间间隔小于第三时间间隔,以此类推。换句话说,在作业运行的不同时期,超级计算中心110向调度服务器120同步运行结果的时间间隔不同。
例如,假设一个作业提交到作业队列中,历时1.5小时运行完毕。在这1.5小时中,设置第一时间间隔为3秒、第二时间间隔为1分钟、第三时间间隔为5分钟,且第一时长为10分钟、第二时长为1小时。那么,在作业刚开始运行时,超级计算中心110每隔3秒向调度服务器120发送当前的作业运行结果;当作业运行了10分钟后,超级计算中心110每隔1分钟,向调度服务器120发送当前的作业运行结果;当作业运行了1小时后,超级计算中心110每隔5分钟,向调度服务器120发送当前的作业运行结果。
根据本发明的再一些实施例,在接收到作业运行结果时,调度服务器120还会保存所接收到的作业运行结果。之后,响应于来自客户端110的查询指令,将待查询的作业信息发送给客户端110。
其中,作业信息包括以下信息中的一种或多种:已提交作业的运行状态、已提交作业的详细信息、已完成历史作业列表。
根据本发明的作业提交方法200,打破了超级计算中心的物理隔离,将调度服务器120与各地的超级计算中心110集中在一个云环境中。这样,对于用户在客户端110上所提交的作业,调度服务器120可以对整个系统内的所有计算资源进行统一规划,来为用户匹配到最合适、性价比最高的作业队列。根据本发明的方案能够解决超算资源分布不均、且计算资源浪费的问题。
进一步地,根据本发明的方案在客户端110处并不做过多限制,即,不改变前端原有的作业提交方式(不限制用户只能在处于同一个物理地点的作业队列上提交作业),而是将调度和分配超算资源的任务交由调度服务器120来完成。不增加用户的学习成本,具有很好的用户操作体验。
图4示出了根据本发明一个实施例的调度服务器120的示意图。如图4所示,调度服务器120包括相互耦接的连接管理单元122、资源调度单元124和作业提交单元126。
其中,连接管理单元122获取各超级计算中心110上的多个作业队列的资源使用情况。同时,连接管理单元122还会接收到来自客户端110的作业提交请求。该作业提交请求中包含待提交作业的脚本参数。
资源调度单元124结合资源使用情况及脚本参数,确定适于运行该作业的作业队列。
作业提交单元126将该作业提交至所确定的作业队列。由超级计算中心110中的对应作业队列来运行该作业。
连接管理单元122在作业运行的各时间段,接收由所述超级计算中心发送的作业队列运行作业的结果。
关于调度服务器120在执行作业提交方法过程中的细节描述,可参考前文关于图1、图3的相关内容,此处不再一一展开。
应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
本发明一并公开了:
A5、如A4所述的方法,其中,结合资源使用情况及脚本参数,确定适于运行该作业的作业队列的步骤包括:解析脚本参数,得到待提交作业的作业类型和运行环境参数,运行环境参数包括运行所述作业所需的计算资源的数量;根据当前的资源使用情况,选取符合运行环境参数的作业队列,作为第一队列集合;从第一队列集合中选取出符合所述作业类型的作业队列,作为第二队列集合;以及根据各作业队列的费率,从第二队列集合中确定出适于运行该作业的作业队列。
A6、如A5所述的方法,其中,运行环境参数还包括运行所述作业的预期作业队列。
A7、如A6所述的方法,其中,结合资源使用情况及脚本参数,确定适于运行该作业的作业队列的步骤还包括:当脚本参数中包含预期作业队列时,判断预期作业队列的资源使用情况是否符合运行环境参数;若符合运行环境参数,则确定所述作业队列为适于运行该作业的作业队列。
A8、如A1-7中任一项所述的方法,其中,在在作业运行的各时间段,接收由超级计算中心发送的作业队列运行作业的结果的步骤之后,还包括步骤:保存所接收到的作业运行结果;响应于来自客户端的查询指令,将待查询的作业信息发送给客户端;其中,作业信息包括以下信息中的一种或多种:已提交作业的运行状态、已提交作业的详细信息、已完成历史作业列表。
A9、如A3所述的作业提交方法,其中,第一时间间隔为3秒,第二时间间隔为1分钟,第三时间间隔为5分钟;第一时长为10分钟,第二时长为1小时。
此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。
如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。
尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

Claims (10)

1.一种作业提交方法,该方法在调度服务器中执行,所述调度服务器分别与多个超级计算中心和多个客户端相连,其中,所述多个超级计算中心上布置有多个用于运行作业的作业队列,所述方法包括步骤:
获取多个超级计算中心上的多个作业队列的资源使用情况;
接收来自所述客户端的作业提交请求,所述作业提交请求中包含待提交作业的脚本参数;
结合所述资源使用情况及脚本参数,确定适于运行该作业的作业队列;
将所述作业提交至所确定的作业队列,以便所述作业队列运行该作业;以及
在作业运行的各时间段,接收由超级计算中心发送的所述作业队列运行作业的结果。
2.如权利要求1所述的作业提交方法,其中,所述在作业运行的各时间段,接收由超级计算中心发送的作业队列运行作业的结果的步骤包括:
在作业运行的各时间段,接收由超级计算中心每隔对应的时间间隔发送的所述作业队列运行作业的结果,
其中,运行时间越长,对应的时间间隔越长。
3.如权利要求2所述的作业提交方法,其中,所述在作业运行的各时间段,接收由超级计算中心每隔对应的时间间隔发送的作业队列运行作业的结果的步骤包括:
在作业开始运行时,接收由所述超级计算中心每隔第一时间间隔发送的作业运行结果;
在作业运行第一时长后,接收由所述超级计算中心每隔第二时间间隔发送的作业运行结果;
在作业运行第二时长后,接收由所述超级计算中心每隔第三时间间隔发送的作业运行结果,
其中,所述第一时间间隔小于所述第二时间间隔,所述第二时间间隔小于所述第三时间间隔。
4.如权利要求1-3中任一项所述的方法,其中,作业队列的资源使用情况包括以下信息中的一个或多个:作业队列中所包含的计算节点的数量和各计算节点的状态、作业队列的运行时间限制、作业队列所运行的作业类型以及作业队列的费率。
5.一种作业提交系统,包括:
客户端,适于响应于用户输入生成作业提交请求,所述作业提交请求中包含待提交作业的脚本参数;
布置在多个物理地点的多个超级计算中心,各超级计算中心上包括适于运行作业的多个作业队列;以及
调度服务器,分别与所述客户端和多个超级计算中心相连接,包括:
连接管理单元,适于获取各超级计算中心上的多个作业队列的资源使用情况,还适于接收来自所述客户端的作业提交请求,
资源调度单元,适于结合所述资源使用情况及脚本参数,确定适于运行该作业的作业队列,
作业提交单元,适于将所述作业提交至所确定的作业队列,以便所述作业队列运行该作业,
所述连接管理单元还适于在作业运行的各时间段,接收由所述超级计算中心发送的作业队列运行作业的结果。
6.如权利要求5所述的作业提交系统,其中,
所述超级计算中心还适于在运行作业的各时间段,每隔对应的时间间隔,将作业运行结果发送给所述调度服务器。
7.如权利要求6所述的作业提交系统,其中,作业运行的时间越长,所述对应的时间间隔越长。
8.如权利要求5-7中任一项所述的作业提交系统,还包括:
与所述客户端相连的认证服务器,适于在接收到来自所述客户端的包含用户信息的登录请求时,对用户信息进行认证;
所述客户端还适于在认证通过时,指示所述调度服务器获取超级计算中心上的多个作业队列的资源使用情况。
9.一种计算设备,包括:
一个或多个处理器;和
存储器;
一个或多个程序,其中所述一个或多个程序存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1-4所述方法中的任一方法的指令。
10.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令当计算设备执行时,使得所述计算设备执行根据权利要求1-4所述的方法中的任一方法。
CN201910985176.XA 2019-10-16 2019-10-16 一种作业提交方法及系统 Pending CN110806928A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910985176.XA CN110806928A (zh) 2019-10-16 2019-10-16 一种作业提交方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910985176.XA CN110806928A (zh) 2019-10-16 2019-10-16 一种作业提交方法及系统

Publications (1)

Publication Number Publication Date
CN110806928A true CN110806928A (zh) 2020-02-18

Family

ID=69488480

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910985176.XA Pending CN110806928A (zh) 2019-10-16 2019-10-16 一种作业提交方法及系统

Country Status (1)

Country Link
CN (1) CN110806928A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113553303A (zh) * 2021-06-24 2021-10-26 南方科技大学 一种超级计算机的资源管理方法、装置、介质及电子设备
CN113703952A (zh) * 2020-05-20 2021-11-26 山东省计算中心(国家超级计算济南中心) 一种基于超级计算机的队列资源调度的资源分配方法
CN113946430A (zh) * 2021-12-20 2022-01-18 北京并行科技股份有限公司 一种作业调度方法、计算设备及存储介质
CN114020584A (zh) * 2022-01-05 2022-02-08 北京并行科技股份有限公司 一种作业分流方法、装置及计算设备
CN114610474A (zh) * 2022-05-12 2022-06-10 之江实验室 一种异构超算环境下多策略的作业调度方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136039A (zh) * 2011-11-30 2013-06-05 国际商业机器公司 用于平衡能量消耗和调度性能的作业调度方法和系统
CN109951558A (zh) * 2019-03-27 2019-06-28 北京并行科技股份有限公司 一种超算资源的云调度方法、云调度中心和系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103136039A (zh) * 2011-11-30 2013-06-05 国际商业机器公司 用于平衡能量消耗和调度性能的作业调度方法和系统
CN109951558A (zh) * 2019-03-27 2019-06-28 北京并行科技股份有限公司 一种超算资源的云调度方法、云调度中心和系统

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113703952A (zh) * 2020-05-20 2021-11-26 山东省计算中心(国家超级计算济南中心) 一种基于超级计算机的队列资源调度的资源分配方法
CN113703952B (zh) * 2020-05-20 2023-10-10 山东省计算中心(国家超级计算济南中心) 一种基于超级计算机的队列资源调度的资源分配方法
CN113553303A (zh) * 2021-06-24 2021-10-26 南方科技大学 一种超级计算机的资源管理方法、装置、介质及电子设备
CN113946430A (zh) * 2021-12-20 2022-01-18 北京并行科技股份有限公司 一种作业调度方法、计算设备及存储介质
CN113946430B (zh) * 2021-12-20 2022-05-06 北京并行科技股份有限公司 一种作业调度方法、计算设备及存储介质
CN114020584A (zh) * 2022-01-05 2022-02-08 北京并行科技股份有限公司 一种作业分流方法、装置及计算设备
CN114020584B (zh) * 2022-01-05 2022-05-03 北京并行科技股份有限公司 一种作业分流方法、装置及计算设备
CN114610474A (zh) * 2022-05-12 2022-06-10 之江实验室 一种异构超算环境下多策略的作业调度方法及系统

Similar Documents

Publication Publication Date Title
CN110806928A (zh) 一种作业提交方法及系统
CN107590001B (zh) 负载均衡方法及装置、存储介质、电子设备
US10412020B2 (en) Background processes in update load balancers of an auto scaling group
US9396028B2 (en) Scheduling workloads and making provision decisions of computer resources in a computing environment
US10033816B2 (en) Workflow service using state transfer
CN110383764B (zh) 无服务器系统中使用历史数据处理事件的系统和方法
CN112306719B (zh) 一种任务调度方法与装置
CN111343288B (zh) 作业调度方法、系统及计算设备
US20170220385A1 (en) Cross-platform workload processing
WO2021159831A1 (zh) 编程平台的用户代码运行方法及平台、节点、设备、介质
US10698737B2 (en) Interoperable neural network operation scheduler
WO2021212965A1 (zh) 一种资源调度方法及相关装置
CN116048825A (zh) 容器集群构建方法及系统
Liu et al. KubFBS: A fine‐grained and balance‐aware scheduling system for deep learning tasks based on kubernetes
CN107045452B (zh) 虚拟机调度方法和装置
US7043730B2 (en) System and method for demand oriented network resource management
CN109189581B (zh) 一种作业调度方法和装置
CN112448977A (zh) 分配任务的系统、方法、设备和计算机可读介质
CN112667368A (zh) 一种任务数据处理方法和装置
Yeh et al. Realizing integrated prioritized service in the Hadoop cloud system
US20150150012A1 (en) Cross-platform workload processing
CN104735134B (zh) 一种用于提供计算服务的方法和装置
Yang et al. A workflow-based computational resource broker with information monitoring in grids
CN115361285B (zh) 实现离在线业务混合部署的方法、装置、设备及介质
CN110968414A (zh) 资源伸缩方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200218