扭矩更小的 CPU 负载

扭矩更小的 CPU 负载

我们在双 Xeon(26 核,超线程中可用 52 个)上安装了 Torque。节点配置为 np=104。如果我在命令行中启动 MPI 计算,我的 CPU 使用率接近 100%:

%Cpu:53.9 us、44.6 sy、0.0 ni、1.4 id、0.0 wa、0.0 hi、0.0 si、0.0 st

但是,如果我用这个扭矩提交文件启动相同的计算:

#!/bin/bash

#PBS -l walltime=20:00:00:00

#PBS -l nodes=1:ppn=104

#PBS -q batch

#PBS -N QE_test

cd $PBS_O_WORKDIR

/usr/lib64/openmpi/bin/mpirun -np 104 /opt/qe-6.3/bin/pw.x -inp scf.in > scf.out

CPU 使用率约为 50%:

%Cpu:32.5 us、22.9 sy、0.0 ni、44.6 id、0.0 wa、0.0 hi、0.0 si、0.0 st

你知道为什么吗?

pbsnodes -a

servername

state = free

np = 104

ntype = cluster

status = rectime=1540890927,varattr=,jobs=,state=free,netload=? 0,gres=,loadave=0.00,ncpus=52,physmem=199919700kb,availmem=193132384kb,totmem=199919700kb,idletime=343335,nusers=0,nsessions=0,uname=Linux servername 3.10.0-862.el7.x86_64 #1 SMP Fri Apr 20 16:44:24 UTC 2018 x86_64,opsys=linux

mom_service_port = 15002

mom_manager_port = 15003

答案1

我解决了这个问题。首先我禁用了超线程(从 Linux 内部禁用超线程(无法访问 BIOS))。命令行中的 mpi 显示使用率接近 100%,而实际使用率为 50%,超线程系统为 50%。其次,我将 Torque 降级为不支持 numa 的版本(从 Torque-4.2.10-10.el7.x86_64 降级为 Torque-4.2.10-5.el7.x86_64)。之后,pbsnodes -a 命令显示 ncpus=52,而支持 numa 时为 26。现在我在 Torque 中使用 mpirun -np 52 得到相同的结果。

相关内容