Amazon Elastic Compute Cloud
Linux インスタンス用ユーザーガイド

Elastic Fabric Adapter

Elastic Fabric Adapter (EFA) は、High Performance Computing (HPC) アプリケーションを高速化するために Amazon EC2 インスタンスにアタッチできるネットワークデバイスです。EFA では、AWS クラウドが提供するスケーラビリティ、柔軟性、伸縮性により、オンプレミスの HPC クラスターのアプリケーションパフォーマンスを実現できます。

EFA では、クラウドベースの HPC システムで従来使用されていた TCP トランスポートよりも低く、一貫性の高いレイテンシーを提供し、高いスループットが得られます。また、HPC アプリケーションのスケーリングに不可欠なインスタンス間通信のパフォーマンスも向上します。既存の AWS ネットワークインフラストラクチャで動作するように最適化されており、アプリケーション要件に応じてスケーリングすることができます。

EFA は Open MPI 3.1.4 および Intel MPI 2019 Update 4 の両方をサポートし、libfabric 1.8.0 と統合できます。

注記

EFAs の OS バイパス機能は、Windows インスタンスではサポートされていません。EFA を Windows インスタンスにアタッチした場合、インスタンスは、Elastic Network Adapter として動作し、EFA 機能は追加されません。

EFA の基本

EFA は、機能が追加された Elastic Network Adapter (ENA) です。ENA のすべての機能に OS バイパス機能が追加されています。OS バイパスは、HPC アプリケーションがネットワークインターフェイスハードウェアと直接通信して、レイテンシーが低く、信頼性の高い転送機能を実現するアクセスモデルです。


				従来の HPC ソフトウェアスタックと、EFA を使用するソフトウェアスタックの比較。

従来、HPC アプリケーションは、Message Passing Interface (MPI) を使用してシステムのネットワーク転送と通信していました。AWS クラウドでは、アプリケーションが MPI と通信することを意味します。MPI はオペレーティングシステムの TCP/IP スタックと ENA デバイスドライバーを使用して、インスタンス間のネットワーク通信を行います。

EFA の場合、HPC アプリケーションは MPI を使用して libfabric API と通信します。libfabric API はオペレーティングシステムのカーネルをバイパスし、EFA デバイスと直接通信してパケットをネットワークに送ります。これにより、オーバーヘッドが削減され、HPC アプリケーションを効率的に実行できるようになります。

注記

Libfabric は、OpenFabrics Interface (OFI) フレームワークのコアコンポーネントで、OFI のユーザースペース API を定義およびエクスポートします。詳細については、「Libfabric OpenFabrics」ウェブサイトを参照してください。

EFAs と ENA の違い

Elastic Network Adapters (ENA) は、VPC ネットワークのサポートに必要な従来の IP ネットワーキング機能を提供します。EFAs は、ENA と同じ従来のすべての IP ネットワーキング機能に加えて、OS バイパス機能をサポートしています。OS バイパスでは、HPC アプリケーションはオペレーティングシステムのカーネルをバイパスして EFA デバイスと直接通信できます。

サポートされている MPI 実装

EFA は、以下の Message Passing Interface (MPI) 実装をサポートします。

  • Open MPI 3.1.4

  • Intel MPI 2019 Update 4

サポートされるインスタンスタイプ

インスタンスタイプ c5n.18xlarge, i3en.24xlarge, p3dn.24xlarge は EFAs をサポートしています。

注記

EFA には、8 GB 以上のメモリを搭載したインスタンスタイプが必要です。

サポート対象の AMI

AMI Amazon Linux, Amazon Linux 2, Red Hat Enterprise Linux 7.6, CentOS 7.6, Ubuntu 16.04, Ubuntu 18.04 は、EFAs をサポートしています。

EFA の制限事項

EFA には次の制約事項があります。

  • インスタンスごとにアタッチできる EFA は 1 つのみです。

  • EFA OS バイパストラフィックは、1 つのサブネットに制限されています。つまり、EFA トラフィックをサブネット間で送信することはできません。EFA の通常の IP トラフィックは、サブネット間で送信することができます。

  • EFA OS バイパストラフィックは、ルーティングできません。EFA の通常の IP トラフィックは、引き続きルーティングできます。

  • EFA は、セキュリティグループ自体との間のインバウンドおよびアウトバウンドのトラフィックをすべて許可するセキュリティグループのメンバーである必要があります。