CN103049326B - 在作业管理与调度系统中管理作业程序的方法和系统 - Google Patents
在作业管理与调度系统中管理作业程序的方法和系统 Download PDFInfo
- Publication number
- CN103049326B CN103049326B CN201310016450.5A CN201310016450A CN103049326B CN 103049326 B CN103049326 B CN 103049326B CN 201310016450 A CN201310016450 A CN 201310016450A CN 103049326 B CN103049326 B CN 103049326B
- Authority
- CN
- China
- Prior art keywords
- node
- job procedure
- code information
- job
- adjusted
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 117
- 230000002045 lasting effect Effects 0.000 claims description 6
- 230000026676 system process Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
Landscapes
- Multi Processors (AREA)
Abstract
本发明提供一种在作业管理与调度系统中管理作业程序的方法和系统。所述方法,包括:获取系统待处理的作业程序;采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;在读取过程中,输出已分配结点名的结点;在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息。
Description
技术领域
本发明涉及计算机应用领域,尤其涉及一种在作业管理与调度系统中管理作业程序的方法和系统。
背景技术
随着集群以及超级计算机计算能力的快速提高以及广泛应用,在集群或超级计算机上的计算用户大量增加,集群或超级计算机系统会出现严重过载,并且导致相同用户或不同用户计算作业之间资源竞争严重,使得计算效率严重下降。为了充分发挥集群计算能力,有效提升计算效率,多用户使用的中型、大型集群或超级计算机上都会使用作业管理与调度系统如SLURM(Simple Linux Utility for Resource Management,Linux资源管理简易程序)对作业以及硬件资源进行调度和管理。通过此系统,可实现对计算资源的合理分配,避免任务间的资源竞争现象。
一般的作业管理与调度系统,需要用户需要学习该作业管理与调度系统用来提交作业的相应命令,这对于更关心实际应用的用户来说无疑增加了相应的学习成本和时间开销。而一般的作业管理与调度系统和各种类型的作业运行方法是一种松散式捆绑的关系,即在某一作业管理与调度系统上虽然可以使大部分作业的运行,但是需要用户针对作业管理与调度系统的用法与所提交作业类型的特点,编写相应的脚本文件,又额外的增加了用户的工作量。
所以,尽管目前在中、大型集群上部署有相应的作业管理与调度系统,但是如何依据相应的作业管理与调度系统和实际的提交作业相结合,来面对作业管理与调度系统熟悉程度不同的用户,从而更加快速、便捷的提供给用户使用,是当前亟待解决的问题。
发明内容
本发明提供一种在作业管理与调度系统中管理作业程序的方法和系统,要解决的技术问题是如何加快作业程序的处理速度。
为解决上述技术问题,本发明提供了如下技术方案:
一种在作业管理与调度系统中管理作业程序的方法,包括:
获取系统待处理的作业程序;
采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
在读取过程中,输出已分配结点名的结点;
在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息。
优选的,所述方法还具有如下特点:所述对命名后的结点对应的代码信息调整为适用于作业程序的信息,包括:
获取该作业程序的程序种类;
根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
将结点对应的代码信息调整为所需的格式。
优选的,所述方法还具有如下特点:所述将结点对应的代码信息调整为所需的格式,包括:
根据确定的作业程序所需的格式,获取该格式对应的正则表达式和固有表达式的规则;
根据所述正则表达式和固有表达式的规则,对每个结点的代码信息进行逐条调整。
优选的,所述方法还具有如下特点:所述通知系统执行各结点的代码信息,包括:
获取每个结点运行所使用的CPU核数;
根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知系统按照CPU的总核数执行所述作业程序。
一种在作业管理与调度系统中管理作业程序的系统,包括:
第一获取装置,用于获取系统待处理的作业程序;
解析装置,与所述第一获取装置相连,用于采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
读取装置,与所述解析装置相连,用于持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
第二获取装置,与所述读取装置相连,用于在读取过程中,输出已分配结点名的结点;
通知装置,与所述第二获取装置相连,用于在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息。
优选的,所述系统还具有如下特点:所述通知装置包括:
第一获取模块,用于获取该作业程序的程序种类;
确定模块,与所述第一获取模块相连,用于根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
调整模块,与所述确定模块相连,用于将结点对应的代码信息调整为所需的格式。
优选的,所述系统还具有如下特点:所述调整模块包括:
获取单元,用于根据确定的作业程序所需的格式,获取该格式对应的正则表达式和固有表达式的规则;
调整单元,用于根据所述正则表达式和固有表达式的规则,对每个结点的代码信息进行逐条调整。
优选的,所述系统还具有如下特点:所述通知装置包括:
第二获取模块,用于获取每个结点运行所使用的CPU核数;
计算模块,与所述第二获取模块相连,用于根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知模块,与所述计算模块相连,用于通知系统按照CPU的总核数执行所述作业程序。
与现有技术相比,本发明通过获取作业程序所需的结点数,并为每个结点进行命名和调整对应的代码,实现对系统处理的作业程序的进行统一的预处理,加快系统对作业程序的处理速度。
附图说明
图1为本发明提供的在作业管理与调度系统中管理作业程序的方法实施例的流程示意图;
图2为本发明提供的在作业管理与调度系统中管理作业程序的系统实施例的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明作进一步的详细描述。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。
图1为本发明提供的在作业管理与调度系统中管理作业程序的方法实施例的流程示意图。图1所示方法实施例包括:
步骤101、获取系统待处理的作业程序;
步骤102、采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
步骤103、持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
步骤104、在读取过程中,输出已分配结点名的结点;
步骤105、在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息。
与现有技术相比,本发明通过获取作业程序所需的结点数,并为每个结点进行命名和调整对应的代码,实现对系统处理的作业程序的进行统一的预处理,加快系统对作业程序的处理速度。
下面对本发明的方法实施例作进一步说明:
其中,所述对命名后的结点对应的代码信息调整为适用于作业程序的信息,包括:
获取该作业程序的程序种类;
根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
将结点对应的代码信息调整为所需的格式。
通过脚本读入目前所有分配的结点名,将结点名存入对应变量,通过脚本内置的正则表达式及固有表达式规则对相应变量进行处理,得到所需的格式。
具体来说,生成一用于存储作业程序的结点信息的文件,将命名后的结点写入到该文件中;读取节点对应的代码信息,将所述代码信息更改为满足当前类型的格式,形成新的可进行计算的结点文件或结点表达式。
其中,所述通知系统执行各结点的代码信息,包括:
获取每个结点运行所使用的CPU核数;
根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知系统按照CPU的总核数执行所述作业程序。
下面对本发明的内容以一个具体实例来描述实现这一作业提交模版化工具的过程。
如发明内容中所描述的,本发明的作业提交模版化工具主要分为:作业提交命令部分(1),用户指定部分(2),脚本操作部分(3),程序运行命令部分(4)
●作业提交命令部分(1):
#!/bin/bash
#SBATCH-N 4
●用户指定部分(2):
cttype=3d
journalfile=pipe.jou
cpuspernode=4
●脚本操作部分(3):
●程序运行命令部分(4):
program$cttype-t$cores-cnf=./hostfile-$SLURM_JOB_ID\
-pdefault-mpi=openmpi-i$ournalfile
作业提交命令部分(1)中-N为指定核数参数;
用户指定部分(2)中依此指定计算类型、参数文件、每结点运行进程数即cpu核数;
脚本操作部分(3)中通过读取$SLURM_NODELIST,来生成结点文件hostfile-$SLURM_JOB_ID,如需要结点表达式,可以通过如下代码来生成,并通过$machinelist来进行传递。
程序运行命令部分(4)中通过通过$cores传递计算后的进程总数(cpu核总数),通过$cttype传递相关的程序类型,通过$ournalfile传递参数文件,通过hostfile-$SLURM_JOB_ID传递脚本自动生成的结点文件,其余参数为程序program运行所需参数。
上述代码实现了如下流程:
脚本读入SLURM计算资源管理系统分配给本次作业的节点列表变量,并将按照每行一个节点名的方式写入以本次作业号进行标识的文件中;读入包含每行一个结点名的文件,每读入一行,按照当前程序类型,更改为满足当前类型的格式,形成新的可进行计算的结点文件或结点表达式,由此得到能够让SLURM计算资源管理系统能够执行的程序文件。
脚本根据用户在脚本中指定每结点使用cpu核数,再根据每结点运行的计算结点总数,得到cpu总核数。其中,此处的次数以CPU核数来确定所需的处理资源,也可以使用进程数来确定所需的处理资源。
脚本以变量的形式保存结点文件或结点表达式,以及计算所使用的总核数。再通过变量传递,将结点文件或结点表达式以及计算所使用的总核数传递给计算命令用于计算。
图2为本发明提供的在作业管理与调度系统中管理作业程序的系统实施例的结构示意图。图2所示系统实施例包括:
第一获取装置201,用于获取系统待处理的作业程序;
解析装置202,与所述第一获取装置201相连,用于采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
读取装置203,与所述解析装置202相连,用于持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
第二获取装置204,与所述读取装置203相连,用于在读取过程中,输出已分配结点名的结点;
通知装置205,与所述第二获取装置206相连,用于在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息。
其中,所述通知装置205包括:
第一获取模块,用于获取该作业程序的程序种类;
确定模块,与所述第一获取模块相连,用于根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
调整模块,与所述确定模块相连,用于将结点对应的代码信息调整为所需的格式。
其中,所述调整模块包括:
获取单元,用于根据确定的作业程序所需的格式,获取该格式对应的正则表达式和固有表达式的规则;
调整单元,用于根据所述正则表达式和固有表达式的规则,对每个结点的代码信息进行逐条调整。
其中,所述通知装置205包括:
第二获取模块,用于获取每个结点运行所使用的CPU核数;
计算模块,与所述第二获取模块相连,用于根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知模块,与所述计算模块相连,用于通知系统按照CPU的总核数执行所述作业程序。
与现有技术相比,本发明通过获取作业程序所需的结点数,并为每个结点进行命名和调整对应的代码,实现对系统处理的作业程序的进行统一的预处理,加快系统对作业程序的处理速度。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求所述的保护范围为准。
Claims (4)
1.一种在作业管理与调度系统中管理作业程序的方法,其特征在于,包括:
获取系统待处理的作业程序;
采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
在读取过程中,输出已分配结点名的结点;
在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息;
所述对命名后的结点对应的代码信息调整为适用于作业程序的信息,包括:
获取该作业程序的程序种类;
根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
将结点对应的代码信息调整为所需的格式;
所述将结点对应的代码信息调整为所需的格式,包括:
根据确定的作业程序所需的格式,获取该格式对应的正则表达式和固有表达式的规则;
根据所述正则表达式和固有表达式的规则,对每个结点的代码信息进行逐条调整。
2.根据权利要求1所述的方法,其特征在于,所述通知系统执行各结点的代码信息,包括:
获取每个结点运行所使用的CPU核数;
根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知系统按照CPU的总核数执行所述作业程序。
3.一种在作业管理与调度系统中管理作业程序的系统,其特征在于,包括:
第一获取装置,用于获取系统待处理的作业程序;
解析装置,与所述第一获取装置相连,用于采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
读取装置,与所述解析装置相连,用于持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
第二获取装置,与所述读取装置相连,用于在读取过程中,输出已分配结点名的结点;
通知装置,与所述第二获取装置相连,用于在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息;
所述通知装置包括:
第一获取模块,用于获取该作业程序的程序种类;
确定模块,与所述第一获取模块相连,用于根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
调整模块,与所述确定模块相连,用于将结点对应的代码信息调整为所需的格式;
所述调整模块包括:
获取单元,用于根据确定的作业程序所需的格式,获取该格式对应的正则表达式和固有表达式的规则;
调整单元,用于根据所述正则表达式和固有表达式的规则,对每个结点的代码信息进行逐条调整。
4.根据权利要求3所述的系统,其特征在于,所述通知装置包括:
第二获取模块,用于获取每个结点运行所使用的CPU核数;
计算模块,与所述第二获取模块相连,用于根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知模块,与所述计算模块相连,用于通知系统按照CPU的总核数执行所述作业程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310016450.5A CN103049326B (zh) | 2013-01-16 | 2013-01-16 | 在作业管理与调度系统中管理作业程序的方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310016450.5A CN103049326B (zh) | 2013-01-16 | 2013-01-16 | 在作业管理与调度系统中管理作业程序的方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103049326A CN103049326A (zh) | 2013-04-17 |
CN103049326B true CN103049326B (zh) | 2015-04-15 |
Family
ID=48061976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310016450.5A Active CN103049326B (zh) | 2013-01-16 | 2013-01-16 | 在作业管理与调度系统中管理作业程序的方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103049326B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103336720B (zh) * | 2013-06-17 | 2016-07-06 | 湖南大学 | 一种基于slurm的具有数据依赖关系的作业执行方法 |
CN103593192B (zh) * | 2013-11-19 | 2016-08-17 | 湖南大学 | 一种基于slurm调度的算法集成与评测系统及方法 |
CN106569883B (zh) * | 2015-10-10 | 2020-08-04 | 阿里巴巴集团控股有限公司 | 一种分布式任务处理方法及设备 |
CN106997309A (zh) * | 2016-01-22 | 2017-08-01 | 中兴通讯股份有限公司 | 一种cpu核心的管理方法、装置及终端 |
CN110928659B (zh) * | 2019-11-20 | 2022-12-06 | 哈尔滨工程大学 | 一种具有自适应功能的数值水池系统远程多平台接入方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790275A (zh) * | 2005-12-26 | 2006-06-21 | 北京航空航天大学 | 服务网格调度器及调度作业的方法 |
CN102096687A (zh) * | 2009-12-14 | 2011-06-15 | 阿里巴巴集团控股有限公司 | 一种调度任务的方法和平台 |
CN102360314A (zh) * | 2011-10-28 | 2012-02-22 | 中国科学院计算技术研究所 | 一种数据中心资源管理系统和方法 |
-
2013
- 2013-01-16 CN CN201310016450.5A patent/CN103049326B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1790275A (zh) * | 2005-12-26 | 2006-06-21 | 北京航空航天大学 | 服务网格调度器及调度作业的方法 |
CN102096687A (zh) * | 2009-12-14 | 2011-06-15 | 阿里巴巴集团控股有限公司 | 一种调度任务的方法和平台 |
CN102360314A (zh) * | 2011-10-28 | 2012-02-22 | 中国科学院计算技术研究所 | 一种数据中心资源管理系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103049326A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103049326B (zh) | 在作业管理与调度系统中管理作业程序的方法和系统 | |
Hsu et al. | Smoothoperator: Reducing power fragmentation and improving power utilization in large-scale datacenters | |
CN102360246B (zh) | 一种异构分布式系统中基于自适应阈值的节能调度方法 | |
CN103700041A (zh) | 基于云计算的智能电网负荷预测管理平台 | |
CN102711139B (zh) | 一种数据流量统计方法及终端 | |
CN102111337A (zh) | 任务调度方法和系统 | |
CN105183561A (zh) | 一种资源分配方法和系统 | |
US20140325519A1 (en) | Variable wait time in an asynchronous call-back system | |
CN102693162A (zh) | 基于共享内存和核间中断的多核平台上多个虚拟机之间进程通信方法 | |
CN102426544A (zh) | 任务分配方法和系统 | |
CN110308966B (zh) | 一种基于容器技术的静态安全分析方法 | |
CN103346902B (zh) | 数据采集调度的方法及系统 | |
CN102081554A (zh) | 云计算操作系统及其内核控制系统及方法 | |
CN104182234A (zh) | 一种业务处理方法和业务系统 | |
CN102662740A (zh) | 非对称多核系统及其实现方法 | |
CN102521662A (zh) | 一种云计算环境中消费计费的方法 | |
CN102637138A (zh) | 一种计算调度虚拟机的方法 | |
CN103336684B (zh) | 一种并发处理ap消息的ac及其处理方法 | |
CN105138679A (zh) | 一种基于分布式缓存的数据处理系统及处理方法 | |
CN104572279B (zh) | 一种支持节点绑定的虚拟机动态调度方法 | |
CN111510959A (zh) | 一种部署nRT RIC功能的方法和设备 | |
CN107070965B (zh) | 一种虚拟化容器资源下的多工作流资源供给方法 | |
CN104518897A (zh) | 虚拟防火墙的资源管理优化处理方法和装置 | |
CN104111876A (zh) | 一种基于Oracle资源计划的动态资源管理装置及方法 | |
CN106856441A (zh) | Nfvo中的vim选择方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |