作业提交和调度(PBS脚本)

MSI系统使用作业队列计算被执行时能够有效地,公正地管理。当计算作业提交到作业队列,他们在队列中等待,直到合适的计算资源是可用的。

其中微星采用了排队系统被称为PBS,它代表的便携式批量系统。提交作业到PBS队列用户创建PBS作业脚本。 PBS作业脚本包含所请求的计算资源的信息,以及用于执行计算的命令。

PBS脚本格式

一个PBS作业脚本是一个包含哪些资源工作要求,包括时间,节点数目,和内存信息的小文本文件。 PBS的脚本还包含开始执行所需的计算所需的命令。样本PBS作业脚本如下所示。

#!/斌/庆典-l        
#pbs -l walltime = 8:00:00,节点= 1:PPN = 8,MEM = 10GB 
#pbs -m安倍晋三 
#pbs -m sample_email@umn.edu 
CD〜/ program_directory
模块负载英特尔 
模块负载OMPI /英特尔 
mpirun -np 8 program_name < inputfile > outputfile
    

在PBS脚本的第一行定义了类型外壳脚本将被读取(系统将如何读取文件)的。建议使第一线 #!/斌/庆典-l   对于PBS queing系统命令开始 #pbs。在上述示例脚本第二行包含PBS资源请求。样品作业将需要8个小时,每个具有每个节点(PPN)8个处理器内核1个节点,以及存储器10千兆字节(MEM)。该资源请求必须包含适当的值;如果请求的时间,处理器或内存不适合硬件的工作将无法运行。 

含有两行#pbs -m安倍,和#pbs -m sample_email@umn.edu ,是具有与发送电子邮件消息向用户做这两个命令。第一,这些线指示PBS系统发送消息电子邮件时作业中止,开始或结束。第二命令指定要使用的电子邮件地址。使用消息电子邮件中建议,因为可以经常在使用电子邮件信息来确定的任务失败的原因。

样品PBS脚本的其余部分包含将被执行以开始计算的命令。一个PBS脚本应该包含适当的更改目录命令来获取,将作业执行位置(该脚本将在用户的主目录开始)。一个PBS脚本还需要包含该计算可能需要的任何软件模块,模块加载命令。一个PBS脚本的最后行包含用于执行运算的命令。在上述例子中的最后行包含的执行命令来启动它使用MPI通讯到8个的处理器核心上运行的程序。

提交作业脚本

一旦作业脚本是由它使用的是提交 的qsub 命令:

        的的qsub -q QUEUENAME脚本名    

这里 quename 是队列被提交名称, 脚本名 是作业脚本的名称。该 -q quename 该命令的部分可以被ommitted,在这种情况下,作业将提交取其队列被设置为默认。可替代地,队列规范可以被放置在作业脚本内(见下文)。

查看所有提交的特定用户使用该命令的工作:

        qstat命令命令-u用户名

该命令将显示指定作业的状态,以及相关的作业ID号。命令 qstat命令 本身会显示系统上的所有作业。

取消提交的作业使用以下命令:

        对于qdel jobidnumber

这里 jobidnumber 应通过确定适当的作业ID号被替换 qstat命令 命令。

PBS脚本命令

以下是汇总,可以PBS作业脚本中使用一些命令。前两个命令(解释说明书和资源请求)是必需的,而其它命令是可选的。每个以下命令PBS是为了去一个PBS脚本中一行。

PBS命令 影响
#!/斌/庆典-l 指定如何PBS文件应该(通过在bash解释器)来读取。像这样的语句需要是PBS脚本的第一线。
#pbs -l walltime = 2:00:00,节点= 1:PPN = 8,PMEM = 2500MB 资源请求(必需)。资源请求必须指定作业walltime(小时:分钟:秒)每节点(PPN),节点数目,以及处理器核。它建议指定要么每个处理器核心(PMEM)所需的存储器,或所需要的总存储器(MEM)。
#pbs -m安倍晋三 使得PBS系统发送消息的电子邮件时,作业中止,开始或结束。
#pbs -m sample_email@umn.edu 指定在PBS系统发送消息,电子邮件,应该使用的电子邮件地址。
#pbs -n作业名 指定将出现在作业队列中的作业的名称。
#pbs -o output_filename 指导工作标准输出放置在指定的文件。
#pbs -e error_filename 指导作业错误输出放置在指定的文件。
#pbs -q queue_name 指定作业应在指定的队列中运行。