一种作业提交方法、系统及服务器与流程

文档序号:12664923阅读:362来源:国知局
一种作业提交方法、系统及服务器与流程

本发明互联网数据技术领域,尤其是一种作业提交方法、系统及服务器。



背景技术:

当管理人员通过超级计算中心的计算资源运行作业时,由于超级计算中心之间具有差异性,并不是所有的超级计算中心都可以运行任一个作业的。因此,用户往往需要根据作业的应用类型寻找合适的超级计算中心,并自行搭建环境、编译测试等,费时费力。再者,对每个超级计算中心布置一个相应的作业提交模板,用于提交该超级计算中心能够运行的作业,这样的作业提交方案缺乏通用性。



技术实现要素:

为此,本发明提供了一种作业提交方法、系统及服务器,以力图解决或者至少缓解上面存在的至少一个问题。

根据本发明的一个方面,提供了一种作业提交方法,该方法在服务器中执行,服务器分别与多个超级计算中心和多个客户端相连,其中,多个超级计算中心上布置不同的作业提交单元,用于运行不同作业,方法包括步骤:接收由客户端发送的作业提交请求,该请求是客户端响应于用户输入参数生成的,该请求包括待提交作业的作业提交单元参数、脚本参数和运行环境参数;根据作业提交单元参数确定适于提交该作业的超级计算中心;以及将请求提交至该超级计算中心,以便超级计算中心解析脚本参数和运行环境参数、并根据解析出的脚本参数和运行环境参数配置超级计算中心上的作业提交单元的脚本和运行环境,以运行该作业。

可选地,在根据本发明的作业提交方法中,还包括步骤:关联存储超级计算中心标识和其上布置的作业提交单元标识。

可选地,在根据本发明的作业提交方法中,根据作业提交单元参数确定适于提交该作业的超级计算中心的步骤包括:解析作业提交单元参数,得到适于运行该待提交作业的作业提交单元标识;以及获取与该作业提交单元标识相关联的超级计算中心标识。

可选地,在根据本发明的作业提交方法中,脚本参数包括待提交作业的脚本参数。

可选地,在根据本发明的作业提交方法中,脚本参数还包括作业提交单元的脚本参数,作业提交单元的脚本参数定义运行该作业需占用的计算资源。

可选地,在根据本发明的作业提交方法中,还包括步骤:接收由超级计算中心返回的作业运行结果,并将该结果发送给客户端。

根据本发明的另一方面,提供了一种适于执行作业提交方法的服务器,服务器分别与多个超级计算中心和多个客户端相连,其中,多个超级计算中心上布置不同的作业提交单元,用于运行不同作业,服务器包括:连接管理装置,适于接收由客户端发送的作业提交请求,该请求是客户端响应于用户输入参数生成的,该请求包括待提交作业的作业提交单元参数、脚本参数和运行环境参数;计算装置,适于根据作业提交单元参数确定适于提交该作业的超级计算中心;以及连接管理装置还适于将请求提交至算得的超级计算中心,以便超级计算中心解析脚本参数和运行环境参数、并根据解析出的脚本参数和运行环境参数配置超级计算中心上的作业提交单元的脚本和运行环境,以运行该作业。

可选地,在根据本发明的服务器中,还包括:存储装置,适于关联存储超级计算中心标识和其上布置的作业提交单元标识。

可选地,在根据本发明的服务器中,计算装置还包括:解析模块,适于解析作业提交单元参数,得到适于运行该待提交作业的作业提交单元标识;以及计算装置适于从存储装置中获取与该作业提交单元标识相关联的超级计算中心标识。

可选地,在根据本发明的服务器中,脚本参数包括待提交作业的脚本参数。

可选地,在根据本发明的服务器中,脚本参数还包括作业提交单元的脚本参数,作业提交单元的脚本参数定义运行该作业需占用的计算资源。

可选地,在根据本发明的服务器中,连接管理装置还适于接收由超级计算中心返回的作业运行结果,并将该结果发送给客户端。

根据本发明的又一方面,提供了一种作业提交系统,包括:客户端,适于根据用户输入的参数生成作业提交请求,该请求包括待提交作业的作业提交单元参数、脚本参数和运行环境参数;如上所述的服务器;超级计算中心,包括:连接管理单元,适于接收由服务器传送的提交请求;解析单元,适于解析该请求中的脚本参数和环境运行参数、并根据解析出的脚本参数配置作业提交单元的脚本和运行环境;作业提交单元,适于根据配置好的上述参数运行该作业;以及连接管理单元还适于返回作业运行结果给服务器。

根据本发明的技术方案,通过在客户端上设置统一的作业提交模板供用户输入提交作业的参数,服务器接收来自客户端的作业提交请求,从请求中解析出要将该作业提交至哪个超级计算中心,接着将该请求转发给相应的超级计算中心,由超级计算中心根据提交请求配置参数,运行该作业。这样的作业提交方案在超算作业提交、运行方面具有通用性,同时,也节省了人力资源的消耗,无需管理人员审核作业类型、搭建环境、编译测试等。

附图说明

为了实现上述以及相关目的,本文结合下面的描述和附图来描述某些说明性方面,这些方面指示了可以实践本文所公开的原理的各种方式,并且所有方面及其等效方面旨在落入所要求保护的主题的范围内。通过结合附图阅读下面的详细描述,本公开的上述以及其它目的、特征和优势将变得更加明显。遍及本公开,相同的附图标记通常指代相同的部件或元素。

图1示出了根据本发明一个实施例的作业提交系统100的示意图;

图2示出了根据本发明一个实施例的服务器120的示意图;以及

图3示出了根据本发明一个实施例的作业提交方法300的流程图。

具体实施方式

下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。

图1示出了根据本发明一个实施例的作业提交系统100的示意图。

如图1所示,该系统100包括超级计算中心110、服务器120和客户端130。应当指出,图1中的作业提交系统100仅是示例性的,在具体的实践情况中,作业提交系统100中可以有不同数量的超级计算中心、服务器和客户端,本发明对作业提交系统中所包括的超级计算中心、服务器以及客户端的数目不做限制。

超级计算中心110上布置有支持资源管理程序的作业提交单元,用于运行不同的作业,且不同的超级计算中心110上布置有不同的作业提交单元,例如,具备高可伸缩性的资源管理程序Slurm、批处理作业和计算机系统资源管理程序Pbs、分布资源管理工具Lsf等,本发明对此不做限制。

根据本发明的一个实施方式,作业提交单元可以以探针agent的形式驻留在超级计算中心110中。

客户端130可以实现为包括桌面计算机和笔记本计算机配置的个人计算机,也可以实现为诸如手机、平板电脑、笔记本电脑、电视盒子、可穿戴设备等移动设备。

根据本发明的实现方式,在客户端130上布置预置的作业提交模板,该作业提交模板具有通用性,能够统一不同应用类型的作业之间的差异,故而管理人员在提交作业时,不用考虑作业的应用类型,直接按照预置的模板填入参数即可。

如下,示例性地示出了客户端130上预置模板的代码片段。

在上述代码片段中,items可以指定不同的应用类型;type用于设置控件属性,如隐藏输入域hidden、文本text、选择框checkbox等;script针对不同的作业提交单元配置脚本;clusters指定要将作业提交至哪几个超级计算中心上,甚至更具体地,要将作业提交至哪个超级计算中心的哪个集群上。

如,设置控件类型为itrigger:

上面的代码片段表示:当id1.value中填写的是asf.txt并且id4.value是china或者id5.value的第2、3、4个字符是911时,就显示id2和id3控件,并且将id2.value赋值为id1.value。其中,id1.value、id2.value的值由管理人员输入。

当管理人员在客户端130所呈现的预置的作业提交模板上输入待提交作业的相关参数后,客户端130从作业提交模板中提取出用户输入的参数,生成作业提交请求。

多个超级计算中心110和多个客户端130之间通过服务器120进行通信。根据本发明的实现方式,服务器120接收来自客户端130的作业提交请求,从请求中解析出要将该作业提交至哪个超级计算中心110,接着将该请求转发给相应的超级计算中心110,该超级计算中心110在进行简单地配置后,运行所提交的作业,并通过服务器120将运行结果返回给客户端130。

进一步地,图2示出了根据本发明一个实施例的服务器120的示意图。如图2所示,该服务器120包括:连接管理装置122、计算装置124和存储装置126。

其中,连接管理装置122接收由客户端130发送的作业提交请求,如上文所述,该请求是客户端响应于用户输入参数生成的,该请求包括待提交作业的作业提交单元参数、脚本参数和运行环境参数。

例如,作业提交请求如下所示:

根据本发明的一个实施例,作业提交单元参数(即,sys)指示了作业提交单元标识(例如,以Key-Value值的形式标记作业提交单元)。运行环境参数(即,env)包含运行该作业的环境变量。脚本参数(如上述代码片段中script所示)包括待提交作业的脚本参数(即,params)。

根据本发明的又一实施例,脚本参数还可以包括作业提交单元的脚本参数(即,cmd),用来定义运行该作业需占用的计算资源。例如,运行该作业时作业提交单元需要申请多少计算设备、申请多少核/内存、以及输入/输出路径是什么等等。

根据本发明所述的实现方式,管理人员可以根据实际需求在预置模板中设置作业提交单元的脚本参数,以生成如上示例的作业提交请求发送给服务器。同样,管理人员也可以不设置作业提交单元的脚本参数,此时默认与超级计算中心110中布置的该作业提交单元的脚本参数一致。

计算装置124根据作业提交单元参数(即,sys)确定适于提交该作业的超级计算中心110。

而存储装置126关联存储超级计算中心标识和其上布置的作业提交单元标识,如表1所示:

表1超级计算中心标识和作业提交单元标识的关联关系

由表1可以看出,同一个作业提交单元可以布置在一个或多个超级计算中心上。

可选地,计算装置124包括解析模块1242,如图2所示。

解析模块1242解析请求中的作业提交单元参数,得到适于运行该待提交作业的作业提交单元标识。然后计算装置124从存储装置126中查找与该作业提交单元标识相关联的超级计算中心标识。

连接管理装置122根据计算装置124的结果,将该请求提交至相应的超级计算中心110上,以便超级计算中心110继续解析请求中剩余的脚本参数和运行环境参数、并根据解析出的脚本参数和运行环境参数配置超级计算中心110上的作业提交单元的脚本和运行环境,以运行该作业。

例如,若请求中定义的脚本参数为:

“params”:[{"-out":"value1"},{"-in":"value2"},

根据params参数配置超级计算中心上作业提交单元的脚本,得到:

gene-out value1–in value2

最后,连接管理装置122接收由超级计算中心110返回的作业运行结果,并将该结果发送给客户端130。

相应地,图3示出了根据本发明实施例的在服务器120上执行的作业提交方法300的流程图。

如图3所示,该方法300始于步骤S310,接收由客户端130发送的作业提交请求,该请求是客户端响应于用户输入参数生成的,该请求包括待提交作业的作业提交单元参数、脚本参数和运行环境参数。

根据本发明的实施例,作业提交单元参数指示了作业提交单元标识。运行环境参数指示运行该作业的环境变量。脚本参数包括待提交作业的脚本参数,还可以包括作业提交单元的脚本参数,用来定义运行该作业需占用的计算资源。例如,运行该作业时作业提交单元需要申请多少计算设备、申请多少核/内存、以及输入/输出路径是什么等等。

管理人员可以根据实际需求在预置模板中设置作业提交单元的脚本参数,以生成作业提交请求。同样,管理人员也可以不设置作业提交单元的脚本参数,此时默认与超级计算中心110中布置的该作业提交单元的脚本参数一致。

例如,一个作业提交请求可能会包含如下内容:

随后在步骤S320中,根据请求中的作业提交单元参数(即,sys)确定适于提交该作业的超级计算中心110。

根据一种实现方式,会预先关联存储超级计算中心标识和其上布置的作业提交单元标识,如表1所示。

服务器120解析作业提交单元参数,得到适于运行该待提交作业的作业提交单元标识,然后,根据超级计算中心标识和作业提交单元标识的关联关系查找到与该作业提交单元标识相关联的超级计算中心标识。

随后在步骤S330中,将该作业提交请求转发至相应的超级计算中心110,以便超级计算中心110解析请求中剩余的脚本参数(即,cmd和params)和运行环境参数(即,env),并根据解析出的脚本参数和运行环境参数配置超级计算中心110上的作业提交单元的脚本和运行环境,开始运行该作业。

当超级计算中心110运行完该作业后,向服务器120返回运行结果,服务器120接收由超级计算中心110返回的作业运行结果,并将该结果发送给客户端130。

根据本发明的技术方案,通过在客户端上设置统一的作业提交模板供用户输入提交作业的参数,服务器接收来自客户端的作业提交请求,从请求中解析出要将该作业提交至哪个超级计算中心,接着将该请求转发给相应的超级计算中心,由超级计算中心根据提交请求配置参数,运行该作业。

应当理解,为了精简本公开并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。

本领域那些技术人员应当理解在本文所公开的示例中的设备的模块或单元或组件可以布置在如该实施例中所描述的设备中,或者可替换地可以定位在与该示例中的设备不同的一个或多个设备中。前述示例中的模块可以组合为一个模块或者此外可以分成多个子模块。

本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。

本发明还一并公开了:

A5、如A4所述的方法,其中,脚本参数还包括作业提交单元的脚本参数,作业提交单元的脚本参数定义运行该作业需占用的计算资源。

A6、如A1-5中任一项所述的方法,还包括步骤:接收由超级计算中心返回的作业运行结果,并将该结果发送给客户端。

B11、如B10所述的服务器,其中,脚本参数还包括作业提交单元的脚本参数,作业提交单元的脚本参数定义运行该作业需占用的计算资源。

B12、如B7-11中任一项所述的服务器,其中,连接管理装置还适于接收由超级计算中心返回的作业运行结果,并将该结果发送给客户端。

此外,本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。

此外,所述实施例中的一些在此被描述成可以由计算机系统的处理器或者由执行所述功能的其它装置实施的方法或方法元素的组合。因此,具有用于实施所述方法或方法元素的必要指令的处理器形成用于实施该方法或方法元素的装置。此外,装置实施例的在此所述的元素是如下装置的例子:该装置用于实施由为了实施该发明的目的的元素所执行的功能。

如在此所使用的那样,除非另行规定,使用序数词“第一”、“第二”、“第三”等等来描述普通对象仅仅表示涉及类似对象的不同实例,并且并不意图暗示这样被描述的对象必须具有时间上、空间上、排序方面或者以任意其它方式的给定顺序。

尽管根据有限数量的实施例描述了本发明,但是受益于上面的描述,本技术领域内的技术人员明白,在由此描述的本发明的范围内,可以设想其它实施例。此外,应当注意,本说明书中使用的语言主要是为了可读性和教导的目的而选择的,而不是为了解释或者限定本发明的主题而选择的。因此,在不偏离所附权利要求书的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。对于本发明的范围,对本发明所做的公开是说明性的,而非限制性的,本发明的范围由所附权利要求书限定。

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