了解 Azure 节点可用性策略

Azure 节点可用性策略确定如何以及何时启动 Azure 节点(角色实例部署在 Azure 中)并停止(角色实例在 Azure 中删除)。

有以下两个选项可用于配置 Azure 节点的可用性:

  • 自动 节点会自动配置为启动(预配),然后在每周一个或多个计划间隔期间转到 Online 状态。 当希望节点可供运行作业时,可以每周指定多次。 在每次块结束时,节点会自动停止:节点处于脱机状态并删除角色实例。 (可选)当节点上运行的任何作业被清空时,可以在联机块结束前指定时间间隔。

  • 手动 若要使 Azure 节点可用于运行作业,必须先手动启动(预配)节点,然后将其联机。

其他注意事项

  • 在某些情况下,预配 Azure 角色实例可能需要几分钟时间,停止和删除实例还需要几分钟时间。

  • 只有在 Azure 中预配了角色实例后,节点才能在联机时间块中运行作业。 启动(并联机)节点的计划时间不包括 Azure 预配角色实例所需的时间。

  • 如果已将自动可用性策略配置为最佳做法,则除了希望节点可供运行作业的时间外,还在每个联机时间块中规划 60 分钟。 还应避免以较短的时间间隔安排联机时间块。

  • 编辑 Azure 节点可用性策略会更改已使用节点模板添加到 HPC 群集的节点以及稍后添加的节点的策略。 例如,可以编辑 Azure 节点模板,以便配置为根据每周计划自动启动和停止的节点现在配置为手动启动和停止。

  • 根据 Azure 节点模板中可用性策略的配置和作业计划程序配置中的任务取消宽限期设置,停止 Azure 节点的确切时间,部署结束可能与联机时间块的计划结束不同。 当 HPC 任务仍在联机时间块结束附近运行时,可能会发生这种情况。 有关详细信息,请参阅 可用性策略与任务取消宽限期设置交互部分。

可用性策略与“任务取消宽限期”设置的交互

配置自动可用性策略后,Azure 节点不会在联机时间块通过后启动作业。 但是,如果配置了“任务取消宽限期”设置,仍在联机时间块结束时仍在运行的 HPC 任务可以继续运行一段时间。 任务取消宽限期群集属性为应用程序设置一个时间段,用于保存状态信息并在退出前清理(默认时间段为 15 秒)。 任务结束的确切时间取决于任务是否响应CTRL_BREAK事件(相当于 CTRL+BREAK 键组合)的速度和速度。 不处理事件的任务将立即退出,而处理该事件的任务可能需要只要任务取消宽限期才能正常退出。

下表总结了由于 Azure 节点可用性策略与任务取消宽限期设置之间的交互,HPC 任务何时停止运行。 列出了可能的影响和解决方法。 交互因可用性策略中是否配置了“清空”周期而异。 排空期是一个可选设置,指定联机时间块结束前的分钟数,在此期间不会在这些节点上启动任何新任务。

可用性策略中配置的任务排空期 任务取消宽限期开始时 运行 HPC 任务结束时 影响 解决方法
是的 排空期开始 任务取消宽限期的开始和结束之间,具体取决于任务是在收到信号时退出还是使用任务取消宽限期提供的时间段。 可以在计划结束联机时间块之前。

示例

- 联机时间块的计划结束时间:下午 8:00
- 宽限期:5 分钟
- 排水期:10 分钟

运行的任务将在下午 7:50 到 7:55 之间结束
- Azure 节点已停止,部署早于预期关闭。
- HPC 任务的 Azure 资源使用情况可能不是最佳。
- 将任务取消宽限期调整为与排水期相同,或尽可能类似。
- 如果应用程序允许这些值,请为排水周期和宽限期指定小值。
已配置的联机时间块结束 任务取消宽限期的开始和结束之间,具体取决于任务是在收到信号时退出还是使用任务取消宽限期提供的时间段。 可以在计划结束联机时间块之后。

示例

- 联机时间块的计划结束时间:下午 8:00
- 宽限期:5 分钟

运行的任务将在晚上 8:00 到 8:05 之间结束
- 只要任务取消宽限期,HPC 任务就可以在联机时间块结束之后继续运行。
- 只要任务取消宽限期,Azure 节点部署就可以超出节点时间块的结束时间。
- 如果应用程序允许它,请将任务取消宽限期调整为较小的值。

另请参阅

为 Microsoft HPC Pack 配置 Azure 节点模板
了解节点状态、运行状况和操作
任务取消宽限期
设置 Azure 代理节点数