







摘要:高性能計算(High Performance Computing,HPC )系統的通信接口一直在不斷發展,然而對新一代的無限帶寬(InfiniBand,IB)互聯與RoCE互聯在性能上的對比缺乏研究。文章從消息傳遞接口(Message Passing Interface,MPI)基準程序、HPC基準程序以及HPC應用程序等多個方面,提出了一套實驗方法對IB互聯和RoCE互聯進行性能評估。結果表明,在擁塞條件下RoCE 相較于IB有更好的網絡性能;在MPI場景下,RoCE網絡的通信性能略高于 IB 網絡;在HPC基準程序測試中,RoCE方案相較于IB方案浮點性能略高但綜合性能相當;在不同的終端應用場景下,RoCE方案和IB方案的性能則各有高低。
關鍵詞:RoCE;InfiniBand;HPC;性能
中圖分類號:TN711.1
文獻標志碼:A
0 引言
基于商品化組件的集群系統在HPC中仍然非常流行。HPC應用程序具有不同的計算和通信特性。一些應用程序對時延很敏感,而另一些則需要帶寬。因此,這些系統的通信接口需要以高性能和可擴展的方式設計。
在過去的十幾年中,IB等高性能互聯設備在部署現代超級計算系統方面越來越受歡迎。這些通信接口一直在不斷發展,以滿足對人民日益增長的通信需求。在過去幾年中,人們越來越關注一種基于以太網的遠程直接內存訪問協議(RDMA over Converged Ethernet,RoCE )的新標準。雖然有不少學者對以IB為代表的高速互聯從多方面進行過性能評估[1-3],然而對新一代的IB互聯與RoCE互聯在性能上的對比缺乏研究。
本文在高性能計算領域精心設計了一套全面的實驗,評估了基于HPC的新型IB 互聯與RoCE互聯,并通過在不同級別進行的評估反映了這些現代互聯對高性能計算應用程序性能的影響。除了基本的網絡級性能表征外,本文還使用MPI級基準程序、HPC級基準程序來比較2種互聯對HPC應用程序性能的影響。
1 IB 和 RoCE 概述
1.1 IB
2000 年,國際組織(InfiniBand Trade Association,IBTA)發布了最早的 RDMA [4]技術——IB。IB是為 RDMA 量身定制的網絡技術,從硬件的角度進行全新的設計來保障數據傳輸的可靠性,提供了基于虛擬通道的點對點的消息隊列傳輸,每個應用都可通過其所創建的虛擬通道直接獲取本應用的數據消息。IB 技術采用 了 RDMA 技術,可以進行遠程節點直接讀寫訪問。RDMA 在早期采用 IB 作為傳輸層,所以必須使用 IB 交換機和 IB 網卡才可實現。
1.2 RoCE
2010 年 4 月,IBTA 發布了 RoCEv1。此標準是作為 Infiniband Architecture Specification的附加件發布的,所以又被稱為 IBoE(InfiniBand over Ethernet)。RoCE 標準是在以太鏈路層之上用 IB 網絡層代替了TCP/IP網絡層,不支持 IP路由功能。以太類型為 0x8915。在 RoCE 中,IB 的鏈路層協議頭被去掉,用來表示地址的 GUID 被轉換成以太網的 MAC。IB依賴于無損的物理傳輸,RoCE 也同樣依賴于無損的以太傳輸。
1.3 RoCEv2
由于 RoCEv1 的數據幀不帶 IP 頭部,只能在 2 層網絡內通信。為了解決此問題,2014 年IBTA 提出了 RoCEv2,RoCEv2 擴展了 RoCEv1,將 GRH(Global Routing Header)換成 UDP header +IP header,采用 UDP Port 4791 進行傳輸。由于 RoCEv2 報文在 3 層可進行路由,所以有時又會稱為“Routable RoCE”或簡稱“RRoCE”。
RoCE 技術可通過普通以太網交換機實現,但服務器需要支持 RoCE 網卡。由于 RoCEv2 是UDP 協議,雖然 UDP 協議效率比較高,但不像 TCP 協議那樣有重傳機制等來保障可靠的傳輸,一旦出現丟包,必須依靠上層應用發現了再做重傳,這就會大大降低 RDMA 的傳輸效率。因此,要想發揮 RoCE 真正的效果,必須為 RDMA 搭建一套不丟包的無損網絡環境。RDMA 技術的網絡協議如圖1所示。
2 HPC 應用
2.1 MPI
MPI[5]是在集群計算領域編寫并行應用程序最流行的編程模型之一。MPI庫為并行計算作業提供了基本的通信支持,特別提供了幾種方便的點對點和集體通信操作。高性能MPI實現與底層網絡動態密切相關,并嘗試在給定的互聯鏈路上發揮最佳通信性能。
2.2 基準測試程序
高性能Linpack(High Performance Linpack,HPL)[6-7]是基于對高性能計算機采用高斯消元法求解稠密線性代數方程組的測試。HPL 是針對現代并
行計算機提出的測試方法,能夠在對測試程序不做修改的基礎上,調整作業的規模(矩陣大小)、CPU 數目和優化策略等方法執行該測試程序,從而獲得最佳的浮點性能,具有通用性好、效率高的特點,被認為是目前最好的 Linpack 性能測試程序。現今,國際上每半年公布一次的世界最快 500 臺計算機排名的重要依據就是 HPL 性能測試。
高性能共軛梯度(High Performance Conjugate Gradient,HPCG)[8]基準測試旨在作為HPL的補充。使用 HPL 測試表現較好的系統,在實際的應用中并不能一定能發揮很好的效能。簡單而言,Linpack 更考驗高性能計算機的處理器理論性能,而 HPCG 更看重實際性能,對內存系統、網絡時延要求也更高。隨著高性能應用領域的擴展,HPL的測試模式與結論已不能充分體現 HPC的實用性能。為此,HPCG 在 HPL的基礎上,彌補了HPL 現存的很多不足與弊端,使得計算機系統的設計不再只關注于計算能力,而是向計算、訪存、通信等較全面的方向發展。
NAS并行測試基準數據(NAS Parallel Benchmark,NPB)[9]是1991 年美國 NAS(Numerical Aerodynamic Simulation)項目所開發的并行測試程序,目的是比較各種并行機性能。系統由8個程序組成,每個程序有5種規模(A、B、C、W、S),測試方法從整數排序到復雜的數值計算。這套程序可以從不同方面反映系統的大致性能。
NPB 包括 5 個核心程序和3個模擬應用,如表1所示。
表1 NPB 基準測試程序NPB性能5個核心程序EP計算 Gauss 偽隨機數,不要求處理器之間相互通信,適合于并行計算MG用V循環多重網格算法求解三維泊松方程的離散周期近似解CG求解大型稀疏對稱正定矩陣的最小特征值的近似值FT求解基于FFT譜分析法的三維偏微分方程IS基于桶排序的二維大整數排序3個模擬程序LU基于對稱超松弛法求解塊稀疏方程組SP求解 5 對角方程組BT求解 3 對角塊方程組
2.3 應用程序
VASP模擬軟件包(Vienna Ab-initio Simulation Package,VASP)是維也納大學 Hafner 小組開發的進行電子結構計算和量子力學—分子動力學模擬軟件包,是目前材料模擬和計算物質科學研究中最流行的商用軟件之一。
QE(Quantum ESPRESSO)開源分子動力學軟件是在密度泛函理論、贗勢和平面波的基礎上,使用電子結構技術對材料進行量子模擬的軟件包,從其誕生至今,一直在全球領先的材料建模團隊中廣泛使用。
大規模原子分子并行模擬器(Large-scale Atomic/Molecular Massively- Parallel Simulator,LAMMPS)主要用于分子動力學相關的一些計算和模擬工作。LAMMPS 由美國Sandia國家實驗室開發,以GPLlicence 發布,即開放源代碼且可以免費獲取使用,這意味著使用者可以根據自己的需要自行修改源代碼。
3 實驗方法
3.1 測試平臺介紹
測試平臺由4個結點組成,各結點間以RoCE和IB交換機高速互聯,其拓撲結構如圖2所示。
測試平臺配置如表2所示。
3.2 方法
文章評估的目標是在HPC場景測試RoCE 100G網絡和IB 100G網絡的性能。測試項包括擁塞條件下的帶寬和時延測試、MPI基準測試、HPC基準測試以及HPC應用程序測試。本次評估將只更改網絡設備,其他所有因素保持不變。本研究將重點關注HPC。HPC需要高速、高帶寬、低時延的網絡基礎設施。
對于擁塞條件下的帶寬和時延評估,使用3打1的打流方式,通過ib_write_bw命令和ib_write_latency命令分別進行RDMA寫入事務的帶寬和時延測試,以模擬不同qp對數量和不同數據包大小情況下的性能。
對于HPC的評估,首先,使用MPI。MPI是HPC中最突出的并行編程模型。本文使用OSU Micro-Benchmarks[10]工具進行Alltoall、Allreduce模型測試,來提供關于RoCE網絡和IB網絡2種場景下傳輸時延的評估。其次,使用HPL 基準測試來分析RoCE 網絡與IB 網絡的優勢。本文選擇了測試矩陣大小為70000和100000以及分塊大小為1024,線程矩陣P=12,Q=16等參數,以確保對2種網絡環境下的計算性能進行全面比較。本文用相同的方法進行了HPCG基準測試,在配置文件中將問題規模設置為104 104 104 ,運行時間設置為 1800 s。在NPB基準測試中,本文選擇了對通信性能要求最高的整數排序(IS)進行測試。通過記錄這些基準程序運行的時間,可以對比出RoCE網絡和IB網絡的性能。
本文還進行了不同的實驗來證明RoCE網絡和IB網絡對各種不同的HPC應用程序的影響。實驗包括分別運行LAMMPS、QE、VASP這3個應用程序,并記錄它們的運行時間。對于LAMMPS,本文使用自帶的一個標準測試文件“in.lj”,該輸入文件具有確定性的任務且經過廣泛測試,是評估LAMMPS性能的理想選擇。QE測試模型的輸入文件采用“ausurf.in”。VASP測試資源相對閉源,本次測試只獲取到“鐵”材料的測試模型文件。
4 性能比較
4.1 網絡層面的性能
為了探索擁塞條件下的帶寬和時延,本文采用了多種擁塞情況模擬實驗,比較RoCE和IB網絡在不同程度擁塞下的網絡帶寬和時延表現。針對網絡級帶寬和時延基準的各種互聯的性能比較如圖3所示。
結果顯示,在4qp、16qp、64qp 3種場景下,2臺RoCE設備或者2臺IB設備帶寬幾乎一致。在網絡擁塞情況下,除了幀長為64 Bytes和1024 Bytes時RoCE網絡的帶寬略顯劣勢,其余情況均輕微占優。時延方面,IB網絡的時延增長更為顯著。這一結果表明RoCE 網絡相對于IB網絡在擁塞條件下有更好的性能表現。
4.2 MPI層面的性能
為了研究RoCE 網絡和IB網絡對MPI級通信的性能優勢,本文對RoCE 網絡和IB網絡在不同消息大小下的數據傳輸時延進行了觀察和分析。本文使用OSU Micro-Benchmarks工具進行Alltoall、Allreduce模型測試,評估關于RoCE網絡和IB網絡2種場景下的傳輸時延。上述工具能夠評估點對點通信和集合通信操作的性能。為簡潔起見,本文采用比較系數來表示時延上RoCE網絡較 IB 網絡性能更優的百分比,比較系數= (IB時延-RoCE時延)/RoCE時延。MPI級時延基準下2種互聯的性能如圖4所示。
可以看到,在多數情況下,RoCE 網絡的時延較IB網絡的時延更低或持平。具體而言,不同消息大小的情況下,RoCE 網絡和IB 網絡的時延表現相對接近,隨著消息大小逐漸增加,大多數情況下,RoCE 網絡相比 IB 網絡擁有更低的時延。這一發現表明,在MPI場景下,RoCE網絡的通信性能略高于 IB 網絡。
4.3 基準程序的性能
為了衡量采用 RoCE 網絡和IB網絡作為高速互聯的 HPC 的性能,本文分別采用了 HPL、HPCG、NPB基準程序進行了測試,結果如圖5所示。
HPL 執行時間測試結果顯示,RoCE 方案在某些情況下略優于 IB 方案,達到了1%~4.2% 的性能提升。這表明 RoCE 在特定條件下能夠更高效地完成任務,尤其是對于大規模高性能計算任務而言。
HPL 計算性能測試結果顯示,RoCE 方案在計算性能方面較 IB 方案略優,優勢范圍為 1%~4% 。這表明 RoCE 網絡在處理計算密集型任務時表現出更好的性能。
在 HPCG 和 NPB 基準測試中,RoCE 方案與 IB 方案的性能基本一致。這意味著在一些綜合性能測試中,2種方案可能在實際性能上沒有顯著差異,表現相對穩定一致。
4.4 應用程序的性能
VASP、QE和LAMMPS 3種應用程序的運行時間如圖6所示。
對于 VASP 應用而言,RoCE 方案相對于IB方案在性能上有較為明顯的優勢,大約提升了14.9%~16.1% 。這表明在使用 VASP 進行計算材料電子結構和材料性質的任務時,RoCE 網絡能夠提供更高的性能和效率。
對于QE應用而言,IB方案相對于RoCE方案略微優于0.1%~0.29% 。盡管差距較小,但這表明在進行第一性原理量子化學模擬計算時,IB網絡可能具備輕微的優勢。
對于 LAMMPS 應用而言,RoCE方案相對于IB方案具有約1.4%~2.35% 的性能優勢。這意味著在進行分子動力學模擬的任務時,RoCE網絡能夠提供更好的性能和效果。
這些結果顯示,在不同的應用場景下,RoCE方案和IB方案的相對性能會有所差異。根據具體的應用需求和環境特性,選擇適當的網絡方案對于獲得最佳性能至關重要。
5 結語
本文對高性能計算領域使用IB和RoCE硬件作為互聯設備進行了全面的性能評估。實驗結果表明,在擁塞條件下RoCE相較于IB有更好的網絡性能;在MPI場景下RoCE網絡的通信性能略高于IB網絡;在HPC基準程序測試中RoCE方案相較于IB方案浮點性能略高但綜合性能相當;在不同的終端應用場景下,RoCE方案和IB方案的性能則各有高低。這些結論為構建高性能集群選擇互聯方案時提供了一定的參考價值和指導作用。
參考文獻
[1]LIU J,CHANDRASEKARAN B,YU W,et al.Micro-benchmark performance comparison of high-speed cluster interconnects[J].IEEE Micro,2004(1):42-51.
[2]LIU J,MAMIDALA A,VISHNU A,et al.Performance evaluation of InfiniBand with PCI express[J].IEEE Micro,2005(1):20-29.
[3]KERBYSON D.A look at application performance sensitivity to the bandwidth and latency of InfiniBand networks[EB/OL].(2006-04-25)[2024-02-29].https://websrv.cecs.uci.edu/~papers/ipdps06/pdfs/014-CAC-paper-1.pdf.
[4]劉志鋒,葉志偉,蔡敦波,等.RDMA技術研究綜述[J].軟件導刊,2022(12):266-271.
[5]MPI Forum.MPI:A message passing interface[EB/OL].(1994-04-01)[2024-02-29].https://dl.acm.org/doi/pdf/10.1145/169627.169855.
[6]DONGARRA J,LUSZCZEK P,PETITET A.The LINPACK benchmark:past,present,and future[J].Concurrency and Computation:Practice and Experience,2003(9):803-820.
[7]PETITET A,WHALEY R,DONGARRA J.et al.HPL-A portable implementation of the high-performance linpack benchmark for distributed-memory computers[EB/OL].(2004-01-20)[2024-02-29].https://sepwww.stanford.edu/sep/claudio/THESIS/Prst_ExpRefl/ShtPSPI/intel/cmkl/10.0.3.020/bench marks/mp_linpack/www/index.html.
[8]HEROUX M,DONGARRA J.Toward a new metric for ranking high performance computing systems [EB/OL].(2013-06-10)[2024-02-29].https://icl.utk.edu/files/publications/2013/icl-utk-558-2013.pdf.
[9]BAILEY D,BARSACZ E,BARTON J,et al.The NAS parallel benchmarks summary and preliminary results[EB/OL].(1991-08-01)[2024-02-29].https://dl.acm.org/doi/pdf/10.1145/125826.125925/.
[10]Network Based Computing Lab.OSU Micro-benchmarks 7.3[EB/OL].(2023-10-30)[2024-02-29].https://mvapich.cse.ohio-state.edu/benchm arks/.
(編輯 王雪芬)
Performance comparison of the RoCE networks and InfiniBand networks based on HPC
Xu" Defa
(Shanghai Supercomputer Center, Shanghai 201023, China)
Abstract: The communication interface of high performance computing (HPC) systems is constantly evolving, but there is a lack of research on the performance comparison between the new generation of IB interconnect and RoCE interconnect. This paper presents a set of experimental methods for performance evaluation from MPI benchmark, HPC benchmark and HPC application. The conclusion shows that RoCE has better network performance than IB under congestion conditions, and the communication performance of RoCE network in MPI scenario is slightly higher than that of IB network. In HPC benchmark test, RoCE scheme has slightly higher floating point performance than IB scheme, but the overall performance is comparable. The performance of the RoCE and IB schemes varies according to the application scenarios.
Key words:RoCE; InfiniBand; HPC; performance