Rocks 集群(SGE 调度程序)上的 MPI 作业不会 运行 在多个节点上

MPI job on Rocks cluster (SGE scheduler) doesn't run over multiple nodes

我正尝试在 Rocks v5.4.3 集群上使用 Sun Grid Engine 调度程序 运行 并行 MPI 作业。集群有一个名为 "all.q" 的队列,它有 22 个计算节点:其中 21 个有 8 个 CPU,1 个有 4 个 CPU。然而,当一个并行作业 运行s 时,它创建的所有任务都被限制在一个节点上。

例如,如果我在作业提交脚本中请求 16 个 CPU(任务)并使用 qsub 将作业提交给调度程序,作业成功启动,但所有 16 个任务都在单个节点(第一个分配的节点),而不是由调度程序分配给作业的节点。

本次测试用例的作业提交脚本如下:

#!/bin/bash
#$ -N test
#$ -cwd
#$ -pe mpi 16
#$ -S /bin/bash
#$ -q all.q
#$ -e $JOB_NAME.e$JOB_ID
#$ -o $JOB_NAME.o$JOB_ID

lammps=/home/Brian/lammps/lmp_openmpi

/opt/intel/openmpi-1.4.4/bin/mpirun -machinefile $TMPDIR/machines \
-np $NSLOTS $lammps -in in.melt > job.log

调度程序的输出文件显示作业任务已分配给以下节点:

compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-14
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16
compute-1-16

但是,如果我 ssh 进入 compute-1-14 和 运行 topgrep lmp_openmpi 进程,我得到以下信息:

PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21762 Brian 25 0 253m 87m 5396 R 99.1 0.5 2:19.60 lmp_openmpi 
21761 Brian 25 0 253m 87m 5508 R 73.3 0.5 1:50.14 lmp_openmpi 
21759 Brian 25 0 253m 87m 5804 R 71.3 0.5 1:55.38 lmp_openmpi 
21760 Brian 25 0 253m 87m 5512 R 71.3 0.5 1:36.27 lmp_openmpi 
21765 Brian 25 0 253m 87m 5324 R 61.4 0.5 1:53.11 lmp_openmpi 
21763 Brian 25 0 253m 87m 5496 R 59.5 0.5 1:53.14 lmp_openmpi 
21770 Brian 25 0 253m 87m 5308 R 59.5 0.5 1:45.21 lmp_openmpi 
21767 Brian 25 0 253m 87m 5504 R 57.5 0.5 1:58.65 lmp_openmpi 
21772 Brian 25 0 253m 87m 5304 R 43.6 0.5 1:52.24 lmp_openmpi 
21771 Brian 25 0 253m 87m 5268 R 39.6 0.5 1:51.23 lmp_openmpi 
21773 Brian 25 0 253m 87m 5252 R 39.6 0.5 1:52.02 lmp_openmpi 
21774 Brian 25 0 253m 87m 5228 R 39.6 0.5 1:47.85 lmp_openmpi 
21766 Brian 25 0 253m 87m 5332 R 29.7 0.5 1:51.18 lmp_openmpi 
21764 Brian 25 0 253m 87m 5356 R 27.7 0.5 2:09.05 lmp_openmpi 
21768 Brian 25 0 253m 87m 5356 R 21.8 0.5 1:35.28 lmp_openmpi 
21769 Brian 25 0 253m 87m 5324 R  7.9 0.5 1:50.63 lmp_openmpi 

这是 16 个进程,而 运行ning top 在 compute-1-16 上显示没有 lmp_openmpi 个进程。

我不确定我对这个问题的解释有多彻底,所以如果需要更多信息,请告诉我。我也是 Rocks 和 SGE 的新手,所以希望我的示例足够清楚。如果没有,我会修改。在此先感谢大家。

问题:在我们的集群上构建 openMPI 时出现问题。

解决方案:安装最新版本的Intel编译器v16.0.3和Intel MPI v5.1.3解决了多节点问题。