从具有 Service Pack 2(SP2 的 HPC Pack 2008 R2 开始),可以将 HPC 作业计划程序服务配置为基于资源池分配资源。 资源池可帮助你定义特定用户组(或作业类型)必须保证群集核心的比例。 如果用户组未使用其所有保证的核心,则其他组可以使用这些核心。 必须使用作业模板将用户组与资源池相关联。 使用作业模板的作业将统一保证为资源池定义的群集核心的比例,并根据作业优先级、提交时间和计划模式(已排队或均衡)在池中计划。 资源池计划最适合具有同质资源的群集。
示例方案: 组织中的各种用户组都为群集预算做出了贡献,并作为回报,他们期望能够确定群集的一部分。 如果某个组在任何给定时间都有一个轻型工作负荷,并且未利用其群集的整个共享,则希望这些资源暂时可供其他组使用。 因此,若要保证可用性并最大化群集利用率,需要 HPC 作业计划程序服务基于资源池分配资源。
本主题内容:
了解资源池属性
资源池具有以下属性:
资产 | 定义 |
---|---|
重量 | 由群集管理员设置。 介于 0 和 999,999 之间的整数,表示应保证到池的群集核心的比例。 |
有保证的核心 | 由 HPC 作业计划程序服务设置。 对应于为池定义的权重的核心数。 保证的核心数根据 联机 节点数和在任何给定时间可访问的节点数而异。 保证的核心数计算为 (poolWeight/totalWeights)*NumberOfCoresOnline。 |
已分配的核心 | 由 HPC 作业计划程序服务设置。 提交到池的作业实际使用的核心数。 此数字可以高于或低于保证的核心数。 |
重要注意事项
权重为 0 的池没有保证的核心,但如果有提交到池的作业,并且其他池未使用其所有资源,则可以分配核心。
无法删除 默认池 。 在 HPC 作业计划程序服务中启用资源池时,未指定池的任何作业都将使用默认池。 与自定义池不同,指定默认池不提供任何资源保证。 可以将默认池的权重设置为 0。
当 HPC 作业计划程序服务根据池权重计算每个资源池的核心数时,每个池的结果值将向下舍入到最接近的整数。 其余核心将添加到默认池。
节点组和请求的节点列表提供了将群集资源分配给作业的替代方法,并且两者都不能与资源池一起使用。 如果将特定节点组(或请求的节点列表)和资源池添加到作业模板,HPC 作业计划程序服务将基于这两个属性单独限制对群集资源的访问。
配置资源池
若要配置资源池,必须定义一个或多个池,然后将池与作业模板相关联。 例如,假设你有两个用户组,每个组预计可以在任何给定时间使用群集的以下比例:组 A 60%和组 B 40%。 此外,假设组 A 具有两种不同的作业类型,他们希望使用单独的作业模板:一种类型是高优先级,另一种类型是低优先级。 若要强制实施所需的计划策略,请创建三个节点模板:“GroupA_HighPriJobs”、“GroupA_LowPriJobs”和“GroupB_AllJobs”。
重要
定义资源池并将其与作业模板相关联后,必须在作业计划程序设置中启用资源池计划。 请参阅本主题中的 “启用资源池 ”。
定义资源池
在 HPC 群集管理器中,单击“ 配置”。
在导航窗格中,单击 “资源池”。
在 “作”中,单击“ 编辑池”和“权重”。 此时会显示对话框。
在对话框中,单击“ 添加 两次”。 池列表中会显示两个新行。
在 “池名称 ”列中,重命名池 PoolA 和 PoolB。
在 “权重 ”列中,键入每个组(60,40)所需的权重。
将 默认 池的权重设置为 0。
单击“ 确定 ”保存并关闭对话框。
将资源池与作业模板相关联
在导航窗格中,单击 “作业模板”。
在 “作”中,单击“ 新建 ”以打开“作业模板”向导,然后定义模板,如下所示:
名称:GroupA_HighPriJobs
最大优先级:最高
默认优先级:最高
在作业模板编辑器中打开作业模板“GroupA_HighPriJobs”,并定义池和用户权限,如下所示:
将 Pool 属性添加到模板,对于 有效值,请选择“PoolA”。
单击 “权限”,并确保只有组 A 中的用户有权使用该模板提交作业。
保存更改。
为“GroupA_LowPriJobs”创建作业模板,如下所示:
在“作业模板”列表中,右键单击“GroupA_HighPriJobs”,然后单击“ 复制”。
右键单击副本,单击“ 编辑”,然后定义模板,如下所示:
名称:GroupA_LowPriJobs
最大优先级:普通
默认优先级:BelowNormal
由于此模板基于“GroupA_HighPriJobs”,因此权限和池已正确设置。
使用以下属性为“GroupB_AllJobs”创建新的作业模板:
名称:GroupB_AllJobs
最大优先级:最高
默认优先级:普通
将 Pool 属性添加到模板,对于 有效值,请选择“PoolB”。
单击 “权限”,并确保只有组 B 中的用户有权使用该模板提交作业。
现在,你已准备好通过作业计划程序设置启用资源池计划。
启用资源池
必须在作业计划程序配置设置中启用资源池计划。 可以通过 HPC 群集管理器或使用命令实用工具执行此作。 使用以下方法之一启用资源池计划:
HPC 群集管理器
在 HPC 群集管理器中,单击“ 选项”,然后单击“ 作业计划程序配置”。
选择 “资源池 ”选项卡。
选中“ 启用资源池 ”复选框。
单击 “确定” 。
命令提示符窗口 (以管理员身份运行)
使用 cluscfg setparams 命令,例如:
Cluscfg setparams enablepools=true
HPC PowerShell (以管理员身份运行)
使用 Set-HpcClusterProperty cmdlet,例如:
Set-hpcclusterproperty -enablepools $true