我在远程集群中运行了许多小型计算作业,其中作业提交由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我想通过基于两个约束的作业脚本自动化队列选择
#PBS -l walltime=02:30:00指定的。我很难确定我需要在终端中使用哪些工具来帮助我自动选择队列
发布于 2014-07-16 19:39:25
您可以将qsub提交封装在另一个脚本中,该脚本将运行qstat -q,解析输出,然后根据请求的壁时间和每个队列中有多少活动作业选择队列。然后,脚本可以提交作业并将-q <name of desired queue>添加到qsub命令的末尾。
但是,似乎您正在手动尝试执行调度程序(具有适当的策略)为您所做的一些事情。为什么需要动态切换队列?一个更好的设置是,队列从本质上对作业进行分类--就像您已经在使用墙壁时间所做的那样--然后允许调度程序适当地运行作业。用户需要仔细选择队列的任何设置在我看来都有点可疑。
https://stackoverflow.com/questions/24759285
复制相似问题