启用和配置资源池

从具有 Service Pack 2(SP2 的 HPC Pack 2008 R2 开始),可以将 HPC 作业计划程序服务配置为基于资源池分配资源。 资源池可帮助你定义特定用户组(或作业类型)必须保证群集核心的比例。 如果用户组未使用其所有保证的核心,则其他组可以使用这些核心。 必须使用作业模板将用户组与资源池相关联。 使用作业模板的作业将统一保证为资源池定义的群集核心的比例,并根据作业优先级、提交时间和计划模式(已排队或均衡)在池中计划。 资源池计划最适合具有同质资源的群集。

示例方案: 组织中的各种用户组都为群集预算做出了贡献,并返回他们期望自己拥有群集的确定部分。 如果某个组在任何给定时间都有一个轻型工作负荷,并且未利用其群集的整个共享,则希望这些资源暂时可供其他组使用。 因此,若要保证可用性并最大化群集利用率,需要 HPC 作业计划程序服务基于资源池分配资源。

在本主题中:

了解资源池属性

资源池具有以下属性:

properties 定义
权重 由群集管理员设置。

介于 0 和 999,999 之间的整数,表示应保证到池的群集核心的比例。
保证的核心 由 HPC 作业计划程序服务设置。

对应于为池定义的权重的核心数。 保证的核心数将因在任意给定时间 联机 和可访问的节点数而异。 保证的核心数计算为 (poolWeight/totalWeights)*NumberOfCoresOnline。
分配的核心 由 HPC 作业计划程序服务设置。

提交到池的作业实际使用的核心数。 此数字可以高于或低于保证的核心数。

重要注意事项

  • 权重为 0 的池没有保证的核心,但如果有提交到池的作业,并且其他池未使用其所有资源,则可以分配核心。

  • 无法删除 默认池。 在 HPC 作业计划程序服务中启用资源池时,未指定池的任何作业都将使用默认池。 与自定义池不同,指定默认池不提供任何资源保证。 可以将默认池的权重设置为 0。

  • 当 HPC 作业计划程序服务根据池权重计算每个资源池的核心数时,每个池的结果值将向下舍入到最接近的整数。 其余核心将添加到默认池。

  • 节点组和请求的节点列表提供了将群集资源分配给作业的替代方法,并且两者都不能与资源池一起使用。 如果将特定节点组(或请求的节点列表)和资源池添加到作业模板,HPC 作业计划程序服务将基于这两个属性单独限制对群集资源的访问。

配置资源池

若要配置资源池,必须定义一个或多个池,然后将池与作业模板相关联。 例如,假设你有两个用户组,每个组预计可以在任何给定时间使用群集的以下比例:组 A 60%和组 B 40%。 此外,假设组 A 具有两种不同的作业类型,他们希望使用单独的作业模板:一种类型是高优先级,另一种类型是低优先级。 若要强制实施所需的计划策略,请创建三个节点模板:“GroupA_HighPriJobs”、“GroupA_LowPriJobs”和“GroupB_AllJobs”。

重要

定义资源池并将其与作业模板相关联后,必须在作业计划程序设置中启用资源池计划。 请参阅本主题中的 启用资源池

定义资源池

  1. 在 HPC 群集管理器中,单击 配置

  2. 在导航窗格中,单击 资源池

  3. 操作中,单击 编辑池和权重。 此时会显示对话框。

  4. 在对话框中,单击 添加 两次。 池列表中会显示两个新行。

  5. 池名称 列中,重命名池 PoolAPoolB

  6. 权重 列中,键入每个组(60,40)所需的权重。

  7. 默认 池的权重设置为 0。

  8. 单击“确定” 保存并关闭对话框。

将资源池与作业模板相关联

  1. 在导航窗格中,单击 作业模板

  2. 操作中,单击 “新建 打开作业模板向导,然后定义模板,如下所示:

    • 名称:GroupA_HighPriJobs

    • 最大优先级:最高

    • 默认优先级:最高

  3. 在作业模板编辑器中打开作业模板“GroupA_HighPriJobs”,并定义池和用户权限,如下所示:

    • 属性添加到模板,对于 有效值,请选择“PoolA”。

    • 单击 权限,并确保只有组 A 中的用户有权使用该模板提交作业。

    • 保存更改。

  4. 为“GroupA_LowPriJobs”创建作业模板,如下所示:

    • 在作业模板列表中,右键单击“GroupA_HighPriJobs”,然后单击 复制

    • 右键单击副本,单击 编辑,然后定义模板,如下所示:

    • 名称:GroupA_LowPriJobs

    • 最大优先级:普通

    • 默认优先级:BelowNormal

    • 由于此模板基于“GroupA_HighPriJobs”,因此权限和池已正确设置。

  5. 使用以下属性为“GroupB_AllJobs”创建新的作业模板:

    • 名称:GroupB_AllJobs

    • 最大优先级:最高

    • 默认优先级:普通

    • 属性添加到模板,对于 有效值,请选择“PoolB”。

    • 单击 权限,并确保只有组 B 中的用户有权使用该模板提交作业。

现在,你已准备好通过作业计划程序设置启用资源池计划。

启用资源池

必须在作业计划程序配置设置中启用资源池计划。 可以通过 HPC 群集管理器或使用命令实用工具执行此操作。 使用以下方法之一启用资源池计划:

  • HPC 群集管理器

    1. 在 HPC 群集管理器中,单击 选项,然后单击 作业计划程序配置

    2. 选择 资源池 选项卡。

    3. 选中 启用资源池 复选框。

    4. 单击确定

  • 命令提示符窗口(以管理员身份运行)

    使用 cluscfg setparams 命令,例如:

    Cluscfg setparams enablepools=true

  • HPC PowerShell(以管理员身份运行)

    使用 Set-HpcClusterProperty cmdlet,例如:

    Set-hpcclusterproperty -enablepools $true

另请参阅

Microsoft HPC Pack 中的 作业计划程序配置
作业模板
如何添加或删除作业模板级别提交或激活筛选器