我正在使用最新版本的Torque / Maui(带有PBS)来安排具有异构硬件的群集上的作业。硬件由两组10个节点组成,我希望其中两个组在其中一组节点上具有提升的优先级。例如:
Node set A of 10 nodes has elevated priority for User Group 1
Node set B of 10 nodes has elevated priority for User Group 2
我熟悉如何为所有节点完成此操作,这将在此处记录:
http://docs.adaptivecomputing.com/maui/5.1.3priorityusage.php
但是,我不熟悉在群集的子集上设置此类优先级的最佳策略。从我可以从Maui文档中确定它可以使用节点集或分区来完成,但我不确定其中任何一个是否正确或者是否还有其他策略。
编辑:我更希望拥有一个队列,因为它简化了可用性并使用户可以使用整个集群,尽管节点集A和B具有不同的优先级。
提前感谢您的帮助。
答案 0 :(得分:1)
我理解这个问题的方式,你已经将节点分配与作业优先级混淆了。作业优先级决定了Maui运行作业的速度有多快,因为它在优先级预留队列中占优先权。这将确定作业在作业限制内相对于符合条件/空闲队列中的所有其他作业的运行时间。
这与毛伊决定放置(安排)工作的地方是分开的。处理此类用例的最自然方式是站立预订。您可以在每组节点上创建预留(通过主机列表,功能或分区),然后为两个组(或每个人)提供对两个预留的访问权限,但对具有优先访问权限的组外的所有人应用负面关联。
示例:
SRCFG[rsvA] NODEFEATURES=setA
SRCFG[rsvA] GROUPLIST=group1,ALL-
SRCFG[rsvA] HOSTLIST=ALL
SRCFG[rsvB] NODEFEATURES=setB
SRCFG[rsvB] GROUPLIST=group2,ALL-
SRCFG[rsvB] HOSTLIST=ALL
通过这种配置,Maui将创建预留rsvA以仅包括具有“setA”属性/特征的节点,并且来自group1的作业将倾向于(即,具有正亲和力)该预留中的节点。同样,来自group2中用户的作业将流向rsvB中的节点,具有“setB”属性(在节点文件中定义,或在maui.cfg中的NODECFG行上)。此配置适用于单个队列,并且基本上是用户透明的。