張海龍,冶鑫晨,王 杰,聶 俊,陳龍飛,4,托乎提努爾, 崔辰州,李長華,朱 艷,4,張 萌,4
(1. 中國科學(xué)院新疆天文臺,新疆 烏魯木齊 830011;2. 中國科學(xué)院射電天文重點實驗室,江蘇 南京 210008; 3. 中國科學(xué)院國家天文臺,北京 100101;4. 中國科學(xué)院大學(xué),北京 100049)
天文學(xué)是一門基于觀測和模擬的數(shù)據(jù)密集型科學(xué),暗能量、暗物質(zhì)、黑洞、宇宙起源、天體起源、生命起源等是天文學(xué)研究的前沿重大基礎(chǔ)科學(xué)問題,解決這些問題的首要方法是觀測,其次是利用高性能計算系統(tǒng)對海量真實或仿真數(shù)據(jù)進行建模和模擬分析,從而進一步揭示宇宙的奧秘。信息技術(shù)、高性能計算技術(shù)等的高速發(fā)展使得用計算機實現(xiàn)理論和實驗研究成為可能,在這樣的背景下,天文學(xué)家通過高性能計算系統(tǒng)進行科學(xué)研究成為必然趨勢[1]。中國科學(xué)院新疆天文臺幾十年來致力于天文觀測和理論研究,科研內(nèi)容包括:脈沖星、恒星形成、活動星系核、射電及光學(xué)望遠鏡技術(shù)等,為提高數(shù)據(jù)處理和仿真分析的研究效率,結(jié)合自身科學(xué)研究需求搭建了高性能計算系統(tǒng),命名為Taurus*http://taurus.xao.ac.cn/。
近些年基于圖形處理器(Graphic Processing Unit, GPU)的并行計算技術(shù)已經(jīng)成為高性能計算領(lǐng)域的研究熱點,利用圖形處理器可以大大加速科學(xué)分析、仿真等方面應(yīng)用程序的運行速度[2]。圖形處理器加速計算技術(shù)早在2007年由NVIDIA公司推出[3],將計算密集型的任務(wù)提交圖形處理器處理,同時中央處理器依然處理其余任務(wù),可以有效提升數(shù)據(jù)處理的速度。在天文領(lǐng)域,圖形處理器計算框架非常適合天文圖像處理、宇宙學(xué)大尺度數(shù)值模擬、空間目標軌道模擬等,圖形處理器計算框架已經(jīng)在天文學(xué)研究中得到廣泛的應(yīng)用。
高性能計算系統(tǒng)的計算性能來自于多節(jié)點的并行計算,節(jié)點之間的數(shù)據(jù)傳輸、通訊是系統(tǒng)建設(shè)的關(guān)鍵[4]。Taurus高性能計算系統(tǒng)的建立使得新疆天文臺在高性能計算支持上實現(xiàn)了零的突破,在未來的工作中Taurus高性能計算系統(tǒng)將助力于新疆天文臺在天體演化模型研究、射電天文多相濾波器、相干及非相干消色散、數(shù)值模擬等多方面的科研工作。
Taurus高性能計算系統(tǒng)采用CPU + GPU混合架構(gòu),目前整個系統(tǒng)由1個登陸節(jié)點、1個管理節(jié)點、16個計算節(jié)點、2個I/O節(jié)點、100 TB高速存儲組成。每個計算節(jié)點配備了2顆12核心Intel Xeon E5-2692 v2 CPU,主頻為2.20 GHz,64 GB內(nèi)存,1個Nvidia Tesla K20 m GPU。計算與I/O節(jié)點之間通過56 Gb Infiniband交換機互聯(lián),以實現(xiàn)調(diào)整數(shù)據(jù)或消息傳遞。千兆以太網(wǎng)及智能平臺管理接口(Intelligent Platform Management Interface, IPMI)網(wǎng)絡(luò)用于集群系統(tǒng)管理,Taurus高性能計算系統(tǒng)拓撲結(jié)構(gòu)如圖1。
圖1 Taurus高性能計算系統(tǒng)拓撲結(jié)構(gòu)圖Fig.1 Topology of Taurus
Linpack[5]是國際上最流行的用于測試高性能計算機系統(tǒng)浮點性能的基準程序,也是世界排名TOP500超級計算機的標準測試軟件。性能測試由多個64位雙精度浮點運算組成,測試一個計算系統(tǒng)每秒可以進行的乘加計算次數(shù)(flops)。Linpack有3種基準測試,分別為Linpack 100、Linpack 1 000以及HPLinpack[6]。前兩種基準測試不適合測試并行計算機集群,本文采用HPLinpack對Taurus 高性能計算系統(tǒng)進行測試。
1.2.1中央處理器性能測試
Taurus高性能計算系統(tǒng)共有16個計算節(jié)點,單個計算節(jié)點配置如表1。E5-2692v2每時鐘周期可進行8次運算,Taurus高性能計算系統(tǒng)中央處理器雙精度浮點理論計算能力為2.2 × 8 × 24 × 16=
6 758.4 Gflops。
HPLinpack是針對現(xiàn)代并行計算機提出的測試方法,其核心是利用高斯消元法求解一元N次冪稠密線性代數(shù)方程組,測試和評價高性能計算系統(tǒng)的浮點運算性能。Linpack的HPL.dat文件配置如表2,16節(jié)點中央處理器測試結(jié)果如表3。
最終測試結(jié)果表明,Taurus高性能計算系統(tǒng)中央處理器雙精度浮點實際計算能力為6.289 Tflops,計算效率為6.289/6.758 4=93.06%。
表1 計算節(jié)點配置表Table 1 Compute node configuration
表2 中央處理器測試HPL.dat配置表Table 2 HPL.dat configuration table of CPU test
表3 16節(jié)點中央處理器測試結(jié)果Table 3 Test results of 16 CPU nodes
1.2.2圖形處理器性能測試
Taurus高性能計算系統(tǒng)每個節(jié)點配備一塊Nvidia Tesla K20m GPU,Tesla K20m是Nvidia推出的Kepler架構(gòu)圖形處理器,該圖形處理器擁有2 496個CUDA核心,核心頻率為706 MHz,存儲器帶寬為208 GB/s,Taurus高性能計算系統(tǒng)16節(jié)點圖形處理器雙精度浮點數(shù)理論計算能力為16 × 1.17e + 03Gflops=18.72 Tflops。
本文使用HPLinpack對單個節(jié)點圖形處理器計算性能進行了測試,Linpack的HPL.dat文件配置如表4,單個Tesla K20m GPU不同Ns值測試結(jié)果如表5。
通過多次測試得到了Ns值的經(jīng)驗公式,如計算節(jié)點的總內(nèi)存為M,節(jié)點的個數(shù)為N,系數(shù)為R,則:
Ns=ROUND(SQRT(M*N*1 024*1 024*R/8)/128, 0)*128
當R值在0.8到0.9之間時圖形處理器集群可以得到最高測試結(jié)果。測試中Taurus高性能計算系統(tǒng)16個圖形處理器節(jié)點最高計算峰值為14.882 Tflops,實際計算效率為14.882/18.72=79.5%。
表4 圖形處理器測試HPL.dat配置表Table 4 HPL.dat configuration table of CPU test
Taurus采用了Lustre[7]文件系統(tǒng)作為存儲系統(tǒng),存儲容量為100 TB。存儲架構(gòu)為一個存儲節(jié)點與兩個擴展盤柜,擴展盤柜和中央存儲節(jié)點直接使用SAS接口連接,使用回環(huán)模式。Lustre文件系統(tǒng)是一個開源的、基于對象存儲技術(shù)的集群并行文件系統(tǒng),可為Taurus提供可靠、安全、易用且可擴展的存儲環(huán)境[8]。Lustre文件系統(tǒng)的架構(gòu)圖如圖2。
Taurus存儲使用集中管理方式,所有計算節(jié)點加載同一套存儲系統(tǒng)。為了解決故障及I/O瓶頸問題[9],存儲控制器上兩個獨立的控制卡分別通過光纖和兩個互為冗余的I/O節(jié)點連接,當其中一個I/O節(jié)點發(fā)生故障,另一個I/O節(jié)點立刻接管,保證了存儲的穩(wěn)定性。其次I/O節(jié)點和服務(wù)器之間采用56 Gb Infiniband[10]連接,支持多并發(fā)連接轉(zhuǎn)換技術(shù),具備高速數(shù)據(jù)傳輸能力。
表5 單個圖形處理器測試結(jié)果Table 5 Test results of single GPU
通過文件系統(tǒng)基準測試工具IOZone對Taurus的文件系統(tǒng)進行了寫入、讀取、重讀、重寫、反向讀、跨越式讀、從文件中讀、往文件中寫、隨機讀取、預(yù)讀取、內(nèi)存映射文件I/O、異步I/O讀取、異步I/O寫入等測試[11]。測試中指定生成的測試文件應(yīng)小于實際內(nèi)存容量,否則影響測試結(jié)果。Taurus高性能計算系統(tǒng)多節(jié)點最高讀取速度達到6 GB/s左右;寫入速度如圖3,當文件大小為256 MB且分塊大小為16 MB時達到最快的寫入速度650 MB/s。
圖2 Lustre文件系統(tǒng)架構(gòu)圖Fig.2 File system architecture of Lustre
圖3 Taurus高性能計算系統(tǒng)寫入性能測試Fig.3 Write performance test of Taurus
Taurus高性能計算系統(tǒng)采用PBS(Portable Batch System)集群調(diào)度器進行硬件資源的管理和分配,用戶可以通過PBS提交作業(yè)腳本、查詢作業(yè)狀態(tài)信息、作業(yè)隊列管理等操作。Taurus采用module管理軟件版本及庫函數(shù)版本等,方便用戶配置環(huán)境變量。用戶可以直接使用module切換python版本、MPI并行環(huán)境及編程模型等。圖形處理器編程方面,每個計算節(jié)點支持CUDA運算架構(gòu),可以直接通過PBS提交數(shù)據(jù)密集型作業(yè)給圖形處理器進行運算。
Taurus高性能計算系統(tǒng)建成后,30余名科研人員使用Taurus開展科研相關(guān)計算工作。
天體化學(xué)是一門模擬各種各樣分子在分子云中合成的學(xué)科,蒙特卡羅模擬是天體化學(xué)的一種常見模擬方法[12]。蒙特卡羅模擬方法是一種隨機過程,用來模擬一個反應(yīng)網(wǎng)絡(luò)中某一個化學(xué)反應(yīng)的發(fā)生。新疆天文臺的天體化學(xué)課題組使用Taurus模擬在一個有尺度分布的系統(tǒng)中各種分子的化學(xué)演化,取分子云中的一個很小的體積作為一個系統(tǒng),里面包含一個塵埃以及它周圍的氣體。這個系統(tǒng)中包含多種化學(xué)反應(yīng),可以通過計算系統(tǒng)對這些化學(xué)反應(yīng)進行模擬,同時考慮多個塵埃時需并行共同演化,當達到一定條件后再對各個子系統(tǒng)進行混合處理,保證整個大系統(tǒng)處于一種均勻狀態(tài)。
蒙特卡羅方法的缺點之一是耗時太長,在普通單機計算機上進行模擬二十萬年演化時間尺度就需要數(shù)十天時間。而通過使用Taurus高性能計算系統(tǒng),目前模擬二十萬年演化時間尺度的時間約為7天。新疆天文臺天體化學(xué)課題組使用Taurus高性能計算系統(tǒng)對不同分子演化使用蒙特卡羅方法模擬結(jié)果如圖4。
圖4不同分子演化模擬結(jié)果圖
Fig.4Different molecular evolution simulation results
射頻干擾(Radio Frequency Interference, RFI)的識別及消除的研究方面,如何快速準確地找出射頻干擾,防止把真實信號誤判為干擾是一項急需解決的技術(shù)難點。由于大口徑望遠鏡數(shù)據(jù)的計算量非常大、射頻干擾環(huán)境復(fù)雜,對射頻干擾實時處理技術(shù)提出很大的挑戰(zhàn)。新疆天文臺研究人員正在實驗使用CUDA加速消除射頻干擾,目前已初步實現(xiàn)基于Taurus GPU的自適應(yīng)射頻干擾處理方法,并得到良好的效果,射頻干擾處理結(jié)果如圖5。使用Taurus高性能計算系統(tǒng)能夠有效減少干擾處理消耗時間,為相干消色散實現(xiàn)提供了硬件平臺。
Taurus高性能計算系統(tǒng)采用開放式管理,接受相關(guān)領(lǐng)域研究人員的申請,可將具體需求發(fā)送到zhanghailong@xao.ac.cn。Taurus平臺詳細使用說明及示例程序參見網(wǎng)站:http://taurus.xao.ac.cn。
圖5利用Taurus GPU射頻干擾處理前、后脈沖星信號輪廓對比
Fig.5Contrast of pulse profile by using Taurus GPU RFI before and after
根據(jù)新疆天文臺科研計算需求建設(shè)了16節(jié)點的高性能計算系統(tǒng)。經(jīng)過測試,所建設(shè)的超算系統(tǒng)中央處理器性能為理論值的93%,圖形處理器性能為理論值的80%。Lustre存儲系統(tǒng)多節(jié)點在分塊大小為16 MB、分塊文件大于256 M時取得較理想的寫入速度,如果文件過小影響整個存儲系統(tǒng)的性能。目前30余位用戶在使用Taurus超算系統(tǒng)進行科學(xué)計算工作,在蒙特卡羅模擬分子云中的化學(xué)演化、多相濾波器組算法圖形處理器加速等相關(guān)領(lǐng)域得到了較好的計算結(jié)果。