

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

# AWS PCS 佇列
<a name="working-with_queues"></a>

 AWS PCS 佇列是排程器原生實作工作佇列的輕量抽象。如果是 Slurm， AWS PCS 佇列相當於 Slurm 分割區。

 使用者將任務提交到他們所在的佇列，直到可以排程在一或多個運算節點群組提供的節點上執行。 AWS PCS 叢集可以有多個任務佇列。例如，您可以建立使用 Amazon EC2 隨需執行個體進行高優先順序任務的佇列，以及使用 Amazon EC2 Spot 執行個體進行低優先順序任務的另一個佇列。

**Topics**
+ [在 AWS PCS 中建立佇列](working-with_queues_create.md)
+ [更新 AWS PCS 佇列](working-with_queues_update.md)
+ [在 AWS PCS 中刪除佇列](working-with_queues_delete.md)

# 在 AWS PCS 中建立佇列
<a name="working-with_queues_create"></a>

本主題提供可用選項的概觀，並說明在 AWS PCS 中建立佇列時應考量的事項。

**注意**  
您可以在佇列上設定自訂 Slurm 設定，以實作分割區特定的排程政策和資源管理。如需詳細資訊，請參閱[在 AWS PCS 中設定自訂 Slurm 設定](slurm-custom-settings.md)。

## 先決條件
<a name="working-with_queues_create_prereq"></a>
+  AWS PCS 叢集 - 只能建立與特定 AWS PCS 叢集相關聯的佇列。
+ 一或多個 AWS PCS 運算節點群組 - 佇列必須與至少一個 AWS PCS 運算節點群組相關聯。

## 在 AWS PCS 中建立佇列
<a name="working-with_queues_create_create"></a>

您可以使用 AWS 管理主控台 或 建立佇列 AWS CLI。

------
#### [ AWS 管理主控台 ]

**使用主控台建立佇列**

1. 開啟 [AWS PCS 主控台](https://console.aws.amazon.com/pcs/home#/clusters)。

1. 選取佇列的叢集。導覽至**佇列**，然後選擇**建立佇列**。

1. 在**佇列組態**區段中，提供下列值：

   1. **佇列名稱** – 佇列的名稱。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母字元開頭，且長度不可超過 25 個字元。名稱在叢集中必須是唯一的。

   1. **運算節點群組** – 選取 1 個或多個運算節點群組來服務此佇列。運算節點群組可以與多個佇列建立關聯。

1. （選用） **在其他排程器設定**區段中，您可以新增參數名稱和值對來設定其他 Slurm 設定。如需支援參數的完整清單，請參閱 [AWS PCS 佇列的自訂 Slurm 設定](slurm-custom-settings-queue.md)。

1. （選用） 在**標籤**下，將任何標籤新增至 AWS PCS 佇列

1. 選擇**建立佇列**。當 AWS PCS **建立**佇列時，**狀態**欄位會顯示建立。建立佇列可能需要幾分鐘的時間。

**建議的下一個步驟**
+ 將任務提交到您的新佇列。

------
#### [ AWS CLI ]

**使用 建立佇列 AWS CLI**

使用下列命令來建立佇列。進行下列取代：

1. 將 *region-code* 取代為叢集的 AWS 區域。例如 `us-east-1`。

1. 以佇列的名稱取代 *my-queue*。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母字元開頭，且長度不可超過 25 個字元。名稱在叢集中必須是唯一的。

1. 以叢集的名稱或 ID 取代 *my-cluster*。

1. 將 *compute-node-group-id* 取代為運算節點群組的 ID，以便為佇列提供服務。例如 `pcs_abcdef12345`。
**注意**  
建立佇列時，您必須提供運算節點群組的 ID，而不是其名稱。

```
aws pcs create-queue --region region-code \
    --queue-name my-queue \
    --cluster-identifier my-cluster \
    --compute-node-group-configurations \
    computeNodeGroupId=compute-node-group-id
```

**Example – 使用自訂 Slurm 設定建立佇列**  

```
aws pcs create-queue --region region-code \
    --queue-name my-queue \
    --cluster-identifier my-cluster \
    --compute-node-group-configurations \
    computeNodeGroupId=compute-node-group-id \
    --slurm-configuration \
    'slurmCustomSettings=[{parameterName=Default,parameterValue=YES}]'
```
如需詳細資訊，請參閱[AWS PCS 佇列的自訂 Slurm 設定](slurm-custom-settings-queue.md)。

建立佇列可能需要幾分鐘的時間。您可以使用下列命令查詢佇列的狀態。在任務的狀態達到 之前，您將無法將任務提交至佇列`ACTIVE`。

```
aws pcs get-queue --region region-code \
    --cluster-identifier my-cluster \
    --queue-identifier my-queue
```

**建議的下一個步驟**
+ 將任務提交到您的新佇列

------

# 更新 AWS PCS 佇列
<a name="working-with_queues_update"></a>

本主題提供可用選項的概觀，並說明更新 AWS PCS 佇列時的考量事項。如需 Slurm 自訂設定的詳細資訊，請參閱 [AWS PCS 佇列的自訂 Slurm 設定](slurm-custom-settings-queue.md)。

## 更新 AWS PCS 佇列時的考量事項
<a name="working-with_queues_update_considerations"></a>

佇列更新不會影響執行中的任務，但叢集在更新佇列時可能無法接受新任務。

## 更新 AWS PCS 佇列
<a name="working-with_queues_update_update"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 來更新佇列。

------
#### [ AWS 管理主控台 ]

**更新佇列**

1. 在 開啟 AWS PCS 主控台 `https://console.aws.amazon.com/pcs/home#/clusters`

1. 選取您要更新佇列的叢集。

1. 導覽至**佇列**，前往要更新的佇列，然後選取**編輯**。

1. 在佇列組態區段中，更新下列任何值：
   +  **節點群組** – 新增或移除運算節點群組與佇列的關聯。
   +  **其他排程器設定** – 新增、修改或移除佇列的自訂 Slurm 設定。如需詳細資訊，請參閱[AWS PCS 佇列的自訂 Slurm 設定](slurm-custom-settings-queue.md)。
   +  **標籤** – 新增或移除佇列的標籤。

1. 選擇**更新**。套用變更時，**狀態**欄位會顯示*更新*。
**重要**  
佇列更新可能需要幾分鐘的時間。

------
#### [ AWS CLI ]

**更新佇列**

1. 使用下列命令更新您的佇列。執行命令之前，請執行下列替換：

   1. 將 *region-code* 取代為您要在其中建立叢集 AWS 區域 的 。

   1. 將 *my-queue* 取代`computeNodeGroupId`為佇列的名稱或 。

   1. 以叢集的名稱或 取代 *my-cluster*。 `clusterId`

   1.  若要變更運算節點群組關聯，請提供 的更新清單`--compute-node-group-configurations`。

      1.  例如，若要新增第二個運算節點群組 `computeNodeGroupExampleID2`：

        ```
        --compute-node-group-configurations computeNodeGroupId=computeNodeGroupExampleID1,computeNodeGroupId=computeNodeGroupExampleID2
        ```

   ```
   aws pcs update-queue --region region-code \
       --queue-identifier my-queue \
       --cluster-identifier my-cluster \
       --compute-node-group-configurations \
       computeNodeGroupId=computeNodeGroupExampleID1
   ```  
**Example – 使用自訂 Slurm 設定更新佇列**  

   ```
   aws pcs update-queue --region region-code \
       --queue-identifier my-queue \
       --cluster-identifier my-cluster \
       --slurm-configuration \
       'slurmCustomSettings=[{parameterName=Default,parameterValue=YES}]'
   ```

   如需詳細資訊，請參閱[AWS PCS 佇列的自訂 Slurm 設定](slurm-custom-settings-queue.md)。

1. 更新佇列可能需要幾分鐘的時間。您可以使用下列命令查詢佇列的狀態。在任務的狀態達到 之前，您將無法將任務提交至佇列`ACTIVE`。

   ```
   aws pcs get-queue --region region-code \
       --cluster-identifier my-cluster \ 
       --queue-identifier my-queue
   ```

------

**建議的後續步驟**
+ 將任務提交至更新後的佇列。

# 在 AWS PCS 中刪除佇列
<a name="working-with_queues_delete"></a>

本主題提供如何在 AWS PCS 中刪除佇列的概觀。

## 刪除佇列時的考量事項
<a name="working-with_queues_delete_considerations"></a>
+  如果佇列中有正在執行的任務，則在刪除佇列時，排程器會終止這些任務。佇列中的待定任務將會取消。考慮等待佇列中的任務完成，或使用排程器的原生命令 （例如 `scancel` Slurm 的 ) 手動停止/取消任務。

## 刪除佇列
<a name="working-with_queues_delete_methods"></a>

您可以使用 AWS 管理主控台 或 AWS CLI 來刪除佇列。

------
#### [ AWS 管理主控台 ]

**刪除佇列**

1. 開啟 [AWS PCS 主控台](https://console.aws.amazon.com/pcs/home#/clusters)。

1. 選取佇列的叢集。

1. 導覽至**佇列**，然後選取要刪除的佇列。

1. 選擇 **刪除**。

1. **狀態**欄位會顯示 `Deleting`。此需要幾分鐘的時間來完成。

**注意**  
您可以使用排程器原生的命令來確認佇列已刪除。例如，針對 Slurm 使用 `squeue` `sinfo`或 。

------
#### [ AWS CLI ]

**刪除佇列**
+  使用下列命令來刪除具有這些替換項目的佇列：
  +  AWS 區域 將 *region-code* 取代為叢集所在的 。
  +  以佇列的名稱或 ID 取代 *my-queue*。
  +  以叢集的名稱或 ID 取代 *my-cluster*。

  ```
  aws pcs delete-queue --region region-code \
         --queue-identifier my-queue \
         --cluster-identifier my-cluster
  ```

   刪除佇列可能需要幾分鐘的時間。
**注意**  
您可以使用排程器原生的命令來確認佇列已刪除。例如，針對 Slurm 使用 `squeue` `sinfo`或 。

------