1. 程式人生 > >阿里雲超算上氣象應用WRF的集諦優化

阿里雲超算上氣象應用WRF的集諦優化

作者:孫相徵
彈性高效能運算(E-HPC,https://ehpc.console.aliyun.com/ )基於阿里雲基礎設施,為使用者提供公有云之上的HPC服務。除了提供計算資源環境,E-HPC還提供了很多獨立的功能模組,如作業管理、使用者管理、叢集命令執行等。其中,藉助集諦(CloudMetrics)模組,使用者可以通過效能大盤檢視叢集資源的飽和度,從全域性監控叢集節點的狀態;從節點效能,檢視節點具體指標的變化曲線和歷史資料,並且能夠與排程的作業資訊相關聯;從程序效能,檢視具體程序的歷史資訊,進而確定需要剖析的程序;從效能剖析,獲取熱點函式分佈及其呼叫棧資訊,瞭解應用內部的執行狀態。

WRF(Weather Research and Forecasting)是新一代中尺度預報模式,被氣象行業廣泛應用的開源數值氣象模擬(NWS)軟體,隨著氣象氣候計算上雲的趨勢,WRF需要針對雲超算環境進行優化,本文描述了通過集諦分析WRF在雲上執行的效能特徵,逐步實現效能優化的過程。

執行算例是中國範圍天氣預測;執行平臺為ecs.scch5.16xlarge,32core, 64vCPU, 192GB記憶體,配有10Gbit/s Ethernet和46Gbit/s RoCE網路。

初始執行監控

藉助集諦與叢集排程系統相關聯、歷史資訊自動儲存的功能,可以直接在排程系統提交作業,待作業完成後隨時檢視作業執行過程中的執行效能特徵,如圖1所示。

base_node_cn.jpg
a.按節點分類
base_node_mt.jpg
b.按指標分類
圖1 WRF執行時效能特徵

從單個節點不同指標變化(圖1.a)可以看出,程式有明顯的週期性特徵,儲存頻寬會在一段間隔有明顯的增大,同時伴隨著節點間網路通訊的減少。從本算例,執行共產生7個結果檔案,與監控的7次儲存頻寬高峰相對應,而且結果檔案主要是在每小時預測後統一寫出,在執行過程中,沒有儲存頻寬的壓力。
從節點間網路效能變化(圖1.b)看,節點間的網路負載不均衡,從應用邏輯也可以解釋,由於天氣預測跟地形(陸地、海洋等)相關,或伴隨負載動態變化(如雲的移動),程序邊界交換資訊不同,節點間會存在網路通訊不均衡現象。但是,所有節點的網路頻寬偏低,由於平臺配置兩種網路,需要檢查是否使用高速RoCE網路。

改用RoCE效能監控

通過檢視執行配置,發現MPI通訊為Ethernet,因此需要調整網路配置利用高速的RoCE網路,提交作業再次監控,得到執行特徵如圖2所示。

net_node_cn.jpg
a.按節點分類
net_node_mt_net.jpg
b.按指標分類
圖2 使用RoCE後的WRF執行時效能特徵

顯然,程式執行使的節點間網路頻寬和儲存頻寬增大,原因在於計算時通訊使用了RoCE網路,可以將Ethernet頻寬資源用於儲存操作使用。網路通訊頻寬由原來的180MB/s、240MB/s提升到320MB/s、450MB/s。
從監控結果發現,節點間的儲存頻寬極不均衡,僅有compute22節點負載檔案操作,難以利用NAS的整體頻寬資源。

PNetCDF多節點並行I/O

通過日誌分析檔案I/O操作耗時比例較高(約25%左右,以某算例為例,並隨計算規模變化)。WRF使用NetCDF檔案格式,若採用NetCDF classic經典模式,即主程序彙集所有從程序的部分結果資料,再由主程序完成檔案寫操作,如圖3 a),跟之前的網路和儲存監控資料相吻合。

pnetcdf_fig_ab.png
圖3 NetCDF I/O 方案比較。a) 序列I/O; b)並行I/O。

為了提高執行效率,可採用並行NetCDF I/O的優化方案,即所有節點參與I/O操作,減少I/O操作等待時間,如圖3 b)所示。

因此,可以藉此PNetCDF方案提升WRF的效能,提交作業再次監控,得到執行特徵如圖4所示。

pnet_node_cn.jpg
a.按節點分類
pnet_node_mt.jpg
b.按指標分類

圖4 使用RoCE+PNetCDF後的WRF執行時效能特徵

可以看出,每個節點均有I/O操作相關的指標監控資料,跟PNetCDF的原理相匹配。從監控結果看,每完成一小時預測後的檔案操作時間明顯減小,效能得到進一步提升。

總結

通過E-HPC集諦 —— 叢集執行監控和應用效能分析模組,能夠充分了解WRF在執行過程的效能特徵,改變了以往僅靠WRF日誌輸出的時間戳觀測程式執行狀態。同時,可以以應用的執行效能特徵為依據,使用RoCE高速網路和PNetCDF並行I/O的優化策略,逐步提高了WRF的執行效率,最終效能提高加速比達到2.4X,如圖5所示。

Speedup.jpg
圖5 WRF單小時平均預測時間的效能優化結果