董國平
摘 要:在實際工作中,通常不同的應用需求決定高性能計算機的峰值性能可用的屬性。訂購一個高性能計算機時,大家應避免被其峰值性能誤導而忽略了實際應用中的性能需求。在這篇文章中,筆者介紹了HPC(高性能計算)系統(tǒng)評價理論和評價方法并根據氣象應用的特點,設計了HPC系統(tǒng)的排序評價方案。最后,給出了具體的評價結果并指出這些因素如何影響工作性能。
關鍵詞:高性能計算 加速比 性能評價
中圖分類號:TP31 文獻標識碼:A 文章編號:1672-3791(2016)07(b)-0014-03
不同應用領域的科學程序使用的算法不同,對高性能計算系統(tǒng)的要求也有所不同。比如,通信密集型的算法對機器的網絡性能要求較高,計算密集型的算法對處理器性能要求較高。面對眾多的高性能計算系統(tǒng),如何評測和選擇適合氣象數值天氣預報業(yè)務應用的高性能計算系統(tǒng)是必須解決的問題。
1 HPC系統(tǒng)性能評測指標
在評測高性能計算系統(tǒng)時,有以下4種基本性能指標[1] :系統(tǒng)規(guī)模、系統(tǒng)峰值、網絡帶寬和網絡延遲,表1給出了高性能計算系統(tǒng)基本性能參數。對于高性能計算應用的性能評價,則還有計算規(guī)模、計算時間、計算效率、并行加速比等評價指標。
高性能計算機系統(tǒng)的基本參數指標,往往回答不了用戶關心的問題。而且,由于處理器結構、存儲層次結構、互聯(lián)網絡拓撲等的差異,系統(tǒng)規(guī)模、系統(tǒng)峰值、網絡帶寬與延遲等單一性能指標也確實難以表征系統(tǒng)的綜合性能,因此需要進一步作高性能計算系統(tǒng)的綜合性能評測。
2 HPC系統(tǒng)性能評測方法
高性能計算系統(tǒng)性能評測方法主要包括基準測試和實際工作負載驅動測試兩類。基準測試[2]是指利用業(yè)界開發(fā)的多種基準測試程序來測試高性能計算系統(tǒng)的性能指標,一般都是針對系統(tǒng)某方面或某分系統(tǒng)性能進行測試,反映系統(tǒng)某一特定方面的性能指標?;鶞蕼y試程序是用戶理解系統(tǒng)性能比較直接的方式。作基準測試程序時,還需要考慮數據集以及運行規(guī)模等方面的問題。
在性能評測中實際工作負載驅動測試也是一個極其重要的測評指標。實際工作負載驅動測試[3]是指采用用戶自己的業(yè)務應用程序進行實際的測試。通常高性能計算機的峰值性能與實際應用/實測可獲得的性能仍然存在很大的差異。峰值性能是指在理想情況下計算機系統(tǒng)可獲得的最高理論性能值,它不能反應系統(tǒng)的實際性能。在性能測評中實際工作負載驅動測試是一個極其重要的測評指標。
3 系統(tǒng)性能評測方案設計
氣象數值預報是高性能計算應用的一個傳統(tǒng)領域,復雜的氣候三維模型對高性能計算有著巨大需求。省級氣象行業(yè)的主流數值預報模式的類型主要有中尺度非靜力格點模式MM5(Mesoscale Model5)、WRF(Weather Research and Forecasting)、中國新一代數值預報模式GRAPES(Global/Regional Assimilation and Prediction Enhanced System)以及區(qū)域氣候模式RegCM等等。這些氣象數值預報模式的特點是計算量巨大、通訊極為密集、實時性強,因此在測試方案設計上,需要重點關注并測試高性能計算機系統(tǒng)的高性能浮點處理能力、高性能網絡環(huán)境和系統(tǒng)的高穩(wěn)定性這3個主要方面。
在建設氣象高性能計算系統(tǒng)過程中,采用了以實際數值預報模式測試為主、基準測試為輔的綜合測試方案。充分了解氣象應用領域對高性能計算系統(tǒng)的需求,利用實際工作應用程序進行測試更有針對性,更具實用價值,為氣象部門購買高性能計算機系統(tǒng)提供依據。各項測試分為非優(yōu)化測試和優(yōu)化測試。非優(yōu)化測試便于考察集群對原代碼的適應性。優(yōu)化測試可以讓廠家充分展示機器潛在性能的機會,在測試廠家的技術實力的同時,也獲得廠家的優(yōu)化代碼,以便有效地構建滿足特定應用需求的高性能計算機系統(tǒng)。
氣象高性能計算系統(tǒng)測評方案具體分為應用測試、基準測試、功能測試和測試題4個部分。通過對兩個氣候和氣象預報模式的測試,來驗證和確定廠家的高性能計算機是否適合氣象數值預報目標系統(tǒng)的性能規(guī)模和內存配置;利用基準測試程序來測試系統(tǒng)的相關性能指標,如單CPU性能、I/O速度、結點互連網速度、通信延遲、內存帶寬等等。
4 系統(tǒng)性能評測結果分析
4.1 測量時間分析
時間是高性能計算機性能測量的主要標準。測量某一任務所花的全部時間稱響應時間。響應時間[4]也稱墻鐘時間或周轉時間。響應時間=CPU時間(用戶+系統(tǒng))+ I/O時間+通信時間。一個程序的CPU時間包含用戶CPU時間(執(zhí)行程序的時間)和系統(tǒng)CPU時間(操作系統(tǒng)的開銷)。系統(tǒng)性能對應于響應時間,而CPU性能對應于用戶CPU時間。
從實際業(yè)務運行時間與峰值速度的比較圖1中可以看到:高性能計算機的峰值性能與業(yè)務實際應用可獲得的性能存在較大的差異。如圖1中所示,公司B的HPC系統(tǒng)運行提供的實際業(yè)務應用模式所需的墻鐘時間是最少的,但是它的理論峰值速度卻不是最高的。相反,公司C的理論峰值速度很高,但是運行實際業(yè)務程序所需的時間卻較長。
針對這個問題,筆者對應用程序進行了深入分析。應用程序中選取了有代表性的國家氣象局新一代數值氣象預報系統(tǒng)GRAPES程序為例進行分析。圖2和圖3是對GRAPES程序的點對點通信分析的結果,分別描述了消息大小分布和消息目的進程分布的情況。通過對應用的通信模式進行分析,可以發(fā)現(xiàn),GRAPES程序中點對點通信的消息大小集中在100 KB到1 MB之間,并且0號進程與所有的進程進行通信,GRAPES的通信操作較頻繁,說明這個程序對系統(tǒng)的通信性能要求較高。
公司B的HPC體系結構,每個節(jié)點都是16路的SMP架構。所以對于Graps、WRF等氣象應用模式,都可以采用MPI+OpenMP的方式,即在機群系統(tǒng)中,節(jié)點和節(jié)點的通訊采用MPI的方式,而每個節(jié)點內部進程的通訊方式則采用OpenMP的方式進行。這樣,減少了進程間通信的時間,從而獲得了更高的應用性能。通過實測表明,特別是在測試硬件規(guī)模增大時,其性能優(yōu)勢越發(fā)明顯。而公司C的HPC配置是每個節(jié)點都是8路,采用的是單純MPI的方式,即所有進程間的通訊都是采用消息傳遞的方式(即MPI方式)進行。因此,系統(tǒng)的響應時間較公司B的慢。所以,大家在定購高性能計算機時要避免被所宣傳的峰值性能誤導而忽略實際可獲得的應用性能。
4.2 加速比分析
加速比是并行處理系統(tǒng)性能的主要評測指標。理想的加速比是線性的,但實際的加速比則是逐漸偏低于線性值。理想的應用程序獲得的效率與系統(tǒng)規(guī)模無關,能保持恒定值。但實際的應用程序獲得的效率是隨著規(guī)模的增大而逐漸降低,不能保持恒定。
筆者對涉及可擴展性測試的項目逐項繪制加速比效率圖。從中可以直觀地發(fā)現(xiàn)在高性能計算機并行性能方面,各高性能計算機產品之間存在一定的差距。圖4是測試WRF氣象數值預報模式四重嵌套時各公司HPC系統(tǒng)的加速比。從中可以發(fā)現(xiàn),公司A的可擴展性最好。公司C的可擴展性較差,到320以上進程時加速比就沒有提高,達不到測試要求。因此,加速比性能指標仍然是HPC系統(tǒng)性能評價的重要指標。
4.3 配置分析
在規(guī)定時間內運行完給定程序可以測到所需的最小系統(tǒng)配置。對于運行業(yè)務模式的業(yè)務系統(tǒng),配置分析很重要。配置值可用于確定采購的系統(tǒng)規(guī)模、估算或推算價格、硬件運行的能耗。
4.4 管理軟件效率分析
在測試中,有些系統(tǒng)并沒有配備有效的管理軟件功能(例如斷點重啟和分時調度功能),而有些系統(tǒng)配備了但開銷很大,效率較低。只有了解管理軟件/工具的效率,才能更有效地使用它們。因此,要計算出用于管理開銷時間與程序總運行時間的比值,即管理軟件開銷比率。隨著高性能計算機的不斷發(fā)展,系統(tǒng)的可靠性、易管理性也將逐漸成為衡量并行計算機的重要指標。
5 結語
對應用程序進行分析能夠讓大家了解該應用領域的程序特點,了解程序對系統(tǒng)各部件的不同需求,為用戶評測和購買高性能計算機系統(tǒng)提供依據。因此,對選取的典型應用程序進行特征分析是進行高性能計算機性能評測技術的一個關鍵步驟。
在氣象應用領域,制定以實際預報模式為主、基準測試為輔的綜合測試方法,并把這種綜合的測試方法用在氣象領域的高性能計算機的引進中。在技術上,測試結果用以確定招標的技術參數、機器的規(guī)模;在經濟上,能使人們用最少的經費購置到最合適的系統(tǒng)。實踐經驗告訴人們,高性能計算的性能指標用實際應用測試是最真實、可靠,最反映實際需求也最具有說服力的。高性能計算系統(tǒng)的訂購決策應該以是否滿足用戶需求為最重要的標準。
參考文獻
[1] Wang Li,Bai Xin. The Design and Performance Analysis for A Real-time Cluster System [J].Computer Engineering and Applications,2006,43(18):120-122.
[2] T H Dunigan, M R Fahey, JB White. et al.Early Evaluation of the Cray X1 [C]//Supercomputing,2003ACM/IEEE Conference.2003.
[3] Hong Wen-dong.High Performance Computer Development and Meteorological Applications [J].Computer Engineering and Applications,2004,40(5):32-35.
[4] Yin Xin-chun, Xie Li. Strategy in Choosing the best number of processors [J].Computer Applications,2003,4(23):14-15.
[5] Hong Wen-dong, Tian Hao. Design on Application performance Evaluation of HPC System [J].Computer Engineering and Applications,2004(34):57-67.