CN103049326A - 在作业管理与调度系统中管理作业程序的方法和系统 - Google Patents

在作业管理与调度系统中管理作业程序的方法和系统 Download PDF

Info

Publication number
CN103049326A
CN103049326A CN2013100164505A CN201310016450A CN103049326A CN 103049326 A CN103049326 A CN 103049326A CN 2013100164505 A CN2013100164505 A CN 2013100164505A CN 201310016450 A CN201310016450 A CN 201310016450A CN 103049326 A CN103049326 A CN 103049326A
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.)
Granted
Application number
CN2013100164505A
Other languages
English (en)
Other versions
CN103049326B (zh
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.)
Inspur Beijing Electronic Information Industry Co Ltd
Original Assignee
Inspur Beijing Electronic Information Industry 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 Inspur Beijing Electronic Information Industry Co Ltd filed Critical Inspur Beijing Electronic Information Industry Co Ltd
Priority to CN201310016450.5A priority Critical patent/CN103049326B/zh
Publication of CN103049326A publication Critical patent/CN103049326A/zh
Application granted granted Critical
Publication of CN103049326B publication Critical patent/CN103049326B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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):
Figure BDA00002742977100061
●程序运行命令部分(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来进行传递。
Figure BDA00002742977100071
程序运行命令部分(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 (8)

1.一种在作业管理与调度系统中管理作业程序的方法,其特征在于,包括:
获取系统待处理的作业程序;
采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
在读取过程中,输出已分配结点名的结点;
在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息。
2.根据权利要求1所述的方法,其特征在于,所述对命名后的结点对应的代码信息调整为适用于作业程序的信息,包括:
获取该作业程序的程序种类;
根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
将结点对应的代码信息调整为所需的格式。
3.根据权利要求2所述的方法,其特征在于,所述将结点对应的代码信息调整为所需的格式,包括:
根据确定的作业程序所需的格式,获取该格式对应的正则表达式和固有表达式的规则;
根据所述正则表达式和固有表达式的规则,对每个结点的代码信息进行逐条调整。
4.根据权利要求2所述的方法,其特征在于,所述通知系统执行各结点的代码信息,包括:
获取每个结点运行所使用的CPU核数;
根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知系统按照CPU的总核数执行所述作业程序。
5.一种在作业管理与调度系统中管理作业程序的系统,其特征在于,包括:
第一获取装置,用于获取系统待处理的作业程序;
解析装置,与所述第一获取装置相连,用于采用符合该系统的参数规则的语法解析所述作业程序运行所需的结点数;
读取装置,与所述解析装置相连,用于持续读取系统为该作业程序已经分配的所有结点,直到获取到的结点数量达到通过语法解析得到的结点数;
第二获取装置,与所述读取装置相连,用于在读取过程中,输出已分配结点名的结点;
通知装置,与所述第二获取装置相连,用于在将已分配结点名的节点对应的代码信息调整为适用于作业程序的信息后,通知系统执行各结点的代码信息。
6.根据权利要求5所述的系统,其特征在于,所述通知装置包括:
第一获取模块,用于获取该作业程序的程序种类;
确定模块,与所述第一获取模块相连,用于根据该作业使用程序种类,确定作业程序的代码信息所需的格式;
调整模块,与所述确定模块相连,用于将结点对应的代码信息调整为所需的格式。
7.根据权利要求6所述的系统,其特征在于,所述调整模块包括:
获取单元,用于根据确定的作业程序所需的格式,获取该格式对应的正则表达式和固有表达式的规则;
调整单元,用于根据所述正则表达式和固有表达式的规则,对每个结点的代码信息进行逐条调整。
8.根据权利要求6所述的系统,其特征在于,所述通知装置包括:
第二获取模块,用于获取每个结点运行所使用的CPU核数;
计算模块,与所述第二获取模块相连,用于根据作业程序的结点总数,计算该作业程序所要使用的CPU的总核数;
通知模块,与所述计算模块相连,用于通知系统按照CPU的总核数执行所述作业程序。
CN201310016450.5A 2013-01-16 2013-01-16 在作业管理与调度系统中管理作业程序的方法和系统 Active CN103049326B (zh)

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 true CN103049326A (zh) 2013-04-17
CN103049326B 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)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336720A (zh) * 2013-06-17 2013-10-02 湖南大学 一种基于slurm的具有数据依赖关系的作业执行方法
CN103593192A (zh) * 2013-11-19 2014-02-19 湖南大学 一种基于slurm调度的算法集成与评测平台及方法
CN106569883A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种分布式任务处理方法及设备
WO2017124947A1 (zh) * 2016-01-22 2017-07-27 中兴通讯股份有限公司 一种cpu核心的管理方法、装置及终端
CN110928659A (zh) * 2019-11-20 2020-03-27 哈尔滨工程大学 一种具有自适应功能的数值水池系统远程多平台接入方法

Citations (3)

* Cited by examiner, † Cited by third party
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 中国科学院计算技术研究所 一种数据中心资源管理系统和方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
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 中国科学院计算技术研究所 一种数据中心资源管理系统和方法

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103336720A (zh) * 2013-06-17 2013-10-02 湖南大学 一种基于slurm的具有数据依赖关系的作业执行方法
CN103593192A (zh) * 2013-11-19 2014-02-19 湖南大学 一种基于slurm调度的算法集成与评测平台及方法
CN103593192B (zh) * 2013-11-19 2016-08-17 湖南大学 一种基于slurm调度的算法集成与评测系统及方法
CN106569883A (zh) * 2015-10-10 2017-04-19 阿里巴巴集团控股有限公司 一种分布式任务处理方法及设备
WO2017124947A1 (zh) * 2016-01-22 2017-07-27 中兴通讯股份有限公司 一种cpu核心的管理方法、装置及终端
CN110928659A (zh) * 2019-11-20 2020-03-27 哈尔滨工程大学 一种具有自适应功能的数值水池系统远程多平台接入方法
CN110928659B (zh) * 2019-11-20 2022-12-06 哈尔滨工程大学 一种具有自适应功能的数值水池系统远程多平台接入方法

Also Published As

Publication number Publication date
CN103049326B (zh) 2015-04-15

Similar Documents

Publication Publication Date Title
CN104601664B (zh) 一种云计算平台资源管理与虚拟机调度的控制系统
CN102724277B (zh) 虚拟机热迁移和部署的方法、服务器及集群系统
CN102567080B (zh) 一种云计算环境中的面向负载均衡的虚拟机择位系统
CN102521055B (zh) 一种虚拟机资源分配方法及其系统
CN102508714A (zh) 一种云计算中基于绿色计算的虚拟机调度方法
CN102567077B (zh) 一种基于博弈论的虚拟化资源分配方法
US20130198758A1 (en) Task distribution method and apparatus for multi-core system
CN103401939A (zh) 一种采用混合调度策略的负载均衡方法
CN103049326A (zh) 在作业管理与调度系统中管理作业程序的方法和系统
CN103365726A (zh) 一种面向gpu集群的资源管理方法和系统
CN104021040A (zh) 基于时间约束条件下的云计算关联任务调度方法和装置
CN110347515B (zh) 一种适合边缘计算环境的资源优化分配方法
Kao et al. Data-locality-aware mapreduce real-time scheduling framework
CN109614227A (zh) 任务资源调配方法、装置、电子设备及计算机可读介质
CN103500123A (zh) 异构环境中并行计算调度方法
Li et al. Resource scheduling based on improved spectral clustering algorithm in edge computing
CN106293947B (zh) 虚拟化云环境下gpu-cpu混合资源分配系统和方法
Wang et al. An energy saving based on task migration for mobile edge computing
Muhammad et al. A3-Storm: topology-, traffic-, and resource-aware storm scheduler for heterogeneous clusters
Al-Sinayyid et al. Job scheduler for streaming applications in heterogeneous distributed processing systems
CN107070965B (zh) 一种虚拟化容器资源下的多工作流资源供给方法
Wang et al. Dependency-aware network adaptive scheduling of data-intensive parallel jobs
CN114327811A (zh) 一种任务调度方法、装置、设备及可读存储介质
Li et al. Performance optimization of computing task scheduling based on the Hadoop big data platform
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