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

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

最佳实践

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

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

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

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

最佳实践:网络性能

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

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

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

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

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

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

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

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

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