【问题标题】:Reordering item in PBS queue重新排序 PBS 队列中的项目
【发布时间】:2014-02-11 16:39:08
【问题描述】:

我向 PBS 提交了几份工作。现在,我希望我最后提交的工作是第一个。

一种选择是保留所有预览作业(使用 qhold )。问题是我使用-W depend=afterok: 开关以便在预览作业结束后启用作业。

因此,我的 PBS 队列看起来像这样:

468743.server   username    queue_name job1         4828   6  36   46gb 24:00 R 16:12
468744.server   username    queue_name job1_cont     --    6  36   46gb 24:00 H   -- 
468745.server   username    queue_name job1_cont     --    6  36   46gb 24:00 H   -- 
468746.server   username    queue_name job1_cont     --    6  36   46gb 24:00 H   -- 
468747.server   username    queue_name job1_cont     --    6  36   46gb 24:00 H   -- 
468748.server   username    queue_name job1_cont     --    6  36   46gb 24:00 H   -- 
468743.server   username    queue_name job2         4828   6  36   46gb 24:00 R 16:12
468744.server   username    queue_name job2_cont     --    6  36   46gb 24:00 H   -- 
468745.server   username    queue_name job2_cont     --    6  36   46gb 24:00 H   -- 
468746.server   username    queue_name job2_cont     --    6  36   46gb 24:00 H   -- 
468747.server   username    queue_name job2_cont     --    6  36   46gb 24:00 H   -- 
468748.server   username    queue_name job2_cont     --    6  36   46gb 24:00 H   -- 
468753.server   username    queue_name NewJob        --    6  36   46gb 24:00 H   -- 
468754.server   username    queue_name NewJob_cont        --    6  36   46gb 24:00 H   -- 
468755.server   username    queue_name NewJob_cont        --    6  36   46gb 24:00 H   -- 

现在,我希望 NewJob(最后上线)在 {job1, job2} 中的第一个作业完成之后,并且在任何“_cont”之前运行。我希望 NewJob_cont 作业将在 NewJob 之后运行。

我可以改变 NewJob 的位置而不破坏其余的保持队列层次结构吗?

【问题讨论】:

  • 您使用什么调度程序来运行这些作业?

标签: pbs


【解决方案1】:

您可以使用 qalter 更改作业的依赖关系。你可以执行:

qalter 468744 -W depend=after:468753
qalter 468753 -W depend=after:468743

这将使 468744 直到新作业之后才执行,并且新作业直到第一个作业之后才执行。正如您可以在队列作业中添加后依赖项一样,您也可以添加其他类型的依赖项。

【讨论】:

  • 这是一个选项,但是因为除了 1 和 2 之外,我还有 10 个“job#”,而且我必须将它们全部推迟到我的 NewJob 之后,这将是相当烦人的。此外,当 NewJob 运行时,其他作业也可以运行,达到服务器管理员设置的限制。所以这个解决方案并不理想。无论如何,谢谢,Ronen。
  • 如果您希望它们在该作业之后运行,您可以使用 afterstart 依赖项。
  • 是的,但是如果我想向上移动一个以上的工作,那将非常复杂。我想重新排序线性队列,而不是重新排列复杂的依赖图。
  • 你用的是什么调度器?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
  • 2017-06-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多