Bash 如何在作业提交期间动态选择PBS队列
我在远程集群中运行许多小型计算作业,作业提交由PBS管理。通常,在PBS bash脚本中,我指定要通过命令提交作业的队列 PBS-q 我需要选择的作业队列取决于特定队列上的负载。每次提交作业之前,我都会通过终端上的命令对此进行分析 qstat-q 它为我提供了如下输出Bash 如何在作业提交期间动态选择PBS队列,bash,shell,scripting,job-scheduling,pbs,Bash,Shell,Scripting,Job Scheduling,Pbs,我在远程集群中运行许多小型计算作业,作业提交由PBS管理。通常,在PBS bash脚本中,我指定要通过命令提交作业的队列 PBS-q 我需要选择的作业队列取决于特定队列上的负载。每次提交作业之前,我都会通过终端上的命令对此进行分析 qstat-q 它为我提供了如下输出 Queue Memory CPU Time Walltime Node Run Que Lm State ---------------- ------ -------- -------- ---- -
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
我想根据两个约束通过作业脚本自动选择队列
所选队列的walltime必须大于指定的作业时间。作业时间通过命令PBS-l walltime=02:30:00指定。
队列在Que中必须有最少数量的作业,如上面的输出所示。
我很难确定我需要在终端中使用哪些工具来帮助我自动化队列选择您可以将您的qsub提交封装在另一个脚本中,该脚本将运行qstat-q,解析输出,然后根据请求的walltime和每个队列中有多少活动作业来选择队列。然后脚本可以提交作业并将-q添加到qsub命令的末尾 但是,您似乎正在手动尝试执行调度器(使用适当的策略)为您所做的一些操作。为什么需要动态切换队列?更好的设置是队列基本上对作业进行分类(就像您已经在使用walltime一样),然后允许调度器适当地运行作业。用户需要仔细选择队列的任何设置对我来说都有点可疑