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

Elastic High Performance Computing:eRDMA が有効な E-HPC クラスターのデプロイ

最終更新日:Aug 21, 2026

このトピックでは、eRDMA が有効な Elastic High Performance Computing (E-HPC) クラスター (旧 E-HPC NEXT) を作成する方法について説明します。また、OSU-Benchmark アプリケーションを使用し、eRDMA でマルチノードのハイパフォーマンスコンピューティング (HPC) アプリケーションの通信を高速化する方法も示します。

背景情報

eRDMA を使用すると、E-HPC クラスター (旧 E-HPC NEXT) 上のマルチノード並列ハイパフォーマンスコンピューティング (HPC) ワークロード (気候・気象モデリング、産業シミュレーション、分子動力学など) で、オンプレミスのクラスターに匹敵するネットワークパフォーマンスを実現できます。これにより、高帯域幅と低レイテンシーが実現され、数値シミュレーションの効率が大幅に向上します。追加の RDMA NIC をデプロイすることなく、既存のネットワーク内で RDMA を使用できます。このアプローチはシームレスな統合を実現し、容易に利用できます。

前提条件

  1. E-HPC クラスターを作成するには、クラスターの作成ページに移動します。詳細については、「Standard Edition クラスターの作成」をご参照ください。

    次の表に、サンプルクラスターの設定を示します。

  2. パラメーター

    設定

    [クラスター設定]

    [リージョン]

    [China (Shanghai)]

    [ネットワークおよびゾーン]

    [アベイラビリティーゾーン L] を選択します

    [シリーズ]

    [Standard Edition]

    [デプロイモード]

    [パブリッククラウドクラスター]

    [クラスタータイプ]

    [SLURM]

    [マスターノード]

    • [インスタンスタイプ]: ecs.c7.xlarge (4 vCPU、8 GiB メモリ)

    • [イメージ]: aliyun_2_1903_x64_20G_alibase_20240628.vhd

      説明

      osu-benchmark インストールパッケージは、Alibaba Cloud Linux 2.1903 LTS 64 ビットイメージに基づいてビルドされています。

    [計算キュー]

    [キューのノード数]

    初期ノード数: 2

    [ノード間インターコネクト]

    [eRDMA ネットワーク]

    説明

    特定のインスタンスタイプのみ、Elastic RDMA Interconnect (ERI) をサポートしています。詳細については、「eRDMA (Elastic RDMA)」および「エンタープライズレベルインスタンスでの eRDMA の有効化」をご参照ください。

    [インスタンスタイプグループ]

    [インスタンスタイプ]: ecs.c8ae.xlarge または同世代の他の AMD インスタンス

    [イメージ]: aliyun_2_1903_x64_20G_alibase_20240628.vhd

    [共有ストレージ]

    [/homeクラスターマウントディレクトリ]

    デフォルトでは、ファイルシステムは管理ノードの/homeおよび/optディレクトリにマウントされ、共有ストレージディレクトリとして機能します。

    [/optマウントディレクトリ]

    [ソフトウェアとサービス (オプション)]

    [未インストールソフトウェア]

    • erdma-installer

    • mpich-aocc

    [インストール可能なサービスコンポーネント]

    [ログインノード]:

    • [インスタンスタイプ]: ecs.c7.xlarge (4 vCPU、8 GiB メモリ)

    • [イメージ]: aliyun_2_1903_x64_20G_alibase_20240628.vhd

  3. クラスターユーザーを作成します。詳細については、「ユーザー管理」をご参照ください。

eRDMA環境の確認

コンピュートノードで eRDMA 設定を検証します。

  1. E-HPC コンソールにログインし、対象のクラスターをクリックします。

  2. 左側のナビゲーションペインで、ノードとキュー > ノード を選択します。クラスター内のすべてのコンピュートノードを選択し、コマンドの送信 をクリックします。

  3. コンピュートノードで eRDMA ネットワークのステータスと RDMA サポートを確認します。

    1. すべてのコンピュートノードに次のコマンドを送信します。

      hpcacc erdma check

      Cloud Assistant の コマンドの送信 ダイアログボックスで、ターゲットインスタンスを選択します。[Execution Plan][Immediate] に、[Command Type][Shell] に、[Timeout]60 秒に設定します。[Run] をクリックします。

    2. 次のような結果が表示された場合、eRDMA の設定が正しいことを示します。

      {"Success": true, "Message": {"Msg": "HPCACC eRDMA status check succeeded. No fault found."}}
    3. エラーが返された場合は、次のコマンドを実行して設定を修復します。

      hpcacc erdma repair
    4. 修復が完了したら、eRDMA の設定を再度検証します。

OSU-Benchmarkテストの実行

OSU-Benchmark は、ハイパフォーマンスコンピューティング (HPC) クラスターと分散システムの通信パフォーマンスを評価します。このトピックでは、次の 2 つのベンチマークを使用して、異なるネットワークプロトコル (TCP と RDMA) における通信パフォーマンスをテストします。

  • レイテンシーテスト (osu_latency):ポイントツーポイント通信の片道レイテンシー (プロセス A がメッセージを送信してからプロセス B が受信するまでの時間、戻り時間を除く) を測定します。このテストは、1 バイトから数キロバイト (KB) までの小さなメッセージに焦点を当てています。小さなメッセージのレイテンシーは、HPC システムの応答性の主要なメトリックであり、低レベルのネットワークパフォーマンス (RDMA 高速化機能など) と MPI ライブラリの最適化を反映します。たとえば、リアルタイムシミュレーションや機械学習のパラメーター同期において、低レイテンシーは通信オーバーヘッドを大幅に削減できます。

  • 帯域幅テスト (osu_bw):持続的なポイントツーポイントの帯域幅 (単位時間あたりに転送されるデータ量) を測定します。このテストは、数キロバイト (KB) から数メガバイト (MB) までの大きなメッセージに焦点を当てています。帯域幅パフォーマンスは、科学計算における行列交換やファイル I/O シナリオなど、大規模なデータ転送の効率に直接影響します。測定された帯域幅が理論値を大幅に下回る場合は、MPI 設定 (マルチスレッド通信など) を最適化するか、ネットワーク設定 (MTU やフロー制御など) を確認する必要がある場合があります。

操作手順

  1. 作成したユーザーで E-HPC クラスターに接続します。詳細については、「クラスターへの接続」をご参照ください。

  2. 次のコマンドを実行して、依存関係にある環境モジュールが正しくインストールされているか確認します。

    module avail
  3. 次のコマンドを実行して、プリコンパイル済みの OSU-Benchmark インストールパッケージをダウンロードし、解凍します。

    cd ~ && wget https://ehpc-perf.oss-cn-hangzhou.aliyuncs.com/AMD-Genoa/osu-bin.tar.gz
    tar -zxvf osu-bin.tar.gz
  4. 次のコマンドを実行して、テストディレクトリに移動し、Slurm ジョブスクリプトを編集します。

    cd ~/pt2pt 
    vim slurm.job

    テストスクリプトの内容は次のとおりです。

    #!/bin/bash
    #SBATCH --job-name=osu-bench
    #SBATCH --ntasks-per-node=1
    #SBATCH --nodes=2
    #SBATCH --partition=comp
    #SBATCH --output=%j.out
    #SBATCH --error=%j.out
    
    # 環境パラメーターの読み込み
    module purge
    module load aocc/4.0.0 gcc/12.3.0 libfabric/1.16.0 mpich-aocc/4.0.3
    
    # MPIレイテンシーテストの実行: erdma
    echo -e "++++++ use erdma for osu_lat: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="verbs;ofi_rxm" ./osu_latency
    echo -e "------ use erdma for osu_lat: END\n"
    # MPIレイテンシーテストの実行: tcp
    echo -e "++++++ use tcp for osu_lat: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="tcp;ofi_rxm" ./osu_latency
    echo -e "------ use tcp for osu_lat: END\n"
    
    # MPI帯域幅テストの実行: erdma
    echo -e "++++++ use erdma for osu_bw: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="verbs;ofi_rxm" ./osu_bw
    echo -e "------ use erdma for osu_bw: END\n"
    # MPI帯域幅テストの実行: tcp
    echo -e "++++++ use tcp for osu_bw: START"
    mpirun -np 2 -ppn 1 -genv FI_PROVIDER="tcp;ofi_rxm" ./osu_bw
    echo -e "------ use tcp for osu_bw: END\n"
    説明
    • -np 2:プロセスの総数を指定します。この例では 2 に設定されており、MPI ジョブが 2 つのプロセスを開始することを意味します。

    • -ppn 1:ノードあたりのプロセス数を指定します。この例では 1 に設定されており、各ノードで 1 つのプロセスが実行されることを意味します。

    • -genv:すべてのプロセスに適用される環境変数を設定します。

      • FI_PROVIDER="tcp;ofi_rxm":TCP プロトコルを使用し、RXM フレームワークを介して通信の信頼性を高めます。

      • FI_PROVIDER="verbs;ofi_rxm":RDMA に基づく高性能な Verbs プロトコルを優先し、RXM フレームワークを介してメッセージ転送を最適化します。この例では、Alibaba Cloud eRDMA が高性能なエラスティック RDMA ネットワークを提供しています。

  5. 次のコマンドを実行して、テストジョブを投入します。

    sbatch slurm.job

    コマンドラインインターフェイスにジョブIDが返されます。

  6. 次のコマンドを実行して、ジョブのステータスを表示します。テスト中、コンソールで E-HPC クラスターのストレージ、ジョブ、ノードのメトリックなどの監視情報を確認することもできます。詳細については、「監視情報の表示」をご参照ください。

    squeue
    [zh***luster@login0 pt2pt]$ squeue
                 JOBID PARTITION     NAME     USER ST       TIME  NODES NODELIST(REASON)
                    11      comp slurm.jo zhtestcl  R       0:01      2 compute[000-001]

    現在のディレクトリで、ジョブIDに対応するログファイルを確認できます。出力は次の内容のようになります。

    • ネットワークレイテンシーテストの結果:この結果は、メッセージサイズ (Size in bytes、1 B から 4 MB) と平均ネットワークレイテンシー (Avg Latency) の関係を示しています。

      Verbsプロトコル (eRDMA)
      [zxxx@login0 pt2pt]$ cat 11.out
      ++++++ use erdma for osu_lat: START
      
      # OSU MPI Latency Test v7.5
      # Datatype: MPI_CHAR.
      # Size          Avg Latency(us)
      1                       11.01
      2                       11.04
      4                       11.48
      8                       11.33
      16                      11.02
      32                      11.10
      64                      11.15
      128                     11.29
      256                     11.36
      512                     11.39
      1024                    11.81
      2048                    12.99
      4096                    13.95
      8192                    15.92
      16384                   34.57
      32768                   37.15
      65536                   41.15
      131072                  47.10
      262144                  61.17
      524288                 143.06
      1048576                332.54
      2097152                659.65
      4194304               1315.29
      ------ use erdma for osu_lat: END
      TCPプロトコル
      ++++++ use tcp for osu_lat: START
      
      # OSU MPI Latency Test v7.5
      # Datatype: MPI_CHAR.
      # Size          Avg Latency(us)
      1                          16.07
      2                          16.02
      4                          16.03
      8                          16.03
      16                         16.01
      32                         16.27
      64                         16.37
      128                        16.87
      256                        17.36
      512                        17.89
      1024                       18.56
      2048                       33.78
      4096                       33.39
      8192                       30.74
      16384                      45.17
      32768                      94.50
      65536                     107.07
      131072                    124.95
      262144                    160.55
      524288                    238.40
      1048576                   374.89
      2097152                   639.81
      4194304                  1188.98
      ------ use tcp for osu_lat: END

      テストデータから、小さなメッセージ (1 B~8 KB) の場合、eRDMA のレイテンシーは TCP のレイテンシーよりも大幅に低いことがわかります。

    • ネットワーク帯域幅テストの結果:この結果は、メッセージサイズ (Size in bytes、1 B から 4 MB) と帯域幅 (Bandwidth) の関係を示しています。

      Verbsプロトコル (eRDMA)
      ++++++ use erdma for osu_bw: START
      
      # OSU MPI Bandwidth Test v7.5
      # Datatype: MPI_CHAR.
      # Size          Bandwidth (MB/s)
      1                       1.09
      2                       2.21
      4                       4.43
      8                       8.91
      16                     17.98
      32                     35.88
      64                     69.93
      128                   137.73
      256                   258.35
      512                   541.90
      1024                 1023.92
      2048                 1768.96
      4096                 2918.97
      8192                 3984.86
      16384                5203.51
      32768                6264.41
      65536                1661.85
      131072               1696.79
      262144               1535.17
      524288               1587.83
      1048576              1637.65
      2097152              1636.63
      4194304              1637.17
      
      ------ use erdma for osu_bw: END
      TCPプロトコル
      ++++++ use tcp for osu_bw: START
      
      # OSU MPI Bandwidth Test v7.5
      # Datatype: MPI_CHAR.
      # Size      Bandwidth (MB/s)
      1                       0.38
      2                       0.75
      4                       1.51
      8                       3.01
      16                      5.95
      32                     12.10
      64                     23.43
      128                    46.30
      256                    88.25
      512                   167.70
      1024                  343.96
      2048                  614.60
      4096                 1183.85
      8192                 1567.03
      16384                1835.89
      32768                1731.67
      65536                2904.03
      131072               3160.96
      262144               1876.96
      524288               1730.89
      1048576              1733.18
      2097152              1736.09
      4194304              1735.78
      ------ use tcp for osu_bw: END

      テストデータから、eRDMA の帯域幅はメッセージサイズが 32 KB でピークに達し、それを超えるとパフォーマンスが低下することがわかります。一方、TCP プロトコルスタックでは、より低い帯域幅で推移し、追加のオーバーヘッドが発生します。