【问题标题】:How to dynamically chose PBS queues during job submission如何在作业提交期间动态选择 PBS 队列
【发布时间】:2014-07-15 13:18:28
【问题描述】:

我在远程集群中运行许多小型计算作业,作业提交由 PBS 管理。通常在 PBS (bash) 脚本中,我指定我想通过命令提交作业的队列

#PBS -q <queue_name>

我需要选择的作业队列取决于特定队列的负载。每次提交作业之前,我都会通过终端上的命令来分析这个

qstat -q

它为我提供了如下所示的输出

Queue            Memory CPU Time Walltime Node  Run Que Lm  State
---------------- ------ -------- -------- ----  --- --- --  -----
queue1           --      --    03:00:00   --    0   2 --   E R
queue2           --      --    06:00:00   --    8   6 --   E R

我想通过作业脚本根据两个约束自动选择队列

  1. 所选队列的 walltime 必须超过指定的作业时间。作业时间通过命令#PBS -l walltime=02:30:00指定。
  2. 队列必须有最少的号码。 Que 中的作业数量,如上面的输出所示。

我无法确定需要在终端中使用哪些工具来帮助我自动选择队列

【问题讨论】:

    标签: bash shell scripting job-scheduling pbs


    【解决方案1】:

    您可以将您的 qsub 提交包装在另一个脚本中,该脚本将运行 qstat -q,解析输出,然后根据请求的 walltime 以及每个队列中有多少活动作业来选择队列。然后脚本可以提交作业并将-q <name of desired queue> 添加到qsub 命令的末尾。

    但是,您似乎正在手动尝试执行调度程序(使用适当的策略)为您执行的一些操作。为什么需要动态切换队列?更好的设置是让队列基本上对作业进行分类 - 就像您已经在使用 walltime 一样 - 然后允许调度程序适当地运行作业。用户需要仔细选择队列的任何设置对我来说似乎都有点怀疑。

    【讨论】:

      猜你喜欢
      • 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
      相关资源
      最近更新 更多