

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# HyperPod 上互動式空間的任務控管
<a name="task-governance"></a>

本節說明如何針對互動式空間工作負載最佳化共用的 Amazon SageMaker HyperPod EKS 叢集。您將學習如何設定 Kueue 的任務控管功能，包括配額管理、優先順序排程和資源共用政策，以確保您的開發工作負載在執行時不會中斷，同時維持團隊訓練、評估和批次處理活動的公平分配。

## 互動式空間管理的運作方式
<a name="task-governance-how"></a>

若要有效管理共用 HyperPod EKS 叢集中的互動式空間，請使用 Kueue 的現有功能實作下列任務控管策略。

**優先順序類別組態**

為具有高權重 （例如 100) 的互動式空間定義專用優先順序類別，以確保在其他任務類型之前認可和排程開發 Pod。此組態可讓互動式空間在叢集載入期間先佔較低優先順序的任務，這對於維護不間斷的開發工作流程至關重要。

**配額大小和配置**

在團隊的 ClusterQueue 中預留足夠的運算資源，以處理預期的開發工作負載。在開發資源閒置期間，未使用的配額資源可以暫時分配給其他團隊的任務。當開發需求增加時，可以回收這些借用的資源，以排定待定互動式空間 Pod 的優先順序。

**資源共用策略**

根據您的要求，在兩種配額共用方法之間進行選擇：

*嚴格資源控制*：停用配額貸款和借用，以確保您的互動式空間隨時可以使用預留運算容量。此方法需要夠大的配額大小，才能獨立處理尖峰開發需求，並可能在低用量期間導致閒置節點。

*彈性資源共享*：啟用配額貸款，以允許其他團隊在需要時利用閒置開發資源。不過，請停用借用，以確保互動式空間永遠不會在借用、可回收的資源上執行，這可能會導致非預期的移出。

**團隊內先佔**

在相同配額下執行混合工作負載 （訓練、評估和互動式空間） 時，啟用團隊內先佔。這可讓 Kueue 在您的團隊中先佔較低優先順序的任務，以容納高優先順序的互動式空間 Pod，確保開發工作可以繼續進行，而不需要根據外部配額借用。

## 互動式空間設定範例
<a name="task-governance-space-setup"></a>

下列範例顯示 Kueue 如何管理共用 Amazon SageMaker HyperPod 叢集中互動式空間的運算資源。

**叢集組態和政策設定**

您的叢集具有下列組態：
+ *Team Alpha （開發團隊）*：互動式空間的 8 個 CPU 配額
+ *團隊 Beta 版 (ML 團隊）*：用於訓練和評估的 16 個 CPU 配額
+ *團隊 Gamma （研究）*：實驗用 6 個 CPU 配額
+ *靜態佈建*：無自動擴展
+ *總容量*：30 CPUs

共用 CPU 集區使用此優先順序政策：
+ *互動式空間*：Priority 100
+ *訓練*：優先順序 75
+ *評估*：優先順序 50
+ *批次處理*：優先順序 25

Kueue 會強制執行團隊配額和優先順序類別，啟用先佔並為開發團隊停用借用。

**初始狀態：正常叢集使用率**

在正常操作中：
+ *團隊 Alpha*：使用 6 個 CPUs 執行 6 個互動式空間，2 個 CPUs 閒置
+ *團隊 Beta* 版：在其 16 CPUs 配額內執行訓練任務 (12 CPUs) 和評估 (4 個 CPU)
+ *團隊 Gamma*：在所有 6 CPUs 上執行研究工作負載
+ *資源共用*：Team Beta 借用 Team Alpha 的 2 個閒置 CPUs進行額外訓練

**開發高峰：Team Alpha 需要額外的資源**

當 Team Alpha 的開發人員需要擴展開發工作時，額外的互動式空間 Pod 需要額外 4 CPUs。Kueue 偵測到新 Pod：
+ 在 Team Alpha 的命名空間內
+ Priority 100 （互動式空間）
+ 由於配額限制條件而等待接納

**Kueue 的回應程序**

Kueue 遵循三步驟程序來分配資源：

1. **配額檢查**

   問題：團隊 Alpha 是否有未使用的配額？
   + *目前用量*：使用的 6 CPUs、可用的 2 CPUs 
   + *新需求*：需要 4 CPUs 
   + *結果*：配額不足 → 繼續步驟 2

1. **Team Alpha 中的自我先佔**

   問題：低優先順序團隊 Alpha 任務是否可以先佔？
   + *可用的目標*：Team Alpha 中沒有較低優先順序的任務
   + *結果*：無法先佔 → 繼續步驟 3

1. **回收借用的資源**

   問題：團隊 Alpha 資源是否由其他團隊借用？
   + *借用的資源*：使用 Team Alpha 的 2 個 CPUs Team Beta
   + *動作*：Kueue 移出 Team Beta 版借用的訓練 Pod，釋放 2 個 CPUs
   + *剩餘需求*：仍然需要 2 個 CPUs → 互動式空間保持 NotAdmitted 狀態，直到資源可用為止

此方法優先考慮互動式空間，同時維持團隊配額界限，並防止開發工作在不穩定的借用資源上執行。