Cluster computing PBS:两个节点上的作业只使用一个节点的内存

Cluster computing PBS:两个节点上的作业只使用一个节点的内存,cluster-computing,pbs,Cluster Computing,Pbs,我正在尝试使用MPI在集群上运行作业(python代码)。每个节点上都有63GB的可用内存。 当我在一个节点上运行它时,我使用指定PBS参数(此处仅列出相关参数): 那就好了 因为PBS手册页上说mem是每个整个作业的内存,所以在两个节点上运行它时,我的参数是 #PBS -l mem=120GB #PBS -l nodes=node01.cluster:ppn=32+node02.cluster:ppn=32 time mpiexec -n 64 python code.py 这不起作用(qs

我正在尝试使用MPI在集群上运行作业(python代码)。每个节点上都有63GB的可用内存。 当我在一个节点上运行它时,我使用指定PBS参数(此处仅列出相关参数):

那就好了

因为PBS手册页上说
mem
是每个整个作业的内存,所以在两个节点上运行它时,我的参数是

#PBS -l mem=120GB
#PBS -l nodes=node01.cluster:ppn=32+node02.cluster:ppn=32
time mpiexec -n 64 python code.py
这不起作用(
qsub:Job超出队列资源限制MSG=无法满足队列最大内存要求
)。例如,即使我设置了
mem=70GB
,它也会失败(以防系统需要更多内存)。 如果在尝试使用这两个节点时设置
mem=60GB
,则

=>> PBS: job killed: mem job total xx kb exceeded limit yy kb.
我也尝试了
pmem
(即
pmem=1875MB
),但没有成功


我的问题是:如何使用整个120GB内存?

Torque/PBS忽略
mem
资源,除非作业使用单个节点(请参阅):

作业使用的最大物理内存量。(在Darwin、Digital Unix、Free BSD、HPUX 11、IRIX、NetBSD和SunOS上被忽略。如果节点数不是1,在Linux上也被忽略。未在AIX和HPUX 10上实现。)

您应该改为使用限制每个作业进程内存的
pmem
资源。使用
ppn=32
时,您应该将
pmem
设置为1920MB,以便每个节点获得60 GB。在这种情况下,您应该记住,
pmem
不允许像
mem
那样在节点上运行的进程之间灵活分配内存(因为后者被视为聚合值,而
pmem
单独应用于每个进程)

=>> PBS: job killed: mem job total xx kb exceeded limit yy kb.