写点什么

使用 Elastic Fabric Adapter 和 AWS ParallelCluster 扩展 HPC 工作负载

  • 2019-09-27
  • 本文字数:2446 字

    阅读完需:约 8 分钟

使用 Elastic Fabric Adapter 和 AWS ParallelCluster 扩展 HPC 工作负载

2019 年 4 月,AWS 宣布正式发布 Elastic Fabric Adapter (EFA),这是一种 EC2 网络设备,它可以提高分布式高性能计算 (HPC) 和机器学习 (ML) 工作负载的吞吐量和可扩展性。今天,我们很高兴宣布通过 AWS ParallelCluster 支持 EFA。


EFA 是一种适用于 Amazon EC2 实例的网络接口,您可以借助它在 AWS 上大规模运行需要高水平实例间通信的 HPC 应用程序(例如计算流体动力学、天气建模以及库区模拟等)。它使用行业标准的操作系统绕过技术,借助新的自定义可扩展可靠数据报 (SRD) 协议来增强实例间通信性能,这对于 HPC 应用程序的扩展至关重要。有关 EFA 和所支持实例类型的更多信息,请参阅 Elastic Fabric Adapter (EFA) for Tightly-Coupled HPC Workloads


建立启用 EFA 功能的 HPC 集群涉及许多并无重要价值的繁重工作,这些全部都由 AWS ParallelCluster 负责。当您在“cluster”部分设置 enable_efa = compute 标签时,AWS ParallelCluster 将会为所有网络增强实例添加 EFA。具体而言,AWS ParallelCluster 将会执行下列步骤:


  1. 在启动模板中设置 InterfaceType = efa。

  2. 确保安全组的规则允许指向自己的所有入站和出站流量。与传统 TCP 流量不同,EFA 要求有一条入站规则和一条出站规则明确允许指向自己的安全组 (ID sg-xxxxx) 的所有流量。更多信息请参阅准备启用了 EFA 的安全组。

  3. 安装 EFA 内核模块(这是一个 AWS 专用版本的 Libfabric 网络堆栈)和 OpenMPI 3.1.4。

  4. 验证实例类型、基础操作系统和置放组。

  5. 如要开始使用,您需要安装 AWS ParallelCluster,具体请参阅 AWS ParallelCluster 入门。对于本教程,我们将假设您已经安装了 AWS ParallelCluster 并且熟悉 ~/.parallelcluster/config 文件。


修改您的 ~/.parallelcluster/config 以使“cluster”部分至少包含下列参数:


[global]cluster_template = efaupdate_check = truesanity_check = true
[aws]aws_region_name = [your_aws_region]
[cluster efa]key_name = [your_keypair]vpc_settings = publicbase_os = alinuxmaster_instance_type = c5.xlargecompute_instance_type = c5n.18xlargeplacement_group = DYNAMICenable_efa = compute [vpc public]vpc_id = [your_vpc]master_subnet_id = [your_subnet]
复制代码


base_os — 目前我们支持启用 EFA 的 Amazon Linux (alinux)、Centos 7 (centos7) 和 Ubuntu 16.04 (ubuntu1604)。master_instance_type可以是任何实例类型(它位于为计算节点组件的置放组之外,不启用 EFA)。我们选择的是 c5n.xlarge,因为与 c5n.18xlarge 相比,它的价格更便宜但仍具有极佳的网络性能。compute_instance_type EFA 仅在计算节点上启用;这是您通过某个计划程序提交作业时运行代码的地方,这些实例应为支持的实例类型(在本文执笔之时包括 c5n.18xlarge、i3en.24xlarge、p3dn.24xlarge)。请参阅文档以了解当前支持的实例类型。placement_group 以物理相邻的方式放置您的计算节点,便于您充分发挥 EFA 的低网络延迟和高吞吐量优势。enable_efa 这是唯一的新增新参数,用于为计算节点增加 EFA 支持。目前只有一个选项,即 compute。这是为了提醒您注意 EFA 仅在计算节点上启用。
复制代码


然后您可以创建集群:


$ pcluster create efaStatus: CREATE_COMPLETEMasterServer: RUNNINGMasterPublicIP: 3.215.238.41ClusterUser: ec2-userMasterPrivateIP: 172.31.25.64
复制代码


完成集群创建后,您可以为集群添加 SSH:


$ pcluster ssh efa -i ~/path/to/ssh_key
复制代码


这时您可以看到其中有一个模块 openmpi/3.1.4 可用。该模块加载时,您可以在 /opt/amazon/efa 中确认 PATH 中的 mpirun 已正确设置为启用 EFA 的版本:


[ec2-user@ip-172-31-17-220 ~]$ module avail
----------------------------------------------- /usr/share/Modules/modulefiles ------------------------------------------------dot module-git module-info modules null openmpi/3.1.3 use.own[ec2-user@ip-172-31-17-220 ~]$ module load openmpi/3.1.4[ec2-user@ip-172-31-17-220 ~]$ which mpirun/opt/amazon/efa/bin/mpirun
复制代码


此版本的 openmpi 是借助 libfabric 的支持编译的。libfabric 库可让我们使用标准的 mpi 命令通过 EFA 设备通信。在本文执笔之时,Open MPI 是唯一支持 EFA 的 mpi 库。Intel MPI 预计也将很快发布。


现在您可以提交作业。首先创建一个包含下列参数的文件 submit.sge:


#!/bin/bash#$ -pe mpi 2
module load openmpimpirun -N 1 -np 2 [command here]
复制代码

CFD++ 示例

EFA 可加速计算流体动力学等常见工作负载。在下面的示例中,我们将使用启用 EFA 的 c5n.18xlarge 实例,在 24M 电池箱上运行 CFD++。CFD++ 是 Metacomp Technologies 开发的一种流量求解器。此模型是三倍音速外流计算(克林贡猎禽舰)的一个例子:



3 倍音速外流计算示例。


您可以看到下面的两个扩展曲线;蓝色曲线显示了启用 EFA 的扩展;紫色曲线为未启用 EFA 的扩展。EFA 提供的扩展能力明显更高,以更高的内核数提供远超多倍的性能。



扩展曲线,启用和不启用 EFA 对比。

新文档!

最后(当然不是最不重要),我们也非常高兴地宣布推出新的 AWS ParallelCluster 文档。这些文档现提供十种语言以及支持多种访问方式的 readthedocs 版本。立即阅读,先睹为快! 当然,您仍可以通过在 AWS Docs GitHub 存储库上创建 pull 请求以提交文档更新。


AWS ParallelCluster 是一个以社区为中心的项目。欢迎提交 pull 请求或通过 GitHub 问题提供反馈。用户反馈促进了我们的开发,推动我们全面做到卓越!


作者介绍:


Sean Smith


Sean Smith


Sean Smith 是 Amazon Web Services 的一名软件开发工程师。他最初从事 HPC 领域的工作,作为一名实习生参与 CfnCluster 项目,成为该团队(后来成为 AWS ParallelCluster)的首位工程师。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/scale-hpc-workloads-elastic-fabric-adapter-and-aws-parallelcluster/


2019-09-27 14:351200
用户头像

发布了 1929 篇内容, 共 155.5 次阅读, 收获喜欢 81 次。

关注

评论

发布
暂无评论
发现更多内容

通义灵码:AI 研发趋势与效果提升实践丨SDCon 全球软件技术大会演讲全文整理

阿里云云效

阿里云 云原生 通义灵码

观测云的自动化监控:CRD 资源与自动发现

可观测技术

自动化运维

水底下的云

脑极体

云计算

2024 中国开发者调查报告出炉:通义灵码是开发者最常用的 AI 编码辅助工具

阿里云云效

阿里云 云原生 通义灵码

云原生监控的未来:观测云与 Prometheus 的融合

可观测技术

Promethues 云原生监控

业务流程的数字化转型:观测云的实践与挑战

可观测技术

业务监控

五大联赛在即,能否用贝叶斯来预测足球比赛

Geek_a17c4b

AI 数据集 足球 贝叶斯算法

智源研究院举办第一期数据与行业应用Workshop

智源研究院

静态IP和动态IP哪个好?怎么选择?

Ogcloud

IP 静态IP 动态IP 海外原生IP 海外IP

1688商品详情API返回值中的供应商信息

技术冰糖葫芦

API Explorer API 接口 API 测试 API】

【AI 生图赢奖】用函数计算绘出「少年江湖」,与热播网剧梦幻联动

阿里巴巴云原生

阿里云 云原生 通义灵码

GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化

我再BUG界嘎嘎乱杀

Python 编程 数据分析 后端 开发语言

通义灵码:AI 研发趋势与效果提升实践丨SDCon 全球软件技术大会演讲全文整理

阿里巴巴云原生

阿里云 AI 云原生 通义灵码

2024 中国开发者调查报告出炉:通义灵码是开发者最常用的 AI 编码辅助工具

阿里巴巴云原生

阿里云 云原生 通义灵码

技术架构革新:观测云的 Agent 模型解析

可观测技术

架构设计 数据采集

EZ先享官奔赴海外 见证马自达百年造车基因传承

极客天地

百万级超长序列大模型训练如何加速,硬核解读MindSpeed方案

华为云开发者联盟

大模型 #人工智能 企业号 8 月 PK 榜 企业号2024年8月PK榜

DBeaver 24.1.4版本发布,原生支持GaussDB!

华为云开发者联盟

数据库 企业号 8 月 PK 榜 企业号2024年8月PK榜

跨部门协作:观测云在促进业务与技术团队合作中的作用

可观测技术

团队协作

企业跨国组网如何搭建?试试SD-WAN!

Ogcloud

SD-WAN 企业组网 SD-WAN组网 跨国组网

蜗牛游戏宣布2024年第二季度财报业绩

财见

使用 Elastic Fabric Adapter 和 AWS ParallelCluster 扩展 HPC 工作负载_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章