使用 SGE,我可以使用以下选项排除名为“node6”的节点:
#$ -l h=!node6
问题:有谁知道如何将其扩展到多个节点?我真的找不到一个好的 HowTo,我已经厌倦了猜测。谢谢!
使用 SGE,我可以使用以下选项排除名为“node6”的节点:
#$ -l h=!node6
问题:有谁知道如何将其扩展到多个节点?我真的找不到一个好的 HowTo,我已经厌倦了猜测。谢谢!
您可以使用通配符表达式来排除某些节点。例如,如果您有节点称为 node1, node2 ... nodeX; 排除 node2 到 node5 你可以使用:
#$ -l h='!node[2-5]'
或排除几个节点:
#$ -l h='!(nodeP|nodeQ|...|nodeR)' //P,Q,R in [1,X]
现在只需找到与您要排除的所有节点匹配的模式。
否则,您可以使用资源配额。为此,请创建资源配额:
qconf -arqs disabledHostsResourceQuota
编辑此资源配额以允许主机组(我们称之为 disabledHosts)阻止作业运行:
{
name disabledHostsResourceQuota
description resource quota to disable some hosts
enabled TRUE
limit hosts {@disabledHosts} to slots=0
}
然后创建您的主机组:
qconf -ahgrp disabledHosts
并在“主机列表”字段中,添加您要禁用的所有主机。然后,您可以在没有任何选择的情况下提交您的工作,这应该可以解决问题。