黃瑞芳, 劉俊鋮, 鮑振華
(中國人民解放軍61741部隊信息中心,北京100094)
高性能計算機(簡稱HPC)測評是高性能計算領域的核心技術(shù)和挑戰(zhàn)性課題,應用于HPC設計生產(chǎn)、選型購置、應用維護全生命期,指導系統(tǒng)性能定位、應用優(yōu)化、性能比較、性能驗證和系統(tǒng)調(diào)優(yōu)。氣象海洋環(huán)境數(shù)值預報是氣象水文保障的核心業(yè)務,其發(fā)展水平與高性能計算技術(shù)的發(fā)展和應用水平密切關(guān)聯(lián),是HPC的主要應用領域。從應用的角度來說,選擇適合行業(yè)大型軟件高效、可靠運行的HPC系統(tǒng),既是保證核心業(yè)務能力有效發(fā)揮的必然要求,又是保護投資、發(fā)揮效益、降低成本開銷的客觀需要,因此,氣象用戶對行業(yè)高性能計算機測評有迫切需要。
氣象海洋應用的計算特征包括:矩陣轉(zhuǎn)置在內(nèi)的全局通信、大I/O、高度并行、計算量隨分辨率成指數(shù)增長、背景場和初試數(shù)據(jù)量大等特點,要求很高的綜合系統(tǒng)性能。
全球中期數(shù)值天氣預報模式的譜方法計算內(nèi)核發(fā)源于歐洲中期數(shù)值預報中心,模式在中國廣泛應用,是國家和軍隊數(shù)值天氣預報業(yè)務系統(tǒng)的核心模式。模式包含了典型的大氣動力和熱力過程,物理過程完善,大量使用快速傅立葉變換(FFT)、勒讓德變換等典型算法。模式能夠測試HPC運行全球譜模式和集合預報的能力。能夠測試:
(1)HPC對中期預報核心模式的可移植性;
(2)HPC進行數(shù)據(jù)密集和通信密集計算的吞吐能力;
(3)HPC在容量計算時達到能力極限的持續(xù)計算能力;
(4)數(shù)學庫支持和優(yōu)化性能。
POP(Parallel Ocean Processe)由美國洛斯阿拉莫斯國家試驗室根據(jù)美國能源部氣候改變預測計劃開發(fā),模式成功應用推進了美國在10年期和大尺度氣候預測領域的技術(shù)進步。主要計算和通訊過程基于并行技術(shù)開發(fā),具有較高并行效率,并行規(guī)模大,并行度可擴展至1萬以上。模式能夠測試HPC運行海洋數(shù)值預報的應用性能,能夠測試:
(1)HPC的CPU多核計算性能。
(2)HPC計算和通信能力的均衡性。
(3)HPC的可擴展性。
(4)測試方對海洋模式應用開發(fā)和代碼優(yōu)化能力。
CCSM3是美國發(fā)展的第三代耦合氣候模式,包括完全相互作用的大氣、海洋、海冰和陸面4個分量模式,通過耦合器相互交換數(shù)據(jù)。具體計算采用MPMD的并行方式,各個模塊相互獨立地運行,并周期性地與耦合器交換數(shù)據(jù)。模式代表大氣、海洋、氣候多圈層耦合的發(fā)展趨勢,反映大通訊、大I/O應用的計算特征。其中各種模式組件的并行度不同,最大并行度有待確定。模式能夠測試目標系統(tǒng)運行海洋、大氣和陸面過程耦合預報的能力。
氣象海洋HPC測評系統(tǒng)設計的主要內(nèi)容包括:建立測評體系、建立測試環(huán)境、選取測試集,構(gòu)建測試模型、建立測評標準。
建立HPC測評體系目的是分析并提取HPC關(guān)鍵功能和性能因素,建立科學客觀的量化評估標準化體系,是構(gòu)建測評系統(tǒng)的技術(shù)核心。評價HPC的主要因素包括軟硬件的功能和性能,其中硬件方面因素有處理器的浮點處理能力、Cache大小、訪存帶寬和延遲、I/O能力以及通信的帶寬和延遲等;軟件方面因素有操作系統(tǒng)、編譯器、作業(yè)系統(tǒng)、應用算法實現(xiàn)和性能優(yōu)化能力[1-3]。硬件系統(tǒng)與軟件應用的匹配程度也是影響HPC整體性能的關(guān)鍵因素。綜合上述因素,建立在多維空間上能夠表示應用特征和HPC特征,反映系統(tǒng)與應用之間區(qū)別、相似度的HPC測評體系。體系的基本結(jié)構(gòu)如圖1所示。
HPC性能和功能模型描述HPC提供硬件和軟件計算資源的能力。應用與HPC匹配評價模型描述應用需求與HPC計算資源能力之間的匹配程度,模型定義應用與HPC的性能褶和方法以及HPC的評價標準。
HPC和并行程序設計復雜性的提高,使影響氣象海洋數(shù)值計算性能的因素越來越多。建立測試試驗環(huán)境的目的是在不同配置的小規(guī)模HPC上運行應用系統(tǒng),初步考察構(gòu)成HPC各個要素對應用的性能影響,發(fā)現(xiàn)應用對HPC性能的需求,將眾多復雜的因素聚焦到幾個性能主成份上,明確測評目標。
測試試驗環(huán)境的基本構(gòu)成如圖2所示。測試試驗環(huán)境配置的方法如下:
(1)分析影響HPC性能的一般因素。
(2)選取當時業(yè)界具有代表性的配置確定基準測試環(huán)境中各主成份的取值。使用這些因素構(gòu)造一個HPC設計矩陣。HPC設計矩陣的一個行向量代表一個真實可行的HPC配置。
圖1 氣象海洋HPC多維空間測評體系
測試集是測評系統(tǒng)的核心構(gòu)件,其主要功能是作為測評的輸入,考核HPC滿足應用功能和性能需求的能力。測試集由測試程序、測試初始數(shù)據(jù)和基準測試結(jié)果組成。由于氣象海洋應用程序規(guī)模大、結(jié)構(gòu)復雜,采用程序特征分析方法進行分類,對氣象海洋模式進行基于系統(tǒng)抽樣的程序特征分析方法[4]:
(1)準備輸入數(shù)據(jù),確定運行應用的處理器規(guī)模;
(2)在基準測試試驗環(huán)境上移植調(diào)試、運行,確定程序代碼的跨平臺移植難度、編譯級優(yōu)化潛力和算法級的代碼優(yōu)化潛力等,作為制定測試評分準則的重要技術(shù)參考;
(3)在基準測試試驗環(huán)境上以不同輸入規(guī)模、不同并行規(guī)模運行應用程序,考察應用的可擴展性,作為制定測試評分準則的重要技術(shù)參考;
(4)在基準測試試驗環(huán)境上采用Intel trace Analyzer and Collector跟蹤應用程序運行,獲得性能跟蹤數(shù)據(jù);
(5)分析測試結(jié)果數(shù)據(jù),通過提取關(guān)鍵參數(shù)或者繪圖形成測試結(jié)果的正確性判定;
(6)通過分析提取的性能數(shù)據(jù),確定應用程序的浮點操作、訪存、通信、I/O的性能需求,作為制定測試評分準則的重要技術(shù)參考;
(7)綜合上述分析過程,建立一個多維向量表示應用特征。
圖2 測試試驗環(huán)境
測試模型用于提取各類HPC系統(tǒng)的性能主成份和功能特征指標,建立HPC計算資源能力表示模式,為氣象海洋應用與HPC之間的性能和計算[5]提供依據(jù)。測試模型由測試項目和測試方法兩部分構(gòu)成。其中測試項目定義測試集中每個測試程序的輸入約束、過程約束、目標約束,在不同約束下,每個測試程序生成多個測試實例。測試方法定義測試過程中必須遵循的一般方法。
測評標準以性能瓶頸和測評重點為目的,以測試數(shù)據(jù)為基礎。采用統(tǒng)計分析技術(shù),實現(xiàn)HPC計算資源能力和應用特征之間從局部到整體的褶和計算,建立對測試結(jié)果進行定性和定量分析評價的機制[6]。主要包含以下幾個方面:
(1)測試完成情況分析包括測試方法的正確性、測試結(jié)果的正確性和優(yōu)化程度。
(2)系統(tǒng)性能分析給出各種機型的單CPU性能、單節(jié)點性能、內(nèi)存帶寬、互連帶寬、IO帶寬等方面的系統(tǒng)性能對比結(jié)果。
(3)應用性能分析建立應用程序運行在各種機型上的持續(xù)性能、并行效率與應用程序的計算資源需求之間的映射關(guān)系,并結(jié)合機型體系結(jié)構(gòu)、計算、IO以及互連性能和系統(tǒng)可擴展性褶和計算出目標系統(tǒng)配置規(guī)模;通過對比測試單位的移植能力、優(yōu)化能力,給出技術(shù)先進性、技術(shù)支持實力等方面的結(jié)論。
(4)系統(tǒng)功能分析給出各種機型的系統(tǒng)測試功能對比結(jié)果,包括作業(yè)管理能力、資源調(diào)度能力、Checkpoint/Restart功能和性能等方面。
圖3 氣象海洋高性能計算機測評系統(tǒng)總體結(jié)構(gòu)圖
氣象海洋HPC測評系統(tǒng)由:測試集、測試模型、測評標準、測評管理軟件組成,總體結(jié)構(gòu)如圖3所示。
(1)測試集
測試程序采用基于系統(tǒng)抽樣的程序特征分析方法和距離函數(shù)的應用分類方法從氣象海洋典型數(shù)值計算模式以及國際通用基準測試程序中選擇得出,包括氣象、海洋、海陸氣耦合模式程序和基準測試程序,作為測試項目的基本構(gòu)件;測試初始數(shù)據(jù)包為測試程序運行提供具備樣本功能的初始場和邊界條件;基準測試結(jié)果是在測評方高性能主機上采用測試初始數(shù)據(jù)包運行測試程序獲得的運行結(jié)果,包括計算結(jié)果和性能分析結(jié)果,用于測評分析驗證。
(2)測評模型
測試模型由測試項目和測試方法兩部分構(gòu)成,每組測試項目伴有相應的數(shù)據(jù)采集模塊。測試項目包括氣象海洋應用性能測試項目、計算系統(tǒng)管理功能測試項目和基準測試項目。
(3)測評標準
主要在測試真實性、測試方法正確性、測試結(jié)果正確性驗證的基礎上,對優(yōu)化程度、性能和功能進行分析,綜合得出具體的測評標準。
(4)測評管理軟件
測評管理軟件全實現(xiàn)測試和評標數(shù)據(jù)采集、數(shù)據(jù)分析、模型管理、文檔管理、系統(tǒng)管理和報表生成。
測評系統(tǒng)的硬件環(huán)境由測評高性能計算主機、測評管理主機、測評數(shù)據(jù)服務器、文件管理主機和高性能計算網(wǎng)絡組成。系統(tǒng)部署結(jié)構(gòu)如圖4所示。
圖4 氣象海洋高性能計算機測評系統(tǒng)部署結(jié)構(gòu)
系統(tǒng)先后在國內(nèi)4大HPC廠商的6類主流HPC系統(tǒng)平臺上完成了14個測試項目的分析和比對,分別就平臺編譯性能、單節(jié)點性能、并行效率和可擴展能力、系統(tǒng)單項性能、滿足特定應用的配置規(guī)模和持續(xù)計算性能、資源管理和作業(yè)調(diào)度能力、系統(tǒng)吞吐率及對集合預報的支持能力給出了客觀評價,為相關(guān)行業(yè)高性能計算系統(tǒng)設計、生產(chǎn)、選型、采購、性能調(diào)優(yōu)和運行維護提供了技術(shù)參考。后期將進一步擴充相關(guān)測試集、優(yōu)化測評標準,構(gòu)建可擴展測試模型,為更多領域的高性能計算系統(tǒng)設計和生產(chǎn)提供技術(shù)參考。
[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.