黃瑞芳, 劉俊鋮, 鮑振華
(中國人民解放軍61741部隊信息中心,北京100094)
高性能計算機(簡稱HPC)測評是高性能計算領域的核心技術和挑戰性課題,應用于HPC設計生產、選型購置、應用維護全生命期,指導系統性能定位、應用優化、性能比較、性能驗證和系統調優。氣象海洋環境數值預報是氣象水文保障的核心業務,其發展水平與高性能計算技術的發展和應用水平密切關聯,是HPC的主要應用領域。從應用的角度來說,選擇適合行業大型軟件高效、可靠運行的HPC系統,既是保證核心業務能力有效發揮的必然要求,又是保護投資、發揮效益、降低成本開銷的客觀需要,因此,氣象用戶對行業高性能計算機測評有迫切需要。
氣象海洋應用的計算特征包括:矩陣轉置在內的全局通信、大I/O、高度并行、計算量隨分辨率成指數增長、背景場和初試數據量大等特點,要求很高的綜合系統性能。
全球中期數值天氣預報模式的譜方法計算內核發源于歐洲中期數值預報中心,模式在中國廣泛應用,是國家和軍隊數值天氣預報業務系統的核心模式。模式包含了典型的大氣動力和熱力過程,物理過程完善,大量使用快速傅立葉變換(FFT)、勒讓德變換等典型算法。模式能夠測試HPC運行全球譜模式和集合預報的能力。能夠測試:
(1)HPC對中期預報核心模式的可移植性;
(2)HPC進行數據密集和通信密集計算的吞吐能力;
(3)HPC在容量計算時達到能力極限的持續計算能力;
(4)數學庫支持和優化性能。
POP(Parallel Ocean Processe)由美國洛斯阿拉莫斯國家試驗室根據美國能源部氣候改變預測計劃開發,模式成功應用推進了美國在10年期和大尺度氣候預測領域的技術進步。主要計算和通訊過程基于并行技術開發,具有較高并行效率,并行規模大,并行度可擴展至1萬以上。模式能夠測試HPC運行海洋數值預報的應用性能,能夠測試:
(1)HPC的CPU多核計算性能。
(2)HPC計算和通信能力的均衡性。
(3)HPC的可擴展性。
(4)測試方對海洋模式應用開發和代碼優化能力。
CCSM3是美國發展的第三代耦合氣候模式,包括完全相互作用的大氣、海洋、海冰和陸面4個分量模式,通過耦合器相互交換數據。具體計算采用MPMD的并行方式,各個模塊相互獨立地運行,并周期性地與耦合器交換數據。模式代表大氣、海洋、氣候多圈層耦合的發展趨勢,反映大通訊、大I/O應用的計算特征。其中各種模式組件的并行度不同,最大并行度有待確定。模式能夠測試目標系統運行海洋、大氣和陸面過程耦合預報的能力。
氣象海洋HPC測評系統設計的主要內容包括:建立測評體系、建立測試環境、選取測試集,構建測試模型、建立測評標準。
建立HPC測評體系目的是分析并提取HPC關鍵功能和性能因素,建立科學客觀的量化評估標準化體系,是構建測評系統的技術核心。評價HPC的主要因素包括軟硬件的功能和性能,其中硬件方面因素有處理器的浮點處理能力、Cache大小、訪存帶寬和延遲、I/O能力以及通信的帶寬和延遲等;軟件方面因素有操作系統、編譯器、作業系統、應用算法實現和性能優化能力[1-3]。硬件系統與軟件應用的匹配程度也是影響HPC整體性能的關鍵因素。綜合上述因素,建立在多維空間上能夠表示應用特征和HPC特征,反映系統與應用之間區別、相似度的HPC測評體系。體系的基本結構如圖1所示。
HPC性能和功能模型描述HPC提供硬件和軟件計算資源的能力。應用與HPC匹配評價模型描述應用需求與HPC計算資源能力之間的匹配程度,模型定義應用與HPC的性能褶和方法以及HPC的評價標準。
HPC和并行程序設計復雜性的提高,使影響氣象海洋數值計算性能的因素越來越多。建立測試試驗環境的目的是在不同配置的小規模HPC上運行應用系統,初步考察構成HPC各個要素對應用的性能影響,發現應用對HPC性能的需求,將眾多復雜的因素聚焦到幾個性能主成份上,明確測評目標。
測試試驗環境的基本構成如圖2所示。測試試驗環境配置的方法如下:
(1)分析影響HPC性能的一般因素。
(2)選取當時業界具有代表性的配置確定基準測試環境中各主成份的取值。使用這些因素構造一個HPC設計矩陣。HPC設計矩陣的一個行向量代表一個真實可行的HPC配置。

圖1 氣象海洋HPC多維空間測評體系
測試集是測評系統的核心構件,其主要功能是作為測評的輸入,考核HPC滿足應用功能和性能需求的能力。測試集由測試程序、測試初始數據和基準測試結果組成。由于氣象海洋應用程序規模大、結構復雜,采用程序特征分析方法進行分類,對氣象海洋模式進行基于系統抽樣的程序特征分析方法[4]:
(1)準備輸入數據,確定運行應用的處理器規模;
(2)在基準測試試驗環境上移植調試、運行,確定程序代碼的跨平臺移植難度、編譯級優化潛力和算法級的代碼優化潛力等,作為制定測試評分準則的重要技術參考;
(3)在基準測試試驗環境上以不同輸入規模、不同并行規模運行應用程序,考察應用的可擴展性,作為制定測試評分準則的重要技術參考;
(4)在基準測試試驗環境上采用Intel trace Analyzer and Collector跟蹤應用程序運行,獲得性能跟蹤數據;
(5)分析測試結果數據,通過提取關鍵參數或者繪圖形成測試結果的正確性判定;
(6)通過分析提取的性能數據,確定應用程序的浮點操作、訪存、通信、I/O的性能需求,作為制定測試評分準則的重要技術參考;
(7)綜合上述分析過程,建立一個多維向量表示應用特征。

圖2 測試試驗環境
測試模型用于提取各類HPC系統的性能主成份和功能特征指標,建立HPC計算資源能力表示模式,為氣象海洋應用與HPC之間的性能和計算[5]提供依據。測試模型由測試項目和測試方法兩部分構成。其中測試項目定義測試集中每個測試程序的輸入約束、過程約束、目標約束,在不同約束下,每個測試程序生成多個測試實例。測試方法定義測試過程中必須遵循的一般方法。
測評標準以性能瓶頸和測評重點為目的,以測試數據為基礎。采用統計分析技術,實現HPC計算資源能力和應用特征之間從局部到整體的褶和計算,建立對測試結果進行定性和定量分析評價的機制[6]。主要包含以下幾個方面:
(1)測試完成情況分析包括測試方法的正確性、測試結果的正確性和優化程度。
(2)系統性能分析給出各種機型的單CPU性能、單節點性能、內存帶寬、互連帶寬、IO帶寬等方面的系統性能對比結果。
(3)應用性能分析建立應用程序運行在各種機型上的持續性能、并行效率與應用程序的計算資源需求之間的映射關系,并結合機型體系結構、計算、IO以及互連性能和系統可擴展性褶和計算出目標系統配置規模;通過對比測試單位的移植能力、優化能力,給出技術先進性、技術支持實力等方面的結論。
(4)系統功能分析給出各種機型的系統測試功能對比結果,包括作業管理能力、資源調度能力、Checkpoint/Restart功能和性能等方面。

圖3 氣象海洋高性能計算機測評系統總體結構圖
氣象海洋HPC測評系統由:測試集、測試模型、測評標準、測評管理軟件組成,總體結構如圖3所示。
(1)測試集
測試程序采用基于系統抽樣的程序特征分析方法和距離函數的應用分類方法從氣象海洋典型數值計算模式以及國際通用基準測試程序中選擇得出,包括氣象、海洋、海陸氣耦合模式程序和基準測試程序,作為測試項目的基本構件;測試初始數據包為測試程序運行提供具備樣本功能的初始場和邊界條件;基準測試結果是在測評方高性能主機上采用測試初始數據包運行測試程序獲得的運行結果,包括計算結果和性能分析結果,用于測評分析驗證。
(2)測評模型
測試模型由測試項目和測試方法兩部分構成,每組測試項目伴有相應的數據采集模塊。測試項目包括氣象海洋應用性能測試項目、計算系統管理功能測試項目和基準測試項目。
(3)測評標準
主要在測試真實性、測試方法正確性、測試結果正確性驗證的基礎上,對優化程度、性能和功能進行分析,綜合得出具體的測評標準。
(4)測評管理軟件
測評管理軟件全實現測試和評標數據采集、數據分析、模型管理、文檔管理、系統管理和報表生成。
測評系統的硬件環境由測評高性能計算主機、測評管理主機、測評數據服務器、文件管理主機和高性能計算網絡組成。系統部署結構如圖4所示。

圖4 氣象海洋高性能計算機測評系統部署結構
系統先后在國內4大HPC廠商的6類主流HPC系統平臺上完成了14個測試項目的分析和比對,分別就平臺編譯性能、單節點性能、并行效率和可擴展能力、系統單項性能、滿足特定應用的配置規模和持續計算性能、資源管理和作業調度能力、系統吞吐率及對集合預報的支持能力給出了客觀評價,為相關行業高性能計算系統設計、生產、選型、采購、性能調優和運行維護提供了技術參考。后期將進一步擴充相關測試集、優化測評標準,構建可擴展測試模型,為更多領域的高性能計算系統設計和生產提供技術參考。
[1] A Snavely,N Wolter,L Carrington.Modeling Application Performance by Convolving Machine Signatures with Application Profiles[J].IEEE 4th Annual Workshop on Workload Characterization,2001,(2).
[2] D Ofelt,J L Hennessy.Efficient Performance Prediction for Modern Microprocessors[M].SIGMETRICS,2000:229-239.
[3] D J Kerbyson,H Alme,A Hoisie,et al.Predictive Performance and Scalability Modeling of a Large-Scale Application[M].Supercomputing,2001.
[4] A Snavely,N Wolter,L Carrington,et al.A Framework to Enable Performance Modeling and Prediction[M].Supercomputing,2002.
[5] L Carrington,N Wolter,A Snavely.A Framework for Application Performance Prediction to Enable Scalability Understanding[M].Scaling to New Heights Workshop,Pittsburgh,2002.
[6] Gabriel Marin,John Mellor Crummey.Cross Architecture Performance Predictions for Scientific Applications Using Parameterized Models[M].SIGMET RICS performance,New York,2004.