PBS (Protable Batch System) 作业管理系统会根据一个集群上的可用计算节点的计算资源管理和调度所有计算作业的一个管理系统;SLURM (Simple Linux Utility for Resource Management)是一种可用于大型计算节点集群的高度可伸缩和容错的集群管理器和作业调度系统。
PBS和SLURM现在被广泛应用于集群作业管理调度,掌握其中一个另一个上手就相对容易,下面我们简单比较PBS和SLURM的异同:
1.在常用命令方面:
功能 | PBS | Slurm |
---|---|---|
提交任务 | qsub | sbatch |
执行作业 | qsub | srun |
交互模式 | qsub -I | srun –pty bash |
查看队列状态 | qstat / showq | squeue |
取消排队 | qdel / canceljob | scancel |
2.在脚本编写方面:
描述 | qsub定义 | sbatch定义 | 备注 |
---|---|---|---|
定义符 | #PBS | #SBATCH | |
队列定义 | -q queuename | -p queuename | |
账户名称 | -A accountname | -A accountname | |
节点数 | -l nodes=X:ppn=Y | -N X | |
等待时间 | -l walltime=HH:MM:SS | -t HH:MM:SS | |
标准输出 | -o outfilename | -o outfilename | 在slurm中如果未定义 -e 将合并stdout/stderr输出 |
标注错误输出 | -e errorfilename | -e errorfilename | 在slurm中如果未定义 -o 将合并stdout/stderr输出 |
合并输出 | -j oe | ||
email地址 | -M me@x.y | –mail-user=me@x.y | |
email选项 | -mb | –mail-type=BEGIN | 任务开始时发邮件通知 |
任务 名称 | -N NAME | –job-name=NAME |
3.环境变量方面:
PBS | Slurm | 描述 |
PBS_O_WORKDIR | SLURM_SUBMIT_DIR | 工作目录 |
PBS_NODEFILE | SLURM_JOB_NODELIST | 作业分配的节点列表 |
PBS_JOBID | SLURM_JOBID | 任务ID |
PBS_NUM_NODES | SLURM_JOB_NUM_NODES | 作业分配的节点数 |
PBS_NUM_PPN | SLURM_CPUS_ON_NODE | 每个节点使用的CPU信息 |
4.脚本示例:
PBS脚本:
#!/bin/sh
#PBS -q ProdQ
#PBS -l nodes=2:ppn=24
#PBS -l walltime=120:00:00
# Charge job to myaccount
#PBS -A myaccount
# Write stdout+stderr to file
#PBS -o output.txt
#PBS -j oe
# Mail me on job start & end
#PBS -M myemail@universityname.ie
#PBS -m be
cd $PBS_O_WORKDIR
module load intel
mpiexec -n 48 ./my_mpi_app
Slurm脚本:
#!/bin/sh
#SBATCH -p ProdQ
#SBATCH -N 2
#SBATCH -t 120:00:00
# Charge job to myaccount
#SBATCH -A myaccount
# Write stdout+stderr to file
#SBATCH -o output.txt
# Mail me on job start & end
#SBATCH --mail-user=myemail@universityname.ie
#SBATCH --mail-type=BEGIN,END
cd $SLURM_SUBMIT_DIR
module load intel
srun ./my_mpi_app
5.官方站点:
Slurm:https://slurm.schedmd.com/download.html
PBS:https://www.openpbs.org/
参考资料:
1.https://www.ichec.ie/academic/national-hpc/kay-documentation/pbs-slurm
2.https://hpc.nih.gov/docs/pbs2slurm_tool.html
3.https://ww2.mathworks.cn/help/matlab-parallel-server/configure-parallel-computing-products-for-supported-third-party-schedulers-pbs-pro-platform-lsf-torque.html