

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

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

 AWS PCS 队列是对调度器对工作队列的本机实现的轻量级抽象。就 Slurm 而言， AWS PCS 队列等同于 Slurm 分区。

 用户将作业提交到他们所在的队列，直到可以安排作业在一个或多个计算节点组提供的节点上运行。一个 AWS PCS 集群可以有多个任务队列。例如，您可以创建一个使用亚马逊 EC2 按需实例处理高优先级任务的队列和另一个使用亚马逊 EC2 竞价型实例处理低优先级任务的队列。

**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 设置，以实现特定分区的调度策略和资源管理。有关更多信息，请参阅 [在 PCS 中配置自定义 Slurm 设置 AWS](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 设置。有关支持的参数的完整列表，请参阅[PCS 队列的自定义 Slurm 设置 AWS](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. *my-cluster*替换为集群的名称或 ID。

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}]'
```
有关更多信息，请参阅 [PCS 队列的自定义 Slurm 设置 AWS](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 自定义设置的信息，请参阅。[PCS 队列的自定义 Slurm 设置 AWS](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 设置。有关更多信息，请参阅 [PCS 队列的自定义 Slurm 设置 AWS](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}]'
   ```

   有关更多信息，请参阅 [PCS 队列的自定义 Slurm 设置 AWS](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>
+  如果队列中有作业在运行，则在删除队列时，调度程序将终止这些作业。队列中的待处理任务将被取消。可以考虑等待队列中的任务完成， stop/cancel 或者使用调度程序的本机命令（`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`。可能需要几分钟的时间才能完成。

**注意**  
您可以使用调度程序原生的命令来确认队列已删除。例如，对于 Slur `squeue` m 使用`sinfo`或。

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

**删除队列**
+  使用以下命令删除队列，并使用以下替换命令：
  +  *region-code*替换为 AWS 区域 您的集群所在的。
  +  *my-queue*替换为队列的名称或 ID。
  +  *my-cluster*替换为集群的名称或 ID。

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

   删除队列可能需要几分钟。
**注意**  
您可以使用调度程序原生的命令来确认队列已删除。例如，对于 Slur `squeue` m 使用`sinfo`或。

------