張潔 趙玉梅 史哲 翟修齊 陳翔 張紅杰
摘? 要: 近年來,隨著野外地震勘探力度的不斷增加,單步地震處理數(shù)據(jù)量已高達(dá)到PB級,地震資料處理項目對高性能集群軟硬件的要求也越來越高。研究基于GeoEast系統(tǒng)超大數(shù)據(jù)處理的資源優(yōu)化配置技術(shù),重點從集群的本地盤、CPU測試與優(yōu)化、高性能并行存儲的優(yōu)化以及GeoEast系統(tǒng)數(shù)據(jù)庫參數(shù)優(yōu)化等幾個方面對超大數(shù)據(jù)處理系統(tǒng)進行優(yōu)化配置,從而提高超大數(shù)據(jù)處理系統(tǒng)的整體性能,并為超大數(shù)據(jù)處理系統(tǒng)的軟硬件資源配置提供一定的理論參考。
關(guān)鍵詞: 大數(shù)據(jù)處理; 高性能并行存儲; GeoEast; NFS; Oracle數(shù)據(jù)庫
中圖分類號:TP311.5? ? ? ? ? 文獻(xiàn)標(biāo)識碼:A? ? ?文章編號:1006-8228(2020)04-01-04
Research and application of the resource optimization technology for
big data processing based on GeoEast system
Zhang Jie, Zhao Yumei, Shi Zhe, Zhai Xiuqi, Chen Xiang, Zhang Hongjie
(BGP, CNPC, Zhuozhou, Hebei 072750, China)
Abstract: In recent years, with the increasing intensity of field seismic exploration, the amount of single-step seismic processing data has reached PB level, and seismic data processing projects have higher requirements for HPC cluster hardware and software. This paper focuses on optimizing the configuration of big data processing system from the aspects of cluster local disk, CPU test and optimization, high performance parallel storage optimization and GeoEast system database parameter optimization, to improve the overall performance of the big data processing system, so as to provide certain theoretical reference for the hardware and software resource allocation of the big data processing system.
Key words: big data processing; high performance parallel storage; GeoEast; NFS; Oracle database
0 引言
隨著地震勘探精度不斷提高,野外勘探數(shù)據(jù)量逐年增大,GeoEast系統(tǒng)[1]中運行的項目數(shù)據(jù)量由以前的TB級增長到現(xiàn)在的PB級,同時隨著處理技術(shù)的快速發(fā)展,地震數(shù)據(jù)處理計算越來越復(fù)雜,計算量也逐漸增大,給PC集群的軟硬件資源帶來了巨大的挑戰(zhàn),存在處理集群運行效率低、大型PB級項目無法運行等許多問題。本文主要介紹如何從集群、存儲以及軟件三方面對大數(shù)據(jù)處理資源進行優(yōu)化配置,解決超大數(shù)據(jù)項目運行過程中出現(xiàn)的一系列問題,以滿足GeoEast系統(tǒng)運行超大數(shù)據(jù)地震處理項目的需求。
1 集群資源優(yōu)化技術(shù)
1.1 本地盤的測試與優(yōu)化
GeoEast系統(tǒng)一般會使用集群節(jié)點的本地盤做臨時工作目錄。本地盤的性能會直接影響一些作業(yè)的運行效率,如輸入輸出、分選、深度偏移,四維去噪等。本地盤IO性能差,會導(dǎo)致數(shù)據(jù)無法及時與內(nèi)存交換,造成計算資源的浪費與利用率低。針對本地盤分別就不同的文件系統(tǒng)類型、RAID級別、磁盤數(shù)量、緩存策略以及條帶深度等進行測試,發(fā)現(xiàn)采用4塊機械盤的RAID0做成EXT4文件系統(tǒng)時效率最高,且不同緩存策略以及條帶深度情況下,讀寫效率差別較大,測試結(jié)果如表1所示。
當(dāng)采用Cached模式時,所有讀寫操作都會使用RAID卡的緩存保存數(shù)據(jù),相對于Direct的直接讀寫模式,本地盤的讀寫性能是原有的2倍以上。而條帶深度如果設(shè)置太小,就很有可能出現(xiàn)一個IO橫跨多個分條單元的情況,隨著分條深度的增大,一個IO跨盤的幾率逐漸減小,因此隨著分條深度的增加,大IO讀寫性能會逐漸增加[2]。在大數(shù)據(jù)處理的場景下,缺省分條深度64K無法讓本地盤性能發(fā)揮最優(yōu),推薦設(shè)置為512K。本地盤的優(yōu)化解決了大數(shù)據(jù)處理項目中本地盤的IO性能低的瓶頸問題,尤其是對于提高疊前深度偏移作業(yè)的運行效率有著明顯的作用。
1.2 不同CPU架構(gòu)下作業(yè)測試
在GeoEast系統(tǒng)中有很多需要耗費大量CPU資源的應(yīng)用模塊,CPU資源的性能直接影響到大數(shù)據(jù)處理的效率,為了尋找最優(yōu)的CPU型號,分別對于WildAmpAtten、CPU版疊前深度偏移以及CPU版疊前時間偏移模塊在不同CPU集群環(huán)境中進行對比測試,如圖1、圖2和圖3所示。
在WildAmpAtten模塊測試中,考慮主頻因素使用Gold 6132 V5的集群表現(xiàn)最佳。
在疊前深度偏移模塊測試中,使用GOLD 6132 V5的集群深度偏移速度是使用E5 2680 V4的1.49倍。而在疊前時間偏移模塊測試中,使用Gold 6132 V5的集群偏移效率是另一組集群的1.9倍。
2 高性能存儲優(yōu)化技術(shù)
2.1 OceanStor9000存儲優(yōu)化
在華為OceanStor9000并行存儲中,所有的存儲節(jié)點既是數(shù)據(jù)節(jié)點同時也是元數(shù)據(jù)節(jié)點,不同的元數(shù)據(jù)節(jié)點管理不同的目錄[3]。而在地震處理過程中,同一工區(qū)的數(shù)據(jù)往往會集中存儲到同一個目錄下,導(dǎo)致同一目錄下的文件可能達(dá)到上萬個或更多。由于這些文件在相同目錄下,所以只能由一個元數(shù)據(jù)服務(wù)器管理,從而會引發(fā)數(shù)據(jù)訪問有延遲的情況,無法發(fā)揮分布式存儲多節(jié)點的優(yōu)勢。針對這種情況,進行了兩種場景的對比測試。場景一:工區(qū)作業(yè)數(shù)據(jù)集中在一個數(shù)據(jù)目錄下,進行處理作業(yè)。場景二:工區(qū)作業(yè)數(shù)據(jù)拆分分成了4個目錄,進行處理作業(yè),可以看出后者的讀寫延遲更小,如圖4所示。
在GeoEast系統(tǒng)工區(qū)目錄結(jié)構(gòu)基礎(chǔ)上,增加附盤可以把地震數(shù)據(jù)和速度文件的讀寫分散到多個元數(shù)據(jù)節(jié)點上。建議同一項目下建多個工區(qū)可以有效地減少單個list、LOG、datatable目錄下的文件數(shù)量,同時增加交互讀寫等操作響應(yīng)較快的其他存儲作為主盤,以改善小文件的讀寫性能,大數(shù)據(jù)讀寫性能好的OceanStor9000存儲設(shè)置成附盤,并定義只使用附盤存放地震數(shù)據(jù),通過這種方式可以大大提高作業(yè)運行速度[4]。
2.2 NFS參數(shù)優(yōu)化
目前生產(chǎn)中使用的高性能存儲絕大多數(shù)都是通過nfs協(xié)議進行共享的,使用nfs掛載存儲的時候如果用默認(rèn)參數(shù),數(shù)據(jù)傳輸速度就無法達(dá)到最理想值。在nfs中rsize和wsize兩個參數(shù)分別指定了server端和client端讀寫數(shù)據(jù)的塊大小[5]。這兩個參數(shù)若設(shè)置過小就會有更多的包在網(wǎng)絡(luò)上發(fā)送數(shù)據(jù),增加了網(wǎng)絡(luò)的通信量,同時在服務(wù)器和存儲端上都增加了CPU的開銷。在大數(shù)據(jù)處理的現(xiàn)狀下,NFS讀寫的數(shù)據(jù)塊都很大,將rsize和wsize調(diào)高到1M,可以提高NFS文件系統(tǒng)的讀寫性能。
3 Oracle數(shù)據(jù)庫參數(shù)優(yōu)化
3.1 數(shù)據(jù)庫連接數(shù)調(diào)優(yōu)
在GeoEast系統(tǒng)中一些過期卻沒有正常退出的進程往往占用了大量的數(shù)據(jù)庫進程。這一類型的進程如果大量存在不僅會造成軟件報錯,還會導(dǎo)致數(shù)據(jù)庫服務(wù)器性能下降。在運行作業(yè)數(shù)量非常大的情況下,可以通過修改數(shù)據(jù)庫參數(shù)適當(dāng)?shù)脑黾訑?shù)據(jù)庫的連接數(shù),提高作業(yè)的運行效率,同時定期清理死作業(yè)死進程以釋放數(shù)據(jù)庫可用連接數(shù),并及時關(guān)閉不用的交互如GeoSeismicView、jobeditor、GeoJobConsole,以釋放占用數(shù)據(jù)庫服務(wù)器的資源。
3.2 cursor_sharing參數(shù)
Oracle版的stapply 模塊速度非常慢,并且占用大量的資源。該模塊中,每一地震道應(yīng)用一次就會產(chǎn)生一條SQL命令。海量數(shù)據(jù)的道數(shù)非常多,同時運行多個Stapply作業(yè)時,系統(tǒng)常出現(xiàn)假死甚至Oracle服務(wù)器死機的情況。將cursor_sharing的值由缺省的EXACT改為FORCE,可有效提高了SQL語句的解析效率。
3.3 open_cursors參數(shù)
該參數(shù)的缺省值為300。而在GeoEast中,PGeosortIn模塊50節(jié)點每節(jié)點4個任務(wù)時作業(yè)就報錯。如果數(shù)據(jù)大于80T的話,建議將該參數(shù)修改到3000,修改后不用重啟數(shù)據(jù)庫即可生效。
SQL>alter system set open_cursors=3000;
System altered.
SQL> show parameter cursor
NAME? ? ? ? ? ? ? ? ? ? TYPE? ? ? VALUE
------------------------------------- ---------------- --------------------
cursor_sharing? ? ? ? ? ? ?string? ? ? EXACT
cursor_space_for_time? ? ? Boolean? ? FALSE
open_cursors? ? ? ? ? ? ? ?integer? ? ?3000
session_cached_cursors? ? ?integer? ? ? 20
3.4 消除單個項目同時運行作業(yè)數(shù)的限制
超大數(shù)據(jù)處理中,單個項目需要同時運行成百上千個作業(yè),在實際生產(chǎn)過程中由于受到數(shù)據(jù)庫的限制,同一項目一旦發(fā)送作業(yè)數(shù)超過168個,超出部分的作業(yè)會自動退出,無法正常運行。通過修改數(shù)據(jù)庫參數(shù)可消除該限制,從而提高軟件的運行效率[6]。
%sqlplusprojectname/projectname(projectname為工區(qū)名稱)
SQL> alter table ps_leveled_index drop constraint
pk_ps_ leveled_index; (解除該工區(qū)的作業(yè)同時發(fā)送的個數(shù)限制)
刪除主鍵索引,只保留唯一鍵索引,使用這種方式測試工區(qū)同時運行作業(yè)數(shù)已突破800。
4 結(jié)束語
近年來,隨著兩寬一高處理工作量的增加及GeoEast軟件的推廣使用,隨之而來的超大數(shù)據(jù)給處理資源帶來的各種挑戰(zhàn)和影響一直是運維工作的一個難點,本文通過對處理資源軟硬件各方面的探索及優(yōu)化配置,大大提高了GeoEast系統(tǒng)運行超大數(shù)據(jù)處理項目的效率。該技術(shù)適用于所有基于GeoEast的大數(shù)據(jù)項目,具有良好的推廣應(yīng)用前景。此外,在集群I/O性能提升以及GeoEast重點處理模塊占用資源的特征分析、大數(shù)據(jù)處理系統(tǒng)應(yīng)用軟件的并行度及適用性等方面還需要進一步的探索研究,以便日后更好地滿足PB級超大數(shù)據(jù)處理的需求,提高處理效率和機器的利用率。
參考文獻(xiàn)(References):
[1] 徐少波,白雪蓮,曾強,林茂春,黃燕,潘煥革.GeoEast地震數(shù)據(jù)處理解釋一體化軟件系統(tǒng)[J].石油工業(yè)計算機應(yīng)用,2016.3(24):6-11
[2] 王俊杰.通用磁盤陣列RAID性能分析及優(yōu)化[D].西安工程大學(xué),2015.
[3] 宋振龍.面向超級計算的大規(guī)模并行存儲系統(tǒng)關(guān)鍵技術(shù)研究[D].國防科學(xué)技術(shù)大學(xué),2014.
[4] 陳繼紅,趙書華,祝寬海,王仕檢.優(yōu)化系統(tǒng)配置提高GeoEast系統(tǒng)運行效率[J].物探裝備,2010.20(4).
[5] 曹立強,羅紅兵,張曉霞.集群環(huán)境中影響NFS文件系統(tǒng)帶寬的測試與分析[J].計算機工程,2007.33(19).
[6] 龔莉,趙玉梅,張紅杰,鄭玉霞,劉宗祥.GeoEast海量數(shù)據(jù)處理資源優(yōu)化配置技術(shù)研究與應(yīng)用[J].計算機光盤軟件與應(yīng)用,2014.6:101-103