【问题标题】:PBS: job on two nodes uses memory of only onePBS:两个节点上的作业仅使用一个内存
【发布时间】:2015-02-23 13:33:37
【问题描述】:

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

#PBS -l mem=60GB
#PBS -l nodes=node01.cluster:ppn=32
time mpiexec -n 32 python code.py

比工作正常。

由于 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 exceeds queue resource limits MSG=cannot satisfy queue max mem requirement)。即使我设置了mem=70GB,它也会失败(以防系统需要更多内存)。 如果我在尝试使用两个节点时设置mem=60GB,我会得到

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

我也尝试了pmem(即pmem=1875MB),但没有成功。

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

【问题讨论】:

    标签: cluster-computing pbs


    【解决方案1】:

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

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

    您应该改用pmem 资源来限制每个作业进程的内存。对于 ppn=32,您应该将 pmem 设置为 1920MB,以便每个节点获得 60 GB。在这种情况下,您应该注意 pmem 不允许在节点上运行的进程之间灵活分配内存)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多