传统本地HPC集群面临资源扩展性差、前期投入高、运维复杂等挑战。AWS云平台凭借其丰富的计算实例类型、高速网络、并行文件系统和灵活的调度管理工具,为构建弹性和高性能的HPC集群提供了强大支撑。本文将深入探讨在AWS上部署HPC集群的核心组件、架构设计、实施步骤及优化实践,助力科研与工程计算用户释放云端超算潜力。
网络,安全性,全球基础设施
此架构图显示了如何使用 AWS CloudFormation 模板预置网络资源、安全性和存储组件,以部署本指导。下一个选项卡显示了如何使用 AWS ParallelCluster CloudFormation 堆栈部署 HPC 资源。
第 1 步(续)
这些模板还为安全性和存储预置资源,例如 Amazon Simple Storage Service(Amazon S3)、Amazon Elastic File System(Amazon EFS)和适用于 Lustre 的 Amazon FSx。包括用来部署 Slurm 会计数据库(DB)和 Microsoft Active Directory 用户目录的可选模板
第 2 步
基于目标 AWS 区域创建四个逻辑子网(区域),每个子网位于多个可用区(AZ)中。部署所有必需的网络、网络访问控制列表(ACL)、路由和安全性资源
第 2 步(续)
这四个区域是:1)访问区域(公有子网)、2)计算区域、3)管理区域和 4)存储区域(所有私有子网)。
第 3 步
创建一个 Amazon RDS for MySQLRDS 实例,此实例将用作 Slurm 会计数据库。它是在单个区域中设置的,如果愿意,也可以将其修改成多可用区。在两个可用区中创建一个 AWS Directory Service 用户目录。
第 4 步
为共享集群存储空间创建一个 Amazon EFS 文件系统,此存储空间安装在存储区域的所有已部署的子网中。创建一个适用于 Lustre 的 FSx 文件系统,此文件系统将在首选可用区中用作一个高性能临时文件系统。
第 5 步
创建两个 Amazon S3 存储桶:一个用来使用 Amazon S3 Intelligent-Tiering 进行活动存储,另一个用来使用 Amazon S3 Glacier 进行存档存储
第 6 步
为安全地存储在 AWS Secrets Manager 中的 Slurm 会计数据库和 Directory Service 生成随机密码。
高性能计算集群部署
该架构图展示了如何通过 AWS ParallelCluster 的 CloudFormation 堆栈部署 HPC 资源,系统集成了前文所述的网络、存储、安全、数据库及用户目录等核心组件。
第 1 步
管理员使用 AWS ParallelCluster AWS CloudFormation 堆栈部署 HPC 资源。 资源可以引用之前启动的 CloudFormation 堆栈中的网络、存储、安全、数据库和用户目录。
第 2 步
AWS ParallelCluster CloudFormation 模板提供了一个示例集群配置,其中包含一个部署在管理区域内的单个可用区中的头节点。它还提供了一个部署在访问区域内的单个可用区中的登录节点。
第 3 步
Slurm 工作负载管理器部署在头节点上,用来管理 HPC 工作流流程。
第 4 步
所包含的示例集群配置创建两个 Slurm 队列,用来在计算区域内预置计算节点。一个队列使用计算优化型 Amazon Elastic Compute Cloud(Amazon EC2)实例,另一个队列使用 GPU 加速 EC2 实例。
第 5 步
用户使用 NICE DCV、SSH 或 AWS Systems Manager 会话管理器与访问区域内部署的登录节点建立连接,以访问本指导。
第 6 步
用户使用存储在 AWS Managed Microsoft Active Directory 中的用户名和密码对登录节点进行身份验证。
总结:
AWS提供了一套强大、灵活且不断演进的服务组合,使得在云上构建和管理高性能计算集群变得前所未有的可行和高效。通过利用AWS ParallelCluster进行自动化部署,结合HPC优化实例、EFA低延迟网络、FSx for Lustre并行文件系统以及Slurm等成熟调度器,用户能够快速搭建起满足苛刻计算需求的弹性HPC环境。同时,通过竞价实例、弹性伸缩、预留折扣和精细化的存储策略,可以有效控制云端HPC的成本。
无论是为了应对临时的计算峰值、进行大规模探索性研究,还是寻求替代或补充本地HPC设施,AWS云HPC都是一个值得认真考虑和采用的战略解决方案。拥抱云端超算,释放无限创新潜力。