节点子集的组优先级

Group Priority on a Subset of Nodes

我正在使用 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 的优先级不同。

在此先感谢您的帮助。

根据我对问题的理解,您将节点分配与作业优先级混淆了。作业优先级决定 Maui 将 运行 作业的速度提高多少,因为它会在优先级保留队列中累积优先级。这将决定一个作业可以运行,在作业的限制范围内,相对于 eligible/idle 队列中的所有其他作业。

这与 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" property/feature 的节点,并且来自 group1 的作业将被吸引(即具有正亲和力)到其中的节点预订。同样,来自 group2 中用户的作业将流向 rsvB 中的节点,具有 "setB" 属性(如节点文件中或 maui.cfg 中的 NODECFG 行中所定义)。此配置适用于单个队列,并且基本上对用户透明。