Elastic Fabric Adapter - Amazon Elastic Compute Cloud

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Elastic Fabric Adapter

Elastic Fabric Adapter (EFA) 是可連接到 Amazon EC2 執行個體的網路裝置,用以加速高效能運算 (HPC) 和機器學習應用程式。EFA 可讓您透過雲端提供的延展性、彈性和彈性,達到內部部署 HPC 叢集的應用程式效能。 AWS

與雲端式 HPC 系統中傳統上使用的 TCP 傳輸相比,EFA 可提供更低和更一致的延遲及更高的輸送量。它可增強執行個體間通訊的效能,在擴展 HPC 和機器學習應用程式時不可或缺。它經過優化,可以在現有的 AWS 網絡基礎架構上工作,並且可以根據應用程序需求進行擴展。

EFA 整合 Libfabric 1.7.0 和更新版本,並支援適用於 HPC 應用程式的 Open MPI 5 和更新版本及 Intel MPI 2019 Update 5 和更新版本,以及適用於機器學習應用程式的 Nvidia Collective Communications Library (NCCL)

注意

Windows 執行個體上不支援 EFAs 的 OS-bypass 功能。如果您將 EFA 連接到 Windows 執行個體,該執行個體會充當「彈性網路轉接器」,但沒有額外的 EFA 功能。

EFA 基本概念

EFA 是有額外功能的彈性網路轉接器 (ENA)。它提供 ENA 的所有功能,還有額外的 OS-bypass 功能。OS-bypass 是一種存取模式,可讓 HPC 和機器學習應用程式直接與網路介面硬體通訊,以提供低延遲、可靠的傳輸功能。


				將傳統 HPC 軟體堆疊與使用 EFA 的 HPC 軟體堆疊作對比。

傳統上,HPC 應用程式使用 Message Passing Interface (MPI) 來與系統的網路傳輸連接。在 AWS 雲端中,這表示應用程式與 MPI 進行介面,接著會使用作業系統的 TCP/IP 堆疊和 ENA 裝置驅動程式來啟用執行個體之間的網路通訊。

透過 EFA,HPC 應用程式使用 MPI 或 NCCL 來與 Libfabric API 互動。Libfabric API 會繞過作業系統的核心,直接與 EFA 裝置通訊來將封包放到網路上。這樣可降低額外負荷,讓 HPC 應用程式執行更有效率。

注意

Libfabric 是 OpenFabrics 界面(OFI)框架的核心組件,它定義和導出 OFI 的用戶空間 API。如需詳細資訊,請參閱 LibFabric OpenFabrics 網站。

EFAs與 ENA 之間的差異

Elastic Network Adapters (ENA) 提供傳統 IP 聯網功能,是支援 VPC 聯網不可或缺的功能。EFA 提供與 ENA 相同的所有傳統 IP 聯網功能,它們還支援 OS-bypass 功能。OS-bypass 可讓 HPC 和機器學習應用程式繞過作業系統核心,直接與 EFA 裝置通訊。

支援的介面和程式庫

EFA 支援下列介面和程式庫:

  • 開啟 Open MPI 5 和更新版本

  • Graviton 首選 Open MPI 4.0 或更高版本

  • Intel MPI 2019 Update 5 及更新版本

  • NVIDIA Collective Communications Library (NCCL) 2.4.2 和更新版本

支援的執行個體類型

下列執行個體類型支援 EFAs:

  • 一般用途:m5dn.24xlargem5dn.metalm5n.24xlargem5n.metal| m5zn.12xlarge | m5zn.metal | m6a.48xlarge | m6a.metal | m6i.32xlarge | m6i.metal | m6id.32xlarge | m6id.metal | m6idn.32xlarge | m6idn.metal | m6in.32xlarge | m6in.metal m7a.48xlarge | m7a.metal-48xl | m7g.16xlarge | m7g.metal | m7gd.16xlarge | m7gd.metal | m7i.48xlarge | m7i.metal-48xl

  • 運算最佳化:c5n.9xlargec5n.18xlargec5n.metalc6a.48xlargec6a.metalc6gn.16xlargec6i.32xlarge| c6i.metal c6id.32xlarge | c6id.metal | c6in.32xlarge | c6in.metal c7a.48xlarge | c7a.metal-48xl | c7g.16xlarge c7g.metal | c7gd.16xlarge | c7gd.metal | c7gn.16xlarge c7gn.metal | c7i.48xlarge | c7i.metal-48xl

  • 記憶體最佳化:r5dn.24xlarge | r5dn.metal | r5n.24xlarge | r5n.metal | r6a.48xlarge | r6a.metal | r6i.32xlarge | r6i.metal | r6idn.32xlarge | r6idn.metal | r6in.32xlarge | r6in.metal | r6id.32xlarge | r6id.metal | r7a.48xlarge | r7a.metal-48xl | r7g.16xlarge | r7g.metal | r7gd.16xlarge | r7gd.metal | r7i.48xlarge | r7i.metal-48xl | r7iz.32xlarge | r7iz.metal-32xl | x2idn.32xlarge | x2idn.metal | x2iedn.32xlarge | x2iedn.metal | x2iezn.12xlarge | x2iezn.metal

  • 儲存最佳化:i3en.12xlarge | i3en.24xlarge | i3en.metal | i4g.16xlarge | i4i.32xlarge | i4i.metal | im4gn.16xlarge

  • 加速運算:dl1.24xlargedl2q.24xlargeg4dn.8xlargeg4dn.12xlargeg4dn.16xlargeg4dn.metalg5.8xlargeg5.12xlargeg5.16xlargeg5.24xlargeg5.48xlargeg6.8xlargeg6.12xlargeg6.16xlargeg6.24xlargeg6.48xlargegr6.8xlargeinf1.24xlargep3dn.24xlargep4d.24xlargep4de.24xlargep5.48xlarge| trn1.32xlarge trn1n.32xlarge | vt1.24xlarge

  • 高效能運算:hpc6a.48xlargehpc6id.32xlargehpc7a.12xlargehpc7a.24xlargehpc7a.48xlargehpc7a.96xlarge| hpc7g.4xlarge | hpc7g.8xlarge | hpc7g.16xlarge

查看特定區域中支援 EFA 的可用執行個體類型

可用的執行個體類型因區域而異。若要查看區域中支援 EFA 的可用例證類型,請搭配--region參數使用describe-instance-types指令。包含 --filters 參數以將結果範圍限定為支援 EFA 的執行個體類型,以及包含 --query 參數以將輸出範圍限定為 InstanceType 的值。

aws ec2 describe-instance-types --region us-east-1 --filters Name=network-info.efa-supported,Values=true --query "InstanceTypes[*].[InstanceType]" --output text | sort

支援的作業系統

以下作業系統支援 Intel/AMD x86 執行個體類型的 EFA:

  • Amazon Linux 2023

  • Amazon Linux 2

  • CentOS 7

  • RHEL 7、8 和 9

  • Debian 10 和 11

  • Rocky Linux 8 和 9

  • Ubuntu 20.04 和 22.04

  • SUSE Linux Enterprise 15 SP2 及更新版本

  • OpenSUSE Leap 15.4 及更新版本

注意

Ubuntu 20.04 與 dl1.24xlarge 執行個體搭配使用時支援對等直接支援。

以下作業系統支援 Arm (Graviton) 執行個體類型的 EFA:

  • Amazon Linux 2023

  • Amazon Linux 2

  • RHEL 8/9 和 Rocky Linux 8/9

  • Debian 10 和 11

  • Ubuntu 20.04 和 22.04

  • SUSE Linux Enterprise 15 SP2 及更新版本

EFA 限制

EFA 具有下列限制:

  • 所有 P4d 和 P5 執行個體類型都支援 NVIDIA GPUDirect Remote Direct Memory Access (RDMA)。

  • 目前不支援 P4d/P4de/DL1 執行個體與其他執行個體類型之間的 EFA 流量。

  • 支援多個網路卡的執行個體類型可以設定為每個網路卡一個 EFA。所有其他支援的執行個體類型每個執行個體只支援一個 EFA。

  • 對於 c7g.16xlarge,在連接 EFA 時,不支援 m7g.16xlarger7g.16xlarge 專用執行個體和專用主機。

  • EFA OS-bypass 流量限於單一子網。換言之,無法在兩個子網之間傳送 EFA 流量。兩個子網之間可以傳送來自 EFA 的標準 IP 流量。

  • EFA OS-bypass 流量不可路由傳送。來自 EFA 的標準 IP 流量仍可路由傳送。

  • EFA 必須是安全群組的成員,而該安全群組允許往返於其本身的所有傳入和傳出流量。

  • AWS Out posts 不支持 EFA。

EFA 定價

EFA 是選用的 Amazon EC2 聯網功能,您可以在任何支援的執行個體上啟用該功能,而無需額外付費。