

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Elastic Fabric Adapter
<a name="efa-v3"></a>

Elastic Fabric Adapter (EFA) 是一种网络设备，具有操作系统旁路功能，可与同一子网上的其他实例进行低延迟的网络通信。EFA 通过使用 Libfabric 进行公开，并且可以由使用消息传递接口 (MPI) 的应用程序使用。

要将 EFA AWS ParallelCluster 与Slurm调度程序一起使用，请将 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)//[`ComputeResources`[`Efa`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-Efa)](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)/设置为[`Enabled`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-Efa-Enabled)。`true`

要查看支持 EFA 的 Amazon EC2 实例的列表，请参阅《Amazon EC2 用户指南（适用于 Linux 实例）》**中的[支持的实例类型](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html#efa-instance-types)。

我们建议您在置放群组中运行启用 EFA 的实例。这样，这些实例便可启动到单个可用区的低延迟组中。有关如何使用 AWS ParallelCluster配置置放群组的更多信息，请参阅 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[`Networking`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking)/[`PlacementGroup`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-PlacementGroup)。

**注意**  
不支持在不同的可用区之间使用 Elastic Fabric Adapter (EFA)。有关更多信息，请参阅[日程安排](Scheduling-v3.md)/[SlurmQueues](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[联网](Scheduling-v3.md#Scheduling-v3-SlurmQueues-Networking)/[SubnetIds](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-Networking-SubnetIds)。

**注意**  
Ubuntu 分发默认启用 ptrace（进程跟踪）保护。已禁用 ptrace 保护以使 Libfabric 正常运行。有关更多信息，请参阅《Amazon EC2 用户指南》**中的[禁用 ptrace 保护](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa-start.html#efa-start-ptrace)。

## 默认 EFA 网络配置
<a name="efa-v3-default-config"></a>

从 AWS ParallelCluster 3.15.0 开始，启用 EFA 后， AWS ParallelCluster 会自动配置仅限 EFA 的网络接口，以将 EFA 流量与 IP 流量分开。这样可以最大限度地提高 EFA 带宽，同时最大限度地降低 IP 地址 AWS ParallelCluster 根据实例类型的功能确定最佳配置。

对于大多数工作负载，包括紧密耦合的 HPC 和分布式训练，建议使用此默认配置。 AI/ML 

## 自定义 EFA 网络接口
<a name="efa-v3-custom-interfaces"></a>

如果您的工作负载需要不同的网络配置，例如最大限度地提高辅助网卡上的 ENA 带宽或配置可用网卡的子集，则可以使用 [`SlurmQueues`](Scheduling-v3.md#Scheduling-v3-SlurmQueues)/[`ComputeResources`](Scheduling-v3.md#Scheduling-v3-SlurmQueues-ComputeResources)/[`LaunchTemplateOverrides`](Scheduling-v3.md#yaml-Scheduling-SlurmQueues-ComputeResources-LaunchTemplateOverrides)参数覆盖默认设置。这将使用启动模板中定义的配置替换计算节点的整个网络接口配置。

有关演 step-by-step练，请参阅[使用启动模板覆盖自定义计算节点网络接口](tutorial-network-customization-v3.md)。

**警告**  
如果您以实例类型不支持的方式配置网络接口，则实例将无法启动。要验证您的实例类型支持的网络配置，请参阅 *Amazon EC2 API 参考[DescribeInstanceTypes](https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeInstanceTypes.html)*中的。

有关更多信息，请参阅《Amazon EC2 用户指南》**中的 [Elastic Fabric Adapter](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html) 以及 *AWS 开放源代码博客*中的[使用 Elastic Fabric Adapter 和 AWS ParallelCluster扩展 HPC 工作负载](https://aws.amazon.com/blogs/opensource/scale-hpc-workloads-elastic-fabric-adapter-and-aws-parallelcluster/)。