本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
最佳实践
最佳实践:选择头节点实例类型
尽管头节点不运行作业,但其功能和大小对集群的整体性能至关重要。在选择用于头节点的实例类型时,请考虑以下特征:
集群大小:头节点协调集群的扩展逻辑,并负责将新节点连接到调度程序。要向上和向下扩展具有大量节点的集群,请为头节点提供一些额外的计算容量。
共享文件系统:当您使用共享文件系统时,请选择具有足够网络带宽和足够的 Amazon EBS 带宽的实例类型来处理您的工作流程。确保头节点既能够为集群公开足够的 NFS 服务器目录,又能够处理需要在计算节点和头节点之间共享的工件。
最佳实践:网络性能
网络性能对于高性能计算 (HPC) 应用程序至关重要。如果没有可靠的网络性能,这些应用程序就无法按预期运行。为了优化网络性能,请考虑以下最佳实践。
-
置放群组:如果您正在使用Slurm,请考虑将每个Slurm队列配置为使用集群置放群组。集的置组是单个可用区中的实例的逻辑分组。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 中的置组。您可以在队列Networking部分指PlacementGroup定,每个计算资源都分配给队列的置放组。PlacementGroup在计算资源Networking部分指定 a 时,该特定计算资源将分配给该置放群组。计算资源放置组规范优先于计算资源的队列规范。有关更多信息,请参阅 SlurmQueues/Networking/PlacementGroup和 SlurmQueues/ComputeResources/Networking/PlacementGroup。
Networking: PlacementGroup: Enabled: true Id:
your-placement-group-name
或者,为你Amazon ParallelCluster创建一个置放群组。
Networking: PlacementGroup: Enabled: true
从Amazon ParallelCluster版本 3.3.0 开始,对置放群组的创建和管理进行了修改。当您在队列中指定要启用的置放群组(不带
name
或Id
)时,会为每个计算资源分配自己的托管置放群组,而不是为整个队列分配一个托管群组。这有助于减少容量不足的错误。如果您需要为整个队列设置一个置放群组,则可以使用已命名的置放群组。SlurmQueues/Networking/PlacementGroup/Name已添加为/SlurmQueues/NetworkingPlacementGroup/的首选替代方案Id。
有关更多信息,请参阅Networking:
-
增强联网:考虑选择支持增强联网的实例类型。此建议适用于所有当前一代的实例。有关更多信息,请参阅《适用于 Linux 实例的 Amazon EC2 用户指南》中的 Linux 上的增强型联网。
-
Elastic Fabric Adapter:要支持高级别的可扩展实例间通信,请考虑为您的网络选择 EFA 网络接口。EFA 的定制操作系统 (OS) 旁路硬件通过按需弹性和灵活性增强了实例间的通信Amazon Web Services 云。您可以配置每个Slurm队列ComputeResource以供使用Efa。有关将 EFA 与一起使用的更多信息Amazon ParallelCluster,请参阅Elastic Fabric Adapter。
ComputeResources: - Name:
your-compute-resource-name
Efa: Enabled: true有关EFA 的更多信息,请参阅适用于 Linux 实例的 Amazon EC2 中的 E lastic Fabric Adap ter。
-
实例带宽:带宽随实例大小而扩展。有关不同实例类型的信息,请参阅 Amazon EC2 用户指南(适用于 Linux 实例的 Amazon EC2 中的 Amazon EBS 优化型实例的 Amazon EBS)中的 Amazon EBS 优化型
最佳实践:预算提醒
要管理中的资源成本Amazon ParallelCluster,我们建议您使用Amazon Budgets操作来创建预算。您还可以为所选Amazon资源创建已定义的预算阈值警报。有关更多信息,请参阅《Amazon Budgets用户指南》中的配置预算操作。同样,您也可以使用亚马逊 CloudWatch 创建账单警报。有关更多信息,请参阅创建账单告警以监控 Amazon 预估费用。
最佳实践:将集群移至新的Amazon ParallelCluster次要版本或补丁版本
当前,每个Amazon ParallelCluster次要版本及其pcluster
命令行界面都是独立的。要将集群移至新的次要版本或补丁版本,必须使用新版本的 CLI 重新创建集群。
为了优化将集移至新的次要版本或补丁版本的过程,建议您执行下列操作:
-
将个人数据保存在集群外部创建的外部卷中,例如 Amazon EFS 和 FSx for Lustre。通过这样做,您将future 可以轻松地将数据从一个集群移动到另一个集群。
-
使用以下类型创建共享存储系统。您可以使用Amazon CLI或创建这些系统Amazon Web Services Management Console。
将群集配置中的文件系统或卷定义为现有文件系统或卷。这样,当您删除集群时,它们会被保留,并且可以连接到新集群。
我们建议您将亚马逊 EFS 或 FSx 用于 Lustre 文件系统。这两个系统可以同时连接到多个集上。此外,在删除现有集群之前,您可以将其中任何一个系统连接到新集群。
-
使用自定义引导操作自定义您的实例,而不是使用自定义 AMI。如果您改为使用自定义 AMI,则需要为每个新版本版本删除并重新创建该 AMI。
-
我们建议您按以下顺序应用上述建议:
-
更新现有群集配置以使用现有文件系统定义。
-
验证
pcluster
版本并在需要时更新。 -
创建并测试新集群。测试新集群时,请检查以下内容:
-
确保您的数据在新集群中可用。
-
确保您的应用程序在新集中运行。
-
-
在您的新集群经过全面测试并运行后,您不再需要现有集群,请将其删除。
-