◆李志剛 韓慶時
(中海油研究總院信息數據中心 北京 100028)
基于InfiniBand的油藏數值模擬集群的建設與應用
◆李志剛 韓慶時
(中海油研究總院信息數據中心 北京 100028)
為解決油田數值模擬并行計算性能低問題,分析了并行計算集群基礎架構中對數值模擬計算速度的影響因素,對基于InfiniBand交換機和千兆以太網的并行機的計算性能進行了實例測試,根據測試結果,證明對于石油勘探開發過程中油藏模擬應用的科學計算的環境,構建具有高速互連網絡的并行集群是計算效率最高的方案。
高性能集群(HPC Cluster);油田數值模擬;InfiniBand ;刀片服務器
近年來,隨著計算機硬件和軟件技術的發展,油藏數值模擬技術也不斷地發展和提高,Eclipse軟件被廣泛應用于各大油田的數值模擬中,包括黑油、組分和流線等三個數值模擬器,是油田開發不可或缺的軟件之一。精細油藏數值模擬是利用計算機模擬地下流體流動的規律,探討地下剩余油分布,更準確地調整井的定位、更好地進行井產量分配[1]。非均質油藏的精確描述,取決于模型網格數量和模型復雜度,網格數目越多,模擬出的結果越精細。計算量與復雜度成正比,與網格數成倍數關系,網格數目越多計算的時間會越長,這對高性能計算提出了更高的要求[2]。有效解決方法之一是使用價格昂貴的高性能并行機。在油田投入有限的前提下,李波、曹福毅、王祥鳳等認為通過整合多臺網絡計算機而提升計算能力,性價比較高,已經逐漸成為主流方式[3]。
隨著基于X86架構的刀片服務器性能的提高和價格的降低,以及InfiniBand 互聯技術的不斷成熟,構建具有高速互連網絡的高性能集群是目前性價比最高的解決方案。通過對油氣礦藏模擬的ECLIPSE Parallel解決方案進行分析研究,基于不同網絡環境的刀片集群系統的并行效率,分析和對比兩種架構的運行效果,提出了比較適合Eclipse數值模擬并行計算的高性能集群解決方案,實現總體架構的合理性和資源利用的高效性,確保高性能集群能夠發揮更大的效益。
1.1 總體架構
高性能計算集群建設必須具備兩個條件,一保證其強大的計算能力,多個CPU的并行計算。二計算節點之間的消息傳遞與數據交換對網絡傳輸具有極高的要求。硬件設備IBM HS22的問世為油藏模擬建造高性能計算集群系統帶來契機,同時,Infiniband是一種高速互連網絡標準,被廣泛地用于大規模并行系統的互連網絡設計[4],其標準有效的解決了PCI等傳統I/O結構產生的通信傳輸瓶頸[5]。通過infiniband網絡技術在組建地震勘探高速網絡中的應用,分析IB網絡目前具有的諸多特點和組建地震勘探高效網絡的優勢,闡述IB網絡前沿技術在地震勘探中的應用前景。InfiniBand作為高速連接技術,在高速計算機網絡組建方面發揮了獨特優勢,同時也推動了高速網絡技術的發展[6]。
應用軟件Eclipse是基于Scali MPI的分布內存并行算法,它支持infiniband高速互聯架構,能在共享內存架構服務器或集群服務器上運行,每個計算進程獨享一段連續的內存空間,集群中的每臺計算機內部可以是共享內存架構。面向油氣礦藏模擬的ECLIPSE Parallel解決方案,能夠全面滿足油氣礦藏勘探信息系統在性能方面的需求。Eclipse是通過調用Scali MPI進行并行運算的,并增加了算法復雜度調節控制,以盡可能真實地模擬實際應用。
該架構由5個核心部分組成:
(1)刀片倉:IBM BladeCenter H刀片機箱;
(2)計算節點:刀片服務器IBM HS22;
(3)網絡:千兆以太網交換機,Voltaire 40Gb QDR Infiniband交換機;
(4)存儲:NAS架構網絡儲存;
(5)操作系統及并行軟件:RedHat Linux6.6、并行計算軟件Eclipse。
刀片服務器是構成整個計算機系統架構的核心,多臺 IBM HS22刀片計算機通過內部高速網絡連成一個高性能計算集群系統,系統每個節點安裝RedHat LINUX6.6操作系統、Eclipse并行軟件,計算機資源管理、任務調度、性能監控、網絡文件共享,由管理節點統一管理。

圖1 集群系統架構模型
1.2 技術關鍵點
根據油藏模擬的應用需求,在節點的部署、高速互連網絡,以及集群管理和通訊,三個方面做出如下配置:
(1)節點的部署:整個集群構成為管理節點-計算節點模式,管理節點是用戶訪問整個集群的門戶,在管理節點上用戶可以編輯程序,提交、取消和監控作業,計算節點主要承擔并行計算任務。
(2)互聯網絡:網絡是計算節點之間的數據交換基礎,其性能直接影響了整個系統對高性能計算(HPC)的效率。油藏模擬數值計算任務是通信密集型的計算,InfiniBand技術的優勢是由硬件承擔了原來由CPU完成的許多I/O通信工作,因此,在處理并發的多路通信任務時沒有通信協議所固有的額外開銷,大大改善系統的帶寬、延遲和可靠性等問題。
(3)作業管理:油氣開發油藏數模專業應用采用Scali公司的基于Linux操作系統的集群管理軟件,用戶可以對集群每個節點計算機進行任務分配,采用數模并行作業管理軟件,建立作業隊列和作業調度控制,根據定義的集群調度策略,將用戶提交作業進行排隊,直到任務需要的資源(CPU數量,許可數量,內存大小等)滿足條件才分配到合適的計算節點上運行,以實現在滿足不同用戶需求和最大化利用率之間達到一種動態平衡,合理調配資源。
2.1 系統性能測試-網絡模式不同
針對相同的硬件計算節點,采用不同的網絡模式,同一個油藏數值模擬作業的黑油模型網格數為125462個(16個CPU)進行模擬計算。計算環境包括刀片服務器、網絡交換機、軟件及操作系統:

表1 油田數模集群硬件配置表
計算模式一:千兆網絡,ONEM1模型的并行計算情況作如下測試:

表1 計算節點之間采用千兆以太網絡
計算模式二:Infiniband網絡,ONEM1模型的并行計算情況作如下測試:

表3 計算節點之間采用Infiniband網絡

圖2 兩種網絡模式下作業完成時間對比
從作業完成時間曲線能夠發現,同一個作業在分別選在2個節點時,耗時略有差距,從4個節點以后,Infiniband網絡模式計算耗時明顯少于TCP/IP網絡,針對16個CPU的計算模型,infiniband集群優勢明顯。
2.2 系統性能測試-計算節點不同
傳統單臺并行機在某種程度實現多顆 CPU的并行計算,然而受到計算機架構設計的限制,只能滿足一定數量CPU個數的并行計算作業的運算。集群模式在計算速度和擴展性方面突破傳統并行機的限制。針對Eclipse油藏模型的數值計算速度進行分析,并行機(IBM P 575)與集群系統的運行時間對比:

表4 并行機與集群硬件指標配置表

圖3 并行機與集群系統的并行計算對比
同IBM P575并行機相比,同一個模型在P575并行機上16個CPUs計算需要7122s,即119分鐘約2小時,而在集群系統上16個CPUs計算2602s,即43分鐘即可完成。可見計算速度提高了2倍。
然而,針對組分模型,集群模式針對同一個作業計算情況如何?
組分模型使用MPIE300模擬器在集群系統上的測試:

表5 組分模型在集群的計算表

圖4 多CPU在集群耗時情況圖
對于組分模型來說,8、16、32、64或更多的CPUs作并行計算的時間受很多因素影響,比如網格數、層數、加入生產井、熱采、化學驅、混相驅等數值模擬。從測試結果分析,計算節點不是越多計算越快,至于使用多少個CPUs計算合適,要根據實際的情況而定。并行作業的花費時間=計算時間+進程之間的通信時間之和,進程越多(作業的CPU越多)通信的時間就越多,如64個進程,通信時間肯定多,通信多,也會影響到其它的作業的通信,數模計算消耗時間就會增加,反而會影響作業完成時間。
通過對油藏數值模擬作業在基于千兆網絡和Infiniband網絡架構的集群系統下的并行計算,進行了測試和對比分析,得出以下結論:
(1)通過對數值模擬集群的測試分析,組建集群來取代大型并行機的計算任務,能夠實現獲得最優性價比的目標;
(2)并行效率不隨CPU個數的增加而呈線性增加,油藏數值模擬并行計算過程中應用 MPI消息傳遞接口進行通訊,需要克服節點間通信時間、內存訪問遠慢于處理器計算等因素。
構建集群的關鍵是解決集群互連網絡通訊和系統層、應用層、物理層之間的連接關系。
[1]馮光夏, 田繼東, 牛小亮. 并行計算在油藏數值模擬中的應用[J]. 石油工業計算機應用, 2009.
[2]張軍華, 臧勝濤, 單聯瑜,等. 高性能計算的發展現狀及趨勢[J]. 石油地球物理勘探, 2010.
[3]李波, 曹福毅, 王祥鳳. 高性能計算技術發展概述[J].沈陽工程學院學報(自然科學版), 2012.
[4]蘇陽明, 李鶴, 張鵬,等. 基于Infiniband的大規模并行系統互連網絡的建模與仿真[C]// 全國理論計算機科學學術年會,2009.
[5]賈志國, 趙青蘋. InfiniBand:一種新型的高速互連網絡[J]. 計算機工程與應用, 2003.
[6]塔依爾.伊布拉音, 王艷紅, 鄒杰等.InfiniBand高速網絡技術在地震勘探中的應用[J].計算機與應用化學, 2013.