View a markdown version of this page

在 Amazon SageMaker HyperPod 任务管理中使用帮派计划 - 亚马逊 SageMaker AI

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

在 Amazon SageMaker HyperPod 任务管理中使用帮派计划

在分布式机器学习训练中,一项作业通常需要多个 pod 在节点之间并行运行,并通过 pod 到 Pod 通信。 HyperPod 任务治理使用 Kueue 的waitForPodsReady功能来实现帮派调度。启用后,Kueue 将监控工作负载,直到其所有 pod 都准备就绪,这意味着已调度、正在运行并通过可选的就绪探测器。如果工作负载的所有 Pod 在配置的超时时间内未准备就绪,则该工作负载将被逐出并重新排队。

帮派安排具有以下好处:

  • 防止资源浪费 — 如果所有 Pod 都未准备就绪,Kueue 会驱逐工作负载并重新排队,从而确保部分运行的工作负载不会无限期地保留资源。

  • 避免死锁-防止作业持有部分资源并无限期地相互阻塞。

  • 自动恢复 — 如果 pod 在超时时间内未准备就绪,则会使用可配置的指数退避来驱逐工作负载并重新排队,而不是无限期地挂起。

激活帮派计划

要激活帮派计划,你必须有一个安装了任务管理 HyperPod Amazon EKS 附加组件的 Amazon EKS 集群。插件状态必须为ActiveDegraded

注意

也可以kubectl通过编辑集群上的 Kueue 配置来直接配置群组调度。

激活帮派计划(SageMaker AI 控制台)
  1. 打开 Amazon SageMaker AI 控制台并导航到您的 HyperPod 集群。

  2. 选择 “策略管理” 选项卡。

  3. 在 “任务管理” 部分,打开 “操作”,然后选择 “配置群组调度”。

  4. 开启帮派排程并配置设置。

  5. 选择保存。Kueue 控制器将重新启动以应用更改。

帮派调度配置设置

下表描述了群组调度的配置设置。

设置 说明 默认
timeout Kueue 在驱逐和重新排队工作负载之前等待所有 pod 准备就绪多长时间。 5m
recoveryTimeout Kueue 在节点出现故障后等待 Pod 恢复多长时间后才重新排队工作负载。设置0s为禁用。timeout如果未设置,则默认为的值。 5m
blockAdmission 启用后,将按顺序允许工作负载。在当前工作负载的所有 pod 都准备就绪之前,不允许任何新的工作负载。防止资源受限的群集出现死锁。
requeuingStrategy timestamp requeue 顺序是使用Creation(原始提交时间,保留队列位置)还是Eviction(上次驱逐的时间,有效地降低了反复失败的作业的优先级)。 驱逐
requeuingStrategy backoffLimitCount Kueue 永久停用工作负载之前的最大重排尝试次数。留空可无限次重试。 无限制
requeuingStrategy backoffBaseSeconds 每次连续超时后重新排队工作负载时指数退避的基本时间(以秒为单位)。指数为 2。 60s
requeuingStrategy backoffMaxSeconds 限制指数退避延迟。到达后,Kueue 将继续按此固定间隔重新排队。 3600s
注意

修改帮派调度设置会重新启动 Kueue 控制器,这可能会暂时延迟任务准入。无论您是启用、禁用还是更新任何值,这都适用。正在运行的作业不会中断。

注意

帮派调度是集群范围的。它适用于集群上的所有 Kueue-managed 工作负载,而不仅仅是特定的团队或队列。