GeoEast海量數(shù)據(jù)處理資源優(yōu)化配置技術研究與應用——計算機論文
隨著地震勘探的不斷深入,野外采集方法隨之不斷發(fā)展進步,寬方位寬頻帶高密度地震勘探在國內(nèi)外已日趨主流,隨之而來的數(shù)據(jù)量成幾何級數(shù)增長,對計算機軟硬件配置提出了更高的要求,對存儲系統(tǒng)在存儲容量、數(shù)據(jù)可用性以及I/O性能等方面帶來了巨大的挑戰(zhàn)。同時,GeoEast系統(tǒng)作為國內(nèi)自主研發(fā)的首款地震資料處理解釋一體化軟件,在進行海量數(shù)據(jù)處理過程中,也提出了更高的要求。我們在海量數(shù)據(jù)處理設備方面,還處于摸索階段,目前在計算資源硬件選用了Intel E5-2670 CPU和萬兆網(wǎng)絡,同時也配備了多套高性能存儲系統(tǒng),但在處理過程中仍然存在著較多問題,問題主要集中體現(xiàn)在I/O性能方面。針對GeoEast軟件在海量數(shù)據(jù)處理時的I/O效率較低這一問題,我們做了多方面的研究。本文主要介紹如何從軟件硬件兩方面對海量數(shù)據(jù)處理系統(tǒng)進行優(yōu)化配置,從而提高海量數(shù)據(jù)處理的整體性能。為海量數(shù)據(jù)處理的軟硬件優(yōu)化配置提供一定的參考。
一、海量數(shù)據(jù)處理系統(tǒng)的硬件配置
作為國內(nèi)首套海量數(shù)據(jù)處理系統(tǒng),該系統(tǒng)在硬件架構(gòu)的選型和配置上做了大量的調(diào)研和探索,計算節(jié)點選用了Intel Xeon E5-2670的8核cpu處理器,主頻為2.7GHz,該處理器支持大內(nèi)存的配置。內(nèi)存配置為128GB,配置了5塊600GB的SAS硬盤,配備了2400TB的高性能并行存儲系統(tǒng),采用10GbE的萬兆網(wǎng)將系統(tǒng)進行互聯(lián)。計算能力達到50Tflops。
該套系統(tǒng)的計算能力已基本滿足海量數(shù)據(jù)處理的需求,但在實際生產(chǎn)過程中仍然還存在著系統(tǒng)運行效率較低、數(shù)據(jù)I/O瓶頸、GeoEast處理系統(tǒng)與多種并行文件系統(tǒng)(GPFS、OneFS、PanFS)的兼容性等一系列疑難問題,針對這些問題做了大量的研究,并提出了一定的優(yōu)化技術解決方案。
二、存在的問題及解決方案
1、GeoEast處理系統(tǒng)與多種高性能并行存儲間的兼容性優(yōu)化技術
非海量數(shù)據(jù)處理作業(yè)量不大且數(shù)據(jù)量小,使用普通的DAS存儲便能滿足要求。但對于兩寬一高地震勘探的海量數(shù)據(jù)處理,由于數(shù)據(jù)量高達幾十甚至上百TB,需要同時發(fā)送數(shù)百個作業(yè),這樣勢必對存儲提出了更高的要求。普通DAS存儲已無法滿足海量數(shù)據(jù)并發(fā)存取的要求,該套海量數(shù)據(jù)處理系統(tǒng)選擇了高性能存儲來進行海量數(shù)據(jù)的并發(fā)讀寫,主要采用GPFS、PANFS和ONEFS等多種并行文件系統(tǒng)。針對這幾種高性能存儲,在相同的應用環(huán)境下,分別在GeoEast處理系統(tǒng)上做了一系列的測試,測試主要分為操作系統(tǒng)級測試和應用軟件測試兩個部分。系統(tǒng)級測試主要是針對各文件系統(tǒng)進行了iozone讀寫性能測試,測試結(jié)果如表3.1所示。應用軟件測試方面是使用不同的文件系統(tǒng)在GeoEast處理軟件中進行海量數(shù)據(jù)的讀寫壓力測試,同時發(fā)送500個讀寫20GB數(shù)據(jù)的作業(yè),分析作業(yè)運行過程中軟件交互操作速度以及作業(yè)運行的平均時間,測試結(jié)果如表3.2所示。
文件系統(tǒng)類型 (16臺) |
Iozone 寫帶寬(GB/s) |
Iozone 讀帶寬(GB/s) |
ONEFS |
3.46 |
5.56 |
GPFS |
4.47 |
5.57 |
PANFS |
3.27 |
3.59 |
表3.1不同類型高性能存儲在操作系統(tǒng)級上的iozone讀寫性能測試結(jié)果
文件系統(tǒng) 類型 (16臺) |
寫帶寬 (GB/s) |
讀帶寬 (GB/s) |
交互作業(yè) (打開SeisView) |
同時發(fā)送500個作業(yè) 平均讀寫22GB數(shù)據(jù) 的作業(yè)時間(s) |
穩(wěn)定性 |
ONEFS |
6.2 |
8.6 |
需等25秒 |
15360 |
好 |
GPFS |
18 |
23 |
需等3分鐘 |
48000 |
較好 |
PANFS |
16 |
16 |
需等10秒 |
15392 |
最好 |
表3.2不同類型高性能存儲在GeoEast處理系統(tǒng)上的兼容性測試結(jié)果
通過對測試結(jié)果的分析表明:各文件系統(tǒng)與GeoEast軟件之間存在著一定的兼容性差異,結(jié)果表明PNAFS和ONEFS文件系統(tǒng)無論從海量的交互操作方面,還是批量作業(yè)運行效率、穩(wěn)定性等綜合性能方面都有較好的優(yōu)勢。雖然GPFS文件系統(tǒng)在其他軟件中的并發(fā)存取效果較好,但在GeoEast處理系統(tǒng)上的應用效果卻略遜一籌,針對這一問題,結(jié)合GeoEast軟件的讀寫特點對GPFS并行文件系統(tǒng)進行優(yōu)化研究,從而提高GPFS并行文件系統(tǒng)在GeoEast處理系統(tǒng)上的并發(fā)存取效率。
GPFS并行文件系統(tǒng)有兩種使用模式,GPFS Client和CNFS模式。其中GPFS Client在I/O節(jié)點和計算節(jié)點都要安裝GPFS軟件,每個Mount節(jié)點都會負責管理一部分元數(shù)據(jù),目的是為了將元數(shù)據(jù)的管理分布化,在多節(jié)點大量數(shù)據(jù)并發(fā)時能提高系統(tǒng)元數(shù)據(jù)的處理能力。CNFS模式是只在I/O節(jié)點上安裝GPFS軟件,I/O節(jié)上掛載GPFS文件系統(tǒng)后通過CNFS export出去,供其他計算節(jié)點進行訪問,它是GPFS與NFS的結(jié)合。CNFS模式的好處便在于GPFS的元數(shù)據(jù)操作只需要在不多的幾個節(jié)點之間進行。通過對I/O節(jié)點的監(jiān)控以及測試結(jié)果的分析,這幾個I/O節(jié)點本身沒有成為整個系統(tǒng)的瓶頸,系統(tǒng)的I/O吞吐量不會有太大的影響,在NFS緩存的幫助下,反而還有所提高。
由于GeoEast軟件中數(shù)據(jù)讀寫均為一道道讀寫,在數(shù)據(jù)讀寫時要不斷地對中間數(shù)據(jù)進行l(wèi)ist操作,獲取相應的元數(shù)據(jù)信息。而GPFS為了保證其POSIX標準,在相應某些命令式需要做多節(jié)點之間元數(shù)據(jù)的同步保證磁盤和內(nèi)存里元數(shù)據(jù)的一致性。這種類型的操作對GPFS而言開銷較大,若元數(shù)據(jù)節(jié)點越少,反而性能會更好。
通過對GPFS的兩種應用模式在GeoEast處理系統(tǒng)上的并發(fā)存取效率進行測試,測試結(jié)果如表3.2所示。結(jié)果表明GPFS的CNFS模式較GPFS Client模式在GeoEast軟件中的應用效果及交互速度均有很大的提升。因此采用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軟件中的應用測試結(jié)果
2、oracle數(shù)據(jù)庫的優(yōu)化配置
GeoEast處理系統(tǒng)采用的是oracle數(shù)據(jù)庫管理模式,兩寬一高地震資料處理的一大特點就是數(shù)據(jù)量大,在作業(yè)多、數(shù)據(jù)量大的情況下會與oracle數(shù)據(jù)庫之間進行頻繁地通訊,產(chǎn)生多個訪問oracle數(shù)據(jù)庫的進程,對軟件、oracle服務器產(chǎn)生巨大的負載,據(jù)多次觀察軟件與oracle數(shù)據(jù)庫之間的通訊進程能高達三四千個,無論是CPU還是內(nèi)存,對oracle數(shù)據(jù)庫服務器都造成巨大的壓力。Oracle數(shù)據(jù)庫服務器的超負荷運轉(zhuǎn)勢必會降低軟件的應用效率,當oracle數(shù)據(jù)庫繁忙時往往表現(xiàn)為軟件交互速度慢、反應遲鈍、作業(yè)運行速度慢等一系列現(xiàn)象。為提高軟件的應用效率,分別從內(nèi)存的配置和oracle數(shù)據(jù)庫所用硬盤的類型兩方面對oracle數(shù)據(jù)庫服務器進行優(yōu)化配置研究,并取得了較好的效果。同時,在實際生產(chǎn)過程中出現(xiàn)了單個項目同時只能運行168個作業(yè)的現(xiàn)象,顯然已不能滿足海量數(shù)據(jù)處理同時要發(fā)送幾百上千個作業(yè)的需求,通過對oracle數(shù)據(jù)庫的研究,找出了對作業(yè)個數(shù)限制消除的方法。
(1)增加oracle服務器的內(nèi)存
當軟件與oracle數(shù)據(jù)庫之間的通訊進程較多時,會出現(xiàn)內(nèi)存被耗盡而去調(diào)用swap交互區(qū)的情況,圖3.1為oracle服務器內(nèi)存不夠而使用交換區(qū)的情況。當機器開始使用swap交換區(qū)時,機器的性能會急劇下降,從而直接影響到軟件系統(tǒng)的整體性能,無論是作業(yè)的速度還是軟件的交互效率,都會受到嚴重的影響,因此oracle服務器的內(nèi)存大小也是影響海量數(shù)據(jù)處理效率的一大因素,適當增加oracle服務器的內(nèi)存大小可從一定程度上提高軟件系統(tǒng)的整體性能。通過多次測試研究表明,目前高密度海量數(shù)據(jù)處理的oracle服務器內(nèi)存大小為128GB較為合適,太小會導致內(nèi)存不夠而使用交換區(qū),太大會導致內(nèi)存的浪費。
圖3.1 oracle服務器內(nèi)存耗盡使用交換區(qū)的情況
(2)oracle數(shù)據(jù)庫所在磁盤類型的選擇
眾所周知,SSD固態(tài)硬盤在讀寫速度上要比普通的機械硬盤快,特別是隨機讀寫速度方面,較傳統(tǒng)硬盤有較大的優(yōu)勢。Geoeast軟件在數(shù)據(jù)處理過程中會頻繁訪問oracle數(shù)據(jù)庫,特別是在作業(yè)多、數(shù)據(jù)量大的情況下,數(shù)據(jù)庫所在磁盤的速度會對軟件的效率產(chǎn)生一定的影響,在面對頻繁大量隨機讀寫oracle數(shù)據(jù)庫的情況下,如果采用SSD固態(tài)硬盤作為oracle數(shù)據(jù)庫磁盤,軟件的的性能會有一定的提升。
(3)消除單個項目同時運行的作業(yè)個數(shù)限制
海量數(shù)據(jù)處理由于數(shù)據(jù)量高達幾十甚至上百TB,單個項目需要同時運行數(shù)百個作業(yè),在實際生產(chǎn)過程中由于受到oracle數(shù)據(jù)庫的限制,最多只能同時運行168個作業(yè),其他作業(yè)雖然從后臺作業(yè)調(diào)度中看是處于ACTIVE狀態(tài),但作業(yè)實際上沒有運行,需要等待前面的作業(yè)做完后才會運行,通過修改oracle數(shù)據(jù)庫參數(shù),可消除該限制,從而提高軟硬件的運行效率。具體修改過程如下,使用oracle賬號連接要修改的工區(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ū)下是否還有操作,若正在生成索引時工區(qū)就會被鎖,暫時無法修改,確保工區(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è)同時可發(fā)送的個數(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ù)文件會根據(jù)軟件中設定的單個數(shù)據(jù)文件大小的值將文件分為多塊存放,在GeoEast2.5版本下缺省為10GB,單塊地震數(shù)據(jù)的大小不能超過地震數(shù)據(jù)文件大小限制所設置的值,若超過地震數(shù)據(jù)將被自動拆分。在高密度寬方位資料處理中,單個數(shù)據(jù)量可高達幾百GB,如果地震數(shù)據(jù)文件大小的限定值定義的太小,勢必會導致地震數(shù)據(jù)分塊太多,從而在數(shù)據(jù)目錄下產(chǎn)生多個數(shù)據(jù)文件塊。在軟件交互界面和磁盤數(shù)據(jù)所在目錄查看數(shù)據(jù)時,如果數(shù)據(jù)塊文件個數(shù)太多,在系統(tǒng)統(tǒng)計數(shù)據(jù)的大小時會加重系統(tǒng)負載,從而影響交互的效率。若將SeismicFileSizeLimit值適當調(diào)大,可以減少地震數(shù)據(jù)目錄下數(shù)據(jù)塊文件的個數(shù),查看數(shù)據(jù)時交互的反應速度也會隨之增快。
圖3.3 GeoEast軟件單個文件大小設定
三、結(jié)束語
作為首次對高密度寬方位海量數(shù)據(jù)處理系統(tǒng)的計算機軟硬件配置研究,通過對軟硬件各方面的探索及優(yōu)化配置,取得了一定的成效。但還存在著較大的提升空間,例如:I/O方面的性能依然存在著很大的潛力。在軟硬件的兼容性方面還有待進一步的探索研究,更好地滿足海量數(shù)據(jù)處理的需求,提高處理效率和機器的利用率。
欄目分類
- 2025年中科院分區(qū)表已公布!Scientific Reports降至三區(qū)
- 官方認定!CSSCI南大核心首批191家“青年學者友好期刊名單”
- 2023JCR影響因子正式公布!
- 國內(nèi)核心期刊分級情況概覽及說明!本篇適用人群:需要發(fā)南核、北核、CSCD、科核、AMI、SCD、RCCSE期刊的學者
- 我用了一個很復雜的圖,幫你們解釋下“23版最新北大核心目錄有效期問題”。
- 重磅!CSSCI來源期刊(2023-2024版)最新期刊目錄看點分析!全網(wǎng)首發(fā)!
- CSSCI官方早就公布了最新南核目錄,有心的人已經(jīng)拿到并且投入使用!附南核目錄新增期刊!
- 北大核心期刊目錄換屆,我們應該熟知的10個知識點。
- 注意,最新期刊論文格式標準已發(fā)布,論文寫作規(guī)則發(fā)生重大變化!文字版GB/T 7713.2—2022 學術論文編寫規(guī)則
- 盤點那些評職稱超管用的資源,1,3和5已經(jīng)“絕種”了