假设您有两个队列,队列 A 使用一些新硬件,队列 B 使用旧硬件。此外,对于 SGE 作业,两个队列具有相同数量的节点和插槽,例如每个队列有 10 个插槽。
现在我提交了 10 个工作。如果两个队列都是空的并且节点具有相同的负载,我猜有 5 个作业将在队列 A 中运行,其中 5 个在队列 B 中运行。但是由于 B 的硬件较旧,因此这些作业将需要更长的时间才能完成。
有没有办法让 SGE 在“退出”到旧队列 B 之前先尝试“填充”队列 A 中的快速节点?我在询问问题的用户和管理员方面。
假设您有两个队列,队列 A 使用一些新硬件,队列 B 使用旧硬件。此外,对于 SGE 作业,两个队列具有相同数量的节点和插槽,例如每个队列有 10 个插槽。
现在我提交了 10 个工作。如果两个队列都是空的并且节点具有相同的负载,我猜有 5 个作业将在队列 A 中运行,其中 5 个在队列 B 中运行。但是由于 B 的硬件较旧,因此这些作业将需要更长的时间才能完成。
有没有办法让 SGE 在“退出”到旧队列 B 之前先尝试“填充”队列 A 中的快速节点?我在询问问题的用户和管理员方面。
我认为您可能误解了队列,或者您没有足够的信息。SGE 不会在不同队列之间拆分提交,您通常提交到一个队列。因此,如果您想提交,您可以控制您的工作提交。您可以简单地编写将所有作业提交到队列 A 的脚本,检查 qstat 以查看哪些作业正在保存和正在运行,然后将这些作业重新提交到队列 B,然后取消队列 A 中保存的作业。
您也可以将所有内容放在一个队列中,这就是我会做的。查看: https ://www.icts.uiowa.edu/confluence/display/ICTSit/SGE+adaptive+sequence+scheduling 了解如何使用一些脚本设置下一个作业调度的首选项/顺序 - 尽管在在那个例子中,他们也在做具有优先级的重叠队列,你不需要这样做(除非你想这样做)......
要设置填充顺序,请参阅http://gridscheduler.sourceforge.net/htmlman/htmlman5/sched_conf.html 以从基于负载的填充更改为基于序列的填充。然后,您将使较新的节点具有比旧节点更早的序列号。