GeoEast海量數(shù)據(jù)處理資源優(yōu)化配置技術(shù)研究與應(yīng)用——計(jì)算機(jī)論文
隨著地震勘探的不斷深入,野外采集方法隨之不斷發(fā)展進(jìn)步,寬方位寬頻帶高密度地震勘探在國(guó)內(nèi)外已日趨主流,隨之而來的數(shù)據(jù)量成幾何級(jí)數(shù)增長(zhǎng),對(duì)計(jì)算機(jī)軟硬件配置提出了更高的要求,對(duì)存儲(chǔ)系統(tǒng)在存儲(chǔ)容量、數(shù)據(jù)可用性以及I/O性能等方面帶來了巨大的挑戰(zhàn)。同時(shí),GeoEast系統(tǒng)作為國(guó)內(nèi)自主研發(fā)的首款地震資料處理解釋一體化軟件,在進(jìn)行海量數(shù)據(jù)處理過程中,也提出了更高的要求。我們?cè)诤A繑?shù)據(jù)處理設(shè)備方面,還處于摸索階段,目前在計(jì)算資源硬件選用了Intel E5-2670 CPU和萬兆網(wǎng)絡(luò),同時(shí)也配備了多套高性能存儲(chǔ)系統(tǒng),但在處理過程中仍然存在著較多問題,問題主要集中體現(xiàn)在I/O性能方面。針對(duì)GeoEast軟件在海量數(shù)據(jù)處理時(shí)的I/O效率較低這一問題,我們做了多方面的研究。本文主要介紹如何從軟件硬件兩方面對(duì)海量數(shù)據(jù)處理系統(tǒng)進(jìn)行優(yōu)化配置,從而提高海量數(shù)據(jù)處理的整體性能。為海量數(shù)據(jù)處理的軟硬件優(yōu)化配置提供一定的參考。
一、海量數(shù)據(jù)處理系統(tǒng)的硬件配置
作為國(guó)內(nèi)首套海量數(shù)據(jù)處理系統(tǒng),該系統(tǒng)在硬件架構(gòu)的選型和配置上做了大量的調(diào)研和探索,計(jì)算節(jié)點(diǎn)選用了Intel Xeon E5-2670的8核cpu處理器,主頻為2.7GHz,該處理器支持大內(nèi)存的配置。內(nèi)存配置為128GB,配置了5塊600GB的SAS硬盤,配備了2400TB的高性能并行存儲(chǔ)系統(tǒng),采用10GbE的萬兆網(wǎng)將系統(tǒng)進(jìn)行互聯(lián)。計(jì)算能力達(dá)到50Tflops。
該套系統(tǒng)的計(jì)算能力已基本滿足海量數(shù)據(jù)處理的需求,但在實(shí)際生產(chǎn)過程中仍然還存在著系統(tǒng)運(yùn)行效率較低、數(shù)據(jù)I/O瓶頸、GeoEast處理系統(tǒng)與多種并行文件系統(tǒng)(GPFS、OneFS、PanFS)的兼容性等一系列疑難問題,針對(duì)這些問題做了大量的研究,并提出了一定的優(yōu)化技術(shù)解決方案。
二、存在的問題及解決方案
1、GeoEast處理系統(tǒng)與多種高性能并行存儲(chǔ)間的兼容性優(yōu)化技術(shù)
非海量數(shù)據(jù)處理作業(yè)量不大且數(shù)據(jù)量小,使用普通的DAS存儲(chǔ)便能滿足要求。但對(duì)于兩寬一高地震勘探的海量數(shù)據(jù)處理,由于數(shù)據(jù)量高達(dá)幾十甚至上百TB,需要同時(shí)發(fā)送數(shù)百個(gè)作業(yè),這樣勢(shì)必對(duì)存儲(chǔ)提出了更高的要求。普通DAS存儲(chǔ)已無法滿足海量數(shù)據(jù)并發(fā)存取的要求,該套海量數(shù)據(jù)處理系統(tǒng)選擇了高性能存儲(chǔ)來進(jìn)行海量數(shù)據(jù)的并發(fā)讀寫,主要采用GPFS、PANFS和ONEFS等多種并行文件系統(tǒng)。針對(duì)這幾種高性能存儲(chǔ),在相同的應(yīng)用環(huán)境下,分別在GeoEast處理系統(tǒng)上做了一系列的測(cè)試,測(cè)試主要分為操作系統(tǒng)級(jí)測(cè)試和應(yīng)用軟件測(cè)試兩個(gè)部分。系統(tǒng)級(jí)測(cè)試主要是針對(duì)各文件系統(tǒng)進(jìn)行了iozone讀寫性能測(cè)試,測(cè)試結(jié)果如表3.1所示。應(yīng)用軟件測(cè)試方面是使用不同的文件系統(tǒng)在GeoEast處理軟件中進(jìn)行海量數(shù)據(jù)的讀寫壓力測(cè)試,同時(shí)發(fā)送500個(gè)讀寫20GB數(shù)據(jù)的作業(yè),分析作業(yè)運(yùn)行過程中軟件交互操作速度以及作業(yè)運(yùn)行的平均時(shí)間,測(cè)試結(jié)果如表3.2所示。
文件系統(tǒng)類型 (16臺(tái)) |
Iozone 寫帶寬(GB/s) |
Iozone 讀帶寬(GB/s) |
ONEFS |
3.46 |
5.56 |
GPFS |
4.47 |
5.57 |
PANFS |
3.27 |
3.59 |
表3.1不同類型高性能存儲(chǔ)在操作系統(tǒng)級(jí)上的iozone讀寫性能測(cè)試結(jié)果
文件系統(tǒng) 類型 (16臺(tái)) |
寫帶寬 (GB/s) |
讀帶寬 (GB/s) |
交互作業(yè) (打開SeisView) |
同時(shí)發(fā)送500個(gè)作業(yè) 平均讀寫22GB數(shù)據(jù) 的作業(yè)時(shí)間(s) |
穩(wěn)定性 |
ONEFS |
6.2 |
8.6 |
需等25秒 |
15360 |
好 |
GPFS |
18 |
23 |
需等3分鐘 |
48000 |
較好 |
PANFS |
16 |
16 |
需等10秒 |
15392 |
最好 |
表3.2不同類型高性能存儲(chǔ)在GeoEast處理系統(tǒng)上的兼容性測(cè)試結(jié)果
通過對(duì)測(cè)試結(jié)果的分析表明:各文件系統(tǒng)與GeoEast軟件之間存在著一定的兼容性差異,結(jié)果表明PNAFS和ONEFS文件系統(tǒng)無論從海量的交互操作方面,還是批量作業(yè)運(yùn)行效率、穩(wěn)定性等綜合性能方面都有較好的優(yōu)勢(shì)。雖然GPFS文件系統(tǒng)在其他軟件中的并發(fā)存取效果較好,但在GeoEast處理系統(tǒng)上的應(yīng)用效果卻略遜一籌,針對(duì)這一問題,結(jié)合GeoEast軟件的讀寫特點(diǎn)對(duì)GPFS并行文件系統(tǒng)進(jìn)行優(yōu)化研究,從而提高GPFS并行文件系統(tǒng)在GeoEast處理系統(tǒng)上的并發(fā)存取效率。
GPFS并行文件系統(tǒng)有兩種使用模式,GPFS Client和CNFS模式。其中GPFS Client在I/O節(jié)點(diǎn)和計(jì)算節(jié)點(diǎn)都要安裝GPFS軟件,每個(gè)Mount節(jié)點(diǎn)都會(huì)負(fù)責(zé)管理一部分元數(shù)據(jù),目的是為了將元數(shù)據(jù)的管理分布化,在多節(jié)點(diǎn)大量數(shù)據(jù)并發(fā)時(shí)能提高系統(tǒng)元數(shù)據(jù)的處理能力。CNFS模式是只在I/O節(jié)點(diǎn)上安裝GPFS軟件,I/O節(jié)上掛載GPFS文件系統(tǒng)后通過CNFS export出去,供其他計(jì)算節(jié)點(diǎn)進(jìn)行訪問,它是GPFS與NFS的結(jié)合。CNFS模式的好處便在于GPFS的元數(shù)據(jù)操作只需要在不多的幾個(gè)節(jié)點(diǎn)之間進(jìn)行。通過對(duì)I/O節(jié)點(diǎn)的監(jiān)控以及測(cè)試結(jié)果的分析,這幾個(gè)I/O節(jié)點(diǎn)本身沒有成為整個(gè)系統(tǒng)的瓶頸,系統(tǒng)的I/O吞吐量不會(huì)有太大的影響,在NFS緩存的幫助下,反而還有所提高。
由于GeoEast軟件中數(shù)據(jù)讀寫均為一道道讀寫,在數(shù)據(jù)讀寫時(shí)要不斷地對(duì)中間數(shù)據(jù)進(jìn)行l(wèi)ist操作,獲取相應(yīng)的元數(shù)據(jù)信息。而GPFS為了保證其POSIX標(biāo)準(zhǔn),在相應(yīng)某些命令式需要做多節(jié)點(diǎn)之間元數(shù)據(jù)的同步保證磁盤和內(nèi)存里元數(shù)據(jù)的一致性。這種類型的操作對(duì)GPFS而言開銷較大,若元數(shù)據(jù)節(jié)點(diǎn)越少,反而性能會(huì)更好。
通過對(duì)GPFS的兩種應(yīng)用模式在GeoEast處理系統(tǒng)上的并發(fā)存取效率進(jìn)行測(cè)試,測(cè)試結(jié)果如表3.2所示。結(jié)果表明GPFS的CNFS模式較GPFS Client模式在GeoEast軟件中的應(yīng)用效果及交互速度均有很大的提升。因此采用GPFS的CNFS模式來代替GPFS Client模式,解決了GPFS在GeoEast處理系統(tǒng)上并發(fā)存取效率低的問題。
文件系統(tǒng)掛載方式 |
segyinput(s) |
geodiskout(s) |
total(s) |
交互操作 |
GPFS CLIENT |
686.826 |
2222.66 |
3115.29 |
交互慢 |
CNFS |
370.062 |
919.556 |
1303.07 |
交互正常 |
表3.2 GPFS Client模式與CNFS模式在GeoEast軟件中的應(yīng)用測(cè)試結(jié)果
2、oracle數(shù)據(jù)庫(kù)的優(yōu)化配置
GeoEast處理系統(tǒng)采用的是oracle數(shù)據(jù)庫(kù)管理模式,兩寬一高地震資料處理的一大特點(diǎn)就是數(shù)據(jù)量大,在作業(yè)多、數(shù)據(jù)量大的情況下會(huì)與oracle數(shù)據(jù)庫(kù)之間進(jìn)行頻繁地通訊,產(chǎn)生多個(gè)訪問oracle數(shù)據(jù)庫(kù)的進(jìn)程,對(duì)軟件、oracle服務(wù)器產(chǎn)生巨大的負(fù)載,據(jù)多次觀察軟件與oracle數(shù)據(jù)庫(kù)之間的通訊進(jìn)程能高達(dá)三四千個(gè),無論是CPU還是內(nèi)存,對(duì)oracle數(shù)據(jù)庫(kù)服務(wù)器都造成巨大的壓力。Oracle數(shù)據(jù)庫(kù)服務(wù)器的超負(fù)荷運(yùn)轉(zhuǎn)勢(shì)必會(huì)降低軟件的應(yīng)用效率,當(dāng)oracle數(shù)據(jù)庫(kù)繁忙時(shí)往往表現(xiàn)為軟件交互速度慢、反應(yīng)遲鈍、作業(yè)運(yùn)行速度慢等一系列現(xiàn)象。為提高軟件的應(yīng)用效率,分別從內(nèi)存的配置和oracle數(shù)據(jù)庫(kù)所用硬盤的類型兩方面對(duì)oracle數(shù)據(jù)庫(kù)服務(wù)器進(jìn)行優(yōu)化配置研究,并取得了較好的效果。同時(shí),在實(shí)際生產(chǎn)過程中出現(xiàn)了單個(gè)項(xiàng)目同時(shí)只能運(yùn)行168個(gè)作業(yè)的現(xiàn)象,顯然已不能滿足海量數(shù)據(jù)處理同時(shí)要發(fā)送幾百上千個(gè)作業(yè)的需求,通過對(duì)oracle數(shù)據(jù)庫(kù)的研究,找出了對(duì)作業(yè)個(gè)數(shù)限制消除的方法。
(1)增加oracle服務(wù)器的內(nèi)存
當(dāng)軟件與oracle數(shù)據(jù)庫(kù)之間的通訊進(jìn)程較多時(shí),會(huì)出現(xiàn)內(nèi)存被耗盡而去調(diào)用swap交互區(qū)的情況,圖3.1為oracle服務(wù)器內(nèi)存不夠而使用交換區(qū)的情況。當(dāng)機(jī)器開始使用swap交換區(qū)時(shí),機(jī)器的性能會(huì)急劇下降,從而直接影響到軟件系統(tǒng)的整體性能,無論是作業(yè)的速度還是軟件的交互效率,都會(huì)受到嚴(yán)重的影響,因此oracle服務(wù)器的內(nèi)存大小也是影響海量數(shù)據(jù)處理效率的一大因素,適當(dāng)增加oracle服務(wù)器的內(nèi)存大小可從一定程度上提高軟件系統(tǒng)的整體性能。通過多次測(cè)試研究表明,目前高密度海量數(shù)據(jù)處理的oracle服務(wù)器內(nèi)存大小為128GB較為合適,太小會(huì)導(dǎo)致內(nèi)存不夠而使用交換區(qū),太大會(huì)導(dǎo)致內(nèi)存的浪費(fèi)。
圖3.1 oracle服務(wù)器內(nèi)存耗盡使用交換區(qū)的情況
(2)oracle數(shù)據(jù)庫(kù)所在磁盤類型的選擇
眾所周知,SSD固態(tài)硬盤在讀寫速度上要比普通的機(jī)械硬盤快,特別是隨機(jī)讀寫速度方面,較傳統(tǒng)硬盤有較大的優(yōu)勢(shì)。Geoeast軟件在數(shù)據(jù)處理過程中會(huì)頻繁訪問oracle數(shù)據(jù)庫(kù),特別是在作業(yè)多、數(shù)據(jù)量大的情況下,數(shù)據(jù)庫(kù)所在磁盤的速度會(huì)對(duì)軟件的效率產(chǎn)生一定的影響,在面對(duì)頻繁大量隨機(jī)讀寫oracle數(shù)據(jù)庫(kù)的情況下,如果采用SSD固態(tài)硬盤作為oracle數(shù)據(jù)庫(kù)磁盤,軟件的的性能會(huì)有一定的提升。
(3)消除單個(gè)項(xiàng)目同時(shí)運(yùn)行的作業(yè)個(gè)數(shù)限制
海量數(shù)據(jù)處理由于數(shù)據(jù)量高達(dá)幾十甚至上百TB,單個(gè)項(xiàng)目需要同時(shí)運(yùn)行數(shù)百個(gè)作業(yè),在實(shí)際生產(chǎn)過程中由于受到oracle數(shù)據(jù)庫(kù)的限制,最多只能同時(shí)運(yùn)行168個(gè)作業(yè),其他作業(yè)雖然從后臺(tái)作業(yè)調(diào)度中看是處于ACTIVE狀態(tài),但作業(yè)實(shí)際上沒有運(yùn)行,需要等待前面的作業(yè)做完后才會(huì)運(yùn)行,通過修改oracle數(shù)據(jù)庫(kù)參數(shù),可消除該限制,從而提高軟硬件的運(yùn)行效率。具體修改過程如下,使用oracle賬號(hào)連接要修改的工區(qū)。
%sqlplus test/test(要修改的工區(qū)名稱)
SQL*Plus: Release 10.2.0.1.0 - Production on Fri Aug 23 21:28:02 2013
Copyright (c) 1982, 2005, Oracle. All rights reserved.
Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
SQL> desc ps_leveled_index;(查看該工區(qū)下是否還有操作,若正在生成索引時(shí)工區(qū)就會(huì)被鎖,暫時(shí)無法修改,確保工區(qū)是在無操作情況下才能修改)
Name Null? Type
----------------------------------------- -------- ----------------------------
INDEX_ID NOT NULL NUMBER(10)
SEISMIC_DATA_SET_ID NUMBER(10)
KEYWORD_NUMBER NUMBER(10)
FIRST_KEYWORD_CODE NUMBER(6)
SECOND_KEYWORD_CODE NUMBER(6)
THIRD_KEYWORD_CODE NUMBER(6)
FORTH_KEYWORD_CODE NUMBER(6)
FIFTH_KEYWORD_CODE NUMBER(6)
READABLE VARCHAR2(1)
DESCRIPTION VARCHAR2(2000)
CREATED_BY VARCHAR2(32)
CREATE_DATE DATE
MODIFIED_BY VARCHAR2(32)
MODIFY_DATE DATE
SQL> alter table ps_leveled_index drop constraint pk_ps_leveled_index; (解除作業(yè)同時(shí)可發(fā)送的個(gè)數(shù)限制)
Table altered.
SQL> quit
Disconnected from Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - 64bit Production
With the Partitioning, OLAP and Data Mining options
3、GeoEast軟件配置優(yōu)化
在GeoEast數(shù)據(jù)處理系統(tǒng)中地震數(shù)據(jù)是分塊存放的,存放在磁盤下的地震數(shù)據(jù)文件會(huì)根據(jù)軟件中設(shè)定的單個(gè)數(shù)據(jù)文件大小的值將文件分為多塊存放,在GeoEast2.5版本下缺省為10GB,單塊地震數(shù)據(jù)的大小不能超過地震數(shù)據(jù)文件大小限制所設(shè)置的值,若超過地震數(shù)據(jù)將被自動(dòng)拆分。在高密度寬方位資料處理中,單個(gè)數(shù)據(jù)量可高達(dá)幾百GB,如果地震數(shù)據(jù)文件大小的限定值定義的太小,勢(shì)必會(huì)導(dǎo)致地震數(shù)據(jù)分塊太多,從而在數(shù)據(jù)目錄下產(chǎn)生多個(gè)數(shù)據(jù)文件塊。在軟件交互界面和磁盤數(shù)據(jù)所在目錄查看數(shù)據(jù)時(shí),如果數(shù)據(jù)塊文件個(gè)數(shù)太多,在系統(tǒng)統(tǒng)計(jì)數(shù)據(jù)的大小時(shí)會(huì)加重系統(tǒng)負(fù)載,從而影響交互的效率。若將SeismicFileSizeLimit值適當(dāng)調(diào)大,可以減少地震數(shù)據(jù)目錄下數(shù)據(jù)塊文件的個(gè)數(shù),查看數(shù)據(jù)時(shí)交互的反應(yīng)速度也會(huì)隨之增快。
圖3.3 GeoEast軟件單個(gè)文件大小設(shè)定
三、結(jié)束語
作為首次對(duì)高密度寬方位海量數(shù)據(jù)處理系統(tǒng)的計(jì)算機(jī)軟硬件配置研究,通過對(duì)軟硬件各方面的探索及優(yōu)化配置,取得了一定的成效。但還存在著較大的提升空間,例如:I/O方面的性能依然存在著很大的潛力。在軟硬件的兼容性方面還有待進(jìn)一步的探索研究,更好地滿足海量數(shù)據(jù)處理的需求,提高處理效率和機(jī)器的利用率。
欄目分類
- 鄉(xiāng)村企業(yè)會(huì)計(jì)管理與鄉(xiāng)村振興的關(guān)系探析
- 高校對(duì)國(guó)家思想政治教育政策的執(zhí)行偏差及對(duì)策建議
- 中小學(xué)《讀本》教學(xué)的一體化銜接策略研究
- 中國(guó)優(yōu)秀傳統(tǒng)“孝”文化的當(dāng)代價(jià)值及傳承研究
- 人工智能時(shí)代人的自由全面發(fā)展何以可能
- 數(shù)字賦能思政課堂 推動(dòng)全會(huì)精神走深走實(shí)
- 鄉(xiāng)村全面振興:精準(zhǔn)之力推進(jìn)與農(nóng)業(yè)職教作為
- 數(shù)智時(shí)代認(rèn)知域安全:現(xiàn)實(shí)風(fēng)險(xiǎn)與治理路徑
- 數(shù)字化背景下基層應(yīng)急管理能力高質(zhì)量提升新探索
- 官方認(rèn)定!CSSCI南大核心首批191家“青年學(xué)者友好期刊名單”
- 2023JCR影響因子正式公布!
- 國(guó)內(nèi)核心期刊分級(jí)情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學(xué)者
- 我用了一個(gè)很復(fù)雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- 重磅!CSSCI來源期刊(2023-2024版)最新期刊目錄看點(diǎn)分析!全網(wǎng)首發(fā)!
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應(yīng)該熟知的10個(gè)知識(shí)點(diǎn)。
- 注意,最新期刊論文格式標(biāo)準(zhǔn)已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學(xué)術(shù)論文編寫規(guī)則
- 盤點(diǎn)那些評(píng)職稱超管用的資源,1,3和5已經(jīng)“絕種”了
- 職稱話題| 為什么黨校更認(rèn)可省市級(jí)黨報(bào)?是否有什么說據(jù)?還有哪些機(jī)構(gòu)認(rèn)可黨報(bào)?