FAQ

1.查看当前集群可用自动伸缩分区:

a.当集群处于运行状态时,FCC 界面显示了当前集群可用的分区并显示了不同计算节点的类型。

b.使用命令查看FCC集群可用分区

通过远程连接(SSH/VNC)访问集群,在终端中执行“sinfo”,输出内容如下。

其中“PARTITION”为该集群可用分区。带有星号“*”的分区名称表示默认分区。

第一列 PARTITION 是分区名称,每个分区开启的机器类型相同。

第二列 AVAIL 是队列可用情况,如果显示 up 则是可用状态;如果是 inact 则是不可用状态。

第三列 TIMELIMIT 是任务运行时间限制,默认是 infinite 没有限制。

第四列 NODES 是节点数。

第五列 STATE 是节点状态。

第六列 NODELIST 是节点列表。

2.Slurm如何调用任务

可以用sbatch/srun/salloc三种方式提交任务,具体使用方法参照章节"三种模式提交任务"。

以sbatch 命令为例 :

指定4 个进程提交hostname命令:编写脚本test.sh,内容如下:

  #!/bin/bash
  srun -n 4 hostname
1
2

然后在命令行执行sbatch -p p1-c1-2 test.sh 提交任务。

  sbatch -p p1-c1-2 test.sh
1

脚本中的 #!/bin/bash 是 bash 脚本的固定格式。从脚本的 形式可以看出,提交脚本是一个 shell 脚本,因此常用的 shell 脚本语法都可以使用。sbatch -p p1-c1-2 test.sh 会从p1-c1-2分区开启2台机器,执行test.sh任务,任务结束后,如果机器闲置超过10分钟,程序会自动将这2台机器释放

3.如何进行自动伸缩

在指定分区提交任务时,会根据分区选择计算节点机型,根据任务请求的资源自动伸缩。

提交任务的方法参照章节"三种模式提交任务"。

以sbatch 命令为例:

指定4 个进程提交hostname命令:编写脚本test.sh,内容如下:

  #!/bin/bash
  srun -n 4 hostname
1
2

然后在命令行执行sbatch -p p1-c1-2 test.sh 提交任务。

  sbatch -p p1-c1-2 test.sh
1

提交任务后,会自动从p1-c1-2分区开启2台机器,执行test.sh任务,任务结束后,如果机器闲置超过10分钟,程序会自动将这2台机器释放

4.查看作业信息

使用squeue 可以查看当前的任务运行状态,如果 squeue 没有任务信息,说明任务已退出并且退出的时间已经超出清理时间。

  # squeue
  JOBID PARTITION     NAME     USER ST       TIME            NODES NODELIST(REASON)
  8     compute       sleep    root  R       8-02:07:58      2     ip-10-10-2-[70,80]
1
2
3

其中JOBID 表示任务ID,Name表示任务名称,USER为用户,TIME为已运行时间,NODES表示占用节点数,NODELIST为任务运行的节点列表。

squeue 的 常用命令选项:

  squeue                #查看运行中的作业列表
  squeue -l             #查看列表细节信息
  squeue -j job-id      #查看运行中作业信息
  squeue -u username    #查看user所有运行中的作业
  squeue -p p1-c1-4     #查看提交到 p1-c1-4 队列的任务信息
  squeue -w p1-c1-4-1   #查看使用到 p1-c1-4 节点的任务信息
1
2
3
4
5
6

其他选项可通过squeue --help命令查看

5.取消Slurm任务

scancel 可以取消正在运行或排队的任务。

scancel 的一些常用命令示例:

  scancel 11             #取消任务号为 11 的任务
  scancel -n test-001    #取消任务名为 test-001 的任务
  scancel -p p1-c1-2     #取消提交到 p1-c1-2 队列的任务
  scancel -t PENDING     #取消正在排队状态的任务
  scancel -w p1-c1-2-1   #取消运行在 p1-c1-2-1节点上的任务
1
2
3
4
5

scancel 的其他参数选项,可通过 scancel --help 查看。

6.启动计算节点

在指定分区提交任务时,会根据分区选择计算节点机型,根据任务请求的资源自动伸缩。

提交任务的方法参照章节"三种模式提交任务"。

以启动通用型64C128G的机器为例

  #!/bin/bash
  #SBATCH -J test
  #SBATCH -p b1-c1-64
  #SBATCH -N 3
  srun hostname
1
2
3
4
5

7.机器何时关机?

计算节点在没有任务运行超过十分钟后会自动关闭,判定是否有任务运行的标准为slurm queue中有任务占用该节点。通过 sinfosqueue 可以查看节点和任务情况。例如:

  $ sinfo
  PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
  compute*     up   infinite      1    mix compute1
  compute*     up   infinite      1   idle compute2

  $ squeue 
  JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
    512   compute     srun jessieli  R      37:19      1 compute1
    514   compute     srun jessieli  R      20:27      1 compute1
1
2
3
4
5
6
7
8
9

在以上案例中,compute1节点上有两个job(JOBID为512和514),compute2节点上没有任务(idle状态),因此在compute2节点处于idle状态达到10分钟以后,compute2节点会关机。