PBS系统使用指南:作业脚本、命令和选项的详细说明

文章目录

  • 前言
  • 一、pbs系统是什么?
  • 二、pbs系统的主要特点
  • 三、pbs系统的常用命令
  • 四、pbs系统的作业脚本
  • 总结


前言

在高性能计算领域,我们经常需要使用集群系统、超级计算机和大规模并行系统来处理大量的计算任务。为了管理和调度这些计算任务,我们需要使用一种作业管理系统,来分配和控制计算资源,提高计算效率和性能。本文就介绍了一种广泛使用的作业管理系统——pbs系统,它的由来、特点、命令和脚本。


一、pbs系统是什么?

pbs系统(Portable Batch System)最初由NASA的Ames研究中心开发,主要为了提供一个能满足异构计算网络需要的软件包,用于灵活的批处理,特别是满足高性能计算的需要。pbs系统由三个主要组件构成:pbs server、pbs scheduler和pbs mom。pbs server是作业管理系统的核心,负责接收、分配和监控作业;pbs scheduler是作业调度器,负责根据作业的优先级、资源需求和可用资源,为作业选择合适的计算节点;pbs mom是计算节点上的代理,负责执行、监控和报告作业的状态。

二、pbs系统的主要特点

pbs系统具有以下几个主要特点:

  1. 代码开放,免费获取;pbs系统的源代码可以在网上免费下载,用户可以根据自己的需要修改和定制。
  2. 支持批处理、交互式作业和串行、多种并行作业,如MPI、PVM、HPF、MPL;pbs系统可以处理不同类型的作业,无论是批量执行的还是交互式的,无论是串行的还是并行的,都可以通过pbs系统提交、运行和管理。
  3. pbs系统是功能最为齐全, 历史最悠久, 支持最广泛的本地集群调度器之一;pbs系统已经有二十多年的发展历史,经过了多次的改进和优化,具有很强的稳定性和可靠性,同时也支持多种操作系统和硬件平台,可以适应不同的计算环境。

三、pbs系统的常用命令

pbs系统提供了一系列的命令,用于作业的提交、查询、删除、挂起和释放等操作。下面介绍一些常用的命令:

  1. qsub:用于提交作业脚本,可以指定作业的名称、资源需求、输出路径、邮件通知等选项。例如,

qsub -N test -l nodes=1:ppn=4 -o output.txt job.sh

表示提交一个名为test的作业,请求一个节点,每个节点4个处理器,将标准输出重定向到output.txt,执行job.sh脚本。

  1. qstat:用于查询作业的状态信息,可以查看作业的编号、名称、队列、优先级、运行时间、状态等信息,也可以查看队列的状态和节点的状态。例如,

qstat -a

表示查看所有作业的详细信息,

qstat -q

表示查看所有队列的状态,

qstat -n

表示查看作业所分配的节点。

  1. qdel:用于删除已提交的作业,可以指定作业的编号或者队列,也可以指定延迟时间。例如,

qdel 1234

表示删除编号为1234的作业,

qdel -a

表示删除所有作业,

qdel -W 60 1234

表示在60秒后删除编号为1234的作业。

  1. qhold:用于挂起作业,使其不被调度执行,可以指定作业的编号或者队列。例如,

qhold 1234

表示挂起编号为1234的作业,

qhold -a

表示挂起所有作业。

  1. qrls:用于释放挂起的作业,使其可以被调度执行,可以指定作业的编号或者队列。例如,

qrls 1234

表示释放编号为1234的作业,

qrls -a

表示释放所有作业。

  1. qrerun:用于重新运行作业,可以指定作业的编号或者队列,也可以指定延迟时间。例如,

qrerun 1234

表示重新运行编号为1234的作业,

qrerun -a

表示重新运行所有作业,

qrerun -W 60 1234

表示在60秒后重新运行编号为1234的作业。

  1. qmove:用于将作业移动到另一个队列,可以指定作业的编号或者队列,也可以指定目标队列的名称。例如,

qmove 1234 queue1

表示将编号为1234的作业移动到queue1队列,

qmove -a queue2

表示将所有作业移动到queue2队列。

四、pbs系统的作业脚本

pbs系统的作业脚本由两部分组成:脚本选项和运行脚本。脚本选项用于指定作业的属性和资源需求,以#PBS开头的行被解释为qsub的命令选项;运行脚本用于指定作业的执行命令和参数,与Linux下的一般运行脚本相同。下面是一个简单的作业脚本的示例:

#!/bin/bash 
#PBS -N test 
#PBS -l nodes=1:ppn=4 
#PBS -l walltime=00:10:00 
#PBS -o output.txt 
#PBS -e error.txt 
cd $PBS_O_WORKDIR 
mpirun -np 4 ./a.out 

这个作业脚本的含义是:提交一个名为test的作业,请求一个节点,每个节点4个处理器,最长运行时间为10分钟,将标准输出重定向到output.txt,将标准错误重定向到error.txt,进入提交作业的目录,运行可执行文件a.out。

总结

以上就是今天要讲的内容,本文简要介绍了pbs系统的概念、特点、命令和脚本,希望对你有所帮助。pbs系统是一种强大的作业管理系统,可以帮助我们高效地利用计算资源,完成各种计算任务。

你可能感兴趣的:(服务器,linux,ubuntu,程序人生,bash)