999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

采用曙光超級計算機的海冰模型并行性能調優研究

2021-06-25 14:18:08張玉春欣馮魯彬梁建國
軟件導刊 2021年6期
關鍵詞:海冰進程模型

張玉春欣,馮魯彬,梁建國

(山東科技大學計算機科學與工程學院,山東青島 266590)

0 引言

海冰模型[1]是由美國能源部[2]的洛斯阿拉莫斯國家實驗室負責開發和維護的[3],它是地球系統模型的重要組成部分。海冰是全球氣候變化最敏感的部分之一,其變化對全球氣候演變具有巨大影響[4]。十幾年來,海冰模型一直用來定量預測海冰的演變規律,為地球系統科學中諸多分支學科的相互融合提供平臺[5]。

近些年來,不少地球系統模型性能得到很大提升,但海冰模型未進行優化。因此,海冰模型性能逐漸成為制約地球系統模型性能的關鍵因素,所以對海冰模型進行性能調優有著重要意義[6]。在海冰模型模擬計算中,模擬規模通常會達到幾百至上千年,出于對模擬計算精確性和有效性考慮,時間步長在幾分鐘到幾小時之間,空間網格距離在幾公里到幾十公里不等,其計算量龐大、耗時長,對計算機軟硬件是相當大的挑戰[7]。如何利用超級計算機更高效地完成海冰模型的模擬計算,模擬各運行模式下的性能變化成為熱點。

目前,基于多核、眾核處理器技術的新型體系結構下的大型科學計算應用研究是高性能計算領域研究熱點[8],目標為有效提升科學研究效率,推動其在各領域的應用發展[9-10]。

曙光超級計算機作為通用x86 體系結構的超級計算機,尤其適合海冰模型這種龐大的計算密集型程序。雖然當今新型體系結構不斷出現,但是通用x86 體系結構的超級計算機依然是科研領域研究者使用最廣泛的超級計算機[11],因此在曙光超級計算機上對海冰模型進行性能調優研究具有非常重要的意義。

1 相關工作

海冰模型作為一種復雜的有限差分網格點模型,由多種物理計算和動力學組成,其中包括海冰熱力學、動力學、δ-愛丁頓輻射過程等[12]。Balaprakash 等[13]對海冰模型的求解方法、動力學、熱力學過程的計算性能進行評估,證明海冰模型計算方法的有效性;陳宏博等[14]對CESM 中的有限差分算法采用多種方法進行優化,性能獲得提升;Fu等[15-17]根據申威眾核處理器的結構特點優化數據分配方式與模擬計算方程方法,對代碼進行重組,提高了地球系統模型的并行性;Xiao 等[18]針對大氣環流模式動力框架提出通信避免算法,不僅降低了通信頻率,還實現了通信的隱藏。

以上研究都是基于系統模型具體算法或者整個模擬計算過程的并行優化,但在超級計算機下對海冰模型自身的多種運算方式進行并行性能調優的研究還存在空白。

2 研究背景

2.1 曙光超級計算機

曙光超級計算機主要由高性能計算集群系統以及虛擬化系統組成,高性能計算集群系統基于曙光TC4600E 刀片平臺和W760-G20 服務器搭建完成。本文將海冰模型CICE 整體移植到曙光超級計算機上,進行相關性能調優研究。

曙光超級計算機雙路刀片的雙精度浮點計算能力為542.4 萬億次/s。計算刀片、登陸節點、并行存儲節點之間采用100GB EDR Infiniband 高速交換網絡互聯,單個高頻計算節點采用2 顆Intel Xeon E3-1240V5 CPU,每顆CPU4核心,主頻3.5GHz;單個多核計算節點采用2 顆Intel Xeon Gold 6132 CPU,每顆CPU14 核心,主頻2.6GHz。平臺并行結構拓撲圖如圖1 所示。

Fig.1 Structural topology of“Dawning”supercomputer圖1 曙光超級計算機并行結構拓撲圖

2.2 海冰模型介紹

本研究選用海冰模型CICE v5.1 版本作為應用源程序。與之前版本相比,其采用了更靈活的模擬計算方法,有效提升了模擬速度、效率和精度。該版本支持獨立運行和全耦合兩種模擬計算方式。獨立運行模式的模擬計算,是將大氣與海洋的實際觀測數據作為海冰模型的強迫輸入,通過海冰模型相關計算步驟完成南北極中海冰區域體積、質量、熱力學等變量的模擬計算。全耦合運行模式的模擬計算是在海冰模型獨立運行模式基礎上,通過耦合器與地球系統模式中的大氣、陸地、海洋等部分進行數值傳輸與通信,協同完成地球系統模擬計算。

海冰模型的并行方案采用數據并行方法,不同的數據分割方法會對性能產生較大影響。7 種數據分割方法分別是:cartesian-slenderX1、cartesian-slenderX2、sectcart、cartesian-square、spacecurve、roundrobin、sectrobin[19]。

3 在曙光超級計算機上的移植與分析

3.1 在曙光超級計算機上的移植

海冰模型運行過程需要多個環境協同完成,而大部分超級計算機是沒有配置這些依賴環境的,所以在曙光超級計算機上配置依賴庫環境。對依賴函數庫的安裝順序是zlib、HDF5、netCDF、netCDF-fortran,需按照這個順序進行安裝,否則無法成功安裝上述依賴函數庫。

3.2 T62 網格數據轉化1 度強迫輸入數據

海冰模型研究提供的開源強迫輸入數據只有精確度為3度的數據,這種輸入數據不僅精度低且只能運行海冰模型的3 種笛卡爾網格劃分方式,不能用于運行海冰模型全部7 種網格劃分方式。為對海冰模型性能進行全面調優,考慮到與大氣網格數據T62 格式兼容,使用雙線性插值方法對輸入網格進行預處理,利用NCAR 提供的NCL 研究工具將大氣網格數據T62 原始網格數據轉化生成1 度強迫輸入數據。

3.3 海冰模型掩碼

海冰模型中新數據的更新需要依賴上一次計算的數據,因此海冰模型初始化時需要在各個進程間建立通信,用于網格之間傳遞數據。但在實際運算過程中許多網格單元沒有海冰,更新沒有海冰區域的數據是毫無意義的。因此,在CICEv5.1 中引入掩碼功能,可以隨時修改需要更新數據的區域,以減少更新非海冰區域的數據通信開銷。圖2 中白色部分為沒有海冰的陸地部分,在計算時就可以通過掩碼將這部分數據屏蔽,不再更新這部分數據,減少了無海冰區域更新時傳遞的數據量,降低了通信開銷。

Fig.2 Land parts of sea ice圖2 海冰中的陸地部分

Fig.3 Schematic diagram of task block boundaries圖3 任務塊邊界

3.4 海冰模型網格劃分

3.4.1 邊界數據更新原理

海冰模型中MPI 通信用于任務塊邊界數據的更新。為了支持有限差分計算,邊界數據的更新需要傳遞鄰居信息,每一層塊除邊界塊外有二維水平面上相鄰的8 個鄰居,圖3 展示了單個任務塊的邊界是如何與其他鄰居關聯的。當鄰居塊被分配給不同的MPI[19]進程計算時,通過MPI 消息傳遞方式在多個塊之間進行數據通信。

3.4.2 網格劃分方式

將海冰模型中的水平網格分解為二維任務塊實現并行化,劃分的任務塊被分配給不同MPI 進程以進行計算,每個MPI 進程可以分配多個任務塊。海冰模型有很多種網格劃分方式,每種劃分方式所需要的處理器形狀和劃分類型不同。在CICEv5.1 版本中網格劃分的主要類型有cartesian、sectcart、spacecurve、roundrobin、sectrobin。其中cartesian 根據分布類型對處理器形狀進一步細化為slenderX1、slenderX2、cartesian-square(square-ice 和square-pop)。本文討論了7 種網格劃分方式的優缺點,圖4 展示了slenderX1 的劃分方式。圖中橫坐標為i維,縱坐標為j維,不同顏色代表分配給每個任務塊的MPI 進程[4]。

slenderX1 只劃分i維,所以塊的縱橫比高、陰影區域多、通信數據量大,但鄰居數量固定,負載平衡好。slenderX2 方式的劃分如圖5 所示。與slenderX1 類似,區別是其在j維上劃分,所以j維上的長度短、陰影區小。

cartesian-square 劃分方式如圖6 所示。劃分方式分為兩種:①當j方向劃分的塊數大于i方向上劃分的塊數時,采用square-pop 的處理器形狀;②當i方向上劃分的塊數大于j方向上劃分的塊數時,采用square-ice 的處理器形狀。cartesian-square 對二維任務塊的大小有限制,但是幾個相鄰塊通??梢怨蚕硐嗤腗PI 進程。任務塊的鄰居少,陰影區小,有助于通信性能提升。缺點是會產生物理上緊密相連的塊,這樣會導致海冰的負載平衡很差。

Fig.4 SlenderX1圖4 slenderX1

Fig.5 SlenderX2圖5 slenderX2

Fig.6 Catesiansquare圖6 catesiansquare

sectcart劃分方式如圖7所示,是在cartesian-square 劃分方式基礎上將j維度劃分成二維任務塊,又將每個二維任務塊在j 維上平均劃分成4 個小的二維任務塊,并將其分配給不同的MPI 進程進行計算。此種劃分方式可以將不同區域的計算任務盡可能劃分給同一個MPI 進程,提高了計算性能。

圖8給出spacecurve的劃分方式。i、j維都劃分,此種劃分方式需要定義任務塊大小,以保證劃分后塊的大小一致。將這些任務塊沿著Hilbert-m-Peano-Cinco 空間曲線分配給每個進程。這種劃分方式將不需要計算的無海冰區域盡可能劃分給同一個進程,并且每個任務塊的鄰居數量盡量少。

roundrobin劃分方式如圖9所示。i維和j維都劃分,這種劃分方式在將無海冰區域的陸地部分剔除之后,以在i維輪詢的方式將任務塊分配給各個MPI 進程,這樣會帶來負載均衡,但會導致鄰居任務的數量較多,通信代價高。sectrobin 劃分的工作方式類似于roundrobin 劃分,劃分方式如圖10 所示。區別在于它盡量將網格上不同位置的任務塊分配到同一進程中。

Fig.7 Sectcart圖7 sectcart

Fig.8 Spacecurve圖8 spacecurve

Fig.9 Roundrobin圖9 roundrobin

Fig.10 Sectrobin圖10 sectrobin

4 基于曙光超級計算機的性能調優

基于海冰模型的7 種網格劃分方式進行性能調優研究,將上述x與y維度的精確度為320×384 的1 度強迫數據作為輸入,設置海冰模型迭代周期為10 天。在曙光x86 超級計算機上對海冰模型在不同進程數下對典型海冰模型劃分方式slenderX2 的塊大小進行調優,驗證海冰模型的可靠性。參數如表1 所示,結果如圖11 所示。

Table 1 The first experimental configuration of“Dawning”platform表1 曙光平臺第一次實驗配置

Fig.11 The first experimental test of“Dawning”platform圖11 曙光平臺第一次實驗測試

從圖11 可以看出,在曙光x86 超級計算機上海冰模型slenderX2 的劃分方式在每個進程分配一個計算任務時,隨著進程數的增加,劃分任務塊減小時運行時間持續下降,性能最高提升了8.32 倍。

繼續對海冰模型性能調優,第二次試驗對海冰模型7種劃分方式下的性能進行更加細致的測試實驗。測試進程數為320,具體參數如表2 所示,+mh 代表開啟掩碼(mask halo)。

Table 2 “Dawning”x86 platform second experiment configuration mode(MPI process number=320)表2 曙光x86 平臺第二次實驗配置方式(MPI 進程數=320)

曙光x86 平臺第二次實驗配置方式的運行總時間如圖12 所示。

在上述實驗中對海冰模型的5 個主要求解過程的時間占用情況進行統計,如圖13 所示。5 個求解過程為:①海冰水平方向運動(Advectn;②海冰在厚度空間的運動(Cat Conv);③機械重分布過程(Ridging);④動力學EVP 過程(Dynamics);⑤熱力學過程(Column)。

Fig.12 Schematic diagram of the total running time of the second experiment of“Dawning”x86 platform圖12 曙光x86 平臺第二次實驗總運行時間

Fig.13 Schematic diagram of the main solution process occupation time in different experiment type圖13 不同實驗類型中主要求解過程占用時間

在上述實驗中,掩碼的開啟很好地改進了海冰模型性能,每種劃分方式開啟掩碼之后運行時間都顯著降低。sectrobin(8*6)的劃分方式是所有劃分方式中效果最好的,在320 進程時性能達到最佳,開啟掩碼前執行時間為30.15s,開啟掩碼之后執行時間為22.41s,性能提升了25.67%。從圖14 可以看出,開啟掩碼與不開啟掩碼相比,每個模塊的運行時間均有降低。

Fig.14 Comparison of the occupancy time of each module between sectrobin open mask and unopen mask圖14 sectrobin 開啟掩碼與不開啟掩碼各模塊占用時間對比

在上述實驗基礎上,在320 進程下使用slenderX2 劃分方式,對海冰模型任務塊大小和任務數量進行調優。選擇slenderX2 的原因是每個進程所要計算的任務塊數量隨著y維度任務塊線性減小呈線性增加趨勢,具體配置方式如表3 所示。

Table 3 The third experimental configuration of“Dawning”platform表3 曙光平臺第3 次實驗配置方式

第3 次實驗總運行時間如圖15 所示。

Fig.15 Schematic diagram of the total time of the third experimental experiment of the“Dawning”x86 platform圖15 曙光x86 平臺第3 次實驗總時間

通過以上實驗結果可以看出,每個MPI 進程分配4 個任務塊時達到最佳性能,運行時間為22.09s??傮w變化趨勢為:當每個進程分配1~4 個任務時,運行時間不斷減小,性能提升約為10.2%~16.7%。當每個進程分配4~32 個任務時,運行時間呈現不斷增加的趨勢,運行性能降低約為11.9%、31.3%、80.1%。由此可以看出,從每個進程分配4~16 個任務塊的過程中,海冰模型的運算效率下降,并且當每個進程分配32 個任務塊時,運行時間急劇提升。對于任何劃分方式,在合適的任務塊大小和計算任務分配下,通常都有一個最佳性能的分配方式。進行第4 次測試,具體配置如表4 所示。實驗總時間如圖16 所示。

Table 4 The fourth experimental configuration method of“Dawning”x86 platform表4 曙光x86 平臺第4 次實驗配置方式

Fig.16 Schematic diagram of the total time of the fourth experiment of“Dawning”x86 platform圖16 曙光x86 平臺第4 次實驗總時間

由圖16 可以看出,在進程數較低時,如16、64,即便是roundrobin 或sectrobin 的劃分方式,每個進程分配8 個任務塊時的性能也要優于cartesian 劃分方式下的slenderX1、slenderX2 中每個進程分配1 個任務塊時的性能。結合roundrobin 與sectrobin 的劃分方式,分析得到此方式下進程間具有更好的負載平衡。而在進程數較高時,比如320,進程之間的通信也相應增加,邊界更新時所花費的開銷變大,此時在相同的任務數下,sectrobin 與slenderX1 劃分方式相比,依然是sectrobin 的劃分方式性能更佳,性能差別約為11%,差距逐漸縮小。因為在進程數增加的同時,進程之間的通信也在不斷增大。在320 進程下,slenderX2 劃分方式中開啟掩碼與不開啟掩碼對比,性能提升約為26%。

5 結語

本文在曙光超級計算機上對海冰模型優化進行了研究。在分析海冰模型計算以及網格劃分、任務分配、掩碼功能原理等基礎上,通過對海冰模型的7 種網格劃分方式分析,調整不同的MPI 進程數以及海冰模型中掩碼功能的開啟等,對海冰模型性能提升進行研究分析。通過性能調優,在曙光超級計算機上性能最大可提升8.32 倍。未來可以考慮將海冰模型移植到異構超算平臺如CPU+GPU 架構或“神威_太湖之光”超級計算機上,實現異構并行加速。

猜你喜歡
海冰進程模型
一半模型
末次盛冰期以來巴倫支海-喀拉海古海洋環境及海冰研究進展
海洋通報(2021年3期)2021-08-14 02:20:38
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
債券市場對外開放的進程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
基于SIFT-SVM的北冰洋海冰識別研究
3D打印中的模型分割與打包
應用MODIS數據監測河北省近海海域海冰
河北遙感(2014年4期)2014-07-10 13:54:59
社會進程中的新聞學探尋
民主與科學(2014年3期)2014-02-28 11:23:03
基于TerraSAR-X全極化數據的北極地區海冰信息提取
主站蜘蛛池模板: 色婷婷综合在线| 亚洲成A人V欧美综合| 中文字幕永久在线观看| 色悠久久综合| 精品一区二区三区自慰喷水| 国产丝袜一区二区三区视频免下载| 亚洲无限乱码| 72种姿势欧美久久久大黄蕉| 久久精品无码国产一区二区三区| 欧美午夜在线视频| 亚洲国模精品一区| 国产噜噜噜| 国产精品yjizz视频网一二区| 亚洲精品波多野结衣| 无码人中文字幕| 国产欧美视频综合二区| 国产原创自拍不卡第一页| 国产成人亚洲精品色欲AV| 国产成人福利在线| 亚洲高清无在码在线无弹窗| 欧美色视频在线| 天堂中文在线资源| 最新国产精品鲁鲁免费视频| 色135综合网| 日韩色图区| 亚洲愉拍一区二区精品| 欧美午夜理伦三级在线观看| 国产玖玖视频| 久久精品欧美一区二区| 日韩小视频在线观看| 女人毛片a级大学毛片免费| 国产精品亚洲精品爽爽| 在线看片中文字幕| 四虎永久免费地址| 激情综合图区| 国内精自线i品一区202| 精品人妻AV区| 91在线国内在线播放老师| 日韩精品无码免费专网站| 中文字幕首页系列人妻| 伊人久久大香线蕉影院| 无码专区国产精品第一页| 成人精品视频一区二区在线 | 国产精品女主播| 四虎AV麻豆| 在线欧美a| 欧美亚洲日韩中文| A级全黄试看30分钟小视频| 国产成人1024精品下载| 亚洲成A人V欧美综合| 天堂成人av| 国产嫩草在线观看| 欧美激情成人网| 国产成人精品第一区二区| 少妇高潮惨叫久久久久久| 免费一级毛片完整版在线看| 综合人妻久久一区二区精品| 孕妇高潮太爽了在线观看免费| 久久成人国产精品免费软件| 亚洲成网站| 国产成人高清在线精品| 欧美一区二区自偷自拍视频| 国产福利一区二区在线观看| 伊人久久婷婷五月综合97色| 国产三级毛片| 欧美一级夜夜爽| 午夜精品福利影院| 日韩欧美国产综合| 四虎亚洲精品| 国产激情无码一区二区APP | 91久久国产热精品免费| 亚洲国产日韩一区| 久久综合伊人 六十路| 欧美午夜在线观看| 国产欧美日韩18| 国产精品va| 特级欧美视频aaaaaa| 四虎成人在线视频| 噜噜噜久久| 国产乱子伦无码精品小说 | 日本成人福利视频| AV不卡国产在线观看|