最佳实践 - Amazon ParallelCluster
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

最佳实践

最佳实践:头节点实例类型选择

尽管头节点不运行作业,但其功能和大小对集群的整体性能至关重要。当您选择用于头节点的实例类型时,请考虑以下特征:

集群大小:头节点协调集群的扩展逻辑,并负责将新节点连接到调度器。要向上和向下扩展具有大量节点的集群,请为头节点提供一些额外的计算容量。

共享文件系统:使用共享文件系统时,请选择具有足够网络带宽和足够 Amazon EBS 带宽的实例类型来处理您的工作流程。确保头节点既能为群集公开足够的 NFS 服务器目录,又能处理需要在计算节点和头节点之间共享的工件。

最佳实践:网络性能

网络性能对于高性能计算 (HPC) 应用程序至关重要。如果没有可靠的网络性能,这些应用程序将无法按预期运行。为了优化网络性能,请考虑以下最佳实践。

  • 置放群组:如果您正在使用Slurm,请考虑将每个Slurm队列配置为使用集群置放群组。集群的置放群组是单个可用区中的实例的逻辑分组。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的置放群组。您可以在队列Networking部分PlacementGroup中指定,每个计算资源都分配给队列的置放组。在计算资源Networking部分PlacementGroup中指定时,该特定的计算资源将分配给该置放群组。计算资源置放组规范优先于计算资源的队列规范。有关更多信息,请参阅 SlurmQueues/Networking/PlacementGroupSlurmQueues/ComputeResources/Networking/PlacementGroup

    Networking: PlacementGroup: Enabled: true Id: your-placement-group-name

    或者,也可以为您Amazon ParallelCluster创建一个置放群组。

    Networking: PlacementGroup: Enabled: true

    从Amazon ParallelCluster版本 3.3.0 开始,对置放群组的创建和管理进行了修改。当您在队列中指定要启用的置放群组(不带nameId)时,将为每个计算资源分配自己的托管置放群组,而不是为整个队列分配一个托管组。这有助于减少容量不足的错误。如果您需要为整个队列设置一个置放组,则可以使用已命名的置放群组。

    SlurmQueues/Networking/PlacementGroup/Name已添加为/SlurmQueues/NetworkingPlacementGroup/的首选替代方案Id

    有关更多信息,请参阅Networking

  • 增强联网:考虑选择支持增强联网的实例类型。此建议适用于所有当前一代的实例。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Linux 增强型联网功能

  • Elastic Fabric Adapter:要支持高级别的可扩展实例间通信,请考虑为您的网络选择 EFA 网络接口。EFA 的定制操作系统 (OS) 旁路硬件具有按需弹性和灵活性,增强了实例间的通信Amazon Web Services 云。您可以配置ComputeResource要使用的每个Slurm队列Efa。有关将 EFA 与一起使用的更多信息Amazon ParallelCluster,请参阅Elastic Fabric Adapter

    ComputeResources: - Name: your-compute-resource-name Efa: Enabled: true

    有关EFA 的更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 E lastic Adapter

  • 实例带宽:带宽随实例大小而扩展。有关不同实例类型的信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Amazon EBS 优化型实例和 Amazon EBS 卷类型

最佳实践:预算提醒

要管理中的资源成本Amazon ParallelCluster,我们建议您使用Amazon Budgets操作来创建预算。您还可以为所选Amazon资源创建已定义的预算阈值警报。有关更多信息,请参阅《Amazon Budgets用户指南》中的配置预算操作。同样,您也可以使用亚马逊 CloudWatch 创建账单警报。有关更多信息,请参阅创建账单告警以监控 Amazon 预估费用

最佳实践:将集群移至新的Amazon ParallelCluster次要版本或补丁版本

目前,每个Amazon ParallelCluster次要版本及其pcluster CLI都是独立的。要将集群移至新的次要版本或补丁版本,必须使用新版本的 CLI 重新创建集群。

为了优化将集群移到新的次要版本或补丁版本的过程,我们建议您执行下列操作:

  • 将个人数据保存在集群外部创建的外部卷中,例如 Amazon EFS 和 FSx for Lustre。通过这样做,您将future 可以轻松地将数据从一个集群移动到另一个集群。

  • 使用以下类型创建共享存储系统。您可以使用Amazon CLI或创建这些系统Amazon Web Services Management Console。

    将群集配置中的文件系统或卷定义为现有文件系统或卷。这样,当您删除集群时,它们就会被保留,并且可以连接到新集群。

    我们建议您将 Amazon EFS 或 FSx 用于 Lustre 文件系统。这两个系统可以同时连接至多个集群的同时。此外,在删除现有集群之前,您可以将这两个系统中的任何一个连接到新集群。

  • 使用自定义引导操作来自定义您的实例,而不是使用自定义 AMI。相反,如果您使用自定义 AMI,则需要为每个新版本版本删除并重新创建该 AMI。

  • 我们建议您按以下顺序应用上述建议:

    1. 更新现有群集配置以使用现有文件系统定义。

    2. 验证pcluster版本并在需要时进行更新。

    3. 创建并测试新集群。在测试新集群时,请检查以下内容:

      • 确保您的数据在新集群中可用。

      • 确保您的应用程序在新集群中运行。

    4. 在您的新集群经过全面测试并可运行并且您不再需要现有集群后,将其删除。