短时间或编译作业
一些短时间、调试或软件编译安装,需要用到Slurm作业系统的srun和salloc命令提交作业。
集群作业管理系统是Slurm,有3种作业提交模式:
sbatch命令提交批处理作业¶
前面我们用的chemg16这种提交作业以及自定义脚本提交作业,都属于sbatch后台批处理提交作业。
使用sbatch命令提交作业脚本,作业被调度运行后,在所分配的首个节点上执行作业脚本。
关于sbatch命令提交作业,使用chemg16以及自定义脚本提交作业即可。
srun命令提交交互式作业¶
srun [options] program 命令属于交互式提交作业,有屏幕输出,但容易受网络波动影响,断网或关闭窗口会导致作业中断。一般仅在调试程序时使用此方式提交作业。
语法为:srun [OPTIONS...] executable [args...]
srun 命令示例:
srun -p gao-grp -w cu[01-02] -N 2 -n 40 -t 20 A.exe
srun -p gao-grp -n 40 A.exe
其中,
-p gao-grp 指定提交作业到gao-grp队列;
-w cu[01-02]] 指定使用cu01和cu02节点;
-N 2 指定使用2个节点;
-n 40 指定总核数为40;
-t 20 指定作业运行时间限制为20分钟。
salloc命令提交分配模式作业¶
salloc 用于申请计算节点,然后用户登录到申请到的计算节点上运行任务。
salloc 与 sbatch 有几乎相同的参数,不同的是,sbatch在申请到资源后,直接跳转到申请到的计算节点运行脚本中的指令,而salloc只是申请资源,并不会自动跳转到节点执行指令。
-
命令参数
salloc、sbatch与srun,其多数参数、输入输出变量等都是一样的。
-p后指定队列名称; -N后指定节点数;-n后指定总核数;-w后指定节点名称。
salloc的其他参数选项可通过salloc --help
查看。 -
示例用法
salloc命令用于申请节点资源,一般用法如下:
1、执行 salloc -N 1 -n 4 -p gao-grp,申请gao-grp队列的1个节点4核CPU资源;
2、根据屏幕分配的节点(比如是cu01节点),执行ssh cu01登陆到所分配的节点;
3、登陆节点后可以执行需要的提交命令或程序,这里我们进行之前说的程序编译安装;
4、作业结束后,执行scancel JOBID释放分配模式作业的节点资源;
[userA@matrix ~]$ salloc -N1 -n4 -p gao-grp salloc: Granted job allocation 5194 salloc: Waiting for resource configuration salloc: Nodes cu01 are ready for job [userA@matrix ~]$ ssh cu01 Last login: Tue Aug 13 15:15:21 2024 from 10.1.1.1 [userA@cu01 ~]$ scancel 5194 salloc: Job allocation 5194 has been revoked. [userA@matrix ~]$
本站总访问量 次