

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

# 多個佇列的組態
<a name="configuration-of-multiple-queues-v3"></a>

使用第 3 AWS ParallelCluster 版，您可以將 [`Scheduler`](Scheduling-v3.md#yaml-Scheduling-Scheduler) 設定為 ，`slurm`並在組態檔案中為 指定多個佇列[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)，以設定多個佇列。在此模式中，組態檔案 [`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)區段中指定的運算節點中共存不同的執行個體類型。[`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)具有不同執行個體類型的 會視需要擴展或縮減[`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)。

當工作負載共用相同的基礎基礎設施和資源 （例如共用儲存、聯網或登入節點） 時，單一叢集內的多個*佇列*通常優於多個叢集。如果工作負載有類似的運算、儲存和聯網需求，在單一叢集中使用多個佇列會更有效率，因為它允許資源共用並避免不必要的重複。這種方法簡化了管理並降低了額外負荷，同時仍然允許有效率的任務排程和資源配置。另一方面，當工作負載之間有強大的安全性、資料或操作隔離需求時，應使用多個*叢集*。例如，如果您需要獨立管理和操作工作負載，使用不同的排程、更新週期或存取政策，則多個叢集更為合適。


**叢集佇列和運算資源配額**  

| 資源 | 配額 | 
| --- | --- | 
|  [`Slurm queues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)  |  每個叢集 50 個佇列  | 
|  [`Compute resources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)  |  每個佇列 50 個運算資源 每個叢集 50 個運算資源  | 

**節點計數**

佇列[`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)中每個運算資源都必須具有唯一的 [`Name`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-Name)、[`MinCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MinCount)、 [`InstanceType`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-InstanceType)和 [`MaxCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MaxCount)。 [`MinCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MinCount) [`MaxCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MaxCount)具有預設值，可定義[`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)佇列中運算資源的執行個體範圍。您也可以為 [`MinCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MinCount)和 指定自己的值[`MaxCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MaxCount)。中的每個運算資源[`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)是由編號為 1 到 的靜態節點，[`MinCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MinCount)以及編號為 [`MinCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MinCount)到 值的動態節點所組成[`MaxCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MaxCount)。

**範例組態**

以下是叢集組態檔案[的排程](Scheduling-v3.md)區段範例。在此組態中，有兩個名為 `queue1`和 的佇列，`queue2`每個佇列[`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)都有指定的 [`MaxCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MaxCount)。

```
Scheduling:
  Scheduler: slurm
  SlurmQueues:
  - Name: queue1
    ComputeResources:
    - InstanceType: c5.xlarge
      MaxCount: 5
      Name: c5xlarge
    - InstanceType: c4.xlarge
      MaxCount: 5
      Name: c4xlarge
  - Name: queue2
    ComputeResources:
    - InstanceType: c5.xlarge
      MaxCount: 5
      Name: c5xlarge
```

**主機名稱**

在運算機群中啟動的執行個體會動態指派。系統會為每個節點產生主機名稱。根據預設， AWS ParallelCluster 會使用下列格式的主機名稱 ：

 `$HOSTNAME=$QUEUE-$STATDYN-$COMPUTE_RESOURCE-$NODENUM` 
+ `$QUEUE` 是佇列的名稱。例如，如果 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)區段的項目[`Name`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Name)設定為「`queue-name`」，則「`$QUEUE`」為「`queue-name`」。
+  `$STATDYN` `st`適用於靜態節點，或`dy`適用於動態節點。
+  `$COMPUTE_RESOURCE` 是與此節點對應的[`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)運算資源[`Name`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-Name)的 。
+  `$NODENUM` 是節點的數目。[`MinCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MinCount)靜態節點的 值`$NODENUM`介於一 (1) 和 之間，動態節點的 值介於一 (1) 和 [`MaxCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MaxCount)-[`MinCount`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-MinCount) 之間。

從上述範例組態檔案中，來自 `queue1`和 運算資源的指定節點`c5xlarge`具有主機名稱：`queue1-dy-c5xlarge-1`。

主機名稱和完整網域名稱 (FQDN) 都是使用 Amazon Route 53 託管區域建立。FQDN 是 `$HOSTNAME.$CLUSTERNAME.pcluster`，其中 `$CLUSTERNAME`是叢集的名稱。

請注意，相同的格式也會用於Slurm節點名稱。

 使用者可以選擇使用支援運算節點之執行個體的預設 Amazon EC2 主機名稱，而非 使用的預設主機名稱格式 AWS ParallelCluster。這可以透過將 [`UseEc2Hostnames`](Scheduling-v3.md#yaml-Scheduling-SlurmSettings-Dns-UseEc2Hostnames) 參數設定為 true 來完成。不過，Slurm節點名稱將繼續使用預設 AWS ParallelCluster 格式。