

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

# 政策
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies"></a>

Amazon SageMaker HyperPod 任務治理可簡化 Amazon EKS 叢集資源的配置方式，以及任務的優先順序。以下提供 HyperPod EKS 叢集政策的相關資訊。如需如何設定任務治理的資訊，請參閱[任務治理設定](sagemaker-hyperpod-eks-operate-console-ui-governance-setup-task-governance.md)。

這些政策分為**運算優先順序**和**運算配置**。以下政策概念將在這些政策的內容中組織。

**運算優先順序**或叢集政策會決定閒置運算的借用方式，以及團隊如何排定任務的優先順序。
+ **閒置運算配置**定義閒置運算如何跨團隊配置。亦即，如何從團隊借用未使用的運算。選擇**閒置運算配置**時，您可以選擇下列任一項：
  + **先到先得**：套用時，團隊彼此不會排定優先順序，而且每個傳入任務都同樣可能取得超額資源。任務會根據提交順序排定優先順序。這表示如果使用者先請求閒置運算，就有可能可以使用 100% 的閒置運算。
  + **公平共用**：套用時，團隊會根據其指派的**公平共用權重**借用閒置運算。這些權重是在**運算配置**中定義。如需如何使用此項的詳細資訊，請參閱[共用閒置運算資源範例](#hp-eks-task-governance-policies-examples)。
+ **任務優先順序**會定義在運算變成可用時將任務排入佇列的方式。選擇**任務優先順序**時，您可以選擇下列任一項：
  + **先到先得**：套用時，任務會依請求它們的順序排入佇列。
  + **任務排名**：套用時，任務會依其優先順序定義的順序排入佇列。如果選擇此選項，您必須新增優先順序類別以及應排定優先順序的權重。相同優先順序類別的任務將以先到先得的方式執行。在運算配置中啟用時，團隊內優先順序較高的任務會優先取代優先順序較低的任務。

    當資料科學家將任務提交至叢集時，他們會使用 YAML 檔案中的優先順序類別名稱。優先順序類別的格式為 `priority-class-name-priority`。如需範例，請參閱 [將任務提交至 SageMaker AI 受管佇列和命名空間](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md#hp-eks-cli-start-job)。
  + **優先順序類別**：這些類別會在借用容量時為任務建立相對優先順序。當任務使用借用的配額執行時，如果傳入任務沒有更多容量可用，則另一個優先順序高於該任務的任務可能會優先取代該任務。如果在**運算配置**中啟用**先佔**，較高優先順序的任務也可能會優先取代其團隊內的任務。
+ **未配置的資源共用**可讓團隊借用未透過運算配額配置給任何團隊的運算資源。啟用時，未配置的叢集容量可供團隊自動借用。如需詳細資訊，請參閱[未配置資源共用的運作方式](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works)。

**運算配置**或運算配額會定義團隊的運算配置，以及提供給團隊哪個權重 (或優先順序層級) 以進行公平共用閒置運算配置。
+ **團隊名稱**：團隊名稱。將建立類型為 `hyperpod-ns-team-name` 的對應**命名空間**。
+ **成員**：團隊命名空間的成員。您需要為想要成為此團隊一員的資料科學家使用者設定 Kubernetes 角色型存取控制 (RBAC)，才能在與 Amazon EKS 協作的 HyperPod 叢集上執行任務。若要設定 Kubernetes RBAC，請使用[建立團隊角色](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role)中的指示。
+ **公平共用權重**：這是套用**公平共用**進行**閒置運算配置**時指派給團隊的優先順序層級。最高優先順序的權重為 100，最低優先順序的權重為 0。較高的權重可讓團隊更快存取共用容量內未使用的資源。零權重表示優先順序最低，這意味著與其他團隊相比，此團隊總是處於劣勢。

  公平共用權重會在此團隊與其他團隊爭奪可用資源時為其提供比較優勢。許可會優先從權重最高且借用最低的團隊排程任務。例如，如果團隊 A 的權重為 10，而團隊 B 的權重為 5，則團隊 A 會優先存取未使用的資源，因為其中的任務排程早於團隊 B。
+ **任務先佔**：根據優先順序從任務接管運算。根據預設，租用閒置運算的團隊會優先取代來自其他團隊的任務。
+ **借出和借用**：團隊如何借出閒置運算，以及團隊是否可以向其他團隊借用。
  + 以**百分比為基礎的借用限制**：允許團隊借用的閒置運算限制，以其保證配額的百分比表示。團隊最多可借用 10，000% 的已配置運算。您在此處提供的值會解譯為百分比。例如，500 的值將解譯為 500%。此百分比可均勻套用至團隊配額中的所有資源類型 (CPU、GPU、記憶體） 和執行個體類型。
  + **絕對借用限制**：允許團隊借用的閒置運算限制，定義為每個執行個體類型的絕對資源值。這可讓您精細控制特定執行個體類型的借用行為。您需要使用與**運算配額**相同的結構描述來指定絕對限制，包括執行個體計數、加速器、vCPU、記憶體或加速器分割區。您可以為團隊配額中的一或多個執行個體類型指定絕對限制。

如需如何使用這些概念的資訊，例如優先順序類別和命名空間，請參閱[HyperPod 任務控管 AWS CLI 命令範例](sagemaker-hyperpod-eks-operate-console-ui-governance-cli.md)。

## 共用閒置運算資源範例
<a name="hp-eks-task-governance-policies-examples"></a>

總預留配額不應超過叢集對該資源的可用容量，以確保適當的配額管理。例如，如果叢集包含 20 個 `ml.c5.2xlarge` 執行個體，則指派給團隊的累積配額應保持在 20 以下。

如果團隊的**運算配置**政策允許**借出和借用**或**借出**，則閒置容量會由這些團隊之間共用。例如，團隊 A 和團隊 B 已啟用**借出和借用**。團隊 A 的配額為 6，但其任務只使用 2，而團隊 B 的配額為 5，其任務使用 4。提交給團隊 B 的任務需要 4 個資源。3 個將從團隊 A 借用。

如果任何團隊的**運算配置**政策設定為**不借出**，則團隊將無法借用超出自己配置的任何額外容量。

## 未配置資源共用的運作方式
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works"></a>

未配置的資源共用會自動管理未配置給叢集中任何運算配額的資源集區。這表示 HyperPod 會持續監控叢集狀態，並隨著時間自動更新至正確的組態。

**初始設定**
+ 當您在 ClusterSchedulerConfig `Enabled`中`IdleResourceSharing`將 設定為 （預設為 `Disabled`) 時，HyperPod 任務控管會開始監控叢集，並透過從總節點容量減去團隊配額來計算可用的閒置資源。
+ 建立未配置的資源共用 ClusterQueues以代表可借用的資源集區。
+ 當您第一次啟用未配置的資源共用時，基礎設施設定需要幾分鐘的時間。您可以透過政策和 ClusterSchedulerConfig `Status``DetailedStatus`監控進度。

**持續對帳**
+ HyperPod 任務控管會持續監控節點新增或移除以及叢集佇列配額更新等變更。
+  發生變更時，未配置的資源共用會重新計算配額並更新 ClusterQueues。調校通常會在幾秒鐘內完成。

**監控**

 您可以檢查未配置的資源共用 ClusterQueues，以確認未配置的資源共用已完全設定：

```
kubectl get clusterqueue | grep hyperpod-ns-idle-resource-sharing
```

當您看到名稱如 的 ClusterQueues 時`hyperpod-ns-idle-resource-sharing-cq-1`，未配置的資源共用會處於作用中狀態。請注意，視叢集中的資源樣式而定，可能會有多個未配置的資源共用 ClusterQueues。

## 未配置資源共用的節點資格
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility"></a>

未配置的資源共用僅包含符合下列要求的節點：

1. **節點就緒狀態**
   + 節點必須處於 `Ready` 狀態，才能對未配置的資源集區做出貢獻。
   + 容量計算會排除處於 `NotReady`或其他未就緒狀態的節點。
   + 當節點變成 時`Ready`，它會自動包含在下一個調校週期中。

1. **節點可排程狀態**
   + 具有 的節點`spec.unschedulable: true`會從未配置的資源共用中排除。
   + 當節點再次變成可排程時，它會自動包含在下一個調校週期中。

1. **MIG 組態 （僅限 GPU 節點）**
   + 對於具有 MIG （多執行個體 GPU) 分割`success`的 GPU 節點，`nvidia.com/mig.config.state`標籤必須顯示為節點提供 MIG 設定檔給未配置的資源共用。
   + 一旦 MIG 組態成功完成，這些節點就會自動重試。

1. **支援的執行個體類型**
   + 執行個體必須是支援的 SageMaker HyperPod 執行個體類型。
   + 請參閱 SageMaker HyperPod 叢集中支援的執行個體類型清單。

**Topics**
+ [共用閒置運算資源範例](#hp-eks-task-governance-policies-examples)
+ [未配置資源共用的運作方式](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-how-it-works)
+ [未配置資源共用的節點資格](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-idle-resource-sharing-node-eligibility)
+ [建立政策](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create.md)
+ [編輯政策](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit.md)
+ [刪除政策](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete.md)
+ [在 Amazon SageMaker HyperPod 任務治理中配置運算配額](sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation.md)

# 建立政策
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-create"></a>

您可以在**政策**索引標籤中建立**叢集政策**和**運算配置**組態。以下提供如何建立下列組態的指示。
+ 建立**叢集政策**以更新任務的優先順序排定方式和閒置運算的配置方式。
+ 建立**運算配置**，為團隊建立新的運算配置政策。
**注意**  
建立**運算配置**時，您需要為對應命名空間中的資料科學家使用者設定 Kubernetes 角色型存取控制 (RBAC)，以在與 Amazon EKS 協調的 HyperPod 叢集上執行任務。命名空間具有格式 `hyperpod-ns-team-name`。若要設定 Kubernetes RBAC，請使用[建立團隊角色](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role)中的指示。

如需 HyperPod 任務治理 EKS 叢集政策概念的相關資訊，請參閱[政策](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)。

**建立 HyperPod 任務治理政策**

此程序假設您已建立一個使用 HyperPod 設定的 Amazon EKS 叢集。如果您尚未這麼做，則請參閱[使用 Amazon EKS 協同運作建立 SageMaker HyperPod 叢集](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md)。

1. 導覽至 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格的 **HyperPod 叢集**下，選擇**叢集管理**。

1. 選擇 **SageMaker HyperPod 叢集**下列出的 Amazon EKS 叢集。

1. 選擇 **Policies (政策)** 標籤。

1. 若要建立您的**叢集政策**：

   1. 選擇對應的**編輯**，以更新任務的優先順序和閒置運算的配置方式。

   1. 完成變更後，請選擇**提交**。

1. 若要建立**運算配置**：

1. 

   1. 選擇對應的**建立**。這會帶您前往運算配置建立頁面。

   1. 完成變更後，請選擇**提交**。

# 編輯政策
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-edit"></a>

您可以在**政策**索引標籤中編輯**叢集政策**和**運算配置**組態。以下提供如何編輯下列組態的指示。
+ 編輯**叢集政策**以更新任務的優先順序排定方式和閒置運算的配置方式。
+ 編輯**運算配置**，為團隊建立新的運算配置政策。
**注意**  
建立**運算配置**時，您需要為對應命名空間中的資料科學家使用者設定 Kubernetes 角色型存取控制 (RBAC)，以在與 Amazon EKS 協調的 HyperPod 叢集上執行任務。命名空間具有格式 `hyperpod-ns-team-name`。若要設定 Kubernetes RBAC，請使用[建立團隊角色](https://github.com/aws/sagemaker-hyperpod-cli/tree/main/helm_chart#5-create-team-role)中的指示。

如需 HyperPod 任務治理 EKS 叢集政策概念的詳細資訊，請參閱 [政策](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)。

**編輯 HyperPod 任務治理政策**

此程序假設您已建立一個使用 HyperPod 設定的 Amazon EKS 叢集。如果您尚未這麼做，則請參閱[使用 Amazon EKS 協同運作建立 SageMaker HyperPod 叢集](sagemaker-hyperpod-eks-operate-console-ui-create-cluster.md)。

1. 導覽至 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格的 **HyperPod 叢集**下，選擇**叢集管理**。

1. 選擇 **SageMaker HyperPod 叢集**下列出的 Amazon EKS 叢集。

1. 選擇 **Policies (政策)** 標籤。

1. 若要編輯您的**叢集政策**：

   1. 選擇對應的**編輯**，以更新任務的優先順序和閒置運算的配置方式。

   1. 完成變更後，請選擇**提交**。

1. 若要編輯您的**運算配置**：

1. 

   1. 在**運算配置**下選擇您要編輯的組態。這會將您前往容器組態詳細資訊頁面。

   1. 如果您想要編輯這些組態，請選擇**編輯**。

   1. 完成變更後，請選擇**提交**。

# 刪除政策
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete"></a>

您可以使用 SageMaker AI 主控台或 AWS CLI刪除**叢集政策**和**運算配置**組態。下頁提供如何刪除 SageMaker HyperPod 任務治理政策和組態的指示。

如需 HyperPod 任務治理 EKS 叢集政策概念的詳細資訊，請參閱 [政策](sagemaker-hyperpod-eks-operate-console-ui-governance-policies.md)。

**注意**  
如果您有列出或刪除任務治理政策方面的問題，您可能需要更新叢集管理員的最低許可集。請參閱 [叢集管理員的 IAM 使用者](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-cluster-admin) 區段中的 **Amazon EKS** 索引標籤。如需其他資訊，請參閱 [刪除叢集](sagemaker-hyperpod-eks-operate-console-ui-governance-troubleshoot.md#hp-eks-troubleshoot-delete-policies)。

## 刪除 HyperPod 任務治理政策 (主控台)
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-console"></a>

以下使用 SageMaker AI 主控台來刪除您的 HyperPod 任務治理政策。

**注意**  
您無法使用 SageMaker AI 主控台刪除**叢集政策** (`ClusterSchedulerConfig`)。若要了解如何使用 執行此操作 AWS CLI，請參閱 [刪除 HyperPod 任務治理政策 (AWS CLI)](#sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli)。

**刪除任務治理政策 (主控台)**

1. 導覽至 [Amazon SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker/)。

1. 在左側導覽窗格的 **HyperPod 叢集**下，選擇**叢集管理**。

1. 選擇 **SageMaker HyperPod 叢集**下列出的 Amazon EKS 叢集。

1. 選擇 **Policies (政策)** 標籤。

1. 若要刪除您的**運算配置** (`ComputeQuota`)：

   1. 在**運算配置**區段中，選取您要刪除的組態。

   1. 從**動作**下拉式功能表中，選擇**刪除**。

   1. 遵循 UI 中的指示完成任務。

## 刪除 HyperPod 任務治理政策 (AWS CLI)
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-delete-cli"></a>

以下使用 AWS CLI 刪除您的 HyperPod 任務控管政策。

**注意**  
如果您在使用下列命令時遇到問題，您可能需要更新您的 AWS CLI。如需詳細資訊，請參閱[安裝或更新至最新版本的 AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html)。

**刪除任務治理政策 (AWS CLI)**

首先為後續的 AWS CLI 命令設定變數。

```
REGION=aws-region
```

1. 取得與您要刪除之政策相關聯的 *cluster-arn*。您可以使用下列 AWS CLI 命令來列出 中的叢集 AWS 區域。

   ```
   aws sagemaker list-clusters \
       --region ${REGION}
   ```

1. 若要刪除您的運算配置 (`ComputeQuota`)：

   1. 列出與 HyperPod 叢集相關聯的所有運算配額。

      ```
      aws sagemaker list-compute-quotas \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. 對於您要刪除的每個 `compute-quota-id`，請執行下列命令來刪除運算配額。

      ```
      aws sagemaker delete-compute-quota \
          --compute-quota-id compute-quota-id \
          --region ${REGION}
      ```

1. 若要刪除您的叢集政策 (`ClusterSchedulerConfig`)：

   1. 列出與 HyperPod 叢集相關聯的所有叢集政策。

      ```
      aws sagemaker list-cluster-scheduler-configs \
          --cluster-arn cluster-arn \
          --region ${REGION}
      ```

   1. 對於您要刪除的每個 `cluster-scheduler-config-id`，請執行下列命令來刪除運算配額。

      ```
      aws sagemaker delete-cluster-scheduler-config 
          --cluster-scheduler-config-id scheduler-config-id \
          --region ${REGION}
      ```

# 在 Amazon SageMaker HyperPod 任務治理中配置運算配額
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation"></a>

叢集管理員可以決定組織如何使用購買的運算。這樣做可減少浪費和閒置資源。您可以配置運算配額，讓團隊可以彼此借用未使用的資源。HyperPod 任務治理中的運算配額配置可讓管理員在執行個體層級和更精細的資源層級配置資源。此功能允許精細控制個別運算資源，而不是要求整個執行個體配置，為團隊提供靈活且有效率的資源管理。在精細層級配置可消除傳統執行個體層級配置的效率低下情況。透過此方法，您可以最佳化資源使用率並減少閒置運算。

運算配額配置支援三種類型的資源配置：加速器、vCPU 和記憶體。加速器是加速電腦執行個體中執行函數的元件，例如浮點數計算、圖形處理或資料模式比對。加速器包括 GPU、 Trainium 加速器和神經元核心。對於多團隊 GPU 共用，不同的團隊可以從相同的執行個體類型接收特定的 GPU 配置，最大限度地提高加速器硬體的使用率。對於需要額外 RAM 進行資料預先處理或模型快取案例的記憶體密集型工作負載，您可以配置超出預設 GPU 與記镱體比率的記憶體配額。對於需要大量 CPU 資源以及 GPU 訓練的 CPU 密集型預先處理任務，您可以配置獨立的 CPU 資源配置。

一旦您提供值，HyperPod 任務治理就會使用公式**配置的資源除以執行個體中可用的資源總數**來計算比率。然後，HyperPod 任務治理會使用此比率，將預設配置套用至其他資源，但您可以覆寫這些預設值，並根據使用案例自訂它們。以下是 HyperPod 任務治理如何根據您的值配置資源的範例案例：
+ **僅指定加速器** - HyperPod 任務治理會根據加速器值，將預設比率套用至 vCPU 和記憶體。
+ **僅指定 vCPU** - HyperPod 任務治理會計算比率並將其套用至記憶體。加速器設定為 0。
+ **僅指定記憶體** - HyperPod 任務治理會計算比率並將其套用至 vCPU，因為執行記憶體指定的工作負載需要運算。加速器設定為 0。

若要以程式設計方式控制配額配置，您可以使用 [ComputeQuotaResourceConfig](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ComputeQuotaResourceConfig.html) 物件，並以整數指定配置。

```
{
    "ComputeQuotaConfig": {
        "ComputeQuotaResources": [{
            "InstanceType": "ml.g5.24xlarge",
            "Accelerators": "16",
            "vCpu": "200.0",
            "MemoryInGiB": "2.0"
        }]
    }
}
```

若要查看所有配置，包括預設值，請使用 [DescribeComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeComputeQuota.html) 操作。若要更新您的配置，請使用 [UpdateComputeQuota](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateComputeQuota.html) 操作。

您也可以使用 HyperPod CLI 來配置運算配額。如需 HyperPod CLI 的詳細資訊，請參閱 [在 Amazon EKS 協作的 SageMaker HyperPod 叢集上執行任務](sagemaker-hyperpod-eks-run-jobs.md)。下列範例示範如何使用 HyperPod CLI 設定運算配額。

```
hyp create hyp-pytorch-job --version 1.1 --job-name sample-job \
--image 123456789012.dkr.ecr.us-west-2.amazonaws.com/ptjob:latest \
--pull-policy "Always" \
--tasks-per-node 1 \
--max-retry 1 \
--priority high-priority \
--namespace hyperpod-ns-team-name \
--queue-name hyperpod-ns-team-name-localqueue \
--instance-type sample-instance-type \
--accelerators 1 \
--vcpu 3 \
--memory 1 \
--accelerators-limit 1 \
--vcpu-limit 4 \
--memory-limit 2
```

若要使用 AWS 主控台配置配額，請遵循下列步驟。

1. 開啟 Amazon SageMaker AI 主控台，網址為 [https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)。

1. 在 HyperPod 叢集下，選擇**叢集管理**。

1. 在**運算配置**下，選擇**建立**。

1. 如果您還沒有執行個體，請選擇**新增配置**以新增執行個體。

1. 在**配置**下，選擇依執行個體或個別資源配置。如果您依個別資源配置，SageMaker AI 會根據您選擇的比率自動將配置指派給其他資源。若要覆寫此比率型配置，請使用對應的切換來覆寫該運算。

1. 重複步驟 4 和 5 來設定額外的執行個體。

配置運算配額後，您可以接著透過 HyperPod CLI 或 `kubectl` 提交任務。HyperPod 會根據可用的配額有效率地排程工作負載。

# 配置 GPU 分割區配額
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions"></a>

您可以擴展運算配額分配以支援 GPU 分割，在 GPU 分割區層級實現精細的資源共享。在叢集中支援的 GPUs 上啟用 GPU 分割時，每個實體 GPU 都可以分割成多個隔離的 GPUs，其中包含定義的運算、記憶體和串流多處理器配置。如需 GPU 分割的詳細資訊，請參閱 [在 Amazon SageMaker HyperPod 中使用 GPU 分割區](sagemaker-hyperpod-eks-gpu-partitioning.md)。您可以將特定 GPU 分割區配置給團隊，讓多個團隊共用單一 GPU，同時維持硬體層級隔離和可預測的效能。

例如，具有 8 個 H100 GPUs 的 ml.p5.48xlarge 執行個體可以分割成 GPU 分割區，而且您可以根據其任務需求將個別分割區配置給不同的團隊。當您指定 GPU 分割區配置時，HyperPod 任務控管會根據 GPU 分割區計算比例 vCPU 和記憶體配額，類似於 GPU 層級配置。此方法可消除閒置容量，並在同一實體 GPU 上跨多個並行任務啟用具成本效益的資源共用，藉此最大化 GPU 使用率。

## 建立運算配額
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-creating"></a>

```
aws sagemaker create-compute-quota \
  --name "fractional-gpu-quota" \
  --compute-quota-config '{
    "ComputeQuotaResources": [
      {
        "InstanceType": "ml.p4d.24xlarge",
        "AcceleratorPartition": {
            "Count": 4,
            "Type": "mig-1g.5gb"
        }
      }
    ],
    "ResourceSharingConfig": { 
      "Strategy": "LendAndBorrow", 
      "BorrowLimit": 100 
    }
  }'
```

## 驗證配額資源
<a name="sagemaker-hyperpod-eks-operate-console-ui-governance-policies-compute-allocation-gpu-partitions-verifying"></a>

```
# Check ClusterQueue
kubectl get clusterqueues
kubectl describe clusterqueue QUEUE_NAME

# Check ResourceFlavors
kubectl get resourceflavor
kubectl describe resourceflavor FLAVOR_NAME
```