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

Elastic High Performance Computing:eRDMA を使用した Elastic High Performance Computing クラスターのデプロイ

最終更新日:Jan 28, 2026

このトピックでは、elastic Remote Direct Memory Access (eRDMA) をサポートする Elastic High Performance Computing (E-HPC) クラスター (旧 E-HPC NEXT) を作成する方法について説明します。また、OSU-Benchmark アプリケーションの実行時パラメーターを設定して、マルチノードの高性能コンピューティング (HPC) アプリケーションの通信を高速化する方法も示します。

背景情報

eRDMA テクノロジーを使用することで、E-HPC クラスター (旧 E-HPC NEXT) 内のマルチノード並列 HPC タスクは、オンプレミスクラスターに匹敵する高速ネットワークパフォーマンスを実現します。気象予測、産業シミュレーション、分子動力学などのこれらのタスクは、高帯域幅と低レイテンシーの恩恵を受け、数値シミュレーションの効率を大幅に向上させます。追加のネットワークインターフェースコントローラー (NIC) をデプロイすることなく、既存のネットワークで RDMA の利点を体験でき、シームレスな統合と使いやすさを保証します。

事前準備

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

    次の表に、クラスター設定の例を示します。

  2. 設定項目

    設定

    クラスター設定

    リージョン

    中国 (上海)

    ネットワークとゾーン

    ゾーン 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) をサポートしています。 詳細については、「elastic Remote Direct Memory Access (eRDMA)」および「エンタープライズレベルのインスタンスで 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. Elastic High Performance Computing コンソールにログインし、対象のクラスターをクリックします。

  2. [ノードとキュー] > [ノード] ページで、クラスター内のすべての計算ノードを選択し、[コマンドの送信] をクリックします。

    image

  3. 計算ノードの eRDMA ネットワークステータスと RDMA ハードウェアおよびソフトウェアのサポートを確認します。

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

      hpcacc erdma check

      image

    2. 次の結果が返された場合、eRDMA 設定は正しいです。

      image

    3. 異常なメッセージが返された場合は、次のコマンドを実行して問題を修正します。

      hpcacc erdma repair
    4. 問題が修正された後、eRDMA 設定が正しいことを確認します。

OSU-Benchmark テスト

OSU-Benchmark は、HPC クラスターと分散システムの通信パフォーマンスを評価するために使用されます。このトピックでは、次の 2 つのベンチマークを使用して、異なるネットワークプロトコル (TCP vs. RDMA) に基づく通信パフォーマンスをテストします。

  • ネットワークレイテンシーテスト (osu_latency): ポイントツーポイント通信の片道レイテンシーを測定します。これは、あるプロセスから別のプロセスにメッセージを送信するのにかかる時間で、応答時間は含まれません。このテストは、1 B から数 KB までの small メッセージの通信効率に焦点を当てています。small メッセージのレイテンシーは、RDMA アクセラレーションなどのネットワークハードウェアの基盤となるパフォーマンスと、MPI ライブラリの最適化レベルを反映します。これは、HPC システムの応答性のコア指標です。たとえば、低レイテンシーは、リアルタイムシミュレーションや機械学習のパラメーター同期における通信オーバーヘッドを大幅に削減します。

  • ネットワーク帯域幅テスト (osu_bw): ポイントツーポイント通信の持続可能な帯域幅、つまり単位時間あたりに転送されるデータ量を測定します。このテストは、数 KB から数メガバイトまでの large メッセージの転送効率に焦点を当てています。帯域幅のパフォーマンスは、科学計算におけるマトリックス交換やファイル 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
    
    # Load environment parameters
    module purge
    module load aocc/4.0.0 gcc/12.3.0 libfabric/1.16.0 mpich-aocc/4.0.3
    
    # Run MPI latency test: 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"
    # Run MPI latency test: 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"
    
    # Run MPI bandwidth test: 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"
    # Run MPI bandwidth test: 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": パフォーマンス専有型の Verbs プロトコル (RDMA ベース) を優先し、RXM フレームワークを通じてメッセージ送信を最適化します。Alibaba Cloud eRDMA は、パフォーマンス専有型のエラスティック RDMA ネットワークを提供します。

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

    sbatch slurm.job

    コマンドラインにジョブ ID が表示されます。

    image

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

    squeue

    image

    現在のディレクトリで、ジョブ ID に対応するログファイルを表示できます。出力は次のとおりです。

    • ネットワークレイテンシーテストの結果: これらの結果は、メッセージサイズ (バイト単位、1 B から 4 MB) と平均レイテンシーの関係を示しています。以下はテスト結果の例です。

      Verbs プロトコル (eRDMA ベース) の使用

      image

      TCP プロトコルの使用

      image

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

    • ネットワーク帯域幅テストの結果: これらの結果は、メッセージサイズ (バイト単位、1 B から 4 MB) と帯域幅の関係を示しています。以下はテスト結果の例です。

      Verbs プロトコル (eRDMA ベース) の使用

      image

      TCP プロトコルの使用

      image

      テストデータは、メッセージサイズが 16 KB から 64 KB の場合、eRDMA はネットワーク帯域幅を完全に利用するのに対し、TCP プロトコルスタックは追加の処理オーバーヘッドを発生させることを示しています。