自动化的实验创建功能可让您快速上手操作,但您也需要针对不同的使用案例灵活优化环境。在本部分,您将学习如何灵活动态地更新您的集群。

涵盖的主题
  • 安装软件和应用程序
  • 如何为您的 HPC 工作负载选择适当的 EC2 实例类型
  • 了解和控制 Auto Scaling

通过 SSH 登录头节点便可安装软件应用程序。CfnCluster 提供各种支持 HPC 应用程序的软件包,包括 openMPI、语言和编译器。您可以通过多种方式安装应用程序,具体取决于应用特点和管理员偏好。常见的方法是安装在“/efs/apps”或“/shared”文件夹下,以 NFS 共享的形式安装在所有节点上。

应用程序安装(并获得许可)后,您可以使用 EnginFrame 服务编辑器将其发布至用户社区,操作方法与本学习路径第一章中的做法相同。


AWS 提供各种 EC2 实例系列类型、代和大小,可以满足各种工作负载类型的需求,而且采用按需定价模式,每小时的费用从几美分到几美元不等。

要选择实例类型,首先要确定应用程序的具体需求。应用程序的要求会因以下要素而异:计算内核的数量、处理器速度、内存要求、存储需求、联网规格和费用。

系列类别划分依据以下要素:处理器类型、内存量、存储和可用的网络连接。c 系列 (“计算”系列) 最常推荐用于 HPC 工作负载。系列内的实例类型通常会具有大致与 vCPU 等比例的内存。一个 vCPU 是一个超线程处理器。通常情况下,两个超线程内核相当于一个物理内核。每个系列内可以有多代。例如,c 系列实例类型包含 c3 和 c4 实例。添加的数字表示实例类型的代数。

c4.8xlarge (haswell) 经常用于并行 HPC 应用程序。它拥有大约 60GiB 内存和 18 个内核。每个系列都有多种大小。例如,大小是 c4.8xlarge 一半的计算实例是 c4.4xlarge。其每小时的价格也大约是前者的一半。

随时可以停止某个实例,并重新启动另一个实例类型。此功能可让您轻松选择最适合 HPC 工作负载的实例。

有关其他 HPC 工作负载常用实例类型的详细信息,请参见下面的图表:

实例类型

vCPU

内存

(GiB)

存储

(GB)

联网性能

物理处理器

时钟速度 (GHz)

EBS

优化

c4.8xlarge

36

60

仅限 EBS

10Gb

Intel Xeon E5-2666 v3

2.9

c3.8xlarge

32

60

2 x 320 SSD

10Gb

Intel Xeon E5-2680 v2

2.8

m4.10xlarge

40

160

仅限 EBS

10Gb

Intel Xeon E5-2676 v3

2.4

m4.16xlarge

64

256

仅限 EBS

20Gb

Intel Xeon E5-2686 v4

2.3

p2.16xlarge

64

732

仅限 EBS

20Gb

Intel Xeon E5-2686 v4

2.3

x1.32xlarge

128

1952

2 个 1920 SSD

20Gb

Intel Xeon E7-8880 v3

2.3

r3.8xlarge

32

244

2 x 320 SSD

10Gb

Intel Xeon E5-2670 v2

2.5

要查看所有可用实例类型的列表,请参阅 Amazon EC2 实例类型。确认工作负载所需的实例类型后,请对比其按需定价和当前 Spot 价格之间的差别。如果您的工作负载可以轻松应对可能存在的实例回收情况,那么使用 Spot 价格模式可以有效降低 HPC 预算。

如果您想修改集群的特点,可以使用 CloudFormation 控制台提供的“更新堆栈”功能轻松、动态地执行此操作。请注意,一些更改可能会暂时扰乱集群运行。除非您可以接受这样的后果,否则请务必仅在集群上没有工作负载时重新配置堆栈参数。

按照以下说明在 DefaultCluster 堆栈上试用此功能:

  • 说明:更改当前集群上的实例类型

    1. 单击此处打开 CloudFormation 控制台。
    2. 右键单击 EnginFrame-DefaultCluster-##yourValues##选择“更新堆栈”。
    3. 选择使用当前模板,然后选择下一步
      • 注意:与主堆栈相比,选择“使用当前模板”后,CloudFormation 向导可让您修改更多参数,从而让您可以更加灵活地使用 CfnCluster。
    4. 按照下列方式编辑配置:
      • compute_instance_type:选择您要更新计算节点的实例类型。
      • cluster_type:编辑要采用 Spot 价格模式的选项。然后,根据当前的市场价格,将 spot_price 的值设置为您可以接受的竞价。
    5. 选择下一步
    6. 在系统显示更改预览前,继续执行向导中接下来的步骤,然后选择“更新”确认更新您的堆栈。根据所做更改的广度,更新可能需要几分钟才能生效。

Auto Scaling 是 Amazon EC2 的一项功能,借助该功能,您可以维持应用程序的可用性,并且根据您定义的条件自动扩展或缩减 EC2 的容量。您可以使用 Auto Scaling 帮助确保运行所需数量的 Amazon EC2 实例。 

EC2 Auto Scaling 功能会持续监控和更改本实验中的集群大小。如果您知道工作负载的最佳集群大小 (例如,多节点 MPI 任务),那么该功能可以更快、更高效地预配置适量的节点,而不是让集群不断扩增。

您可以按照以下说明设置 Auto Scaling 集群大小:

  • 说明:更改集群上的 Auto Scaling 参数

    1. 单击此处打开 Amazon EC2 Auto Scaling 组控制台。
    2. 您将看到默认集群为计算队列创建了一个 Auto Scaling 组。控制台提供以下信息:当前组中的实例数量、数量下限和上限以及所需的实例数量。 
    3. 所需实例数量会自动受到集群上处于活动状态的扩展策略的影响,但您也可以手动更改数量值。要更改所需的大小或其他 Auto Scaling 参数,请右键单击 Auto Scaling 组,然后选择编辑
    4. 底部面板会显示最新的 Auto Scaling 详细信息。您可以编辑负载均衡器数量、所需的实例、实例(节点)数量下限和上限等内容。完成后,选择保存
      • 注意:如果所需的实例数量与当前实例数量不同,CloudFormation 将会创建或删除实例,以达到所需的数量。

    (单击以放大)