我仅在Cloud节点上运行Slurm 19.05.2。我指定了
SelectType = select/cons_tres
SelectTypeParameters = CR_CORE_MEMORY,CR_CORE_DEFAULT_DIST_BLOCK
要确保在分配第二个节点之前充分利用了一个节点。
它似乎与具有许多任务的工作配合良好。如果我有8个节点,每个节点有16个核心,并且我提交了一个包含8个任务的作业,而每个任务需要2个核心,则将其调度到一个节点。 例如脚本:
#!/bin/bash
#
#SBATCH --job-name=batch
#SBATCH --output=o_batch.%A.%a.txt
#
#SBATCH --ntasks=8
#SBATCH --time=10:00
#SBATCH --cpus-per-task 2
#SBATCH --mem-per-cpu=100
srun hostname
将输出
node-010000
node-010000
node-010000
node-010000
node-010000
node-010000
node-010000
node-010000
如果我用--array=1-8
(--ntasks=1
指定一个作业阵列,则该阵列的所有作业都将安排在不同的节点上(即使一个节点可以满足所有作业要求)
#!/bin/bash
#
#SBATCH --job-name=array
#SBATCH --output=array.%A.%a.txt
#
#SBATCH --ntasks=1
#SBATCH --time=10:00
#SBATCH --mem-per-cpu=100
#SBATCH --array=1-8
srun hostname
将输出
node-010000
node-010001
node-010002
node-010003
node-010004
node-010005
node-010006
node-010007
有没有一种方法可以配置Slurm在数组和任务上表现相同?