最佳实践 - AWS ParallelCluster

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

最佳实践

最佳实践:主实例类型选择

尽管主节点不执行任何作业,但其功能和大小对集群的整体性能至关重要。

在选择用于主节点的实例类型时,您需要评估以下各项:

  • 集群大小:主节点协调集群的扩展逻辑,并负责将新节点连接到调度程序。如果您需要向上和向下扩展大量节点的集群,则需要为主节点提供一些额外的计算容量。

  • 共享文件系统:使用共享文件系统在计算节点和主节点之间共享工件时,请考虑到主节点是公开 NFS 服务器的节点。因此,您需要选择具有足够网络带宽和足够专用 Amazon EBS 带宽的实例类型来处理您的工作流程。

最佳实践:网络性能

有三个提示涵盖了改善网络通信的所有可能性。

  • 置放群组:集群置群组是单个可用区中的实例的逻辑分组。有关置群组的更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的置放群组。您可以将集群配置为使用自己的置放群组,placement_group = your-placement-group-name也可以让使用"compute"策略AWS ParallelCluster创建一个置放群组placement_group = DYNAMIC。有关更多信息,placement_group有关多队列模式和placement_group单队列模式,请参阅。

  • 增强联网:考虑选择支持增强联网的实例类型。有关更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 Linux 上的增强联网

  • Elastic Fabric Adapter:要支持高级别的可扩展实例间通信,请考虑为您的网络选择 EFA 网络接口。EFA 的定制操作系统 (OS) 旁路硬件同时获得了实例间的通信,以及AWS云的按需弹性和按需的操作系统 (OS)。要将单个Slurm集群队列配置为使用 EFA,请设置enable_efa = true。有关将 EFA 与一起使用的更多信息AWS ParallelCluster,请参阅Elastic Fabric Adapterenable_efa。有关 EFA 的更多信息,请参阅适用于 Linux 实例的 Amazon EC2 用户指南中的 E lastic Fabric Adap ter。

  • 实例带宽:带宽随实例大小而变化,请考虑选择更适合您需求的实例类型,请参阅 Amazon EC2 Linux 实例用户指南中的 Amazon EBS 优化实例和 Amazon EBS 卷类型

最佳实践:预算提醒

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

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

当前,每个AWS ParallelCluster次要版本及其pcluster命令行界面都是独立的。要将集群移至新的次要版本或补丁版本,必须使用新版本的 CLI 重新创建集群。

要优化将集群迁移到新的次要版本的过程或出于其他原因保存共享存储数据,我们建议您使用以下最佳实践。

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

  • 使用AWS CLI或创建下列类型的共享存储系统AWS Management Console:

    将它们作为现有文件系统添加到新的群集配置中。这样,当您删除集群时,它们会被保留,并且可以连接到新集群。无论共享存储系统是连接还是与集群分离,它们通常都会产生费用。

    我们建议您使用 Amazon EFS 或 Amazon FSx for Lustre 文件系统,因为它们可以同时连接到多个集群,并且可以在删除旧集群之前将它们连接到新集群。有关更多信息,请参阅《亚马逊 EFS 用户指南》中的 “装载 Amazon EFS 文件系统” 和 “A mazon FSx for Lustre 用户指南” 中的 “访问 FSx for Lustre 文件系统”。

  • 使用自定义引导操作自定义您的实例,而不是自定义 AMI。这优化了创建过程,因为不需要为每个新版本创建新的自定义 AMI。

  • 推荐序列。

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

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

    3. 创建并测试新集群。

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

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

    4. 如果您的新集群已经过全面测试并可运行,并且您确定不会使用旧集群,请将其删除。