◆李志剛 韓慶時
(中海油研究總院信息數(shù)據(jù)中心 北京 100028)
基于InfiniBand的油藏數(shù)值模擬集群的建設(shè)與應(yīng)用
◆李志剛 韓慶時
(中海油研究總院信息數(shù)據(jù)中心 北京 100028)
為解決油田數(shù)值模擬并行計算性能低問題,分析了并行計算集群基礎(chǔ)架構(gòu)中對數(shù)值模擬計算速度的影響因素,對基于InfiniBand交換機和千兆以太網(wǎng)的并行機的計算性能進行了實例測試,根據(jù)測試結(jié)果,證明對于石油勘探開發(fā)過程中油藏模擬應(yīng)用的科學(xué)計算的環(huán)境,構(gòu)建具有高速互連網(wǎng)絡(luò)的并行集群是計算效率最高的方案。
高性能集群(HPC Cluster);油田數(shù)值模擬;InfiniBand ;刀片服務(wù)器
近年來,隨著計算機硬件和軟件技術(shù)的發(fā)展,油藏數(shù)值模擬技術(shù)也不斷地發(fā)展和提高,Eclipse軟件被廣泛應(yīng)用于各大油田的數(shù)值模擬中,包括黑油、組分和流線等三個數(shù)值模擬器,是油田開發(fā)不可或缺的軟件之一。精細油藏數(shù)值模擬是利用計算機模擬地下流體流動的規(guī)律,探討地下剩余油分布,更準(zhǔn)確地調(diào)整井的定位、更好地進行井產(chǎn)量分配[1]。非均質(zhì)油藏的精確描述,取決于模型網(wǎng)格數(shù)量和模型復(fù)雜度,網(wǎng)格數(shù)目越多,模擬出的結(jié)果越精細。計算量與復(fù)雜度成正比,與網(wǎng)格數(shù)成倍數(shù)關(guān)系,網(wǎng)格數(shù)目越多計算的時間會越長,這對高性能計算提出了更高的要求[2]。有效解決方法之一是使用價格昂貴的高性能并行機。在油田投入有限的前提下,李波、曹福毅、王祥鳳等認(rèn)為通過整合多臺網(wǎng)絡(luò)計算機而提升計算能力,性價比較高,已經(jīng)逐漸成為主流方式[3]。
隨著基于X86架構(gòu)的刀片服務(wù)器性能的提高和價格的降低,以及InfiniBand 互聯(lián)技術(shù)的不斷成熟,構(gòu)建具有高速互連網(wǎng)絡(luò)的高性能集群是目前性價比最高的解決方案。通過對油氣礦藏模擬的ECLIPSE Parallel解決方案進行分析研究,基于不同網(wǎng)絡(luò)環(huán)境的刀片集群系統(tǒng)的并行效率,分析和對比兩種架構(gòu)的運行效果,提出了比較適合Eclipse數(shù)值模擬并行計算的高性能集群解決方案,實現(xiàn)總體架構(gòu)的合理性和資源利用的高效性,確保高性能集群能夠發(fā)揮更大的效益。
1.1 總體架構(gòu)
高性能計算集群建設(shè)必須具備兩個條件,一保證其強大的計算能力,多個CPU的并行計算。二計算節(jié)點之間的消息傳遞與數(shù)據(jù)交換對網(wǎng)絡(luò)傳輸具有極高的要求。硬件設(shè)備IBM HS22的問世為油藏模擬建造高性能計算集群系統(tǒng)帶來契機,同時,Infiniband是一種高速互連網(wǎng)絡(luò)標(biāo)準(zhǔn),被廣泛地用于大規(guī)模并行系統(tǒng)的互連網(wǎng)絡(luò)設(shè)計[4],其標(biāo)準(zhǔn)有效的解決了PCI等傳統(tǒng)I/O結(jié)構(gòu)產(chǎn)生的通信傳輸瓶頸[5]。通過infiniband網(wǎng)絡(luò)技術(shù)在組建地震勘探高速網(wǎng)絡(luò)中的應(yīng)用,分析IB網(wǎng)絡(luò)目前具有的諸多特點和組建地震勘探高效網(wǎng)絡(luò)的優(yōu)勢,闡述IB網(wǎng)絡(luò)前沿技術(shù)在地震勘探中的應(yīng)用前景。InfiniBand作為高速連接技術(shù),在高速計算機網(wǎng)絡(luò)組建方面發(fā)揮了獨特優(yōu)勢,同時也推動了高速網(wǎng)絡(luò)技術(shù)的發(fā)展[6]。
應(yīng)用軟件Eclipse是基于Scali MPI的分布內(nèi)存并行算法,它支持infiniband高速互聯(lián)架構(gòu),能在共享內(nèi)存架構(gòu)服務(wù)器或集群服務(wù)器上運行,每個計算進程獨享一段連續(xù)的內(nèi)存空間,集群中的每臺計算機內(nèi)部可以是共享內(nèi)存架構(gòu)。面向油氣礦藏模擬的ECLIPSE Parallel解決方案,能夠全面滿足油氣礦藏勘探信息系統(tǒng)在性能方面的需求。Eclipse是通過調(diào)用Scali MPI進行并行運算的,并增加了算法復(fù)雜度調(diào)節(jié)控制,以盡可能真實地模擬實際應(yīng)用。
該架構(gòu)由5個核心部分組成:
(1)刀片倉:IBM BladeCenter H刀片機箱;
(2)計算節(jié)點:刀片服務(wù)器IBM HS22;
(3)網(wǎng)絡(luò):千兆以太網(wǎng)交換機,Voltaire 40Gb QDR Infiniband交換機;
(4)存儲:NAS架構(gòu)網(wǎng)絡(luò)儲存;
(5)操作系統(tǒng)及并行軟件:RedHat Linux6.6、并行計算軟件Eclipse。
刀片服務(wù)器是構(gòu)成整個計算機系統(tǒng)架構(gòu)的核心,多臺 IBM HS22刀片計算機通過內(nèi)部高速網(wǎng)絡(luò)連成一個高性能計算集群系統(tǒng),系統(tǒng)每個節(jié)點安裝RedHat LINUX6.6操作系統(tǒng)、Eclipse并行軟件,計算機資源管理、任務(wù)調(diào)度、性能監(jiān)控、網(wǎng)絡(luò)文件共享,由管理節(jié)點統(tǒng)一管理。
圖1 集群系統(tǒng)架構(gòu)模型
1.2 技術(shù)關(guān)鍵點
根據(jù)油藏模擬的應(yīng)用需求,在節(jié)點的部署、高速互連網(wǎng)絡(luò),以及集群管理和通訊,三個方面做出如下配置:
(1)節(jié)點的部署:整個集群構(gòu)成為管理節(jié)點-計算節(jié)點模式,管理節(jié)點是用戶訪問整個集群的門戶,在管理節(jié)點上用戶可以編輯程序,提交、取消和監(jiān)控作業(yè),計算節(jié)點主要承擔(dān)并行計算任務(wù)。
(2)互聯(lián)網(wǎng)絡(luò):網(wǎng)絡(luò)是計算節(jié)點之間的數(shù)據(jù)交換基礎(chǔ),其性能直接影響了整個系統(tǒng)對高性能計算(HPC)的效率。油藏模擬數(shù)值計算任務(wù)是通信密集型的計算,InfiniBand技術(shù)的優(yōu)勢是由硬件承擔(dān)了原來由CPU完成的許多I/O通信工作,因此,在處理并發(fā)的多路通信任務(wù)時沒有通信協(xié)議所固有的額外開銷,大大改善系統(tǒng)的帶寬、延遲和可靠性等問題。
(3)作業(yè)管理:油氣開發(fā)油藏數(shù)模專業(yè)應(yīng)用采用Scali公司的基于Linux操作系統(tǒng)的集群管理軟件,用戶可以對集群每個節(jié)點計算機進行任務(wù)分配,采用數(shù)模并行作業(yè)管理軟件,建立作業(yè)隊列和作業(yè)調(diào)度控制,根據(jù)定義的集群調(diào)度策略,將用戶提交作業(yè)進行排隊,直到任務(wù)需要的資源(CPU數(shù)量,許可數(shù)量,內(nèi)存大小等)滿足條件才分配到合適的計算節(jié)點上運行,以實現(xiàn)在滿足不同用戶需求和最大化利用率之間達到一種動態(tài)平衡,合理調(diào)配資源。
2.1 系統(tǒng)性能測試-網(wǎng)絡(luò)模式不同
針對相同的硬件計算節(jié)點,采用不同的網(wǎng)絡(luò)模式,同一個油藏數(shù)值模擬作業(yè)的黑油模型網(wǎng)格數(shù)為125462個(16個CPU)進行模擬計算。計算環(huán)境包括刀片服務(wù)器、網(wǎng)絡(luò)交換機、軟件及操作系統(tǒng):
表1 油田數(shù)模集群硬件配置表
計算模式一:千兆網(wǎng)絡(luò),ONEM1模型的并行計算情況作如下測試:
表1 計算節(jié)點之間采用千兆以太網(wǎng)絡(luò)
計算模式二:Infiniband網(wǎng)絡(luò),ONEM1模型的并行計算情況作如下測試:
表3 計算節(jié)點之間采用Infiniband網(wǎng)絡(luò)
圖2 兩種網(wǎng)絡(luò)模式下作業(yè)完成時間對比
從作業(yè)完成時間曲線能夠發(fā)現(xiàn),同一個作業(yè)在分別選在2個節(jié)點時,耗時略有差距,從4個節(jié)點以后,Infiniband網(wǎng)絡(luò)模式計算耗時明顯少于TCP/IP網(wǎng)絡(luò),針對16個CPU的計算模型,infiniband集群優(yōu)勢明顯。
2.2 系統(tǒng)性能測試-計算節(jié)點不同
傳統(tǒng)單臺并行機在某種程度實現(xiàn)多顆 CPU的并行計算,然而受到計算機架構(gòu)設(shè)計的限制,只能滿足一定數(shù)量CPU個數(shù)的并行計算作業(yè)的運算。集群模式在計算速度和擴展性方面突破傳統(tǒng)并行機的限制。針對Eclipse油藏模型的數(shù)值計算速度進行分析,并行機(IBM P 575)與集群系統(tǒng)的運行時間對比:
表4 并行機與集群硬件指標(biāo)配置表
圖3 并行機與集群系統(tǒng)的并行計算對比
同IBM P575并行機相比,同一個模型在P575并行機上16個CPUs計算需要7122s,即119分鐘約2小時,而在集群系統(tǒng)上16個CPUs計算2602s,即43分鐘即可完成??梢娪嬎闼俣忍岣吡?倍。
然而,針對組分模型,集群模式針對同一個作業(yè)計算情況如何?
組分模型使用MPIE300模擬器在集群系統(tǒng)上的測試:
表5 組分模型在集群的計算表
圖4 多CPU在集群耗時情況圖
對于組分模型來說,8、16、32、64或更多的CPUs作并行計算的時間受很多因素影響,比如網(wǎng)格數(shù)、層數(shù)、加入生產(chǎn)井、熱采、化學(xué)驅(qū)、混相驅(qū)等數(shù)值模擬。從測試結(jié)果分析,計算節(jié)點不是越多計算越快,至于使用多少個CPUs計算合適,要根據(jù)實際的情況而定。并行作業(yè)的花費時間=計算時間+進程之間的通信時間之和,進程越多(作業(yè)的CPU越多)通信的時間就越多,如64個進程,通信時間肯定多,通信多,也會影響到其它的作業(yè)的通信,數(shù)模計算消耗時間就會增加,反而會影響作業(yè)完成時間。
通過對油藏數(shù)值模擬作業(yè)在基于千兆網(wǎng)絡(luò)和Infiniband網(wǎng)絡(luò)架構(gòu)的集群系統(tǒng)下的并行計算,進行了測試和對比分析,得出以下結(jié)論:
(1)通過對數(shù)值模擬集群的測試分析,組建集群來取代大型并行機的計算任務(wù),能夠?qū)崿F(xiàn)獲得最優(yōu)性價比的目標(biāo);
(2)并行效率不隨CPU個數(shù)的增加而呈線性增加,油藏數(shù)值模擬并行計算過程中應(yīng)用 MPI消息傳遞接口進行通訊,需要克服節(jié)點間通信時間、內(nèi)存訪問遠慢于處理器計算等因素。
構(gòu)建集群的關(guān)鍵是解決集群互連網(wǎng)絡(luò)通訊和系統(tǒng)層、應(yīng)用層、物理層之間的連接關(guān)系。
[1]馮光夏, 田繼東, 牛小亮. 并行計算在油藏數(shù)值模擬中的應(yīng)用[J]. 石油工業(yè)計算機應(yīng)用, 2009.
[2]張軍華, 臧勝濤, 單聯(lián)瑜,等. 高性能計算的發(fā)展現(xiàn)狀及趨勢[J]. 石油地球物理勘探, 2010.
[3]李波, 曹福毅, 王祥鳳. 高性能計算技術(shù)發(fā)展概述[J].沈陽工程學(xué)院學(xué)報(自然科學(xué)版), 2012.
[4]蘇陽明, 李鶴, 張鵬,等. 基于Infiniband的大規(guī)模并行系統(tǒng)互連網(wǎng)絡(luò)的建模與仿真[C]// 全國理論計算機科學(xué)學(xué)術(shù)年會,2009.
[5]賈志國, 趙青蘋. InfiniBand:一種新型的高速互連網(wǎng)絡(luò)[J]. 計算機工程與應(yīng)用, 2003.
[6]塔依爾.伊布拉音, 王艷紅, 鄒杰等.InfiniBand高速網(wǎng)絡(luò)技術(shù)在地震勘探中的應(yīng)用[J].計算機與應(yīng)用化學(xué), 2013.