了解策略配置

策略配置设置控制如何将资源分配给排队或正在运行的作业。 计划模式 允许优化大型批处理和 MPI 工作负荷或服务工作负荷的资源分配。 有关如何更改配置选项的信息,请参阅 配置 HPC 作业计划程序服务

下表总结了两种计划模式及其默认配置:

排队 平衡
说明 按队列顺序启动作业,并尝试将请求的最大资源分配给正在运行的作业。

- 尽快完成优先级最高的作业
- 尝试为作业提供其请求的最大资源
- 最小化作业运行时
- 作业队列中等待的时间越长,优先级较低的作业
- 可用资源首先用于满足运行作业的最大资源请求,然后启动新作业(启用自适应资源分配(增长/收缩)
尝试按照最低资源要求尽快启动所有传入作业。 如果其他资源可用,请根据优先级增长作业。

- 尽快启动所有传入作业
- 首先为作业提供其最低资源,然后根据需要根据优先级和请求的资源进行均衡来添加资源
- 最小化作业队列中的等待时间
- 作业需要更长的时间才能完成
- 资源可以从正在运行的作业中获取,以便启动新作业,即使正在运行的优先级更高
针对 优化 - 大型 MPI 和批处理作业
- 长时间运行的任务
- 参数扫描
- 交互式工作负载,例如面向服务的体系结构(SOA)作业和服务类型应用程序
- 运行时间较短的任务
- 参数扫描
其他设置 - 抢占
默认值:正常抢占
- 自适应资源分配(增长/收缩)
默认值:自动同时启用和减少资源

请参阅本主题中的 排队模式设置
- 抢占
默认值:立即抢占 注意: 抢占设置只能在 HPC Pack 2012 和 Service Pack 1(SP1)的均衡模式下进行配置。 在以前的版本中,在平衡模式下,抢占始终是即时的。
- 优先级偏差
默认值:中等偏差
- 重新均衡间隔
默认值:10 秒

请参阅本主题中的 均衡模式设置

排队模式设置

在排队模式下,HPC 作业计划程序服务按队列顺序启动作业,并尝试将请求的最大资源分配给正在运行的作业。 以下部分介绍与排队模式关联的抢占和自适应资源分配设置。

作业抢占

抢占允许在队列中等待的更高优先级作业通过从低优先级中获取资源来更快地启动,已运行的 作业抢占。 如果启用 通过抢占 策略(请参阅下面的“自适应资源分配”),则抢占也将用于帮助提高优先级,将作业运行到其最大资源请求(从 HPC Pack 2008 R2 和 Service Pack 2(SP2 开始提供)。

注意

Preemptable 作业属性由作业模板中的管理员定义。 使用作业模板定义可以抢占的作业类型,或者可以提交抢占或不可抢占作业的用户集。 通过 HPC 群集管理器、HPC 作业管理器、HPC PowerShell 或 HPC 命令行工具提交作业时,无法定义预先。 仅当所选作业模板将 True 和 False 指定为 Preemptable 作业属性的有效值时,才可使用 HPC API 执行此操作。

在排队模式下抢占具有以下选项:

  • 正常抢占(默认值):从被抢占的作业获取资源作为其正在运行的任务完成,以便不会丢失工作。

  • 立即抢占:通过取消所有正在运行的任务从抢占的作业获取资源,以便立即将资源分配给高优先级作业。 有关作业和任务取消的详细信息,请参阅 取消作业或任务中的 其他注意事项 部分。

  • 任务级别抢占(在 HPC Pack 2008 R2 中引入 SP3):启用抢占单个任务而不是整个作业。 使用默认的即时抢占设置,如果某个计划程序需要其任何资源来获得更高的优先级作业,计划程序将取消整个作业。 启用任务级别抢占时,计划程序将改为取消单个任务。 例如,如果普通优先级作业在每个核心上运行 100 个任务,并且提交高优先级作业需要 10 个核心,则任务级别抢占将取消 10 个任务,而不是取消整个作业。 此选项可以通过最大程度地减少因抢占而必须完成的返工量来提高作业吞吐量。

    注意

    从 HPC Pack 2012 开始,在排队计划模式下,抢占行为的默认选项是任务级立即抢占,而不是作业级抢占。 此默认行为意味着,只有需要一样多的低优先级作业任务才能提供较高优先级作业所需的资源,而不是抢占低优先级作业中的所有任务。

    注意

    从具有 Service Pack 1(SP1 的 HPC Pack 2012 开始),面向服务的体系结构(SOA)作业将在当前请求完成后结束任务,即使要计算其他请求也是如此。 在早期版本的 HPC Pack 中,SOA 作业将结束其任务,以便在计算所有请求后释放其他作业的资源。

  • 不抢占作业:不要抢占作业。

自适应资源分配

自适应资源分配根据任务动态调整分配给作业的资源。 启用资源调整可能会显著改善群集利用率和减少作业队列时间,尤其是运行由多个任务组成的作业(例如参数扫描计算)的群集。 只有包含多个任务或子任务的作业才能受益于自动资源调整。

自适应分配具有以下可启用或禁用的设置:

  • 自动 增加资源(默认启用):使用可用资源提高优先级,在启动低优先级作业之前,将作业运行到最大。 启用自动增长后,HPC 作业计划程序服务可以分配可用资源来运行具有要运行的其他任务的作业。 服务不会分配比为作业请求的最大资源多。 这会导致作业在等待资源的队列中花费更多时间,但在启动资源后完成得更快。 将可用资源首先分配给系统中优先级最高的作业,无论此作业是正在运行还是排队。

    • 抢占(SP2 的 HPC Pack 2008 R2 中引入):为了帮助将优先级更高的运行作业增长到最大,请使用抢占来从较低优先级、运行作业中获取资源。 必须启用抢占才能使用此设置。
  • 自动减少资源(默认启用):启用自动收缩后,HPC 作业计划程序服务可以从没有其他任务的正在运行的作业中释放未使用的资源。 该服务不会将资源收缩到为作业请求的最低要求以下。 自动收缩会导致更好的整体群集利用率,但如果将任务添加到正在进行中的作业,则可能会导致问题。

注意

在默认作业模板中,作业属性 自动计算最大值自动计算微型妈妈设置为默认值 True。 如果作业模板指定 True 是这些属性的唯一有效值,则提交用户将不能选择为使用该模板提交的作业指定最大和最小资源,并且将根据作业中的任务自动计算资源。

平衡模式设置

在均衡模式下,HPC 作业计划程序服务会尝试按照其最低资源要求尽快启动所有传入作业。 队列中的所有作业都有其最低资源后,会根据其优先级将其他群集资源分配给作业。 资源分配会定期重新平衡以填充空闲资源、启动新作业,并根据 优先级偏差 设置调整分配。 以下部分介绍与平衡模式关联的设置。

注意

  • 在节点组重叠的情况下,均衡计划受到限制。 均衡模式在非重叠节点组中更有效。
  • 如果指定作业应在单个节点上运行(从 HPC Pack 2012 开始可用),HPC 作业计划程序服务执行的均衡可能会受到群集上运行的其他作业的限制。

作业抢占

均衡模式下的抢占允许队列中等待的作业通过从已运行的抢占作业中获取资源来更快地启动。

重要

在均衡模式下的抢占设置只能由 HPC 管理员配置,从具有 Service Pack 1(SP1 的 HPC Pack 2012 开始)。 在旧版 HPC Pack 中,均衡模式下的抢占始终是即时的。

注意

Preemptable 作业属性由作业模板中的管理员定义。 使用作业模板定义可以抢占的作业类型,或者可以提交抢占或不可抢占作业的用户集。 通过 HPC 群集管理器、HPC 作业管理器、HPC PowerShell 或 HPC 命令行工具提交作业时,无法定义预先。 仅当所选作业模板将 True 和 False 指定为 Preemptable 作业属性的有效值时,才可使用 HPC API 执行此操作。 (默认值为 True。)

在平衡模式下抢占具有以下选项:

  • 立即抢占(默认值):通过取消并重新排队足够的正在运行的任务从抢占的作业获取资源,以便立即将资源分配给另一个作业。 对于大多数群集工作负荷,在均衡模式下立即抢占可让更多作业在给定时间段内启动。 因此,在大多数情况下,建议实现均衡的计划。

  • 正常抢占:从抢占的作业获取资源作为其正在运行的任务完成,以便不会丢失工作。 这是一个仅应为特定工作负荷启用的高级设置。 例如,在将均衡模式与由长时间运行的任务组成的面向服务的体系结构(SOA)作业一起使用时,可以考虑这一点,其中必须让每个中间任务重新优化结果。

    谨慎

    均衡模式下的正常抢占可能会降低启动新作业的响应时间,并降低均衡速度。 启用均衡模式下的正常抢占时,应仔细测试和监视群集。 有关详细信息,请参阅以下其他注意事项。

均衡模式下抢占的其他注意事项

  • 均衡速度 均衡模式尝试尽快平衡作业,默认情况下使用即时抢占。 如果选择在均衡模式下启用正常抢占,则均衡只能以任务退出的速度进行。 如果群集上存在长时间运行的任务,则均衡可能需要很长时间。 如果传入作业的速率超过退出任务的速率,则群集仅在有足够的任务退出以重新分配资源时平衡。

  • 资源利用率 默认情况下处于均衡模式,HPC 作业计划程序服务会立即抢占任务,以释放任何等待作业所需的资源(例如核心、节点或套接字)。 但是,如果启用正常抢占,则无论等待作业的资源要求如何,资源都会随着任务退出而释放。 释放的资源可能不是下一个等待作业所需的资源,并且资源可能保持空闲状态,直到其他任务完成。

优先级偏差

优先级偏差 控制如何将其他资源分配给作业。 在均衡模式下,“其他资源”是指群集资源高于所有正在运行的作业的总最小资源。 可以在其他资源上运行的任务可以立即取消,以容纳新作业或聚合所需的分配模式。

优先级偏差 具有以下选项:

  • 高偏差:所有其他资源都分配给优先级更高的作业。

  • 中等偏差(默认):每个 优先带 的附加资源比例高于其下方的带。 优先级带 最高高于正常正常低于正常最低

  • 无偏差:在作业队列中分配其他资源。

重新均衡间隔

重新均衡间隔 表示重新均衡传递之间的时间(以秒为单位)。 默认值为 10 秒。

更长的间隔可以提高计划程序性能,但响应新作业并聚合所需的分配模式可能需要更长的时间。 如果你不需要即时增长和收缩,则较长的间隔是很好的。 如果群集的周转率较高(作业频繁提交并快速完成),则可能需要更长的间隔以避免过度增长和收缩。

提交新作业时,更短的重新均衡间隔提供更快的响应,代价是在头节点上增加负载。 如果需要更快的响应,可以调整的其他设置是“任务取消宽限期”和“发布任务超时”,这可能会导致运行工作需要更长的时间才能被推送出去。

其他参考