

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

# 互动空间的任务管理 HyperPod
<a name="task-governance"></a>

本节介绍如何针对交互空间工作负载优化共享的 SageMaker HyperPod Amazon EKS 集群。您将学习配置 Kueue 的任务管理功能（包括配额管理、优先级调度和资源共享策略），以确保您的开发工作负载不受干扰地运行，同时在团队的培训、评估和批处理活动中保持公平分配。

## 互动空间管理的工作原理
<a name="task-governance-how"></a>

要有效管理共享 E HyperPod KS 集群中的交互空间，请使用 Kueue 的现有功能实施以下任务治理策略。

**优先级类配置**

为具有高权重（例如 100）的 Interactive Spaces 定义专用的优先级类，以确保开发窗格在其他任务类型之前被允许和调度。此配置使 Interactive Spaces 能够在集群加载期间抢占优先级较低的作业，这对于维持不间断的开发工作流程至关重要。

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

在团队中预留足够的计算资源 ClusterQueue 来处理预期的开发工作负载。在开发资源闲置期间，可以将未使用的配额资源临时分配给其他团队的任务。当开发需求增加时，可以回收这些借用的资源，以优先考虑待处理的 Interactive Space pods。

**资源共享策略**

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

*严格的资源控制*：禁用配额借出和借用，以保证您的交互空间始终可以使用预留的计算容量。这种方法需要调整足够大的配额，以独立处理高峰开发需求，并且可能会导致节点在使用率低的时段处于空闲状态。

*灵活的资源共享*：启用配额贷款，允许其他团队在需要时利用闲置的开发资源。但是，请禁用借用，以确保 Interactive Spaces 永远不会使用可能导致意外驱逐的借用、可回收的资源运行。

**团队内抢占**

在相同配额下运行混合工作负载（训练、评估和交互空间）时，启用团队内部抢占权。这允许 Kueue 抢占团队中优先级较低的作业，以容纳高优先级的 Interactive Space Pod，从而确保开发工作可以在不依赖外部配额借用的情况下继续进行。

## 互动空间设置示例
<a name="task-governance-space-setup"></a>

以下示例显示 Kueue 如何在共享的 Ama SageMaker HyperPod zon 集群中管理交互空间的计算资源。

**集群配置和策略设置**

您的集群具有以下配置：
+ *Alpha 团队（开发团队）*：互动空间配额为 8 个 CPU
+ *团队测试版（机器学习小组）*：16 个 CPU 配额用于训练和评估
+ *Gamma 团队（研究）*：6 个 CPU 配额用于实验
+ *静态预调配*：不自动扩缩
+ *总容量*：30 CPUs

共享 CPU 池使用以下优先级策略：
+ *互动空间*：优先级 100
+ *训练*：优先级 75
+ *评估*：优先级 50
+ *批处理*：优先级 25

Kueue 强制执行团队配额和优先等级，同时为开发团队启用抢占并禁用借用。

**初始状态：集群利用率正常**

正常运行期间：
+ *Alpha 队伍*：使用 6 CPUs、2 个空 CPUs 闲时间运行 6 个互动空间
+ *团队测试版*：在 16 个 CPU 配额内运行训练作业 (12 CPUs CPUs) 和评估 (4)
+ Tea@@ *m Gamma*：在所有 6 个上运行研究工作负载 CPUs
+ *资源共享*：Team Beta 借用 Alpha 队伍的 2 个空闲时间 CPUs 进行额外训练

**开发高峰：Alpha 团队需要额外资源**

当 Team Alpha 的开发者需要扩大开发工作规模时，额外的 Interactive Space pods 需要另外 4 个 CPUs。Kueue 检测到新的容器组（pod）：
+ 在 Alpha 队的命名空间内
+ 优先级 100（互动空间）
+ 因配额限制，处于待接纳状态

**Kueue 的响应流程**

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

1. **配额检查**

   问题：Alpha 队有未使用的配额吗？
   + *当前使用量*：6 个 CPUs 已使用，2 个 CPUs 可用
   + *新要求*： CPUs需要 4 个
   + *结果*：配额不足 → 继续步骤 2

1. **Alpha 队伍中的自我抢占权**

   问题：优先级较低的 Team Alpha 任务能否被抢占？
   + *可用目标：Al* pha 队伍中没有优先级较低的任务
   + *结果*：无法抢占 → 继续步骤 3

1. **回收借来的资源**

   问题：Alpha 团队的资源是否被其他队伍借用？
   + *借用资源*：使用来 CPUs 自 Alpha 队伍的 2 的团队测试版
   + *行动*：Kueue 驱逐了 Team Beta 借来的训练舱，释放了 2 个 CPUs
   + *剩余需求*：还需要 2 个 CPUs → 互动空间在资源可用之前保持 NotAdmitted 状态

这种方法优先考虑交互空间，同时保持团队配额界限，防止开发工作在不稳定的借用资源上运行。