全部產品
Search
文件中心

Elastic High Performance Computing:基於eRDMA部署彈性高效能運算叢集

更新時間:Aug 21, 2026

本文介紹如何開通適配eRDMA的E-HPC Cluster(原E-HPC NEXT),並以OSU-Benchmark應用為例,提供配置運行時參數以使用eRDMA技術加速多節點HPC應用的通訊。

背景資訊

利用eRDMA技術,E-HPC Cluster(原E-HPC NEXT)中的氣候氣象、工業模擬、分子動力等HPC多節點並行任務可達到媲美線下叢集的高速網路效能,包括高頻寬和低延遲,可顯著提升數值類比、模擬的效率。同時,無需額外部署RDMA網卡,即可在現有業務組網中體驗到RDMA的優勢,實現無縫整合和便捷應用。

準備工作

  1. 單擊前往建立叢集頁面,建立一個E-HPC叢集。具體操作,請參見建立標準版叢集。

    本文使用的叢集配置樣本如下:

  2. 配置項

    配置

    叢集配置

    地區

    上海

    網路及可用區

    選擇可用性區域L

    系列

    標準版

    部署模式

    公用雲叢集

    叢集類型

    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網路

    說明

    僅部分節點規格支援ERI,更多資訊,請參見彈性RDMA(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. 登入彈性高效能運算控制台,單擊目的地組群。

  2. 在節點與隊列 > 節點頁面,選中叢集中所有計算節點,單擊發送命令。

  3. 檢查計算節點的 eRDMA 網路狀態 和 RDMA 硬體/軟體支援情況。

    1. 發送如下命令到所有計算節點。

      hpcacc erdma check

      在雲助手發送命令對話方塊中,選擇目標執行個體,執行計畫選擇立即執行,命令類型選擇Shell,逾時時間設為60秒,單擊執行。

    2. 返回如下結果,表示eRDMA配置正確。

      {"Success": true, "Message": {"Msg": "HPCACC eRDMA status check succeeded. No fault found."}}
    3. 如果返回資訊異常,執行以下命令進行修複。

      hpcacc erdma repair
    4. 修複完成後,再次確認eRDMA配置正確即可。

OSU-Benchmark測試

OSU-Benchmark用於評估Alibaba Cloud HPC叢集和分布式系統的通訊效能。本文利用以下2個基準測試,基於不同網路通訊協定(TCP vs. RDMA)測試通訊效能:

  • 網路延遲測試(osu_latency):測量點對點通訊的單向延遲(從進程A發送訊息到進程B的時間,不含返回時間),尤其關注小訊息(如1位元組到數KB)的通訊效率。小訊息的延遲反映了網路硬體的底層效能(如RDMA加速能力)和MPI庫的最佳化水平,是HPC系統響應能力的核心指標。例如,在即時模擬或機器學習參數同步中,低延遲能顯著減少通訊開銷。

  • 網路頻寬測試(osu_bw):測量點對點通訊的可持續頻寬(單位時間內傳輸的資料量),關注大訊息(如數KB到數MB)的傳輸效率。頻寬效能直接影響巨量資料傳輸的效率,如科學計算中的矩陣交換或檔案I/O情境。若實測頻寬遠低於理論值,可能需最佳化MPI配置(如多線程通訊)或檢查網路設定(如MTU、流控)。

測試過程如下:

  1. 使用已經建立的使用者,串連EHPC叢集。詳細資料,請參見串連叢集。

  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 env params
    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 erdma 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作業將啟動兩個進程。

    • -ppn 1:指定每個節點上的進程數,這裡設定為1,表示每個節點運行1個進程。

    • -genv:設定環境變數,對所有進程生效。

      • FI_PROVIDER="tcp;ofi_rxm":使用TCP 協議,並通過 RXM 架構增強通訊可靠性。

      • FI_PROVIDER="verbs;ofi_rxm":優先使用高效能 Verbs 協議(基於 RDMA),並通過 RXM 架構最佳化訊息傳輸。本文中使用阿里雲eRDMA提供高效能彈性RDMA網路。

  5. 執行以下命令,提交測試作業。

    sbatch slurm.job

    命令列輸出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]

    您可以在目前的目錄下,查看job id對應的記錄檔,輸出內容如下所示:

    • 網路延遲測試結果:訊息大小(Size,單位為位元組Bytes,範圍為1B到4MB)與網路延遲(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 erdma for osu_lat: END

      通過測試資料可以發現,對於小訊息(1B~8KB),eRDMA的延遲明顯低於TCP。

    • 網路頻寬測試結果:訊息大小(Size,單位為位元組Bytes,範圍為1B到4MB)與頻寬(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

      通過測試資料可以發現,在訊息大小為16KB ~ 64KB時,eRDMA充分利用了網路頻寬,而TCP的協議棧處理引入額外開銷。