

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

# 模型部署的任务管理 HyperPod
<a name="sagemaker-hyperpod-model-deployment-task-gov"></a>

本节介绍如何针对实时推理工作负载优化共享的 SageMaker HyperPod Amazon EKS 集群。您将了解如何配置 Kueue 的任务治理功能（包括配额管理、优先级调度和资源共享策略），以确保推理工作负载在流量高峰期间获得所需的 GPU 资源，同时在团队的训练、评估和测试活动中保持公平分配。有关任务治理的更多一般信息，请参阅 [SageMaker HyperPod 任务治理](sagemaker-hyperpod-eks-operate-console-ui-governance.md)。

## 推理工作负载管理的工作方式
<a name="sagemaker-hyperpod-model-deployment-task-gov-how"></a>

为了有效管理共享 HyperPod EKS 集群中的实时推理流量峰值，请使用 Kueue 的现有功能实施以下任务治理策略。

**优先级类配置**

为推理工作负载定义权重较高（例如 100）的专用优先级类，确保推理容器组（pod）在其他任务类型之前被调度和接纳。此配置使推理工作负载能够在集群加载期间抢占优先级较低的作业，这对于在流量激增期间满足低延迟要求至关重要。

**配额大小调整和分配**

在团队的 `ClusterQueue` 中预留足够的 GPU 资源，以应对预期的推理峰值。在推理流量较低的时段内，可以将未使用的配额资源临时分配给其他团队的任务。当推理需求增加时，可以回收这些借入的资源，以确定待处理的推理容器组（pod）的优先级。有关更多信息，请参阅[集群队列](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/)。

**资源共享策略**

根据您的要求，在以下两种配额共享方法中进行选择：

1. **严格的资源控制：**禁用配额借出与借入功能，确保预留的 GPU 容量始终可用于工作负载。此方法要求配额大小设定需足够大，以独立应对峰值需求，这可能导致在低流量时段出现节点闲置的情况。

1. **灵活的资源共享：**启用配额借入功能，以便在需要时利用其他团队的闲置资源。借入的容器组（pod）会被标记为可抢占状态，如果借出团队回收资源容量，这些容器组（pod）可能会被驱逐。

**团队内抢占**

在同一配额下运行混合工作负载（评估、训练和推理）时，启用团队内抢占功能。这使得 Kueue 能够在团队内部抢占低优先级作业，以容纳高优先级的推理容器组（pod），从而确保实时推理可独立运行，而无需依赖外部配额借入。有关更多信息，请参阅[抢占](https://kueue.sigs.k8s.io/docs/concepts/preemption/)。

## 推理工作负载设置示例
<a name="sagemaker-hyperpod-model-deployment-task-gov-example"></a>

以下示例显示了 Kueue 如何在共享的 Ama SageMaker HyperPod zon 集群中管理 GPU 资源。

**集群配置和策略设置**  
您的集群具有以下配置：
+ **团队 A**：10 个 P4 GPU 配额
+ **团队 B**：20 个 P4 GPU 配额
+ **静态预调配**：不自动扩缩
+ **总容量**：30 P4 GPUs

共享 GPU 池使用以下优先级策略：

1. **实时推理**：优先级 100

1. **训练**：优先级 75

1. **评估**：优先级 50

Kueue 会实施团队配额与优先级类，同时启用抢占与配额借入功能。

**初始状态：集群利用率正常**  
正常运行期间：
+ A 队在所有 10 个 P4 上进行训练和评估工作 GPUs
+ 团队 B 在 20 个 GPU 配额内运行实时推理（10 个 P4）和评估（10 个 P4）作业
+ 集群已得到充分利用，所有作业均已被接纳且处于运行状态

**推理峰值：B 队需要额外资源 GPUs**  
当 B 队伍遇到流量激增时，额外的推理 pod 需要另外 5 个 P GPUs 4。Kueue 检测到新的容器组（pod）：
+ 位于团队 B 的命名空间内
+ 优先级 100（实时推理）
+ 因配额限制，处于待接纳状态

**Kueue 的响应过程会在两个选项之间进行选择：**  
**选项 1：配额借入** – 如果团队 A 只使用其 10 个 P4 中的 6 个，则 Kueue 可以使用闲置的 4 个 P4 来接纳团队 B 的容器组（pod）。然而，这些借入的资源具有可抢占性 – 如果团队 A 提交作业以使用其全部配额，则 Kueue 会驱逐团队 B 借入的推理容器组（pod）。

**选项 2：自抢占（推荐）**– 团队 B 运行低优先级评估作业（优先级 50）。当高优先级推理容器组（pod）处于等待状态时，Kueue 会在团队 B 的配额内抢占评估作业的资源，并接纳这些推理容器组（pod）。此方法可实现安全的资源分配，且不存在外部驱逐风险。

Kueue 遵循三步流程来分配资源：

1. **配额检查**

   问题：团队 B 是否有未使用的配额？
   + 是 → 接纳容器组（pod）
   + 否 → 继续执行步骤 2

1. **团队 B 内部的自抢占**

   问题：低优先级的团队 B 作业能否被抢占？
   + 是 → 抢占评估作业（优先级 50），释放 5 个 P4，并接纳推理容器组（pod）
   + 否 → 继续执行步骤 3

   此方法可将工作负载控制在团队 B 的保障配额范围内，从而避免外部驱逐风险。

1. **从其他团队借入**

   问题：其他团队是否有闲置的可借入配额？
   + 是 → 使用借入的配额接纳（标记为可抢占状态）
   + 否 → 容器组（pod）保持 `NotAdmitted` 状态