salloc: error: Job submit/allocate failed: Invalid feature specification

salloc: error: Job submit/allocate failed: Invalid feature specification

我遇到了 slurm 错误。

我登录了 slurm 控制器来验证 slurm 是否正常工作

$ sinfo
PARTITION AVAIL  TIMELIMIT  NODES  STATE NODELIST
debug*       up   infinite      8   idle ip-192-168-73-[129,179],.....

检查节点是否被正确识别

$ scontrol show nodes

不确定无效的功能规范是什么意思

对应的salloc命令为

N2=$(($N*2))
salloc -N $N2 '--constraint=[worker*"$N"&server*"$N"] test' \
           $CLUSTER_SHARED_FOLDER/scripts/$CLUSTER_CONTROLLER_SH \
           2>&1 | tee $CLUSTER_OUTPUT_LOG \

错误是因为集群由 8 个节点组成。但是,srun 命令是

N2=$(($N*2))
salloc -N $N2 '--constraint=[worker*"$N"&server*"$N"] test' \
           $CLUSTER_SHARED_FOLDER/scripts/$CLUSTER_CONTROLLER_SH \
           2>&1 | tee $CLUSTER_OUTPUT_LOG \

即工人和服务器的数量多于节点的数量。这种不匹配导致 salloc 命令给出无效规范错误。

解决方法是确保工作人员数量 = 可用节点数量

N2=$(($N))
salloc -N $N2 '--constraint=[worker*"$N"] test' \
           $CLUSTER_SHARED_FOLDER/scripts/$CLUSTER_CONTROLLER_SH \
           2>&1 | tee $CLUSTER_OUTPUT_LOG \