如何设置SGE进行下列调度:“先尝试在队列A中运行,如果没有A-slots可用,则尝试在队列B中运行”?

假设你有两个队列,A队列有一些新的硬件,B队列有旧的硬件。 此外,两个队列对于SGE作业具有相同数量的节点和时隙,例如每个队列10个时隙。

现在我提交10个工作。 如果两个队列都是空的,并且节点的负载相同,那么我猜想5个作业将在队列A中运行,其中5个将在队列B中运行。但是由于B的硬件较旧,作业将花费较长的时间完成。

有没有一种方法可以让SGE在退出旧队列B之前首先尝试“填充”队列A中的快速节点? 我正在问这个问题的用户和pipe理员方面。

我想你可能会误解队列,或者你没有足够的信息。 SGE不会在不同的队列之间分割提交,你通常会提交一个队列。 所以,如果你想提交,你可以控制你的工作提交。 您可以简单地将所有作业的提交脚本编写为队列A,在qstat上进行检查以查看正在运行的作业,然后将这些作业重新提交给队列B,然后取消队列A中的作业。

你也可以把它放在一个队列中,这就是我所要做的。 查看: https : //www.icts.uiowa.edu/confluence/display/ICTSit/SGE+adaptive+sequence+scheduling ,了解如何使用一些脚本来设置下一个作业调度的偏好/顺序 – 尽pipe这个例子,他们也在做重叠队列的优先级,你不需要做(除非你想)…

要设置填充顺序,请参阅http://gridscheduler.sourceforge.net/htmlman/htmlman5/sched_conf.html以从基于填充的顺序改为基于顺序的填充。 然后,您可以使新节点具有比旧节点更早的序列号。