HyperPod 上互動式空間的任務控管 - Amazon SageMaker AI

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

HyperPod 上互動式空間的任務控管

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

互動式空間管理的運作方式

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

優先順序類別組態

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

配額大小和配置

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

資源共用策略

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

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

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

團隊內先佔

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

互動式空間設定範例

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

叢集組態和政策設定

您的叢集具有下列組態:

  • Team Alpha (開發團隊):互動式空間的 8 個 CPU 配額

  • 團隊 Beta 版 (ML 團隊):用於訓練和評估的 16 個 CPU 配額

  • Team 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

  2. Team Alpha 中的自我先佔

    問題:低優先順序團隊 Alpha 任務是否可以先佔?

    • 可用的目標:Team Alpha 中沒有較低優先順序的任務

    • 結果:無法先佔 → 繼續步驟 3

  3. 回收借用的資源

    問題:團隊 Alpha 資源是否由其他團隊借用?

    • 借用的資源:使用 Team Alpha 的 2 個 CPUs Team Beta

    • 動作:Kueue 移出 Team Beta 的借用訓練 Pod,釋放 2 CPUs

    • 剩餘需求:仍然需要 2 個 CPUs → 互動式空間保持 NotAdmitted 狀態,直到資源可用為止

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