建立自動化實驗室可協助您迅速執行運作,但除此之外其還具備豐富的靈活性,可針對不同的使用案例最佳化環境。在本節內容中,您會學習如何善用這種靈活性,並應用來動態更新叢集。

涵蓋主題
  • 軟體與應用程式安裝
  • 如何為 HPC 工作負載選擇正確的 EC2 執行個體類型
  • 了解和控制 Auto Scaling

您可透過 SSH 登入前端節點,以安裝軟體應用程式。CfnCluster 提供支援 HPC 應用程式的各種軟體套裝服務,包括 openMPI、語言和編譯器。您可使用多種方式來安裝應用程式,取決於應用程式特性與您身為管理員的偏好設定。常見的做法是將應用程式安裝於 /efs/apps 或 /shared 資料夾下方,其會掛載為所有節點上的 NFS 共享。

一旦安裝 (並授權) 應用程式,您即可使用 EnginFrame Service Editor to 將其發佈至使用者社群,如同您在本學習路徑第一章中所採取的行動。


AWS 提供豐富多樣的 EC2 執行個體系列類型、產品世代和大小,可為各種完全不同的工作負載類型提供服務,且採用從每小時數美分到數美元不等的隨需定價。

若要選擇執行個體類型,請先考慮應用程式的特定需求。應用程式的需求會根據以下因素而異:運算核心數目、處理器速度、記憶體需求、儲存需求、聯網規格和成本。

系列會根據處理器類型、記憶體數量、儲存和可用網路連線能力來加以分類。c 系列 (或稱「運算」系列) 最常推薦使用於 HPC 工作負載。系列內的執行個體類型,通常會具備與 vCPU 比例相同的記憶體。vCPU 為超執行緒處理器。一般而言,兩個超執行緒核心會採用如同單一實體核心的形式執行。每個系列內可具有多個產品世代。例如,c 系列執行個體類型會包含 c3 和 c4 執行個體。增加的數字代表執行個體類型的產品世代。

c4.8xlarge (haswell) 執行個體廣受平行 HPC 應用程式採用。其具備最大 ~60GiB 的記憶體和 18 個核心。每個系列有多種大小。例如,c4.4xlarge 運算執行個體的大小即僅有 c4.8xlarge 的一半。其每小時價格也只有一半。

您可隨時停止執行個體,並使用不同的執行個體類型重新啟動。此功能可讓您輕鬆選擇適合 HPC 工作負載的最佳執行個體類型。

其他熱門的 HPC 工作負載執行個體類型詳述於下表:

執行個體類型

vCPU

記憶體

(GiB)

 儲存

(GB)

聯網效能

實體處理器

時脈速度 (GHz)

EBS

最佳化

c4.8xlarge

36

60

僅 EBS

10 Gb

Intel Xeon E5-2666 v3

2.9

c3.8xlarge

32

60

2 x 320 SSD

10 Gb

Intel Xeon E5-2680 v2

2.8

m4.10xlarge

40

160

僅 EBS

10 Gb

Intel Xeon E5-2676 v3

2.4

m4.16xlarge

64

256

僅 EBS

20 Gb

Intel Xeon E5-2686 v4

2.3

p2.16xlarge

64

732

僅 EBS

20 Gb

Intel Xeon E5-2686 v4

2.3

x1.32xlarge

128

1,952

2 x 1,920 SSD

20 Gb

Intel Xeon E7-8880 v3

2.3

r3.8xlarge

32

244

2 x 320 SSD

10 Gb

Intel Xeon E5-2670 v2

2.5

若要查看所有可用執行個體類型的清單,請參閱 Amazon EC2 執行個體類型。找出適合工作負載的正確執行個體類型後,可進一步了解有關隨需與最新 Spot 執行個體定價之間的差異。若您擁有的工作負載種類可輕鬆處理執行個體的潛在回收,使用 Spot 執行個體通常是最具效率的降低 HPC 預算方式。

若您想要修改叢集的特性,可使用 CloudFormation 主控台提供的「更新堆疊」功能,以動態方式輕鬆做到。請注意,某些變更可能會暫時中斷叢集的功能。除非您了解後果,否則請務必僅在叢集無任何工作負載時再重新設定堆疊參數。

遵循以下說明,以針對 DefaultCluster Stack 試用此功能:

  • 說明:變更目前叢集上的執行個體類型

    1. 按一下這裡,以開啟「CloudFormation 主控台」
    2. 以滑鼠右鍵按一下 EnginFrame-DefaultCluster-##yourValues##選取「Update Stack (更新堆疊)」
    3. 選取「Use current template (使用目前的範本)」,然後選取「Next (下一步)」。
      • 注意:選取「Use current template (使用目前的範本)」,即可透過 CloudFormation 精靈將參數數目修改為大於主要堆疊,讓您享有更廣泛的 CfnCluster 使用靈活性。
    4. 針對組態執行下列編輯:
      • compute_instance_type:選取您選擇更新運算節點的執行個體類型。
      • Cluster_type:編輯:編輯 Spot 執行個體選擇。然後根據當前的市場價格,將 spot_price 設為您滿意的競標值。
    5. 選取「Next (下一步)」。
    6. 繼續執行精靈的後續步驟,直至顯示變更的預覽,然後再選取「Update (更新)」更新堆疊以確認。根據所做變更的廣泛程度而定,散佈更新所需時間可能需要數分鐘。

Auto Scaling 是 Amazon EC2 的功能,可協助您維護應用程式的可用性,亦可讓您根據定義的條件自動擴展或縮減 EC2 容量。您可以使用 Auto Scaling 協助確保所執行的 Amazon EC2 執行個體數量符合您的需求。 

此實驗室的叢集大小,會由 EC2 Auto Scaling 功能持續監控和變更。若您了解適用於工作負載的最佳叢集大小 (例如具備多節點 MPI 任務),則可更加快速有效率地預佈建正確的節點數目,而不會讓叢集增量成長。

您可遵循以下說明來設定 Auto Scaling 叢集大小:

  • 說明:變更叢集上的 Auto Scaling 參數

    1. 按一下這裡,開啟 Amazon EC2 Auto Scaling Group 主控台
    2. 您會發現「預設叢集」已為 Compute Fleet 建立了一個 Auto Scaling 群組。主控台提供關於群組中的當前執行個體數目、最小與最大限制,以及所需的執行個體數目等資訊。 
    3. 所需的執行個體數目會自動受到叢集上的作用中「Scaling 政策」所影響,但您亦可手動變更其值。若要變更「所需」大小或其他 Auto Scaling 參數,請以滑鼠右鍵按一下 Auto Scaling 群組,然後選取「Edit (編輯)」。
    4. 下方面板會更新 Auto Scaling 詳細資訊。您可編輯 Load Balancer、「所需執行個體」的數目,以及最小與最大執行個體 (節點) 數目等項目。完成後,選取「Save (儲存)」。
      • 注意:若所需執行個體數目與目前的執行個體數目不同,CloudFormation 會建立或移除執行個體以達到所需的數目。

    (按一下以放大)