梁胤程,杜 翠,劉 杰,楊超宇,3,楊 峰
(1.中國礦業(yè)大學(xué)(北京) 機(jī)電與信息工程學(xué)院,北京 100083; 2.中國鐵道科學(xué)研究院 鐵道建筑研究所,北京 100081; 3.安徽理工大學(xué) 經(jīng)濟(jì)與管理學(xué)院,安徽 淮南 232001)
鐵路路基狀態(tài)檢測評價(jià)是既有鐵路養(yǎng)護(hù)維修的關(guān)鍵環(huán)節(jié)。從目前的檢測評價(jià)技術(shù)手段來看,要實(shí)現(xiàn)快速、無損和高精度的檢測和評價(jià)鐵路路基狀態(tài),探地雷達(dá)尤其是車載探地雷達(dá)是一種最為理想的檢測方法[1-2]。鐵路路基狀態(tài)周期性檢測是未來發(fā)展的必然趨勢,探地雷達(dá)數(shù)據(jù)將呈幾何級數(shù)增長。但目前對探地雷達(dá)數(shù)據(jù)的處理和解釋工作主要依靠單機(jī)處理,使得海量的探地雷達(dá)數(shù)據(jù)處理時(shí)間相對較長,大大降低了檢測的時(shí)效性,而且鐵路路基狀態(tài)檢測評價(jià)數(shù)據(jù)及結(jié)果管理沒有統(tǒng)一規(guī)定,不同時(shí)間檢測的數(shù)據(jù)以及不同檢測方法檢測的數(shù)據(jù)無法進(jìn)行比對分析,嚴(yán)重阻礙路基檢測數(shù)據(jù)的統(tǒng)計(jì)分析和再利用[3-4]。
隨著計(jì)算機(jī)領(lǐng)域并行處理技術(shù)以及大數(shù)據(jù)處理技術(shù)的迅猛發(fā)展[5-7],使得通過集群計(jì)算實(shí)現(xiàn)對海量探地雷達(dá)數(shù)據(jù)的高效處理及智能化的信息提取成為可能。當(dāng)前國內(nèi)外學(xué)者利用大數(shù)據(jù)及云計(jì)算技術(shù)進(jìn)行探地雷達(dá)數(shù)據(jù)處理分析的研究工作比較少,也不是很成熟。本文采用并行計(jì)算技術(shù)對鐵路路基狀態(tài)檢測中大規(guī)模探地雷達(dá)數(shù)據(jù)的處理進(jìn)行研究,以實(shí)現(xiàn)雷達(dá)數(shù)據(jù)的快速處理;通過大量鐵路路基的雷達(dá)數(shù)據(jù)對路基狀態(tài)進(jìn)行動態(tài)監(jiān)測,將鐵路路基狀態(tài)檢測中探地雷達(dá)的應(yīng)用由檢測技術(shù)向監(jiān)測技術(shù)轉(zhuǎn)化,預(yù)測鐵路路基狀態(tài)的變化趨勢,為管理部門決策提供依據(jù)。
當(dāng)前主流大數(shù)據(jù)并行處理平臺Hadoop和Spark等多用于互聯(lián)網(wǎng)行業(yè)的數(shù)據(jù)挖掘和推薦[8],在傳統(tǒng)行業(yè)中應(yīng)用較少。Hadoop和Spark應(yīng)用于探地雷達(dá)數(shù)據(jù)并行處理時(shí)主要存在幾個(gè)問題:①編程模型具有局限性,對迭代算法支持較弱,并不適用于部分探地雷達(dá)數(shù)據(jù)的處理,而且處理探地雷達(dá)數(shù)據(jù)的效率過低;②探地雷達(dá)數(shù)據(jù)解析技術(shù)已經(jīng)穩(wěn)定、成熟,因此對探地雷達(dá)數(shù)據(jù)進(jìn)行并行處理涉及數(shù)據(jù)處理算法的移植和重寫,需要較大的工作量,如何快速進(jìn)行技術(shù)遷移也是探地雷達(dá)數(shù)據(jù)并行處理時(shí)需要重點(diǎn)考慮的問題。本文基于當(dāng)前主流大數(shù)據(jù)并行處理平臺,進(jìn)行適用于探地雷達(dá)數(shù)據(jù)并行處理的設(shè)計(jì)和研究。
鐵路路基狀態(tài)檢測雷達(dá)數(shù)據(jù)并行處理平臺由鐵路路基狀態(tài)監(jiān)控軟件、探地雷達(dá)數(shù)據(jù)并行處理平臺中心服務(wù)器和數(shù)據(jù)處理集群子服務(wù)器構(gòu)成。探地雷達(dá)數(shù)據(jù)并行處理平臺系統(tǒng)架構(gòu)如圖1所示。
圖1 探地雷達(dá)數(shù)據(jù)并行處理平臺系統(tǒng)架構(gòu)圖
鐵路路基狀態(tài)監(jiān)控軟件。雷達(dá)數(shù)據(jù)處理任務(wù)的提交及處理算法參數(shù)的選擇由鐵路路基狀態(tài)監(jiān)控軟件實(shí)現(xiàn),在客戶端上能夠查看、下載原始文件,將文件提交到服務(wù)器集群上執(zhí)行處理任務(wù),處理完成后能夠查看下載處理的結(jié)果。針對服務(wù)器集群的運(yùn)行狀態(tài)及任務(wù)提交執(zhí)行情況,建立Web監(jiān)控端,實(shí)時(shí)查看服務(wù)器集群上的資源利用情況及雷達(dá)數(shù)據(jù)處理情況。
探地雷達(dá)數(shù)據(jù)并行處理平臺中心服務(wù)器。中心服務(wù)器是整個(gè)平臺的核心,相當(dāng)于整個(gè)平臺的“管理者”,負(fù)責(zé)整個(gè)集群的作業(yè)控制和資源管理。中心服務(wù)器節(jié)點(diǎn)負(fù)責(zé)平臺作業(yè)的狀態(tài)監(jiān)控,及時(shí)發(fā)現(xiàn)集群服務(wù)器節(jié)點(diǎn)的異常并啟動相應(yīng)的容錯(cuò)機(jī)制。保存作業(yè)的運(yùn)行信息,用于作業(yè)調(diào)度時(shí)進(jìn)行任務(wù)選擇。不斷接收各個(gè)子服務(wù)器發(fā)來的子服務(wù)器資源量和任務(wù)執(zhí)行結(jié)果,綜合考慮整個(gè)集群的負(fù)載情況進(jìn)行資源管理。
數(shù)據(jù)處理集群子服務(wù)器。負(fù)責(zé)接收中心服務(wù)器發(fā)來的任務(wù)并進(jìn)行解析,主要包括任務(wù)的屬性信息和處理相關(guān)的參數(shù)信息。調(diào)用移植到處理集群的雷達(dá)數(shù)據(jù)處理程序,對探地雷達(dá)數(shù)據(jù)進(jìn)行解析處理,主要處理操作包括小波變化、背景去噪、二維濾波、卷積、自動增益等。
本節(jié)以作業(yè)的生命周期為軸線介紹探地雷達(dá)數(shù)據(jù)并行處理平臺的實(shí)現(xiàn)原理,分析1個(gè)作業(yè)的提交和執(zhí)行過程。該過程涉及并行處理平臺的各個(gè)組件,其中,探地雷達(dá)并行處理初始化過程比較簡單,為執(zhí)行后續(xù)作業(yè)準(zhǔn)備數(shù)據(jù)、參數(shù)及環(huán)境等。從用戶提交作業(yè)到作業(yè)執(zhí)行的主要過程分為6個(gè)步驟,如圖2所示。
圖2 探地雷達(dá)數(shù)據(jù)處理作業(yè)提交過程時(shí)序圖
步驟1用戶通過鐵路路基狀態(tài)監(jiān)控軟件的客戶端設(shè)置雷達(dá)數(shù)據(jù)處理參數(shù)并提交初始化任務(wù)至并行處理平臺中心服務(wù)器。
步驟2雷達(dá)數(shù)據(jù)處理中心服務(wù)器根據(jù)提交的任務(wù),生成任務(wù)配置參數(shù)XML文件,轉(zhuǎn)存至數(shù)據(jù)存儲陣列相應(yīng)目錄下保存。
步驟3雷達(dá)數(shù)據(jù)中心服務(wù)器根據(jù)選用的調(diào)度算法將數(shù)據(jù)處理任務(wù)分發(fā)到集群中相應(yīng)的子服務(wù)器。
步驟4雷達(dá)數(shù)據(jù)并行處理子服務(wù)器根據(jù)任務(wù)請求,從磁盤存儲陣列中讀取任務(wù)參數(shù)配置文件并讀取相應(yīng)的雷達(dá)數(shù)據(jù)文件到本地子服務(wù)器。
步驟5子服務(wù)器調(diào)用探地雷達(dá)數(shù)據(jù)處理算法執(zhí)行數(shù)據(jù)解析,將結(jié)果返回至中心服務(wù)器。
步驟6中心服務(wù)器對各子服務(wù)器任務(wù)處理結(jié)果匯總并返回至鐵路路基狀態(tài)監(jiān)控軟件客戶端。
探地雷達(dá)數(shù)據(jù)并行處理平臺采用總分式的架構(gòu)。中心服務(wù)器的并發(fā)能力將決定整個(gè)平臺的效率,所以中心服務(wù)器軟件的開發(fā)使用了多種提高并發(fā)處理能力的計(jì)算機(jī)技術(shù),主要包括線程池、事件驅(qū)動和Reactor設(shè)計(jì)模式。Reactor是并發(fā)編程中的一種基于事件驅(qū)動的設(shè)計(jì)模式[9]。它具有以下2個(gè)特點(diǎn):通過派發(fā)/分離IO操作事件提高系統(tǒng)的并發(fā)性能;提供粗粒度的并發(fā)控制,采用單線程實(shí)現(xiàn),避免了復(fù)雜的同步處理。
探地雷達(dá)數(shù)據(jù)處理任務(wù)在平臺中心服務(wù)器的處理流程如圖3所示。中心服務(wù)器接到用戶請求后,中心服務(wù)器端有1個(gè)監(jiān)聽程序(listener),監(jiān)聽客戶端的任務(wù)請求。一旦有新的任務(wù)到達(dá),它從輪詢的線程池中選擇1個(gè)監(jiān)聽線程(Reader)進(jìn)行處理。將所有任務(wù)請求封裝成實(shí)體請求(Request)存放到共享隊(duì)列中,通過共享隊(duì)列提高系統(tǒng)處理能力。多線程技術(shù)為每個(gè)用戶建1個(gè)處理線程(Handler),在處理線程中封裝該用戶的請求??紤]到當(dāng)函數(shù)返回結(jié)果過大或者網(wǎng)絡(luò)速度過慢時(shí)難以將結(jié)果一次性發(fā)送給客戶端,處理線程將嘗試把后續(xù)的任務(wù)交給集群子服務(wù)器任務(wù)處理結(jié)果匯總線程。此過程中每個(gè)任務(wù)更新1個(gè)狀態(tài)列表,記錄當(dāng)前任務(wù)的狀態(tài)。任務(wù)狀態(tài)分為3種:準(zhǔn)備,運(yùn)行和完成。當(dāng)從共享隊(duì)列中取得任務(wù)時(shí),任務(wù)初始狀態(tài)為準(zhǔn)備,當(dāng)中心服務(wù)器向子服務(wù)器發(fā)送執(zhí)行請求時(shí),進(jìn)入運(yùn)行狀態(tài)。當(dāng)子服務(wù)器返回任務(wù)完成信息時(shí),任務(wù)狀態(tài)置為完成。共享隊(duì)列中當(dāng)任務(wù)狀態(tài)為完成時(shí),將任務(wù)從隊(duì)列中移除,寫文件保存執(zhí)行狀態(tài)。處理線程(Handler)為隊(duì)列中的每個(gè)任務(wù)維護(hù)1個(gè)服務(wù)器任務(wù)列表,只有當(dāng)所有子任務(wù)都返回成功,該任務(wù)才置完成狀態(tài)。
圖3 探地雷達(dá)數(shù)據(jù)并行處理平臺中心服務(wù)器數(shù)據(jù)處理流程
鐵路路基狀態(tài)檢測雷達(dá)數(shù)據(jù)并行處理平臺采用Master/Slave架構(gòu),中心服務(wù)器負(fù)責(zé)平臺所有任務(wù)的分發(fā)和調(diào)度,而任務(wù)分配算法的好壞直接影響探地雷達(dá)數(shù)據(jù)并行處理平臺的執(zhí)行效率。因此本文的并行處理平臺采用基于服務(wù)器的負(fù)載的動態(tài)調(diào)度方法,通過心跳包實(shí)時(shí)返回子服務(wù)器負(fù)載情況,設(shè)置負(fù)載閾值,當(dāng)子服務(wù)器負(fù)載達(dá)到該閾值時(shí)則停止分配新的雷達(dá)數(shù)據(jù)處理任務(wù)給該服務(wù)器。集群服務(wù)器的負(fù)載均衡算法主要分為靜態(tài)算法和動態(tài)算法[10]。靜態(tài)分配算法簡單,設(shè)置方便,但是在實(shí)際應(yīng)用中,各節(jié)點(diǎn)計(jì)算機(jī)的配置、用戶連接數(shù)及用戶請求信息不確定,很難通過靜態(tài)負(fù)載均衡方案達(dá)到負(fù)載均衡。采用動態(tài)調(diào)度算法較靜態(tài)算法優(yōu)越,常用的動態(tài)調(diào)度算法為加權(quán)最小連接法。設(shè)N臺服務(wù)器的處理能力分別為C1,C2,…,Cn,各服務(wù)器的任務(wù)請求連接個(gè)數(shù)為R1,R2,…,Rn,服務(wù)器處理能力與當(dāng)前連接數(shù)比值為Wi=Ci/Ri,把當(dāng)前作業(yè)分配給Wi值最大的服務(wù)器。
根據(jù)探地雷達(dá)數(shù)據(jù)處理算法對服務(wù)節(jié)點(diǎn)性能的需求,綜合考慮服務(wù)器的性能參數(shù)(主要有CPU頻率P、內(nèi)存容量M及網(wǎng)絡(luò)速率N)計(jì)算服務(wù)器的處理能力,以保證各服務(wù)器能充分發(fā)揮其性能。計(jì)算式為
Ci=k1C(P)+k2C(M)+k3C(N)
(1)
式中:ki為各參數(shù)的加權(quán)系數(shù),根據(jù)探地雷達(dá)數(shù)據(jù)處理算法對各參數(shù)指標(biāo)的需求進(jìn)行設(shè)置。
各服務(wù)器的當(dāng)前真實(shí)負(fù)載Li按照式(2)計(jì)算。
Li=k1Li(P)+k2Li(M)+k3Li(N)
(2)
式中:Li(P)為服務(wù)器i的CPU占用率;Li(M)為服務(wù)器i的內(nèi)存使用率;Li(N)為服務(wù)器i的網(wǎng)絡(luò)帶寬占用率。
本文中加權(quán)系數(shù)k1=0.5,k2=0.3,k3=0.2。
服務(wù)器集群在初始化時(shí),設(shè)置1個(gè)服務(wù)器負(fù)載閾值Lmax;各服務(wù)器的處理能力Ci在加入集群時(shí)根據(jù)式(1)求得,當(dāng)前負(fù)載Li從開始每隔時(shí)間片T由式(2)求得并向中心服務(wù)器提交。當(dāng)有新的請求到達(dá)時(shí),根據(jù)Ci及Li計(jì)算服務(wù)器的權(quán)值Vi=Ci/Li;選取權(quán)值Vi最大的服務(wù)器分配任務(wù)請求。
探地雷達(dá)數(shù)據(jù)處理就是在強(qiáng)干擾背景下提取微弱有效反射信號的過程[11]。鐵路路基狀態(tài)檢測探地雷達(dá)數(shù)據(jù)并行處理平臺的主要目標(biāo)就是提高這些雷達(dá)數(shù)據(jù)處理算法的解析效率。高頻電磁波在均勻介質(zhì)傳播過程中呈指數(shù)規(guī)律衰減,衰減系數(shù)與介質(zhì)的電性參數(shù)和波的頻率有關(guān)。探地雷達(dá)數(shù)據(jù)處理算法的功能是抑制隨機(jī)的和規(guī)則的干擾,用最大可能的分辨率在探地雷達(dá)圖像剖面上顯示反射波,提取反射波中的有用信息幫助解釋病害信息。本節(jié)重點(diǎn)介紹卷積和自動增益算法在探地雷達(dá)并行處理平臺中的實(shí)現(xiàn)。
地層是由不同巖性和物理性質(zhì)的巖石組成,不同的物性介質(zhì)具有不同的波阻抗特性,在相鄰巖石之間的波阻抗差產(chǎn)生電磁波的反射,反射信號被接收天線所接收。這樣,所記錄的雷達(dá)信號可表示為1個(gè)卷積模型,即地層波阻抗差產(chǎn)生的脈沖響應(yīng)與雷達(dá)子波的卷積。
可以針對雷達(dá)記錄提出1個(gè)卷積模型。假定1個(gè)雷達(dá)子波向下垂直傳播,在4 ns雙程時(shí)碰見1個(gè)界面,此界面的反射系數(shù)為R1,反射的雷達(dá)子波被接收天線接收到,接收能量的大小由反射系數(shù)所決定。如果在多個(gè)雙程時(shí)都碰見界面,則雷達(dá)子波被多次反射。如果反射系數(shù)是負(fù)值,則子波反射相位與入射信號相位差π。
利用疊合原理,可以建立如下的雷達(dá)模型為
x(t)=w(t)*e(t)+n(t)
(3)
式中:x(t)表示雷達(dá)記錄;w(t)為雷達(dá)子波;e(t)為地層脈沖響應(yīng),即為反射系數(shù)序列;n(t)為隨機(jī)環(huán)境噪聲;*為卷積運(yùn)算。
自動增益的目的是使雷達(dá)剖面上各有效波的能量均衡,這種處理便于對有效波的追蹤,也利于弱信號的對比。自動增益依靠雷達(dá)記錄乘以隨時(shí)間變化的增益權(quán)函數(shù)實(shí)現(xiàn),即
(4)
對于能量大的反射信號,所乘的權(quán)因子應(yīng)該小;對于能量小的反射信號,所乘的權(quán)因子應(yīng)該大。為了使反射波的記錄不會發(fā)生失真,權(quán)函數(shù)因子隨時(shí)間的變化應(yīng)該比較緩慢。為了計(jì)算增益權(quán)函數(shù)P(t),首先將整個(gè)時(shí)間窗分割成若干個(gè)等時(shí)間的小窗口,利用小窗口的能量大小確定控制點(diǎn)的增益大小。
由參數(shù)控制點(diǎn)數(shù)確定時(shí)間窗的數(shù)量,在計(jì)算平均振幅時(shí),每2個(gè)相鄰時(shí)間窗之間要重疊半個(gè)時(shí)間窗。因此,根據(jù)控制點(diǎn)數(shù),需要計(jì)算的參數(shù)有時(shí)間窗長、時(shí)間窗的起始時(shí)間和終止時(shí)間。因此,第i個(gè)時(shí)間窗內(nèi)的平均振幅計(jì)算公式為
(5)
式中:z(t)為要處理的雷達(dá)采集的單道信號;Ti-1為第i個(gè)時(shí)窗的起始時(shí)間;Ti+1為第i個(gè)時(shí)窗的終止時(shí)間;Ny為第i個(gè)時(shí)窗的樣點(diǎn)數(shù);Ai為第i個(gè)時(shí)窗的平均振幅。
最后,把每個(gè)時(shí)窗的平均振幅對應(yīng)于各自的時(shí)窗中心作為控制點(diǎn)的增益參數(shù)存放起來。
加權(quán)函數(shù)為
(6)
式中:Pi為第i個(gè)時(shí)窗中心對應(yīng)的加權(quán)因子;S為用于調(diào)整處理后有效振幅大小的平衡系數(shù)。
對于那些非時(shí)窗中心各點(diǎn)的加權(quán)因子,可以利用相鄰2個(gè)時(shí)窗中心的加權(quán)因子線性內(nèi)插得到。
探地雷達(dá)數(shù)據(jù)并行處理平臺以并行方式運(yùn)行同一個(gè)探地雷達(dá)數(shù)據(jù)處理程序,它把1批任務(wù)分解成不連續(xù)的單元,保證任務(wù)在可用的處理單元之間進(jìn)行分配。傳統(tǒng)單機(jī)版雷達(dá)數(shù)據(jù)處理程序多為用VC++編寫的windows程序,本文平臺盡可能在原有雷達(dá)數(shù)據(jù)處理程序基礎(chǔ)上做較小改動,以減少雷達(dá)數(shù)據(jù)處理算法在并行處理過程中代碼移植的工作量。傳統(tǒng)的圖形化界面的處理程序被分割成2部分,一部分為圖形界面的參數(shù)設(shè)定,另一部分為集群子服務(wù)器的探地雷達(dá)數(shù)據(jù)處理程序。將傳統(tǒng)圖形界面程序的參數(shù)設(shè)定等操作移植到并行處理平臺的客戶端上。圖4展示了并行處理平臺客戶端自動增益處理的參數(shù)設(shè)置界面。用戶通過客戶端完成參數(shù)的設(shè)定,并將形成的XML配置文件提交給并行處理平臺的中心服務(wù)器。通過少量修改傳統(tǒng)單機(jī)版探地雷達(dá)數(shù)據(jù)處理程序,將代碼編寫成命令行調(diào)用程序,子服務(wù)器將參數(shù)配置文件的參數(shù)傳遞給命令行調(diào)用的雷達(dá)處理程序,并啟動探地雷達(dá)處理程序進(jìn)行探地雷達(dá)數(shù)據(jù)的解析。
圖4 探地雷達(dá)數(shù)據(jù)并行處理客戶端的參數(shù)設(shè)置界面
鐵路路基狀態(tài)檢測探地雷達(dá)數(shù)據(jù)并行處理平臺的實(shí)驗(yàn)環(huán)境為由9臺PowerEdge R720計(jì)算機(jī)組成的集群。計(jì)算機(jī)的CPU為Xeon E5-2620,內(nèi)存為16GB DDR3,硬盤大小為1 TB。實(shí)驗(yàn)數(shù)據(jù)為實(shí)地采集的10 GB鐵路路基狀態(tài)檢測雷達(dá)數(shù)據(jù)。探地雷達(dá)數(shù)據(jù)在采樣時(shí)進(jìn)行了切分,每個(gè)數(shù)據(jù)塊大小為100 MB左右。
為了比較本文介紹的探地雷達(dá)數(shù)據(jù)并行處理平臺與現(xiàn)有大數(shù)據(jù)處理平臺在處理探地雷達(dá)數(shù)據(jù)時(shí)效率上的差別,實(shí)驗(yàn)測試了本文并行處理平臺和基于Hadoop的探地雷達(dá)處理程序?qū)μ降乩走_(dá)數(shù)據(jù)進(jìn)行處理時(shí)的運(yùn)行時(shí)間、加速比[12]和可擴(kuò)展性。平臺分別對1 GB和10 GB的鐵路路基狀態(tài)檢測探地雷達(dá)數(shù)據(jù)進(jìn)行處理,探地雷達(dá)數(shù)據(jù)的處理時(shí)間為平臺環(huán)境和單機(jī)環(huán)境下5次實(shí)驗(yàn)用時(shí)的平均值。探地雷達(dá)數(shù)據(jù)的處理時(shí)間對比結(jié)果見表1。由表1可見:探地雷達(dá)數(shù)據(jù)并行處理平臺執(zhí)行卷積操作和增益操作時(shí)隨著集群處理節(jié)點(diǎn)(服務(wù)器)的增加,雷達(dá)數(shù)據(jù)處理時(shí)間相應(yīng)的減少;10 GB雷達(dá)數(shù)據(jù)用8節(jié)點(diǎn)的探地雷達(dá)數(shù)據(jù)并行處理平臺處理的效率比單機(jī)版軟件的處理效率提高553%,比Hadoop平臺縮短用時(shí)50%以上。
表1 不同數(shù)量計(jì)算機(jī)處理雷達(dá)數(shù)據(jù)的用時(shí)對比 s
加速比表示在任務(wù)量不變的情況下,依次增加計(jì)算節(jié)點(diǎn)數(shù)量后系統(tǒng)運(yùn)行時(shí)間的對比度變化。圖5為探地雷達(dá)數(shù)據(jù)并行處理平臺和Hadoop平臺處理雷達(dá)數(shù)據(jù)的加速比對比。由圖5可見,探地雷達(dá)數(shù)據(jù)并行處理平臺的處理效率和集群中計(jì)算機(jī)節(jié)點(diǎn)數(shù)目的關(guān)系密切。隨著計(jì)算機(jī)節(jié)點(diǎn)數(shù)目的增加,系統(tǒng)加速比不斷變大,處理效率也越高,有較理想的加速曲線;但隨著節(jié)點(diǎn)數(shù)目和任務(wù)數(shù)增加,計(jì)算節(jié)點(diǎn)間數(shù)據(jù)通信負(fù)擔(dān)也越大,并行處理平臺的加速比增速逐漸變緩。由于實(shí)驗(yàn)條件限制,未對通信負(fù)擔(dān)瓶頸進(jìn)行峰值評估。基于Hadoop的探地雷達(dá)數(shù)據(jù)處理方法隨著計(jì)算機(jī)節(jié)點(diǎn)數(shù)的增加也可以獲得較好的加速比,但其加速比低于探地雷達(dá)數(shù)據(jù)并行處理平臺,尤其是當(dāng)計(jì)算機(jī)節(jié)點(diǎn)數(shù)較少時(shí)其數(shù)據(jù)處理速度反而低于單機(jī)的處理速度,其主要原因是Hadoop平臺的通訊代價(jià)遠(yuǎn)大于探地雷達(dá)數(shù)據(jù)并行處理平臺。根據(jù)實(shí)驗(yàn)結(jié)果,探地雷達(dá)數(shù)據(jù)并行處理平臺能有效解決單機(jī)處理雷達(dá)數(shù)據(jù)時(shí)隨著數(shù)據(jù)量的增加執(zhí)行效率呈指數(shù)衰減的問題,相比傳統(tǒng)的探地雷達(dá)數(shù)據(jù)處理方法極大提高了鐵路路基狀態(tài)檢測探地雷達(dá)數(shù)據(jù)的處理效率。
圖5 探地雷達(dá)數(shù)據(jù)并行處理平臺的加速比對比
可擴(kuò)展性是系統(tǒng)可處理更大規(guī)模業(yè)務(wù)的性能指標(biāo)??蓴U(kuò)展性L被定義為給定程序的系統(tǒng)效率E與忽略了并行通信開銷的系統(tǒng)效率E′的比值,即
(7)
式中:T0為系統(tǒng)通信的時(shí)間開銷;T1為串行時(shí)的時(shí)間開銷;Tn為n個(gè)節(jié)點(diǎn)并行時(shí)的時(shí)間開銷。
系統(tǒng)的可擴(kuò)展性由系統(tǒng)通信的時(shí)間開銷和并行計(jì)算時(shí)間的比值決定。當(dāng)系統(tǒng)通信時(shí)間相對于總執(zhí)行時(shí)間較小時(shí),則說明該并行系統(tǒng)的可擴(kuò)展性較強(qiáng)。由于系統(tǒng)通信時(shí)間是并行系統(tǒng)可擴(kuò)展性的重要參數(shù),因此通過系統(tǒng)通信時(shí)間和總執(zhí)行時(shí)間測試并行系統(tǒng)的可擴(kuò)展性。
表2給出了對10 GB的探地雷達(dá)數(shù)據(jù)進(jìn)行各種數(shù)據(jù)處理操作時(shí)的總執(zhí)行時(shí)間和數(shù)據(jù)通信時(shí)間。由表2可見,進(jìn)行一維濾波、二維濾波和小波變換等雷達(dá)數(shù)據(jù)處理操作時(shí),通信時(shí)間和總執(zhí)行時(shí)間的比值低于1%。進(jìn)行背景去噪和增益變換等操作時(shí),通信時(shí)間和總執(zhí)行時(shí)間的比值偏高,這是由于背景去噪和增益變換操作復(fù)雜度低,總執(zhí)行時(shí)間過短造成的。隨著并行度的增加,系統(tǒng)通信時(shí)間有所增大,增加的通信時(shí)間為新增節(jié)點(diǎn)的通信時(shí)間。本文提出的探地雷達(dá)數(shù)據(jù)處理平臺計(jì)算機(jī)節(jié)點(diǎn)間的通信交互采用第3節(jié)中介紹的定制參數(shù)傳輸格式,以減少平臺節(jié)點(diǎn)間的通信時(shí)間。平臺的通信時(shí)間主要為雷達(dá)數(shù)據(jù)在節(jié)點(diǎn)間傳輸所消耗的時(shí)間,相比Hadoop等已有并行系統(tǒng),通信時(shí)間消耗增幅小[13]。平臺數(shù)據(jù)處理總執(zhí)行時(shí)間在并行度增加時(shí)降幅大于已有并行系統(tǒng),所以本文探地雷達(dá)并行處理平臺具有更好的可擴(kuò)展性。
表2 不同并行度的系統(tǒng)可擴(kuò)展性測試結(jié)果
為了測試探地雷達(dá)數(shù)據(jù)并行處理平臺的數(shù)據(jù)處理結(jié)果的準(zhǔn)確性,將并行處理平臺對雷達(dá)數(shù)據(jù)進(jìn)行二維濾波處理后的數(shù)據(jù)經(jīng)過Matlab仿真軟件進(jìn)行成圖顯示,如圖6所示。二維濾波器選擇切餅式濾波器,視速度1選為1,視速度2選為80,頻率選800 MHz。通過圖6中(b)和(c)的對比分析可知,由并行處理平臺得到的雷達(dá)數(shù)據(jù)處理結(jié)果和傳統(tǒng)單機(jī)版軟件的處理結(jié)果基本一致,二維濾波將有效信號和干擾信號在頻率和視速度上進(jìn)行區(qū)分,抑制了圖中橫向的道間水平信號,增強(qiáng)了視速度小的傾斜信號。經(jīng)過并行處理平臺濾波處理后的雷達(dá)波曲線同樣比較平滑,而且對有效雷達(dá)波進(jìn)行了增強(qiáng)顯示。
圖6 探地雷達(dá)數(shù)據(jù)經(jīng)二維濾波處理圖
圖7為探地雷達(dá)數(shù)據(jù)先經(jīng)過并行卷積處理后再進(jìn)行并行增益處理的實(shí)驗(yàn)效果圖。增益因子為線性增益at+bect,參數(shù)a取6.1,b取0.006,c取0.055。雷達(dá)波每條數(shù)據(jù)的采樣時(shí)間窗為200 ns,實(shí)驗(yàn)中增益控制點(diǎn)數(shù)選為10個(gè)。通過圖7中(a)和(b)的對比分析可知,采用本文的并行處理平臺對原始雷達(dá)波的干擾信號進(jìn)行有效去除的同時(shí),還對低頻漂移具有良好的抑制效果,有效提高了信號的分辨率。圖7(c)為平衡雷達(dá)有效波時(shí)能量均衡的增益效果。對能量大的反射信號乘以較小的權(quán)因子,對能量弱的反射信號乘以較大的權(quán)因子。進(jìn)行并行處理增益操作時(shí),通過對增益控制點(diǎn)的合理選擇,放大探地雷達(dá)波中的弱小信號,從而提高了雷達(dá)信號對不同介質(zhì)反射波的分辨能力。
圖7 雷達(dá)波先卷積后增益仿真示意圖
圖8為雷達(dá)數(shù)據(jù)并行處理平臺成像顯示的鐵路路基檢測雷達(dá)數(shù)據(jù)二維剖面圖,橫坐標(biāo)對應(yīng)測線位置,縱坐標(biāo)代表探測深度。圖中圓形標(biāo)注區(qū)域表示該區(qū)域鐵路路基局部含水量大,正方形標(biāo)注區(qū)域表示該區(qū)域鐵路路基基床下沉。局部含水量大在剖面圖中表現(xiàn)為低頻強(qiáng)振幅高能量反射,有時(shí)會出現(xiàn)多次反射現(xiàn)象,含水量越高,反射能量越強(qiáng)。基床下沉在圖中表現(xiàn)為基床表層反射的同相軸發(fā)生明顯彎曲下沉或同相軸中斷不連續(xù),如砟土混合較嚴(yán)重,其同相軸有缺失。
從圖8中可以看出,探地雷達(dá)數(shù)據(jù)經(jīng)過并行處理后其圖像較好地表現(xiàn)了不同介質(zhì)的回波反射數(shù)據(jù),成像邊界清晰,便于對鐵路路基病害的發(fā)現(xiàn)和標(biāo)識。
圖8 雷達(dá)數(shù)據(jù)解析剖面圖
(1)探地雷達(dá)數(shù)據(jù)并行處理平臺能高效濾波解析雷達(dá)數(shù)據(jù)。處理時(shí)間、并行化加速比和系統(tǒng)可擴(kuò)展性等性能指標(biāo)較傳統(tǒng)方法都有明顯的改善,其中8節(jié)點(diǎn)的探地雷達(dá)數(shù)據(jù)并行處理平臺的處理效率比平臺單機(jī)版數(shù)據(jù)處理軟件提高553%,探地雷達(dá)數(shù)據(jù)處理時(shí)間比基于Hadoop的平臺縮短50%以上,同時(shí)減少了大量的代碼移植工作,實(shí)現(xiàn)了鐵路路基狀態(tài)檢測中探地雷達(dá)的應(yīng)用由檢測技術(shù)向監(jiān)測技術(shù)轉(zhuǎn)變。
(2)探地雷達(dá)數(shù)據(jù)并行處理平臺可對雷達(dá)干擾信號進(jìn)行有效去除,放大探地雷達(dá)波中的弱小信號,提高了雷達(dá)信號對不同介質(zhì)反射波的分辨能力。探地雷達(dá)數(shù)據(jù)經(jīng)過并行處理后圖像較好地表現(xiàn)了不同介質(zhì)的雷達(dá)回波反射數(shù)據(jù),成像邊界清晰,便于鐵路路基病害的發(fā)現(xiàn)和標(biāo)識。
[1]劉杰. 鐵路路基含水狀態(tài)的探地雷達(dá)檢測方法研究[D]. 北京:中國礦業(yè)大學(xué)(北京), 2015.
(LIU Jie. Research of Ground Penetrating Radar Detection Method in Railway Subgrade Water Content Condition[D]. Beijing:China University of Mining & Technology,2015. in Chinese)
[2]郭秀軍, 韓宇, 孟慶生,等. 鐵路路基病害無損檢測車載探地雷達(dá)系統(tǒng)研制及應(yīng)用[J]. 中國鐵道科學(xué), 2006, 27(5):139-144.
(GUO Xiujun, HAN Yu, MENG Qingsheng, et al.Manufacture and Application of the On-Board Ground Penetrating Radar for Non-Invasive Inspection of Railway Subgrade Defects[J]. China Railway Science,2006,27(5):139-144. in Chinese)
[3]聶如松, 冷伍明, 楊奇. 既有重載鐵路路基檢測試驗(yàn)與狀態(tài)評估[J]. 鐵道工程學(xué)報(bào), 2014, 31(11):20-24.
(NIE Rusong, LENG Wuming, YANG Qi. Detection Test and Condition Assessment on Existing Heavy Haul Railway Subgrade[J]. Journal of Railway Engineering Society, 2014, 31(11):20-24. in Chinese)
[4]許獻(xiàn)磊. 車載探地雷達(dá)系統(tǒng)的開發(fā)及其應(yīng)用實(shí)驗(yàn)研究[D]. 北京:中國礦業(yè)大學(xué)(北京), 2013.
(XU Xianlei. Development of the Vehicle-Borne Ground Penetrating Radar System and Application Experimental Study [D]. Beijing:China University of Mining & Technology (Beijing), 2013. in Chinese)
[5]GHEMAWAT S, GOBIOFF H, LEUNG S T. The Google File System[C]//19th ACM Symposium on Operating Systems Review.New York: ACM, 2003: 29-43.
[6]DEAN J, GHEMAWAT S. MapReduce: Simplified Data Processing on Large Clusters[C]// 6th Symposium on Opearting Systems Design & Implementation. San Francisco:DBLP, 2004:137-150.
[7]CHANG F, DEAN J, GHEMAWAT S, et al. Bigtable: a Distributed Storage System for Structured Data[C]// 7th Usenix Symposium on Operating Systems Design & Implementation. Seattle:DBLP, 2006:205-218.
[8]趙彥榮, 王偉平, 孟丹,等. 基于Hadoop的高效連接查詢處理算法CHMJ[J]. 軟件學(xué)報(bào), 2012, 23(8):2032-2041.
(ZHAO Yanrong, WANG Weiping, MENG Dan,et al. Efficient Join Query Processing Algorithm CHMJ Based on Hadoop[J].Journal of Software,2012, 23(8):2032-2041. in Chinese)
[9]董西成. Hadoop技術(shù)內(nèi)幕:深入解析MapReduce架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)原理[M]. 北京:機(jī)械工業(yè)出版社, 2013.
(DONG Xicheng. Hadoop Internals: In-Depth Study of MapReduce[M]. Beijing:China Machine Press, 2013. in Chinese)
[10]楊際祥, 譚國真, 王榮生. 并行與分布式計(jì)算動態(tài)負(fù)載均衡策略綜述[J]. 電子學(xué)報(bào), 2010, 38(5): 1122-1130.
(YANG Jixiang, TAN Guozhen, WANG Rongsheng. A Survey of Dynamic Load Balancing Strategies for Parallel and Distributed Computing[J]. Chinese Journal of Electronics,2010, 38(5): 1122-1130. in Chinese)
[11]楊峰,彭蘇萍. 地質(zhì)雷達(dá)探測原理與方法研究[M]. 北京:科學(xué)出版社, 2010.
[12]李文石, 姚宗寶. 基于阿姆達(dá)爾定律和蘭特法則計(jì)算多核架構(gòu)的加速比[J]. 電子學(xué)報(bào), 2012, 40(2):230-234.
(LI Wenshi, YAO Zongbao. Multicore Architecture Speed up Computation Based on Amdahl’s Law and Rent’s Rule[J]. Chinese Journal of Electronics,2012, 40(2):230-234. in Chinese)
[13]周敏奇. Hadoop 權(quán)威指南[M]. 北京:清華大學(xué)出版社, 2011.
(ZHOU Minqi. Hadoop the Definitive Guide[M]. Beijing: Tsinghua University Press,2011.in Chinese)