尹龍 張衛(wèi)華 程實 郭冶 梁妍 牛犇
摘 要: 隨著“兩寬一高”采集技術的應用,原始地震勘探數據呈指數級增長,數據體越來越大,結構越來越復雜,地震資料開始進入大數據時代。文章基于海量地震數據的資料處理特點,分析HPC技術趨勢,探討并設計適合自身需求的超大規(guī)模HPC集群。
關鍵詞: 大數據; 高性能計算; 地震數據; 兩寬一高
中圖分類號:TP311 文獻標志碼:A 文章編號:1006-8228(2016)08-01-03
Abstract: With the application of "2W1H" (wide-band, wide azimuth and high-density) acquisition technology in oil exploration, the original seismic data is growing exponentially, the data volume is getting bigger and bigger, the structure is more and more complex, seismic data has begun to enter the big data era. Based on the characteristics of massive seismic data, this paper analyzes the trend of HPC technology, and discusses and designs the ultra large scale HPC system fitting for our own development.
Key words: big data; HPC; seismic data; 2W1H
0 引言
近幾年來,隨著勘探技術的不斷進步,野外地震采集的精度在不斷提高,“兩寬一高”地震技術開始得到全面推廣和使用。以我國某地為例,覆蓋次數大于200次,高達數千次,橫縱比為0.5-1,采用寬頻可控震源激發(fā),掃描頻率大于5個倍頻程[1]。相應地,東方地球物理公司研究院逐步完善了對高密度、寬方位數據資料配套的處理技術,形成多波多分量、三維連片、高密度寬方位數據處理等技術特色。方法有了,作為資料處理運行工具的高性能計算集群應如何設計,本文主要探討這個問題。
1 發(fā)展難點
高性能計算系統(tǒng)用于解決復雜的大量數據計算,如常用于石油勘探、分子模擬、天氣預報等很多科學計算領域。高性能計算通常使用并行算法,即通過并行軟件將數據及計算任務分解并分發(fā)到各個計算節(jié)點上完成計算,最后將計算結果進行匯總。因此,高性能計算系統(tǒng)要求有高計算性能、高I/O吞吐率、大規(guī)模數據存儲及高可用性等特點[2]。
2012年,東方公司在海外油氣勘探市場承接的十萬道級別高效采集項目就已經進入實施,數十萬道甚至百萬道也在不遠的將來實現(xiàn)。隨之而來的是原始地震勘探數據呈指數級增長,數據體越來越大,結構越來越復雜,地震資料數據動輒幾十甚至幾百TB(如圖1)。地震處理軟件也在不斷更新升級,陸續(xù)出現(xiàn)基于大規(guī)模甚至超大規(guī)模地震數據開發(fā)的地震資料處理模塊。然而,超大規(guī)模的數據存儲,超高性能的計算要求,再加上有限的項目周期,給地震資料處理帶來巨大的挑戰(zhàn)。在進行高性能計算資源管理設計時,不但要考慮能滿足PB級數據存儲和吞吐能力,還要設計和構建能夠處理大規(guī)模的高性能計算集群系統(tǒng)。
2 超算集群系統(tǒng)設計
2.1 CPU+GPU協(xié)同工作
協(xié)同工作是將CPU和GPU兩種不同架構的處理器組成在一起,通過程序讓其協(xié)同工作。為了追求通用性,CPU將其中大部分晶體管主要用于控制單元(比如分支預測等)和存儲單元(Cache),只有少部分的晶體管來完成實際的運算工作(如圖2),因此CPU在邏輯判斷、非線性尋址等復雜邏輯運算有非常高的效率[3]。而GPU最初是為了完成圖形處理,因此它的更多單元用于執(zhí)行計算,這也讓GPU更加適合密集型的計算任務,隨著硬件技術的發(fā)展,GPU的計算能力已經遠遠超出了其自身圖形功能,同時GPU的可編程性也讓其完成浮點計算的科學研究逐漸活躍起來。從圖3可以知道,在浮點計算方面GPU的計算能力已經遠遠優(yōu)于CPU。
GPU參與的運算應用有如下特征:
⑴ 運算密集性;
⑵ 高度并行性;
⑶ 控制簡單性。
從目前來看,單純使用CPU進行大規(guī)模計算已經不再擁有吸引力,更為科學的是采用CPU+GPU協(xié)同工作,由CPU負責執(zhí)行復雜的邏輯處理和事務處理,GPU負責計算密集型的大規(guī)模數據計算。這種利用GPU強大處理能力和高帶寬而彌補單純使用CPU計算時性能不足的計算方式可以進一步挖掘計算機潛在能力,在成本和性價比方面有顯著的優(yōu)勢。
2.2 文件存儲系統(tǒng)
文件存儲系統(tǒng)是影響整個集群系統(tǒng)性能的關鍵因素,針對地震處理數據高密度并行讀寫的特點,首先需要考慮存儲容量,就目前野外工區(qū)高密度采集特點,覆蓋次數達上萬甚至幾萬道,單炮的數據量可達上百MB,因此PB級容量的存儲是必然選擇。其次,地震資料處理軟件與其他應用軟件相比,特別之處在于文件I/O量巨大,尤其大規(guī)模偏移計算時需要滿足各計算節(jié)點對共享存儲的訪問,I/O系統(tǒng)的性能將嚴重影響整個系統(tǒng)的性能,因此存儲系統(tǒng)的高效訪問至關重要[4]。
分布式文件系統(tǒng)是C/S架構的文件系統(tǒng),用戶數據沒有直接連接到本地主機,而是存儲在“集群服務器”(存儲中定義了統(tǒng)一的命名及Cluster概念)上,由“集群服務器”為整個計算系統(tǒng)提供I/O服務。分布式文件系統(tǒng)包括主控服務器、數據服務器及客戶端[5](如圖4)。
目前許多大型計算機公司如Google、IBM及科研院校都正致力于分布式存儲的研究開發(fā)和使用,從而形成了多種模式的分布式文件系統(tǒng),包括GFS(googleFS)、Lustre、GPFS等等。隨著大數據時代的到來,分布式文件系統(tǒng)受到了更多的歡迎。對于高性能計算而言,分布式存儲有以下幾方面優(yōu)點。