设置 Memory-Aware 计划
可以选择将作业计划程序配置为将作业分配给节点,同时考虑作业的内存需求以及节点上的可用内存。 目标是让内存密集型应用程序有足够的内存运行,同时使内存密集型应用程序能够在其他群集资源上高效运行。
在 HPC 作业管理器中,“新建作业”、修改作业和 “复制作业” 对话框中提供了设置内存感知计划的选项。 可以使用以下过程通过 HPC 作业管理器创建新作业,然后指定特定于内存感知计划的 作业属性。
注意
内存感知计划是在 HPC Pack 2012 中引入的,在以前的版本中不可用。
启用内存感知计划
在 HPC 作业管理器的 操作 窗格中,单击 “新建作业”。
在 “新建作业”对话框的左窗格中,单击 作业详细信息,然后提供作业的以下详细信息:
在 作业名称 文本框中,键入作业的名称。
在 作业模板 下拉列表中,选择一个作业模板。 为新作业选择作业模板后,“新建作业”对话框中的作业属性的可用值会相应地更改。
在
“新建作业 ”对话框的左窗格中,单击“编辑任务”。 将任务添加到作业:
若要创建新任务,请指向 “添加”按钮,单击向下箭头,然后选择任务类型。 在任务对话框中,提供任务的信息,然后单击 保存 将任务添加到作业,并返回到“新建作业”对话框。
若要向作业添加已保存的任务,请指向
“添加 ”按钮,单击向下箭头,然后单击“从任务文件。 导航到任务 XML 文件的位置,然后单击 打开 将任务添加到作业,并返回到“新建作业”对话框。
在“新建作业”对话框中,可以看到已添加的任务的列表。
(可选)可以设置运行任务的顺序。 单击“依赖项”按钮打开“任务依赖项”对话框。 有关详细信息,请参阅 定义任务依赖项 - 作业管理器。
(可选)在 “新建作业”对话框的左窗格中,单击 资源选择 指定特定节点、节点组或硬件首选项。
(可选)在“新建作业”对话框的左窗格中,单击 许可证 指定作业所需的任何软件许可证。
(可选)在 “新建作业”对话框的左窗格中,单击 环境变量 指定要在作业中所有任务的运行时环境中设置的环境变量。
在“新建作业”对话框的左窗格中,单击 高级。 在 每个进程的估计内存 部分中,若要估计作业中进程将使用的最大内存量(以 MB 为单位),请在作业模板中指定此属性指定的整数值。 如果允许,则值为 0,指示已禁用内存感知计划。
单击 提交。
其他注意事项
每个进程的估计内存的最小值、最大值和默认值在用于作业的作业模板中定义。 可以在不同的作业模板中配置不同的值。 在默认作业模板中,最小值、最大值和默认值最初设置为 0,这会禁用内存感知计划。
使用内存感知计划时,作业计划程序会将每个进程的估计内存与每个节点上可用的总物理内存进行比较。 如果这些节点可用,则群集节点的总物理内存至少是每个进程估计的内存值,将被视为运行作业。
根据群集和群集工作负荷上使用的作业模板,管理员可以控制作业限制为在内存至少是每个进程的估计内存的节点上运行的作业的程度。 例如,在典型的作业模板中,如果最小值和最大值为非零量,并且默认值大约是群集中每个核心内存的最小平均值,则默认情况下,作业将保留与它使用的核心数成比例的内存。 另一方面,如果群集上的任何作业模板允许将估计的内存进程设置为 0,则基于该模板的作业可能会妨碍在其他作业中配置的内存感知计划。
作业运行时,无法修改作业的每个进程的估计内存。