作业提交

龙讯旷腾大约 5 分钟

作业提交

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 节点数量:1100100

注意:

每个用户会与以上的 资源分配策略组相关联

如果用户需要的资源超过上述限制,请与我们联系,我们将根据用户的需要做出调整。

磁盘配额限制

为了合理利用有限的存储空间,我们对用户默认进行了存储限制,其中包括存储软限制 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 命令获取更为详细的信息

job01
job01

常用命令

sinfo  -o '%20N %.6D %.6c %15F %12P %f'
sinfo -O 'nodehost,available,cpusstate,cpus,gres,partitionname,reason,cpusload,freemem'

作业状态查看 squeue

用户可以用 squeue 命令查看作业排队情况,具体如下图所示

job02
job02

总结来讲,用户作业的状态主要有如下几种:

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 卡上进程数
上次编辑于:
贡献者: jiyunqq