【问题标题】:Submitting R jobs using PBS使用 PBS 提交 R 作业
【发布时间】:2011-01-03 13:50:37
【问题描述】:

我正在使用运行并行 R 的 qsub 提交作业。我的 目的是让 R 程序在 4 个不同的内核而不是 8 个内核上运行。以下是我在PBS 文件中的一些设置:

    #PBS -l nodes=1:ppn=4

....
time  R --no-save < program1.R > program1.log

我正在发出命令ta job_id,我看到列出了 4 个内核。但是作业占用大量内存(31944900k used vs 32949628k total)。如果我使用 8 个内核,作业会由于内存限制而挂起。

top - 21:03:53 up 77 days, 11:54,  0 users,  load average: 3.99, 3.75, 3.37
Tasks: 207 total,   5 running, 202 sleeping,   0 stopped,   0 zombie
Cpu(s): 30.4%us,  1.6%sy,  0.0%ni, 66.8%id,  0.0%wa,  0.0%hi,  1.2%si,  0.0%st
Mem:  32949628k total, 31944900k used,  1004728k free,   269812k buffers
Swap:  2097136k total,     8360k used,  2088776k free,  6030856k cached

这是发出命令ta job_id时的快照

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
 1794 x     25   0 6247m 6.0g 1780 R 99.2 19.1   8:14.37 R
 1795 x     25   0 6332m 6.1g 1780 R 99.2 19.4   8:14.37 R
 1796 x     25   0 6242m 6.0g 1784 R 99.2 19.1   8:14.37 R
 1797 x     25   0 6322m 6.1g 1780 R 99.2 19.4   8:14.33 R
 1714 x     18   0 65932 1504 1248 S  0.0  0.0   0:00.00 bash
 1761 x     18   0 63840 1244 1052 S  0.0  0.0   0:00.00 20016.hpc
 1783 x     18   0  133m 7096 1128 S  0.0  0.0   0:00.00 python
 1786 x     18   0  137m  46m 2688 S  0.0  0.1   0:02.06 R

如何防止其他用户使用其他 4 个内核?我喜欢以某种方式掩盖我的工作是使用 8 个内核和 4 个空闲的内核。

有人可以帮我解决这个问题吗?用pbs能解决吗?

非常感谢

【问题讨论】:

    标签: r parallel-processing pbs


    【解决方案1】:

    “我怎样才能防止其他用户使用其他 4 个内核?我喜欢以某种方式掩盖我的工作是使用 8 个内核和 4 个空闲的内核。”

    也许一种简单的解决方法是向其他 4 人发送“睡眠”工作?虽然看起来很hackish! (an 警告,我的 PBS 生锈了!)

    【讨论】:

      【解决方案2】:

      为什么不做以下 -

      向 PBS 请求 ppn=4,另外,请求节点上的所有内存,即 e

      #PBS -l nodes=1:ppn=4 -l mem=31944900k 
      

      这在您的设置中可能无法实现。

      我不确定 R 是如何并行化的,但如果它是 OPENMP,你绝对可以要求 8 个内核,但将 OMP_NUM_THREADS 设置为 4

      【讨论】:

      • 我绝对可以在系统上设置 mem=31944900k。我不知道在哪里另外添加 ppn=4 。是在同一个 PBS 作业上还是在 ppn=4 的情况下提交另一个单独的作业?
      • 我不确定我是否理解您的问题。我的建议是你用你的线路代替我的线路,它的作用是要求一个节点,每个节点 4 个处理器,以及 31944900k 的 PBS 作业的总内存。这不是额外的工作。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-25
      • 1970-01-01
      相关资源
      最近更新 更多