写点什么

适用于紧密耦合的 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:161296
用户头像

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

关注

评论

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

mysql事务隔离的研究

这就是编程

Impala简介以及与Hive的异同

五分钟学大数据

4月日更 impala

​专科出身,2年进入苏宁,5年跳槽阿里,论我是怎么快速晋升的?

码农之家

Java 程序员 互联网 面试 阿里

跨专业?拿到阿里offer?我是如何一步一步做到的?

Java架构师迁哥

低代码平台想要实现复杂的业务流程,这4个条件不能少!

优秀

低代码

百度交易中台之订单系统架构浅析

百度Geek说

云计算 架构 云原生 后端 云服务

飞桨与宸曜科技完成兼容性认证

百度大脑

认证 飞桨

月薪30K以上的C/C++Linux后台服务器开发学习路线是怎样的?

赖猫

c++ Linux 后台开发 后端

Linux后台开发面试总结

赖猫

5G 和云原生时代的技术下半场,视频化是最大最新的确定性

阿里巴巴云原生

人工智能 云原生 5G 存储 调度

三次给你讲清楚Redis之Redis是个啥

华为云开发者联盟

数据库 nosql redis hash 字符串

CMS垃圾收集器

张sir

Java JVM 垃圾收集

工作中的设计模式 —— 策略模式

程序员小航

Java 设计模式

2021年金三银四最新美团、字节、阿里、腾讯Java面经,已拿offer!

Java架构之路

Java 程序员 架构 面试 编程语言

Canalys发布2020 Q4中国云市场报告

百度大脑

百度 AI

终于有腾讯架构师把困扰我多年的《计算机网络原理》全部讲明白了

Java 程序员 架构 网络 计算机

第14期师资培训火热招生中尽享国赛智能车一手资料

百度大脑

人工智能

AI开发降本提效之道:云智一体AI开发全栈模式

百度大脑

百度 AI 飞桨

百度联合研究成果登上《自然》子刊 推动人才管理大数据智能化转型

百度大脑

百度 AI

学会 Java 数据结构,想不飘都难

学Java关注我

Java 编程 架构 程序人生 计算机

用AI实践继续探索2050全面数字乡村建设

百度大脑

AI

一位阿里P8技术大牛的Java面试题总结,在GitHub上仅一天就获赞上万!

Java架构之路

Java 程序员 架构 面试 编程语言

San介绍以及在百度APP的实践

百度开发者中心

大数据作业的工作流调度详解

大数据技术指南

大数据 4月日更

面试阿里P6,却被MySQL难倒,二战阿里,挤进天猫团队(Java岗)

Java 程序员 架构 面试

三年Java程序员成功跳槽涨薪,这份《阿里巴巴金三银四Java高级面试题》给了我很大的帮助。

Java架构之路

Java 程序员 架构 面试 编程语言

Apache-Flume的安装及简单应用

慢慢de

win10 flume 日志采集

什么是 Jenkins? 运用Jenkins持续集成

码语者

DevOps jenkins

Linux C/C++ 服务器/后端开发/后台开发学习路线

Linux服务器开发

C/C++ Linux服务器开发 Linux后台开发 Linux后端开发

一不小心,它成为了 GitHub Alibaba Group 下 Star 最多的开源项目

阿里巴巴云原生

Java 微服务 云原生 dubbo Arthas

MySQL-技术专题-锁的介绍分析

码界西柚

MySQL lock 锁机制

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