すべてのプロダクト
Search
ドキュメントセンター

Elastic Compute Service:eRDMA の有効化

最終更新日:Jul 16, 2025

Elastic Compute Service (ECS) インスタンスで Elastic Remote Direct Memory Access (eRDMA) をサポートするインスタンスタイプを作成し、Elastic RDMA インターフェース (ERI) をインスタンスにバインドすることで、eRDMA を使用して、大規模ネットワーキング機能と RDMA の低レイテンシを活用できます。 ERI は、ERI 機能が有効になっている Elastic Network Interface (ENI) です。

ECS インスタンスで eRDMA を有効にする

ステップ 1:インスタンスタイプまたはイメージが eRDMA をサポートしているかどうかを確認する

eRDMA をサポートしているのは、一部のインスタンスタイプとイメージのみです。

  • eRDMA をサポートするエンタープライズレベルの CPU ベースインスタンスタイプとイメージについては、制限 をご覧ください。

  • eRDMA をサポートする GPU アクセラレーションインスタンスタイプとイメージについては、制限 をご覧ください。

ステップ 2:ECS インスタンスに eRDMA ドライバーをインストールする

重要
  • eRDMA ドライバーは、Alibaba Cloud 社内で開発されています。 Alibaba Cloud は、eRDMA ドライバーのテクニカルサポートを提供しています。

  • eRDMA ドライバーのインストールプロセスは、完了するまでに時間がかかります。

  • eRDMA ドライバーインストールパッケージ

    異なる eRDMA ドライバーバージョンのインストールパッケージのリリースノート (リリース日で最新から順に並べられています)

    バージョン

    リリース日

    ダウンロードリンク

    チェックサム

    説明

    1.4.5

    2025-4-29

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.4.5.tar.gz

    • MD5: 37c89059d005aebe5d8bbde530b5bf56

    • SHA256: 83d810301f9141ca6f387a7e0cf99c89f40b27d484a312eb1d1bd605ebf8bc28

    • ユーザーモード qp flush のサポート。

    • 強化された rdma-core コアライブラリ。

    • インストールプログラムは、Rocky Linux 8 オペレーティングシステムをサポートしています。

    1.4.3

    2025-3-13

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.4.3.tar.gz

    • MD5: 417d2fb88af5832475c7285187f57c11

    • SHA256: f82c1eb7a5f93387185a6c0ce7a78c39495d8a07a3e2ee8248cec8b9d525ba2f

    • MLNX OFED 24.10 がサポートされています。

    • Ubuntu 24.04 がサポートされています。

    1.4.0

    2024-9-27

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.4.0.tar.gz

    • MD5: 77135d946dddc015000c8f3ea4e6c586

    • SHA256: 8613d3d81e8eb3b78bf840c37cbe02c79f62631df36cdc8b2c7c101f49f5af29

    異種 GPU ベースのシナリオでのパフォーマンスが最適化されています。

    1.3.3

    2023-10-09

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.3.tar.gz

    • MD5: 51ffb06266255139554275bc86fa4caa

    • SHA256: 5aad6d006662bd902ef5e913fb97d2a6623aadeeacd06f1c3f1c74cbd1f57ded

    このバージョンは、最新のパッチを含むように更新されています。

    1.3.2

    2023-09-08

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.2.tar.gz

    • MD5: 8492016fc96eece6a60687b0e4ea66dd

    • SHA256: 89ab265dc9fa8d56f1b2d8b13d7f50032390a265eddb2e04eeee3aa86fd169ce

    このバージョンは、最新のパッチを含むように更新されています。

    1.3.1

    2023-08-18

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.1.tar.gz

    • MD5: b9b90212e6ba49d57b81d3c5d4210deb

    • SHA256: 4ebe31760443613f8f61fcdbef7a85b277dabc59039d048898536ea4fe5d8d4a

    ドライバー側の基盤となる伝送モードを厳密な順序付けに設定できます。 厳密な順序付けモードでは、データパケットはメモリに順番にのみ送信されます。

    1.3.0

    2023-06-26

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.3.0.tar.gz

    • MD5: 2da0c65643b5e2ffb61d75e1b5e5a7ab

    • SHA256: cce03aac0e07d0890884c35ad4f10e9d15f587535d788c8fc97ea268312ad4a9

    • メモリ領域 (MR) の登録中に、複数レベルのページテーブルがサポートされています。

    • IPv6 機能がサポートされています。基盤となるハードウェアからの IPv6 サポートが必要です。

    • Ubuntu 22.04 がサポートされています。

    • このバージョンは、最新のパッチを含むように更新されています。

    1.2.3

    2023-05-30

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.3.tar.gz

    • MD5: 7496a6324f3872469d7194c2e234b19f

    • SHA256: 16c2de0d90da6906db91c2e2469aaad9e24131c44ce52b9464036f1c3747f8a2

    このバージョンは、最新のパッチを含むように更新されています。

    1.2.2

    2023-05-04

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.2.tar.gz

    • MD5: f449d3961a41ff6a97a53cfa29e20d6c

    • SHA256: 11fdb4b3c778762ad0bdf2d0327008aa2ecb22dc508c9f9fae3568b41ae5462b

    Ubuntu 22.04 がサポートされています。

    1.2.1

    2023-04-04

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.1.tar.gz

    • MD5: e080103934da76ce83924da789aecece

    • SHA256: be3a89e57143d7544cf968052250df92f911aebb035f07b06ebeb8c5f13bf976

    このバージョンは、最新のパッチを含むように更新されています。

    1.2.0

    2023-03-09

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.2.0.tar.gz

    • MD5: c8d440a6e35ec6d2aaf1a568affea876

    • SHA256: d484997e28e29f862dc580c112b55b389a00faf88dc6aa89eea588ee1369a8ca

    • Compat モード (互換モード) がサポートされています。

    • このバージョンは、最新のパッチを含むように更新されています。

    1.1.0

    2023-01-16

    http://mirrors.cloud.aliyuncs.com/erdma/erdma_installer-1.1.0.tar.gz

    • MD5: 1fea69d819919a77384f902213eb681e

    • SHA256: 176c3bb35d5584e8c8e43eba9b1824b8cb2b43a19d802c4e469363ed8e33fea6

    このバージョンは、最新のパッチを含むように更新されています。

  • eRDMA ドライバーをインストールする

    eRDMA をサポートする ECS インスタンスを作成するときに [eRDMA ドライバーの自動インストール] オプションを選択するか、インスタンスの作成後に eRDMA ドライバーを手動でインストールすることで、eRDMA ドライバーを自動的にインストールできます。

  • eRDMA カーネルモードドライバーのバージョンを確認する

    eRDMA ドライバーがインストールされた後、eadm ver コマンドを実行して、eRDMA カーネルモードドライバーのバージョンを確認できます。 最新の eRDMA ドライバーバージョン 1.4.5 は、eRDMA カーネルモードドライバーバージョン 0.2.38 に対応しています。

    image

    eRDMA は、eRDMA カーネルモードドライバーの次のインストールモードをサポートしています。 接続確立方法に基づいてインストールモードを選択します。 接続確立方法については、「接続確立方法の説明」をご覧ください。

    • Standard: eRDMA カーネルモードドライバーは Standard モードでインストールされ、RDMA Connection Manager (CM) 接続のみをサポートします。

      重要

      デフォルトでは、eRDMA をサポートする CPU ベースのインスタンスファミリ は、eRDMA カーネルモードドライバーを Standard モードでインストールします。 このモードでは、RDMA_CM 接続確立方法のみがサポートされています。

    • Compat: eRDMA カーネルモードドライバーは Compat モード (互換モード) でインストールされ、RDMA CM 接続と帯域外 (OOB) 接続をサポートします。

      重要

ステップ 3:ERI を ECS インスタンスにバインドする

ECS インスタンスの作成時にプライマリ ENI の ERI 機能を有効にするか、インスタンスの作成後に ERI を ECS インスタンスにバインドできます。

説明

特定のインスタンスタイプの ECS インスタンスにバインドできる ERI の最大数を照会するには、DescribeInstanceTypes 操作を呼び出し、応答の EriQuantity パラメーターの値を確認します。値が 0 の場合は、そのインスタンスタイプの ECS インスタンスに ERI をバインドできないことを示します。

  • ECS インスタンスにバインドされている ENI の ERI 機能を有効にする

    ENI の属性を変更することで、ECS インスタンスにバインドされている ENI の ERI 機能を有効にすることができます。 詳細については、「ERI」トピックの 既存の ENI の ERI 機能のステータスを変更する セクションをご覧ください。

  • API オペレーションを呼び出して、ERI を作成し、ECS インスタンスにバインドする

    次の手順を実行します。

    1. API オペレーションを呼び出して、ERI を作成します。

      CreateNetworkInterface オペレーションを呼び出して ENI を作成し、NetworkInterfaceTrafficMode パラメーターを HighPerformance に設定して、ENI の ERI 機能を有効にします。

      呼び出しが成功したら、NetworkInterfaceId パラメーターの戻り値を記録します。これは ERI ID です。

    2. NetworkInterfaceId パラメーターを前の手順で記録した戻り値に設定し、InstanceId パラメーターを ECS インスタンスの ID に設定して、AttachNetworkInterface オペレーションを呼び出して、ERI を ECS インスタンスにバインドします。

      重要

      ECS インスタンスのインスタンスタイプがインスタンスごとに複数の ERI をサポートしている場合は、インスタンスに複数の ERI をバインドするときに、ERI ごとに NetworkCardIndex パラメーターを異なる値に設定することをお勧めします。 これにより、ERI が異なるチャネルにバインドされ、インスタンスの最大ネットワーク帯域幅が実現されます。 詳細については、「ネットワークカードインデックス」をご覧ください。

eRDMA 構成の正確性を検証する

ibv_devinfo コマンドは、eRDMA が想定どおりに機能するかどうかを確認するのに役立ちます。 ibv_devinfo コマンドを実行すると、デバイスのハードウェア属性、ポートステータス、サポートされている機能など、デバイスに関する情報を取得できます。 少なくとも 1 つのポートが PORT_ACTIVE 状態の場合、RDMA コンポーネントは想定どおりに動作し、RDMA 機能は有効になっており、想定どおりに使用できます。 詳細については、「13.7. Testing Early InfiniBand RDMA operation」をご参照ください。

-v パラメーターを ibv_devinfo コマンドに渡して、ハードウェアバージョン、サポートされている最大メッセージサイズ、キューの数、メモリウィンドウサイズなど、各デバイスに関する詳細情報を照会することもできます。 前述の情報に基づいて、RDMA ネットワークのパフォーマンスを最適化および確認できます。

ibv_devinfo コマンドを実行して、ECS インスタンスでの eRDMA 構成の正確性を検証できます。

  • 正しい eRDMA 構成: ERI は ECS インスタンスにバインドされており、eRDMA ドライバーはインスタンスに想定どおりにインストールされています。

    説明
    • インスタンスが複数の ERI をサポートし、バインドされている場合、インスタンス上の各 eRDMA デバイスのポートの state フィールドが PORT_ACTIVE の場合、ERI は想定どおりに機能します。

    • ERI のポートの state フィールドが invalid state の場合、ERI は異常です。 この場合は、ERI が正しく構成されているかどうかを確認してください。 たとえば、ifconfig コマンドを実行して、ERI の IP アドレスを含むすべての構成が存在するかどうかを確認します。 詳細については、「セカンダリ ENI を構成する」をご参照ください。

    image

  • eRDMA ドライバーが想定どおりにインストールされていない: 次の図は、eRDMA ドライバーがインスタンスに想定どおりにインストールされていないことを示しています。 この場合は、インスタンスに eRDMA ドライバーを再インストールする必要があります。 詳細については、この Topic の手順 2: ECS インスタンスに eRDMA ドライバーをインストールするセクションをご参照ください。

    image

  • インスタンスに ERI がバインドされていない: eRDMA ドライバーはインスタンスにインストールされていますが、ERI はインスタンスにバインドされていません。 この場合は、ERI をインスタンスにバインドする必要があります。 詳細については、この Topic の手順 3: ERI を ECS インスタンスにバインドするセクションをご参照ください。

    image

診断ツールを使用して、eRDMA の基本機能を確認することもできます。 詳細については、「eRDMA の監視と確認」Topic の診断ツールを使用して RDMA 関連の問題を確認し、eRDMA パフォーマンスを評価するセクションをご参照ください。

eRDMA ネットワークパフォーマンスをテストする

Perftest は、送信、受信、読み取り、書き込みなどのネットワーク操作を評価するためのさまざまなテストオプションを提供するパフォーマンステストツールキットです。 Perftest を使用すると、RDMA 操作のレイテンシや帯域幅などのパフォーマンスメトリックを測定できます。測定値に基づいて RDMA デバイスとネットワークのパフォーマンスを判断し、構成を最適化したり、潜在的な問題を解決したりできます。詳細については、「perftest」をご参照ください。

perftest に含まれるテストプログラム

Perftest には、テストプログラムのコレクションが含まれています。ビジネス要件に基づいてテストプログラムを使用して、ネットワーク帯域幅またはレイテンシをテストし、ネットワークパフォーマンスを評価できます。次の表に、テストプログラムを示します。

RDMA 操作

帯域幅テストプログラム

レイテンシテストプログラム

送信

ib_send_bw(送信帯域幅テスト)

ib_send_lat(送信レイテンシテスト)

RDMA 読み取り

ib_read_bw(読み取り帯域幅テスト)

ib_read_lat(読み取りレイテンシテスト)

RDMA 書き込み

ib_write_bw(書き込み帯域幅テスト)

ib_write_lat(書き込みレイテンシテスト)

RDMA Atomic

ib_atomic_bw (アトミック帯域幅テスト)

ib_atomic_lat (アトミックレイテンシテスト)

ネイティブ イーサネット

raw_ethernet_bw(Raw イーサネット帯域幅テスト)

raw_ethernet_lat(Raw イーサネットレイテンシテスト)

perftest をインストールする

公式の perftest リポジトリから perftest パッケージをダウンロードして perftest をインストールするか、Yellowdog Updater, Modified(YUM)または Advanced Packaging Tool(APT)リポジトリを使用して perftest をインストールできます。

公式 perftest リポジトリ
  1. perftest をインストールする ECS インスタンスのパブリック帯域幅を有効にします。詳細については、「パブリック帯域幅を有効にする」をご参照ください。

  2. 公式 perftest リポジトリから perftest パッケージをダウンロードし、perftest をインストールします。

YUM または APT リポジトリ
説明

perftest の異なるバージョンは、異なる Linux ディストリビューションのリポジトリに含まれています。非互換性が発生する可能性があります。非互換性を防ぐために、perftest をインストールする ECS インスタンスで実行されている Linux ディストリビューションを特定し、同じ Linux ディストリビューションのリポジトリに含まれている perftest バージョンをインストールすることをお勧めします。それ以外の場合は、公式 perftest リポジトリから perftest パッケージをダウンロードして perftest をインストールしてください

  • Alibaba Cloud Linux 3/CentOS/Anolis OS

    sudo yum install perftest -y
  • Ubuntu

    sudo apt install perftest -y

perftest の使用例

perftest に含まれる各テストプログラムは、別々のコマンドとして実行できます。たとえば、ib_send_lat をコマンドとして実行して、送信レイテンシテストを実行します。

perftest を使用してパフォーマンステストを実行する場合、正しいテストパラメーターが重要です。パラメーターを適切に構成することにより、特定のテスト要件を満たし、より正確なテスト結果を得るために、perftest の動作をより正確に制御できます。次の表に、perftest の特定の重要なパラメーターを示します。

共通テストパラメーター

<Subcommand> -h コマンドを実行して、テストパラメーターとパラメーターの構成方法をクエリできます。

テストカテゴリ

テストパラメーター

レイテンシテスト

  • -C, --report-cycles:CPU サイクル単位で時間を報告します。このパラメーターは、レイテンシを正確に測定するのに役立ちます。

  • -H, --report-histogram:すべての結果を出力します。デフォルトでは、サマリーのみが出力されます。このパラメーターは、データ分布を理解するのに役立ちます。

  • -U, --report-unsorted:ソートされていない結果を出力します。このパラメーターを指定して、元のデータ分布を分析できます。デフォルトでは、ソートされた結果が出力されます。

帯域幅テスト

  • -b, --bidirectional:双方向帯域幅を測定します。デフォルトでは、単方向帯域幅が測定されます。このパラメーターは、ネットワークの双方向伝送機能を判断できる重要なメトリックです。

  • -N, --no peak-bw:ピーク帯域幅(peak-bw)の計算をキャンセルします。デフォルトでは、ピーク帯域幅の計算はキャンセルされません。これにより、安定した帯域幅パフォーマンスに集中できます。

  • -t, --tx-depth=<dep>:送信(Tx)キューのサイズを指定します。これは、テストの同時実行性とパフォーマンスに影響します。デフォルト値:128。

  • -D, --duration=<sec>:カスタマイズされた秒数でテストを実行します。

送信テスト

  • -r, --rx-depth=<dep>:受信(Rx)キューのサイズを指定します。これは、バッファーサイズとパフォーマンスに影響します。デフォルト値:512。

  • -g, --mcg=<num_of_qps><num_of_qps> 個のキューペア(QP)がアタッチされているマルチキャストグループにメッセージを送信します。このパラメーターは、マルチキャストパフォーマンスのテストに役立ちます。

その他の高度なオプション

  • -u, --qp-timeout=<timeout>:QP タイムアウトを指定します。単位:マイクロ秒。デフォルト値:14。QP タイムアウトは、次の式を使用して計算されます:4 × 2^(-u)。

  • --force-link=<type>:リンクを特定のタイプ(IB または イーサネット)に強制します。このパラメーターを指定して、特定タイプのネットワークリンクをテストできます。

  • --use_hugepages:連続またはメモリアライン割り当ての代わりに Hugepages を使用します。これにより、メモリ使用量とパフォーマンスを最適化できます。

  • --rate_limit=<limit>:送信されるパッケージの最大レートを設定します。デフォルト単位:Gbit/s。--rate_units パラメーターを使用して、最大レートの単位を変更できます。

参考資料