在 中建立運算節點群組 AWS PCS - AWS PCS

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

在 中建立運算節點群組 AWS PCS

本主題提供可用選項的概觀,並說明在 AWS 平行運算服務 () 中建立運算節點群組時應考量的事項AWS PCS。如果這是您第一次在 中建立運算節點群組 AWS PCS,建議您遵循 中的教學課程入門 AWS PCS。本教學課程可協助您建立工作HPC系統,而不會擴展到所有可用的選項和系統架構。

必要條件

  • 足夠的服務配額,可在您的 中啟動所需數量的EC2執行個體 AWS 區域。您可以使用 AWS Management Console來檢查並請求增加服務配額。

  • 符合 AWS PCS聯網需求的現有 VPC(和) 子網路。我們建議您在部署叢集以供生產使用之前,先徹底了解這些需求。如需詳細資訊,請參閱AWS PCSVPC以及子網路需求和考量。您也可以使用 CloudFormation 範本來建立 VPC和子網路。 AWS 提供 CloudFormation 範本的HPC配方。如需詳細資訊,請參閱 aws-hpc-recipes上的 GitHub。

  • IAM 執行個體設定檔,具有呼叫 AWS PCS RegisterComputeNodeGroupInstance API 動作和存取節點群組執行個體所需任何其他 AWS 資源的許可。如需詳細資訊,請參閱IAM AWS Parallel Computing Service 的執行個體設定檔

  • 節點群組執行個體的啟動範本。如需詳細資訊,請參閱使用 Amazon EC2 啟動模板 AWS PCS

  • 若要建立使用 Amazon EC2 Spot 執行個體的運算節點群組,您必須在 中具有AWSServiceRoleForEC2Spot服務連結角色 AWS 帳戶。如需詳細資訊,請參閱的 Amazon EC2 Spot 角色 AWS PCS

在 中建立運算節點群組 AWS PCS

您可以使用 AWS Management Console 或 建立運算節點群組 AWS CLI。

AWS Management Console
使用主控台建立運算節點群組
  1. 開啟AWS PCS主控台

  2. 選取您要建立運算節點群組的叢集。導覽至運算節點群組,然後選擇建立

  3. 運算節點群組設定區段中,提供節點群組的名稱。名稱只能包含區分大小寫的英數字元和連字號。它必須以字母字元開頭,且長度不得超過 25 個字元。名稱在叢集中必須是唯一的。

  4. 運算組態 下,輸入或選取這些值:

    1. EC2 啟動範本 – 選取要用於此節點群組的自訂啟動範本。啟動範本可用來自訂網路設定,例如子網路和安全群組、監控組態和執行個體層級儲存。如果您沒有準備好啟動範本,請參閱 以使用 Amazon EC2 啟動模板 AWS PCS了解如何建立啟動範本。

      重要

      AWS PCS 為每個運算節點群組建立受管啟動範本。這些名稱為 pcs-identifier-do-not-delete。當您建立或更新運算節點群組時,請勿選取這些節點群組,否則節點群組將無法正常運作。

    2. EC2 啟動範本版本 – 您必須選取自訂啟動範本的版本。如果您稍後變更版本,則必須更新運算節點群組,以偵測啟動範本中的變更。如需詳細資訊,請參閱更新計 AWS PCS算節點群組

    3. AMI ID – 如果您的啟動範本不包含 AMI ID,或者如果您想要覆寫啟動範本中的值,請在此處提供 AMI ID。請注意,AMI用於節點群組的 必須與 相容 AWS PCS。您也可以選取 AMI提供的範例 AWS。如需此主題的詳細資訊,請參閱 Amazon 機器映像(AMIs) AWS PCS

    4. IAM 執行個體設定檔 – 選擇節點群組的執行個體設定檔。執行個體設定檔會授予執行個體許可,以安全地存取 AWS 資源和服務。如果您沒有準備好,請參閱 以IAM AWS Parallel Computing Service 的執行個體設定檔了解如何建立。

    5. 子網路 – 在部署叢集VPC的 AWS PCS 中選擇一或多個子網路。如果您選擇多個子網路,節點之間將無法使用EFA通訊,而不同子網路中節點之間的通訊可能會增加延遲。請確定您在此指定的子網路符合您在EC2啟動範本中定義的任何子網路。

    6. 執行個體 – 選擇一或多個執行個體類型,以滿足節點群組中的擴展請求。所有執行個體類型都必須具有相同的處理器架構 (x864_64 或 arm64) 和 的數量vCPUs。如果執行個體具有 GPUs,則所有執行個體類型都必須具有相同的 數目GPUs。

    7. 擴展組態 – 指定節點群組的執行個體數目下限和上限。您可以定義靜態組態,其中有固定數量的節點正在執行,或者定義動態組態,其中最多可以執行節點的最大計數。對於靜態組態,將最小值和最大值設定為相同,大於零個數字。對於動態組態,請將最小執行個體設定為零,最大執行個體設定為大於零的數字。 AWS PCS 不支援混合靜態和動態執行個體的運算節點群組。

  5. (選用) 在 其他設定 下,指定下列項目:

    1. 購買選項 – 在 Spot 和隨需執行個體之間選取。

    2. 配置策略 – 如果您已選取 Spot 購買選項,您可以指定在節點群組中啟動執行個體時,如何選擇 Spot 容量集區。如需詳細資訊,請參閱 Amazon Elastic Compute Cloud 使用者指南 中的 Spot 執行個體配置策略。如果您已選取隨需購買選項,此選項就不會生效。

  6. (選用) 在 中 Slurm 自訂設定區段,提供下列值:

    1. 權重 – 此值會設定群組中節點的優先順序,以用於排程。權重較低的節點具有更高的優先順序,而且單位是任意的。如需詳細資訊,請參閱 中的權重 Slurm 文件中)。

    2. 實際記憶體 – 此值會設定節點群組中節點上實際記憶體的大小 (以 GB 為單位)。其旨在與叢集中的 CR_CPU_Memory選項搭配使用 Slurm 中的組態 AWS PCS。如需詳細資訊,請參閱RealMemory中的 Slurm 文件中)。

  7. (選用) 在標籤 下,將任何標籤新增至運算節點群組。

  8. 選擇建立運算節點群組 狀態欄位會在佈建節點群組Creating時 AWS PCS顯示。這可能需要幾分鐘的時間。

建議的下一個步驟
  • 將節點群組新增至 中的 AWS PCS佇列,使其能夠處理任務。

AWS CLI
使用 建立運算節點群組 AWS CLI

使用下列命令建立佇列。執行命令之前,請執行下列替換:

  1. Replace (取代) region的 ID, AWS 區域 以在 中建立叢集,例如 us-east-1

  2. Replace (取代) my-cluster 使用叢集的名稱或 clusterId

  3. Replace (取代) my-node-group運算節點群組的名稱。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母字元開頭,且長度不得超過 25 個字元。名稱在叢集中必須是唯一的。

  4. Replace (取代) subnet-ExampleID1 從叢集 IDs使用一或多個子網路VPC。

  5. Replace (取代) lt-ExampleID1 自訂啟動範本的 ID。如果您沒有準備好,請參閱 以使用 Amazon EC2 啟動模板 AWS PCS了解如何建立。

    重要

    AWS PCS 為每個運算節點群組建立受管啟動範本。這些名稱為 pcs-identifier-do-not-delete。當您建立或更新運算節點群組時,請勿選取這些節點群組,否則節點群組將無法正常運作。

  6. Replace (取代) launch-template-version 特定啟動範本版本。 AWS PCS 將您的節點群組與該啟動範本的特定版本建立關聯。

  7. Replace (取代) arn:InstanceProfile執行個體IAM設定檔ARN的 。如果您沒有準備好,請參閱 使用 Amazon EC2 啟動模板 AWS PCS 以取得指引。

  8. Replace (取代) min-instances 以及 max-instances 整數值。您可以定義靜態組態,其中有固定數量的節點正在執行,或者定義動態組態,其中最多可以執行節點的最大計數。對於靜態組態,將最小值和最大值設定為相同,大於零個數字。對於動態組態,將最小執行個體設定為零,將最大執行個體設定為大於零的數字。 AWS PCS 不支援混合靜態和動態執行個體的運算節點群組。

  9. Replace (取代) t3.large 另一個執行個體類型。您可以指定instanceType設定清單來新增更多執行個體類型。例如 --instance-configs instanceType=c6i.16xlarge,instanceType=c6a.16xlarge。 所有執行個體類型都必須具有相同的處理器架構 (x864_64 或 arm64) 和 的數量vCPUs。如果執行個體具有 GPUs,則所有執行個體類型都必須具有相同的 數目GPUs。

aws pcs create-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-name my-node-group \ --subnet-ids subnet-ExampleID1 \ --custom-launch-template id=lt-ExampleID1,version='launch-template-version' \ --iam-instance-profile arn=arn:InstanceProfile \ --scaling-config minInstanceCount=min-instances,maxInstanceCount=max-instance \ --instance-configs instanceType=t3.large

有數個選用的組態設定可以新增至create-compute-node-group命令。

  • 您可以指定自訂啟動範本--amiId是否不包含對 的參考AMI,或是否要覆寫該值。請注意,AMI用於節點群組的 必須與 相容 AWS PCS。您也可以選取 AMI提供的範例 AWS。如需此主題的詳細資訊,請參閱 Amazon 機器映像(AMIs) AWS PCS

  • 您可以使用 來選擇隨需 (ONDEMAND) 和 Spot (SPOT) 執行個體--purchase-option。隨需為預設值。如果您選擇 Spot 執行個體,您也可以使用 --allocation-strategy 來定義在節點群組中啟動執行個體時選擇 Spot 容量集區的方式 AWS PCS。如需詳細資訊,請參閱Amazon Elastic Compute Cloud 使用者指南中的 Spot 執行個體配置策略

  • 可以提供 Slurm 節點群組中節點的組態選項,使用 --slurm-configuration。您可以設定權重 (排程優先順序) 和實際記憶體。權重較低的節點具有更高的優先順序,而且單位是任意的。如需詳細資訊,請參閱 中的權重 Slurm 文件中)。實際記憶體會設定節點群組中節點上實際記憶體的大小 (以 GB 為單位)。其旨在與 中的 AWS PCS叢集CR_CPU_Memory選項搭配使用 Slurm 組態。如需詳細資訊,請參閱RealMemory中的 Slurm 文件中)。

重要

建立運算節點群組可能需要幾分鐘的時間。

您可以使用下列命令查詢節點群組的狀態。在節點群組的狀態達到 之前,您將無法將節點群組與佇列建立關聯ACTIVE

aws pcs get-compute-node-group --region region \ --cluster-identifier my-cluster \ --compute-node-group-identifier my-node-group