写点什么

适用于紧密耦合的 HPC 工作负载的 Elastic Fabric Adapter (EFA)

  • 2019-10-01
  • 本文字数:2103 字

    阅读完需:约 7 分钟

适用于紧密耦合的 HPC 工作负载的 Elastic Fabric Adapter (EFA)

在 re:Invent 2018 上,我们发布了 Elastic Fabric Adapter (EFA) 并在当时以预览版形式推出。预览期间,AWS 客户在各种紧密耦合的 HPC 工作负载上对 EFA 进行了测试,为我们提供了有价值的反馈并帮助我们对最终产品进行了优化。

现已推出

今天我很高兴地宣布,EFA 现已准备好在多个 AWS 区域进行生产使用。它可以支持那些要求具有比传统 TCP 通信更低、更一致的网络延迟以及更高吞吐量的严苛型 HPC 工作负载。通过此次发布,您可以将 AWS 云的规模、灵活性和弹性应用于紧密耦合的 HPC 应用程序,而我也迫不及待地想要了解您使用它做了什么。例如,您可以扩展到数千个计算节点,而无需提前预留硬件或网络。


关于 EFA


Elastic Fabric Adapter 是一个具有更多功能的 AWS Elastic Network Adapter (ENA)(阅读我的文章 Elastic Network Adapter – Amazon EC2 的高性能网络接口,了解有关 ENA 的更多信息)。EFA 仍然可以处理 IP 流量,但也支持通常称为 OS 旁路的重要访问模型。使用此模型,应用程序(最常见的是通过一些用户空间中间件)可以访问网络接口,而无需让操作系统参与每条消息。这样做可以减少开销并使应用程序更有效地运行。其具体情况如此处所示(来源):



这块蛋糕的 MPI 实施和 libfabric 层起着至关重要的作用:


MPI – 作为“消息传递接口”的缩写,MPI 是一种历史悠久、旨在支持并行编程的通信协议。利用它所提供的功能,在一组紧密耦合的计算机上运行的进程可以采用与语言无关的方式进行通信。


libfabric – 此库适用于几种不同类型的网络结构提供程序(包括 EFA)和 MPI 等更高级别的库。EFA 支持标准 RDM(可靠数据报)和 DGRM(不可靠数据报)终端节点类型;要了解更多信息,请查看 libfabric 程序员手册。EFA 还支持我们称之为 Scalable Reliable Datagram 的新协议;该协议旨在在 AWS 网络中工作,并在我们的 Nitro 芯片中实施。


通过协同工作,这两个层(以及可以代替 MPI 插入的其他层)允许您将现有 HPC 代码带到 AWS 并在几乎不做任何更改的情况下运行它。


您今天可以在所有 AWS 区域的 c5n.18xlarge 和 p3dn.24xlarge 实例(只要这些实例可用)上使用 EFA。这些实例可以使用 EFA 在 VPC 子网内进行通信,而安全组必须具有允许安全组内的所有流量流动的入口和出口规则。每个实例都可以有一个 EFA,它可以在启动实例或停止实例时进行挂载。


您还需要以下软件组件:


EFA 内核模块 – EFA 驱动程序位于 Amazon GitHub 存储库以及 Amazon Linux 和 Amazon Linux 2 AMI 中。我们正在将其添加到其他 Linux 发行版的 AMI 中。


Libfabric 网络堆栈 – 您现在需要使用 AWS 自定义版本(在 Amazon Linux 和 Amazon Linux 2 AMI 中已存在)。我们正在将我们的更改纳入 libfabric 的下一版本 (1.8) 中。


MPI 或 NCCL 实施 – 您可以使用 Open MPI 3.1.3(或更高版本)或 NCCL(2.3.8 或更高版本)以及适用于 NCCL 的 OFI 驱动程序。我们还打算支持 Intel MPI 库。


您可以使用 CLI、API 或 EC2 控制台以及将在几周内推出的 CloudFormation 支持启动实例并挂载 EFA。如果您使用 CLI,则需要包含子网 ID 并要求提供 EFA,如下所示(确保包含相应的安全组):


$ aws ec2 run-instances ... \  --network-interfaces DeleteOnTermination=true,DeviceIndex=0,SubnetId=SUBNET,InterfaceType=efa
复制代码


实例启动之后,请运行 lspci | grep efa0 以验证 EFA 设备是否已挂载。您可以(但并非必须)在集群置放群组中启动实例,以便在每个轻脚都很重要的情况下从物理邻接中受益。在以这种方式使用时,EFA 可以提供 15.5 微秒的单向 MPI 延迟。


您也可以创建一个启动模板,然后使用它以按需或 Spot 形式启动 EC2 实例(直接或作为 EC2 Auto Scaling 组的一部分)、启动 Spot 队列,以及在 AWS Batch 上运行计算作业。


了解更多


要了解有关 EFA 的更多信息,并查看其他一些基准测试,请务必观看此 re:Invent 视频:(在具有 Elastic Fabric Adapter 的 EC2 上扩展 HPC 应用程序):



AWS 客户 CFD Direct 维护适用于计算流体动力学 (CFD) 的热门 OpenFOAM 平台,并且还生产 CFD Direct From the Cloud (CFDDC),后者是一款让您可以轻松地在 AWS 上运行 OpenFOAM 的 AWS Marketplace 产品。他们一直在对 EFA 进行测试和基准测试,并在最近一篇标题为采用 AWS EFA 的 OpenFOAM HPC 的博文中分享了他们的测量结果。在文章中,他们报告了一对模拟:


汽车周围的外部空气动力学 – 这个模拟超线性扩展到 200 多个内核,逐渐下降到 1000 个内核的线性扩展(每个内核大约 10 万个模拟单元)。


在具有水跃的堰上流动 – 根据“数据写入”设置,这个模拟(1000 个核心和 1 亿个单元)的比例在 67% 和 72.6% 之间。


阅读完整文章,了解更多信息并查看一些图表和可视化。

工作过程

我们计划以后为其他 EC2 实例类型添加 EFA 支持。一般情况下,我们计划为任何给定类型的两个最大尺寸为“n”的实例以及裸机实例提供 EFA 支持。


作者介绍:


Jeff Barr


AWS 首席布道师; 2004 年开始发布博客,此后便笔耕不辍。


本文转载自 AWS 技术博客。


原文链接:


https://amazonaws-china.com/cn/blogs/china/now-available-elastic-fabric-adapter-efa-for-tightly-coupled-hpc-workloads/


2019-10-01 18:161201
用户头像

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

关注

评论

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

快速入门 Nacos 作为配置中心操作

zhuoqianmingyue

nacos SpringBoot 2

后台定时统计任务太耗时如何优化一下

zhuoqianmingyue

线程池

zookeeper到nacos的迁移实践

捉虫大师

架构 nacos

Spring Cloud 和 Dubbo 哪个会被淘汰?

程序猿DD

Spring Cloud dubbo

产品周刊 | 第 16 期(20200524)

八味阁

产品 设计 产品经理 产品设计

使用Spring Boot和Docker构建微服务架构(二)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

linux 账户及安全管理(一 账户管理)

牧马人

Linux

ARTS第一周

困到清醒

ARTS 打卡计划 起跑

使用Spring Boot和Docker构建微服务架构(四)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

2020年3月云主机性能评测报告

博睿数据

云计算 运维 机房 数据中心 主机

程序员的修行之路-保持良好的心态

牧马人

程序员

程序员的修行之路-关于编程语言

牧马人

程序员

足不出户“逛”银行,37家城商行、农商行手机银行App性能大比拼

博睿数据

APM App 评测 网银 银行

代码刚提交暂存区,组长突然要我把新增代码 Commit另一分支怎么办?

zhuoqianmingyue

git

玩转SpringBoot2.x之缓存对象

zhuoqianmingyue

redis springboot

微软:正式发布针对 .NET Core的 Winform 设计器

葡萄城技术团队

.net 微软 Win .net core

使用Spring Boot和Docker构建微服务架构(三)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

游戏夜读 | 世界两大游戏评论!

game1night

卡巴斯基产品本地化用时能缩短 77%,怎么做到的?

葛仲君

项目管理 软件开发 本地化 开发流程

企业微信机器人在大型财务共享中心的应用实践

DT极客

短视频时代下的知识摄取

Neco.W

学习 知识管理 知识体系 短视频

2020年3月北京BGP机房网络质量评测报告

博睿数据

运维 APM 机房 数据中心 拨测

Jsp页面报错后如何找到提示信息中的_jsp.java文件

阡陌r

Java | @Override 不要再把它当成可有可无的了

YoungZY

Java 注解 Override annotation

微信gif图片大小的规则

石云升

微信 GIF

使用Spring Boot和Docker构建微服务架构(一)

Tux Hu

Docker 架构 容器 微服务 Spring Boot

配置国内的pip源以提高使用pip安装python软件包的速度

良少

Python pip

是什么在背后支撑起“带货一哥”李佳琦?

博睿数据

负载均衡 APM 压测 秒杀 并发

程序员的修行之路-关于编程语言

牧马人

程序员

爬虫框架Scrapy应用实践-淘宝保险频道数据抓取【1】-前期准备

hadesxiong

Python 爬虫 保险 Scrapy

数据产品经理实战-DMP搭建

第519区

产品经理 营销

适用于紧密耦合的 HPC 工作负载的 Elastic Fabric Adapter (EFA)_语言 & 开发_亚马逊云科技 (Amazon Web Services)_InfoQ精选文章