在 AWS 平行運算服務中建立叢集 - AWS PCS

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

在 AWS 平行運算服務中建立叢集

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

先決條件

建立 AWS PCS 叢集

您可以使用 AWS Management Console 或 AWS CLI 來建立叢集。

AWS Management Console
建立叢集
  1. 在 https://https://console.aws.amazon.com/pcs/home#/clusters 開啟 AWS PCS 主控台,然後選擇建立叢集

  2. 叢集設定區段中,輸入下列欄位:

    • 叢集名稱 – 叢集的名稱。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母字元開頭,且長度不可超過 40 個字元。名稱在 中必須是唯一的 AWS 帳戶 , AWS 區域 且您要在其中建立叢集。

    • 排程器 – 選擇排程器和版本。 AWS PCS 目前支援 Slurm 24.05 和 23.11。如需詳細資訊,請參閱AWS PCS 中的 Slurm 版本

    • 控制器大小 – 選擇控制器的大小。這可決定 AWS PCS 叢集可以管理多少並行任務和運算節點。您只能在建立叢集時設定控制器大小。如需調整大小的詳細資訊,請參閱AWS PCS 中的叢集大小

  3. 聯網區段中,選取下列欄位的值:

    • VPC – 選擇符合 AWS PCS 要求的現有 VPC。如需詳細資訊,請參閱AWS PCS VPC 和子網路需求和考量事項。建立叢集之後,您無法變更其 VPC。如果未列出VPCs,您必須先建立一個。

    • 子網路 – 列出所選 VPC 中的所有可用子網路。選擇符合 AWS PCS 子網路需求的子網路。如需詳細資訊,請參閱AWS PCS VPC 和子網路需求和考量事項。我們建議您選取私有子網路,以避免您的排程器端點暴露至公有網際網路。

    • 安全群組 – 指定您希望 AWS PCS 與其為叢集建立的網路介面建立關聯的安全群組 (多個)。您必須選取至少一個安全群組,允許叢集與其運算節點之間的通訊。如需詳細資訊,請參閱安全群組需求和考量事項

  4. (選用) 在加密下,您可以透過設定下列欄位來定義自訂金鑰來加密控制器資料:

    • KMS 金鑰 ID – 保留為 aws/pcs 以使用 PCS 建立的 KMS 金鑰。選取現有的 KMS 金鑰別名,以使用自訂 KMS 金鑰。請注意,用於建立叢集的帳戶必須具有自訂 KMS 金鑰kms:Decrypt的權限。

  5. (選用) 在 Slurm 組態區段中,您可以指定 Slurm 組態選項來覆寫 AWS PCS 設定的預設值:

    • 縮減閒置時間 – 這可控制動態佈建的運算節點在任務完成或終止後保持作用中的時間。將此值設定為較長值可能會讓後續任務更可能在節點上執行,但可能導致成本增加。較短的值會降低成本,但可能會增加 HPC 系統佈建節點所花費的時間比例,而不是在節點上執行任務。

    • Prolog – 這是運算節點群組執行個體上 prolog 指令碼目錄的完整路徑。這相當於 Slurm 中的 Prolog 設定。請注意,這必須是目錄,而不是特定可執行檔的路徑。

    • Epilog – 這是運算節點群組執行個體上 epilog 指令碼目錄的完整路徑。這相當於 Slurm 中的 Epilog 設定。請注意,這必須是目錄,而不是特定可執行檔的路徑。

    • 選取類型參數 – 這有助於控制 Slurm 使用的資源選取演算法。將此值設為 CR_CPU_Memory會啟用記憶體感知排程,而設為 CR_CPU則會啟用僅使用 CPU 的排程。此參數對應至 Slurm 中的 SelectTypeParameters 設定SelectType,其中 select/cons_tres 由 AWS PCS 設定為 。

  6. (選用) 在標籤下,將任何標籤新增至 AWS PCS 叢集。

  7. 選擇 建立叢集 AWS PCS 建立叢集Creating時,狀態欄位會顯示 。此程序需要幾分鐘的時間。

重要

每個 AWS 區域 只能有一個Creating處於 狀態的叢集 AWS 帳戶。 AWS 如果嘗試建立叢集時已有叢集處於 Creating 狀態,PCS 會傳回錯誤。

AWS CLI
建立叢集
  1. 使用下列命令建立您的叢集。執行命令之前,請執行下列替換:

    • 區域取代為您要 AWS 區域 在其中建立叢集的 ID,例如 us-east-1

    • 使用叢集的名稱取代 my-cluster。此名稱僅能使用英數字元 (區分大小寫) 和連字號。它必須以字母字元開頭,且長度不可超過 40 個字元。名稱在 AWS 區域 和您要建立叢集 AWS 帳戶 的位置中必須是唯一的。

    • 24.05 取代為任何支援的 Slurm 版本。

      注意

      AWS PCS 目前支援 Slurm 24.05 和 23.11。

    • SMALL 取代為任何支援的叢集大小。這決定 AWS PCS 叢集可以管理多少並行任務和運算節點。只有在建立叢集時才能設定。如需調整大小的詳細資訊,請參閱AWS PCS 中的叢集大小

    • 將 的值取代subnetIds為您自己的值。我們建議您選取私有子網路,以避免您的排程器端點暴露至公有網際網路。

    • 指定securityGroupIds您希望 AWS PCS 與其為叢集建立的網路介面建立關聯的 。安全群組必須與叢集位於相同的 VPC 中。您必須選取至少一個安全群組,允許叢集與其運算節點之間的通訊。如需詳細資訊,請參閱安全群組需求和考量事項

    • 或者,您可以新增--slurm-configration選項來微調 Slurm 行為。例如,您可以使用 將縮減規模閒置時間設定為 60 分鐘 (3600 秒)--slurm configuration scaleDownIdeTime=3600

    • 或者,您可以提供自訂 KMS 金鑰,以使用 加密控制器的資料--kms-key-id kms-keykms-key 以現有的 KMS ARN、金鑰 ID 或別名取代 。請注意,用於建立叢集的帳戶必須具有自訂 KMS 金鑰kms:Decrypt的權限。

    aws pcs create-cluster --region region \ --cluster-name my-cluster \ --scheduler type=SLURM,version=24.05 \ --size SMALL \ --networking subnetIds=subnet-ExampleId1,securityGroupIds=sg-ExampleId1
  2. 佈建叢集可能需要幾分鐘的時間。您可以使用下列命令來查詢叢集的狀態。在叢集的狀態欄位為 之前,請勿繼續建立佇列或運算節點群組ACTIVE

    aws pcs get-cluster --region region --cluster-identifier my-cluster
重要

每個 AWS 區域 只能有一個Creating處於 狀態的叢集 AWS 帳戶。 AWS 如果嘗試建立叢集時已有叢集處於 Creating 狀態,PCS 會傳回錯誤。

叢集的建議後續步驟
  • 新增運算節點群組。

  • 新增佇列。

  • 啟用記錄。