Amazon Elastic Compute Cloud
用户指南(适用于 Linux 实例)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

Elastic Fabric Adapter

Elastic Fabric Adapter (EFA) 是一种网络设备,可以将其附加到 Amazon EC2 实例以加速高性能计算 (HPC) 应用程序。通过使用 EFA,您可以实现本地 HPC 集群的应用程序性能,并具有 AWS 云提供的可扩展性、灵活性和弹性。

与以前在基于云的 HPC 系统中使用的 TCP 传输相比,EFA 提供更低且更一致的延迟和更高的吞吐量。它提高了实例间通信的性能,这对于扩展 HPC 应用程序是至关重要的。

EFA 经过优化以在现有的 AWS 网络基础设施上使用,并且可以根据应用程序要求进行扩展。

注意

在 Windows 实例上不支持 EFA 的操作系统绕过功能。如果将 EFA 附加到一个 Windows 实例,该实例将作为 Elastic Network Adapter,而没有添加的 EFA 功能。

EFA 基础知识

EFA 是具有添加的功能的 Elastic Network Adapter (ENA)。它提供了 ENA 的所有功能,并具有额外的操作系统绕过功能。操作系统绕过是一种访问模式,允许 HPC 应用程序直接与网络接口硬件通信以提供低延迟且可靠的传输功能。


				将传统的 HPC 软件堆栈与使用 EFA 的 HPC 软件堆栈进行对比。

以前,HPC 应用程序使用消息传递接口 (MPI) 与系统的网络传输进行交互。在 AWS 云中,这意味着应用程序与 MPI 进行交互,然后 MPI 使用操作系统的 TCP/IP 堆栈和 ENA 设备驱动程序以启用实例之间的网络通信。

通过使用 EFA,HPC 应用程序使用 MPI 与 libfabric API 进行交互。libfabric API 绕过操作系统内核,并直接与 EFA 设备通信以将数据包放在网络上。这减少了开销,并且可以更有效地运行 HPC 应用程序。

注意

libfabric 是 OpenFabrics 接口 (OFI) 框架的核心组件,它定义并导出 OFI 的 user-space API。有关更多信息,请参阅 libfabric OpenFabrics 网站。

EFA 和 ENA 之间的区别

Elastic Network Adapter (ENA) 提供支持 VPC 网络所需的传统 IP 网络功能。EFA 提供与 ENA 相同的所有传统 IP 网络功能,并且它们还支持操作系统绕过功能。操作系统绕过允许 HPC 应用程序绕过操作系统内核,并直接与 EFA 设备进行通信。

支持的实例类型

以下实例类型支持 EFA:c5n.18xlarge, p3dn.24xlarge

注意

EFA 需要使用至少具有 8GB 内存的实例类型。

支持 AMI

以下 AMI 支持 EFA:Amazon Linux, Amazon Linux 2, Red Hat Enterprise Linux 7.6, CentOS 7.6

EFA 限制

EFA 具有以下限制:

  • 您只能为每个实例附加一个 EFA。

  • EFA 操作系统绕过流量限制为单个子网。换句话说,无法将 EFA 流量从一个子网发送到另一个子网。可以将来自 EFA 的普通 IP 流量从一个子网发送到另一个子网。

  • 无法路由 EFA 操作系统绕过流量。仍然可以路由来自 EFA 的普通 IP 流量。

  • EFA 必须是一个安全组的成员,以允许进出安全组本身的所有入站和出站流量。