作业提交
作业提交
Mcloud 系统上的 作业管理系统以计算节点作为并行作业的资源分配单位,实现并行作业的 调度运行。
在 Mcloud 系统中,所有在计算节点中运行的串行或者并行应用程序,都必须通过资源管理系统来提交作业。
资源管理系统首先将用户提交的应用程序构造成作业进行排队处理,
然后根据 Mcloud 系统的实时运行资源状态, 决定何时以及在哪些计算结点中加载应用程序运行, 不同的应用程序之间不存在资源的竞争冲突,用户可以通过作业管理系统来监控应用程序的运行。
使用限制
计算分区限制
目前 Mcloud 共有 62 个计算节点,按节点资源情况, 我们将 62 个计算节点划分为 三 个分区,分别为 3090, 3080ti 以及 cpu 分区,其中 3090 分区包括 gn[29-32] 4 个节点, 3080ti 分区包括 gn[33-88] 56 个节点, cpu 分区包括 cn[1-2] 2 个节点 。 具体情况如下表所示:
分区名称 | 分区含义 | 单个任务计算时长限制 | 单任务使用最多节点数 | 账户同一时刻已提交最多作业数 | 分区包含的节点数量 |
---|---|---|---|---|---|
3090 | 带3090 GPU卡分区 | 无限制 | --- | --- | cn[29-32] |
3080ti | 带3080ti GPU卡分区 | 无限制 | --- | --- | cn[33-88] |
cpu | 不带 GPU卡的分区 | 无限制 | --- | --- | cn[1-2] |
资源分配
限制名称 | 限制含义 | 总资源限制 | 最大运行作业数 | 最大提交作业数 |
---|---|---|---|---|
normal | 缺省限制 | 无限制 | --- | --- |
conference | 培训用户限制 | gpu: 4 节点数量:1 | 100 | 100 |
注意:
每个用户会与以上的 资源分配策略组相关联
如果用户需要的资源超过上述限制,请与我们联系,我们将根据用户的需要做出调整。
磁盘配额限制
为了合理利用有限的存储空间,我们对用户默认进行了存储限制,其中包括存储软限制 500G ,存储硬限制 800G 。用户可以用 mmlsquota --block-size auto
命令查看自己的磁盘配额限制信息:
[pengg@login ~]$ mmlsquota --block-size auto
Block Limits | File Limits
Filesystem type blocks quota limit in_doubt grace | files quota limit in_doubt grace Remarks
hpc USR 1G 500G 800G 0 none | 2 0 0 0 none
以磁盘存储为例说明软、硬限制的含义。 用户使用存储低于 500G 时,存储状态正常; 当用户使用存储介于 500G 和 800G 之间时,存储状态 显示 用户配额异常 。
用户的数据量超出硬限制,则用户存储将无法写入,数据操作也会受限制。
状态查看命令
用户在提交作业前, 应查看系统的使用情况,这样有利于用户根据系统使用情况,进行选择,相应分区。
节点状态查看 sinfo
用户可以使用 sinfo 命令查看节点的使用情况,从而根据情况做出选择。可以通过命令 sinfo -l
命令获取更为详细的信息

常用命令
sinfo -o '%20N %.6D %.6c %15F %12P %f'
sinfo -O 'nodehost,available,cpusstate,cpus,gres,partitionname,reason,cpusload,freemem'
作业状态查看 squeue
用户可以用 squeue 命令查看作业排队情况,具体如下图所示

总结来讲,用户作业的状态主要有如下几种:
PD: 排队, pending
R: 运行中, running
S: 挂起中, suspended
CA: 被取消, canceled
CD: 成功结束, completed
F: 失败结束, failed
TD: 超时, timeout
NF: 因节点故障而运行失败, node_fail
用户可以如下命令查看自己提交的作业明细:
scontrol show jobs jobid
其中 jobid 表示作业的 id 号,用户根据自己作业的情况填入即可,之后用户即可以看到该作业十分详细的信息。
作业提交
Mcloud系统部署的资源管理系统包括多种作业提交方式,包括批处理作业提交方式 sbatch 和交互作业提交方式 srun 。我们建议用户用批处理的方式提交,所以下面我们只对批处理提交 方式进行介绍。作业终止方式为 scancel 命令。本手册只对上面提交或者终止作业的命令进行简 单的介绍,用户如需更多参数选择,则可以通过在命令后加入 help 方式,获取帮助信息,从 而满足用户的需求。
批处理作业提交 sbatch
sbatch 向资源管理系统提交一个批处理脚本, s batch 将在脚本成功提交到资源管理系统控 制进程并 分配作业 JobID 后立即退出。 批处理脚本可能不会被立刻分配资源,而是在排队作业 队列中等待,直到资源需求得到满足。 sbatch 运行的主要格式如下:sbatch 脚本名
脚本内容如下:
#!/bin/sh
#SBATCH --partition=3090
#SBATCH --job-name=pwmat
#SBATCH --nodes=1
#SBATCH --ntasks-per-node=4
#SBATCH --gres=gpu:4
#SBATCH --gpus-per-task=1
module load intel/2020
module load cuda/11.6
module load pwmat/2022.01.30
mpirun -np $SLURM_NPROCS -iface ib0 PWmat | tee output
脚本选项说明
选项 | 含义 |
---|---|
--partition | 指定作业所用的分区 |
--job-name | 指定作业的名字 |
--nodes | 请求此作业分配节点数 |
--ntasks-per-node | 每个节点上运行进程数 |
--gres | 每个节点上申请的 GPU 卡数 |
--gpus-per-task | 每块 GPU 卡上进程数 |