李亞林 張洪群 李山山
1(中國(guó)科學(xué)院遙感與數(shù)字地球研究所 北京 100094)2(中國(guó)科學(xué)院大學(xué) 北京 100049)
?
數(shù)據(jù)分配策略優(yōu)化的全條帶遙感影像流水線并行處理
李亞林1,2張洪群1李山山1
1(中國(guó)科學(xué)院遙感與數(shù)字地球研究所 北京 100094)2(中國(guó)科學(xué)院大學(xué) 北京 100049)
如何快速處理大區(qū)域覆蓋的高分辨率全條帶遙感影像是遙感應(yīng)用急需解決的問題。提出分布式環(huán)境下全條帶遙感影像并行處理模型。該模型采用了數(shù)據(jù)并行和流水線并行兩級(jí)并行方法。首先綜合考慮遙感數(shù)據(jù)及其處理算法的特殊性和分布式環(huán)境的異構(gòu)性,提出一種新的數(shù)據(jù)分配策略,然后在計(jì)算節(jié)點(diǎn)引入流水線并行技術(shù)。實(shí)驗(yàn)結(jié)果顯示,該模型不僅可以靈活進(jìn)行復(fù)雜的數(shù)據(jù)處理,還能有效提高數(shù)據(jù)處理效率。在7個(gè)計(jì)算節(jié)點(diǎn)的環(huán)境下,相較于傳統(tǒng)的串行處理方法,可獲得24.32的加速比。
數(shù)據(jù)分配 全條帶遙感影像 流水線 并行處理
隨著遙感技術(shù)的飛速發(fā)展,傳感器的空間分辨率和光譜分辨率大幅提高。分辨率的提高導(dǎo)致單幅影像覆蓋的區(qū)域顯著減小,而以時(shí)空演變?yōu)樘卣鞯拇笠?guī)模環(huán)境檢測(cè)、重大自然災(zāi)害遙感監(jiān)測(cè)等遙感應(yīng)用迫切的需要實(shí)時(shí)或者近實(shí)時(shí)的大區(qū)域覆蓋的遙感影像數(shù)據(jù)。因此,大區(qū)域覆蓋的全條帶數(shù)據(jù)的快速處理成為遙感數(shù)據(jù)處理研究的重點(diǎn)。全條帶遙感影像的數(shù)據(jù)量龐大,以30 m分辨率的Landsat-8衛(wèi)星影像為例,其單個(gè)全條帶影像文件數(shù)據(jù)量最高可達(dá)35 GB。而且,由于遙感影像存在復(fù)雜的輻射和幾何畸變[1],其處理算法復(fù)雜度較高。傳統(tǒng)的單機(jī)處理方式耗時(shí)較多、效率較低,為了滿足數(shù)據(jù)近實(shí)時(shí)處理的需求,需要采用并行處理的方法來(lái)加快遙感數(shù)據(jù)的處理速度。
國(guó)內(nèi)外學(xué)者對(duì)分布式環(huán)境下的遙感影像并行處理方法進(jìn)行大量的研究。目前的研究主要從兩個(gè)方面入手,一種是針對(duì)特定的遙感算法研究并行的處理模型,另一種是研究遙感數(shù)據(jù)處理任務(wù)的調(diào)度模型。針對(duì)特定遙感算法研究并行處理模型的主要有蔣艷凰等[2]提出的并行幾何校正算法、劉義等[3]提出的遙感影像瓦片金字塔并行構(gòu)建算法和李先濤等[4]提出的圖像融合并行算法等。遙感數(shù)據(jù)的處理多為一系列算法的時(shí)序組合,以上模型難以滿足全條帶遙感影像的處理需求。針對(duì)調(diào)度模型的研究工作關(guān)注通過合理的調(diào)度來(lái)充分利用計(jì)算資源,進(jìn)而達(dá)到提高處理速度的目的。常用的任務(wù)輪轉(zhuǎn)法根據(jù)計(jì)算節(jié)點(diǎn)的需求進(jìn)行任務(wù)分配。朱澤民等[5]提出的基于QoS的調(diào)度算法通過建立多維QoS模型并利用蟻群算法實(shí)現(xiàn)任務(wù)的調(diào)度。付征葉等[6]提出基于優(yōu)先級(jí)的任務(wù)分配策略根據(jù)節(jié)點(diǎn)的負(fù)載和性能量化節(jié)點(diǎn)的優(yōu)先級(jí),并利用該優(yōu)先級(jí)進(jìn)行任務(wù)分配。然而這些分配策略忽略了遙感數(shù)據(jù)及其處理算法的特殊性,在應(yīng)用于全條帶遙感數(shù)據(jù)處理難以保證數(shù)據(jù)的處理效率及其通用型。
基于上述問題的考慮,本文提出一種全條帶數(shù)據(jù)處理模型。該模型采用兼顧不同遙感算法對(duì)數(shù)據(jù)完整性的要求和異構(gòu)環(huán)境下各節(jié)點(diǎn)的負(fù)載平衡的數(shù)據(jù)分配策略,并在計(jì)算節(jié)點(diǎn)使用流水線技術(shù),使之既能夠應(yīng)對(duì)可變的處理算法,又能最大限度發(fā)揮計(jì)算節(jié)點(diǎn)的計(jì)算能力。最后,本文選取Landsat-8的全條帶影像作為實(shí)驗(yàn)數(shù)據(jù)來(lái)驗(yàn)證本文并行處理模型的正確性及效率。
為了最大限度利用分布式系統(tǒng)的計(jì)算能力,以達(dá)到全條帶遙感數(shù)據(jù)近實(shí)時(shí)處理的目的,需要解決以下兩方面的問題。
(1) 合理數(shù)據(jù)分配:主要是解決如何對(duì)全條帶數(shù)據(jù)進(jìn)行分片,并調(diào)度到分布式系統(tǒng)中的計(jì)算節(jié)點(diǎn)上的問題。合理的數(shù)據(jù)分配應(yīng)滿足以下三個(gè)條件:① 數(shù)據(jù)完整性:由于全條帶遙感數(shù)據(jù)處理通常為一系列算法的時(shí)序組合,而且處理算法原理多樣,難以尋求一種適合于全部處理算法的數(shù)據(jù)劃分方法,需根據(jù)處理算法選擇合適的數(shù)據(jù)劃分方法以保證各算法的正確進(jìn)行;② 避免節(jié)點(diǎn)通信:分布式計(jì)算環(huán)境下各節(jié)點(diǎn)之間的通信極為耗時(shí),合理的數(shù)據(jù)劃分還應(yīng)該盡量避免計(jì)算節(jié)點(diǎn)之間的通信;③ 負(fù)載均衡:考慮到分布式計(jì)算環(huán)境下各個(gè)計(jì)算節(jié)點(diǎn)具有不同的計(jì)算能力,對(duì)同一計(jì)算任務(wù),不同的計(jì)算節(jié)點(diǎn)的耗時(shí)是不同,因此,在滿足以上兩個(gè)條件之外,還需考慮各個(gè)計(jì)算節(jié)點(diǎn)的性能對(duì)數(shù)據(jù)劃分的影像,防止出現(xiàn)“水桶效應(yīng)”導(dǎo)致全條帶影像處理時(shí)間大大增加[7]。
(2) 計(jì)算節(jié)點(diǎn)的優(yōu)化:主要包括兩方面的內(nèi)容:① 可擴(kuò)展性:由于遙感數(shù)據(jù)處理算法的多樣性,因此各計(jì)算節(jié)點(diǎn)應(yīng)能夠應(yīng)對(duì)可變的處理算法,進(jìn)而實(shí)現(xiàn)遙感影像的連續(xù)自動(dòng)處理;② 數(shù)據(jù)處理的高效性:在數(shù)據(jù)合理分配的基礎(chǔ)上,各計(jì)算節(jié)點(diǎn)的處理效率決定了全條帶數(shù)據(jù)的處理效率,因此,需設(shè)計(jì)合理的數(shù)據(jù)處理方法以最大限度發(fā)揮計(jì)算節(jié)點(diǎn)的計(jì)算能力。
針對(duì)上述問題,本文設(shè)計(jì)了如圖1所示的全條帶遙感影像并行處理模型。該模型采用兩級(jí)并行機(jī)制。第一級(jí)為數(shù)據(jù)并行,根據(jù)遙感處理算法對(duì)數(shù)據(jù)完整性的需求確定數(shù)據(jù)劃分的基準(zhǔn),綜合考慮分布式計(jì)算環(huán)境下計(jì)算節(jié)點(diǎn)的異構(gòu)性,確定數(shù)據(jù)分配策略,依據(jù)該策略將全條帶數(shù)據(jù)在空間上劃分成若干獨(dú)立的子圖;第二級(jí)為流水線并行,對(duì)按照數(shù)據(jù)劃分基準(zhǔn)對(duì)子圖進(jìn)行規(guī)則分塊,采用流水線的方式進(jìn)行并行處理,將遙感影像的各個(gè)處理算法看作是流水線中的一個(gè)階段,可以自由進(jìn)行組合,既能實(shí)現(xiàn)處理算法的可定制,又可以使計(jì)算節(jié)點(diǎn)的計(jì)算能力得到充分利用。
圖1 全條帶遙感影像并行處理模型
由第1節(jié)問題(1)的三個(gè)條件可知,合理的全條帶遙感數(shù)據(jù)分配主要受到遙感數(shù)據(jù)處理算法的約束和計(jì)算節(jié)點(diǎn)性能的約束。為了滿足多種遙感處理算法對(duì)數(shù)據(jù)完整性的要求,盡量避免節(jié)點(diǎn)通信,本文根據(jù)算法的原理對(duì)遙感數(shù)據(jù)處理算法進(jìn)行分類。根據(jù)處理算法的要求確定數(shù)據(jù)劃分的基本準(zhǔn)則,在數(shù)據(jù)劃分的基準(zhǔn)之上,本文對(duì)各個(gè)計(jì)算節(jié)點(diǎn)的性能進(jìn)行量化,并根據(jù)該量化指標(biāo)完成數(shù)據(jù)的分配。
2.1 遙感處理算法約束因子
高分辨率遙感數(shù)據(jù)的處理包括輻射校正處理和幾何校正處理兩部分[8]。遙感圖像的輻射校正主要是校正儀器和環(huán)境等因素導(dǎo)致的影像降質(zhì),幾何校正的目的是消除由于傳感器畸變、軌道姿態(tài)變化、地球曲率及旋轉(zhuǎn)導(dǎo)致的圖像變形,得到符合特定地圖投影的新影像。全條帶遙感影像的輻射和幾何校正由一系列的算法組合而成,可將這些算法分為三類[9,10]:點(diǎn)處理、線處理和域處理。
(1) 點(diǎn)處理PBA(pixel_based algorithm)算法只針對(duì)圖像中的單個(gè)像元,與周圍像元無(wú)關(guān),如輻射校正中的圖像噪點(diǎn)修復(fù)、輻射定標(biāo)針對(duì)這類算法,可以進(jìn)行任意形式的分割,但是為了方便影像的劃分及合并,一般采取規(guī)則分割的策略,如圖2(a);
(2) 線處理LBA(line_based algorithm)算法針對(duì)圖像中一行像元的所有像元,如輻射校正中的錯(cuò)誤行檢查,針對(duì)這類算法,將全條帶遙感影像劃分成若干水平條帶即可滿足數(shù)據(jù)的完整性要求和避免節(jié)點(diǎn)通信的要求,如圖2(b);
(3) 域處理RBA(region_based algorithm)算法不僅與待處理的像元有關(guān),還與待處理像元周圍的像元有關(guān),如輻射校正中的傳感器響應(yīng)歸一化處理和幾何校正中的重采樣處理; 這類算法會(huì)對(duì)遙感影像的邊界產(chǎn)生影響,為保證數(shù)據(jù)的完整性并避免處理器之間的通信,各處理器根據(jù)插值模板的大小在本地輸入的子圖像的邊界處冗余存儲(chǔ)若干行像元,這樣并行重采樣計(jì)算時(shí)各處理器所需的像元灰度值均保存在本地,整個(gè)計(jì)算工程無(wú)需通信,加快了并行處理的速度[11],如圖2(c)。
圖2 高分辨率全條帶影像不同算法對(duì)應(yīng)的影像劃分方法
為了滿足全條帶遙感影像的處理需求,需將多個(gè)處理算法按照數(shù)據(jù)流向的依賴順序組合,形成一系列的組合算法。在處理過程中,為保證計(jì)算節(jié)點(diǎn)中所有算法均能正確執(zhí)行,則必須滿足所有算法所需數(shù)據(jù)的完整性。因此,對(duì)三種類型的數(shù)據(jù)處理算法進(jìn)行優(yōu)先級(jí)評(píng)定,基于鄰域的處理優(yōu)先級(jí)最高,基于影像行的處理其次,基于像元的處理優(yōu)先級(jí)最低。根據(jù)任務(wù)中算法的種類,根據(jù)算法中優(yōu)先級(jí)最高的算法選擇長(zhǎng)條帶遙感影像的分割策略。假設(shè)S表示待處理的遙感影像,R表示處理得到的遙感影像,A表示處理算法的集合,region表示像元的鄰域, 和表示像元在遙感影像中的二維坐標(biāo),則可用式(1)表示數(shù)據(jù)的劃分方法:
(1)
2.2 計(jì)算節(jié)點(diǎn)性能約束因子
全條帶遙感影像的分塊策略除了受到處理算法的約束之外,還受到并行計(jì)算環(huán)境下各計(jì)算節(jié)點(diǎn)性能的約束。需考慮各計(jì)算節(jié)點(diǎn)性能的差異,以避免出現(xiàn)部分節(jié)點(diǎn)負(fù)載過大、部分節(jié)點(diǎn)零負(fù)載或輕負(fù)載的情況,使不同類型的計(jì)算節(jié)點(diǎn)相互協(xié)作,高效地完成生產(chǎn)任務(wù)。本文引入計(jì)算節(jié)點(diǎn)的性能函數(shù),根據(jù)該性能函數(shù)確定每個(gè)節(jié)點(diǎn)處理的數(shù)據(jù)量。
定義1節(jié)點(diǎn)的性能函數(shù):計(jì)算節(jié)點(diǎn)性能的評(píng)價(jià)指標(biāo),以節(jié)點(diǎn)完成特定數(shù)據(jù)量的遙感影像的時(shí)間作為衡量標(biāo)準(zhǔn)。節(jié)點(diǎn)的性能受到數(shù)據(jù)傳輸速度和節(jié)點(diǎn)計(jì)算能力兩個(gè)因素的影響。在分布式存儲(chǔ)系統(tǒng)中,根據(jù)遙感影像的特性對(duì)其進(jìn)行冗余存儲(chǔ)和分片存儲(chǔ),并通過合理的數(shù)據(jù)布局對(duì)數(shù)據(jù)傳輸進(jìn)行優(yōu)化,可以忽略數(shù)據(jù)分布對(duì)數(shù)據(jù)傳輸?shù)挠绊?,可認(rèn)為各計(jì)算節(jié)點(diǎn)的數(shù)據(jù)傳輸時(shí)間消耗由傳輸數(shù)據(jù)量和網(wǎng)絡(luò)帶寬決定[12]。Esper[13]公布的數(shù)據(jù)表明,CPU是影響數(shù)據(jù)處理性能的關(guān)鍵,因此,本文采用每秒浮點(diǎn)運(yùn)算次數(shù)(TFLOPS)來(lái)表征計(jì)算節(jié)點(diǎn)的計(jì)算能力。節(jié)點(diǎn)性能函數(shù)如式(2)所示:
(2)
式中,D表示待處理的數(shù)據(jù)量;TFLOPSi表示節(jié)點(diǎn)i的每秒浮點(diǎn)運(yùn)算次數(shù);B表示從分布式文件系統(tǒng)到計(jì)算節(jié)點(diǎn)的網(wǎng)絡(luò)帶寬,α與β表示網(wǎng)絡(luò)帶寬和節(jié)點(diǎn)計(jì)算能力對(duì)節(jié)點(diǎn)性能的影響程度,由遙感數(shù)據(jù)密集指數(shù)來(lái)確定[14]。α與β之和為1;Ci表示節(jié)點(diǎn)i算法的復(fù)雜度。全條帶數(shù)據(jù)處理中各算法的復(fù)雜度如表1所示。
表1 全條帶數(shù)據(jù)處理中各算法的復(fù)雜度
在計(jì)算節(jié)點(diǎn)處理算法復(fù)雜度的時(shí)候同樣需要考慮算法組合的影像。假設(shè)節(jié)點(diǎn)i的數(shù)據(jù)需要經(jīng)過j個(gè)算法的處理,則節(jié)點(diǎn)i的算法復(fù)雜度Ci可由式(3)確定:
Ci=Max{Ci(A1),Ci(A1),…,Ci(Aj)}
(3)
2.3 全條帶數(shù)據(jù)的分配
為了充分分離計(jì)算和存儲(chǔ)資源,使計(jì)算節(jié)點(diǎn)專注于數(shù)據(jù)的處理,存儲(chǔ)服務(wù)器專注于數(shù)據(jù)的存儲(chǔ)和分發(fā),本系統(tǒng)采用Lustre文件系統(tǒng)。Lustre是透明的全局文件系統(tǒng),計(jì)算節(jié)點(diǎn)上的客戶端可以根據(jù)分配的任務(wù)透明地獲取文件系統(tǒng)中的數(shù)據(jù),而不需要考慮其實(shí)際存放的位置。存儲(chǔ)服務(wù)器負(fù)責(zé)實(shí)際文件系統(tǒng)的讀寫操作以及存儲(chǔ)設(shè)備的連接,元數(shù)據(jù)服務(wù)器完成文件系統(tǒng)的目錄結(jié)構(gòu)、文件權(quán)限和文件擴(kuò)展屬性的管理以及維護(hù)整個(gè)文件系統(tǒng)的數(shù)據(jù)一致性和響應(yīng)客戶端的請(qǐng)求。Lustre文件系統(tǒng)對(duì)大數(shù)據(jù)讀寫做了優(yōu)化,在全條帶遙感數(shù)據(jù)處理中,可以提供高性能的I/O吞吐率,減小了文件I/O對(duì)系統(tǒng)效率的影響。Lustre文件系統(tǒng)的架構(gòu)如圖3所示。
圖3 Lustre文件系統(tǒng)架構(gòu)圖
在數(shù)據(jù)分配過程中,首先根據(jù)遙感處理算法約束因子和計(jì)算節(jié)點(diǎn)性能約束因子確定分配策略,然后各計(jì)算節(jié)點(diǎn)內(nèi)的Lustre客戶端并行地從Lustre服務(wù)端中讀取其需要處理的數(shù)據(jù)。其具體過程如下:
步驟1啟動(dòng)任務(wù)調(diào)度服務(wù)器,接收計(jì)算節(jié)點(diǎn)的注冊(cè)信息,并根據(jù)遙感算法的特殊性,計(jì)算各計(jì)算節(jié)點(diǎn)的計(jì)算量。
步驟2將計(jì)算量信息發(fā)送給各計(jì)算節(jié)點(diǎn)。
步驟3各計(jì)算節(jié)點(diǎn)從MDS中讀取待處理數(shù)據(jù)的元數(shù)據(jù)信息。
步驟4各計(jì)算節(jié)點(diǎn)從OSS中讀取其需要處理的數(shù)據(jù)。
全條帶遙感數(shù)據(jù)的處理可以分為若干個(gè)步驟,各步驟之間存在單向的數(shù)據(jù)依賴關(guān)系,且沒有反饋或者迭代處理。因此,采用流水線并行技術(shù)以滿足第1節(jié)問題(2)提出的可擴(kuò)展性的要求,并通過優(yōu)化流水線的調(diào)度充分利用節(jié)點(diǎn)的計(jì)算資源以滿足問題(2)提出的數(shù)據(jù)處理高效性的要求。而且,在流水線數(shù)據(jù)處理中,各計(jì)算節(jié)點(diǎn)不需要等到該節(jié)點(diǎn)所有的數(shù)據(jù)全部傳輸完畢再進(jìn)行數(shù)據(jù)處理,而是當(dāng)數(shù)據(jù)達(dá)到一定數(shù)量后即開始進(jìn)行處理,可以減少數(shù)據(jù)I/O的等待時(shí)間。
在流水線處理中,將遙感影像處理看作是一個(gè)順序執(zhí)行的處理鏈。處理鏈中的算法為流水線的各個(gè)階段,將分塊的數(shù)據(jù)以數(shù)據(jù)流的形式從流水線的起點(diǎn)連續(xù)輸入,上一階段將處理后的數(shù)據(jù)傳入下一階段繼續(xù)進(jìn)行其他處理,各自獨(dú)立完成處理任務(wù)。當(dāng)全條帶遙感影像應(yīng)用目的不同時(shí),根據(jù)其應(yīng)用需求從遙感算法集中選取合適的遙感算法構(gòu)成數(shù)據(jù)處理鏈,并在流水線處理中進(jìn)行的階段組合即可適應(yīng)新的處理需求,進(jìn)而達(dá)到算法可定制的目標(biāo)[15]。流水線的設(shè)計(jì)示意圖見圖4所示。
圖4 流水線的設(shè)計(jì)示意圖
流水線中的各個(gè)操作以重疊方式執(zhí)行,而且由于計(jì)算節(jié)點(diǎn)一般都是多核心的,流水線處理可以使得所有的處理核心一起工作,最大限度提高了CPU的利用率,提高整個(gè)數(shù)據(jù)的處理效率。但在遙感數(shù)據(jù)處理中,各處理算法的時(shí)間復(fù)雜度并不完全相同,這導(dǎo)致流水線中各個(gè)階段的處理速率不盡相同。因此,不能直接將前一階段的處理結(jié)果直接送入下一階段進(jìn)行處理,各個(gè)步驟之間需要一定的緩存。本文在各處理階段之間加入緩沖區(qū)來(lái)平衡兩個(gè)處理階段吞吐率的差異,并通過線程調(diào)度,即在流水線處理中調(diào)整各階段的資源占用以充分利用計(jì)算資源,來(lái)盡量減少吞吐率差異。
定義2階段過載:流水線處理中某個(gè)階段的數(shù)據(jù)處理速度低于數(shù)據(jù)的到達(dá)速度,則稱此階段過載。
在流水線處理中,當(dāng)某個(gè)階段過載時(shí),可通過階段內(nèi)控制器,增加該階段的線程數(shù)來(lái)提高CPU的利用率,進(jìn)而提高該階段的數(shù)據(jù)處理速率。但是,當(dāng)CPU的利用率達(dá)到一定程度之后,如果繼續(xù)增加處理線程,則會(huì)造成由于頻繁的線程切換導(dǎo)致系統(tǒng)開銷增加,處理速度降低。Welsh等[16]指出,當(dāng)CPU的利用率低于75%時(shí),線程切換的開銷呈線性增長(zhǎng),大于75%時(shí)則呈指數(shù)級(jí)增長(zhǎng)。為減少多線程的開銷,將75%作為線程總量的上限,當(dāng)CPU利用率小于75%時(shí),通過階段內(nèi)控制器增加過載階段的線程數(shù);當(dāng)大于75%時(shí),通過階段見控制器,移動(dòng)部分非過載階段的線程到過載階段,以保證整個(gè)數(shù)據(jù)處理流程能夠高速進(jìn)行。計(jì)算節(jié)點(diǎn)流水線調(diào)度優(yōu)化示意如圖5所示。
圖5 計(jì)算節(jié)點(diǎn)流水線調(diào)度優(yōu)化示意圖
4.1 實(shí)驗(yàn)環(huán)境
為驗(yàn)證本文提出的長(zhǎng)條帶數(shù)據(jù)處理方法的正確性及高效性,選取2014年7月30日獲取的LANDSAT-8全條帶數(shù)據(jù)作為實(shí)驗(yàn)數(shù)據(jù)。該全條帶數(shù)據(jù)數(shù)據(jù)量為35 GB,遙感影像覆蓋從內(nèi)蒙古到廣西的區(qū)域。
實(shí)驗(yàn)在由10個(gè)節(jié)點(diǎn)構(gòu)成的集群下進(jìn)行:管理節(jié)點(diǎn)為:2× Intel Xeon E5 4610,2.4 GHz,16 GB內(nèi)存,600 GB熱插拔SAS硬盤,計(jì)算節(jié)點(diǎn)有三種配置,如表2所示。存儲(chǔ)系統(tǒng)為L(zhǎng)ustre文件系統(tǒng),軟件環(huán)境為CENTOS 6.5。
表2 硬件及軟件測(cè)試環(huán)境
4.2 正確性驗(yàn)證
本文對(duì)實(shí)驗(yàn)數(shù)據(jù)進(jìn)行輻射和系統(tǒng)級(jí)幾何校正,該處理為遙感影像處理的廣泛應(yīng)用,具有代表性。同時(shí)該處理包含了幾類遙感算法,能夠清楚地驗(yàn)證本文影像處理的正確性,其處理過程主要包括:影像噪點(diǎn)的去除、輻射定標(biāo)、輻射歸一化和系統(tǒng)級(jí)幾何校正。
實(shí)驗(yàn)數(shù)據(jù)處理前后的影像如圖6所示,由(b)可以看出,處理后的遙感影像并沒有缺失或者存在未處理的情況,證明數(shù)據(jù)分塊正確,所有的數(shù)據(jù)都得到了處理。且由(c)與(d)的對(duì)比可以看出,遙感影像的噪點(diǎn)、條帶噪聲等都得到了消除,證明所有的處理步驟都得到正確的執(zhí)行。
圖6 處理前后的長(zhǎng)條帶影像對(duì)比圖
此外,幾何校正之后幾何定位的誤差圖如圖7所示,長(zhǎng)條帶結(jié)果的最大誤差為80.7 m,最小誤差為28.8 m,平均誤差為59.8 m。幾何校正后的全條帶遙感影像的誤差達(dá)到了系統(tǒng)級(jí)幾何校正的精度要求,且?guī)缀握`差分布均勻,證明幾何校正得到了正確的執(zhí)行。
圖7 處理后的長(zhǎng)條帶影像定位誤差圖
上述兩點(diǎn)可以證明,全條帶遙感影像的各個(gè)處理得到正確執(zhí)行,證明本文方法的正確性。
4.3 效率驗(yàn)證
為了驗(yàn)證本文方法的效率,本文從數(shù)據(jù)分配策略效果、流水線處理加速效果和總體處理效率三個(gè)方面進(jìn)行分析。
4.3.1 數(shù)據(jù)劃分策略效率分析
在7個(gè)計(jì)算節(jié)點(diǎn)的分布式環(huán)境中,分別采用常用的輪詢的方法和本文的數(shù)據(jù)分配策略將全條帶數(shù)據(jù)分發(fā)到各計(jì)算節(jié)點(diǎn),各計(jì)算計(jì)算節(jié)點(diǎn)串行執(zhí)行接收到的數(shù)據(jù)。統(tǒng)計(jì)各個(gè)節(jié)點(diǎn)完成數(shù)據(jù)處理所消耗的時(shí)間如圖8所示。
圖8 各節(jié)點(diǎn)處理消耗的時(shí)間
由于傳統(tǒng)的輪詢方法只是簡(jiǎn)單地將任務(wù)分發(fā)給各個(gè)計(jì)算節(jié)點(diǎn),未考慮到處理算法導(dǎo)致的計(jì)算節(jié)點(diǎn)間的通信以及各計(jì)算節(jié)點(diǎn)的計(jì)算能力。因此,圖8中存在個(gè)別節(jié)點(diǎn)處理時(shí)間較長(zhǎng)的情況,嚴(yán)重影響全條帶數(shù)據(jù)的處理速度。本文方法則綜合考慮處理算法的特殊性和各計(jì)算節(jié)點(diǎn)計(jì)算能力的差異,在盡量避免節(jié)點(diǎn)間通信的前提下,按照各計(jì)算節(jié)點(diǎn)的計(jì)算能力向其分發(fā)數(shù)據(jù)。因此,本文方法的各個(gè)節(jié)點(diǎn)的運(yùn)行時(shí)間基本相同,進(jìn)而保證整個(gè)全條帶數(shù)據(jù)處理任務(wù)能快速完成。
4.3.2 流水線并行效率分析
選取一個(gè)計(jì)算節(jié)點(diǎn),向其分發(fā)4 GB的數(shù)據(jù),統(tǒng)計(jì)流水線并行處理方法和傳統(tǒng)的串行處理方法完成數(shù)據(jù)處理任務(wù)所消耗的時(shí)間如表3所示。
表3 流水線并行和串行方法處理4 GB數(shù)據(jù)消耗的時(shí)間
由表3可以看出,采用流水線并行可顯著的減少數(shù)據(jù)處理消耗的時(shí)間。這是因?yàn)閮煞矫娴脑颍?) 流水線處理不必等待所有的數(shù)據(jù)都分發(fā)到節(jié)點(diǎn)上再進(jìn)行處理,減少了數(shù)據(jù)I/O時(shí)間;2) 各處理流程的并行化,充分的利用了節(jié)點(diǎn)的計(jì)算能力。
4.3.3 系統(tǒng)整體處理效率分析
對(duì)全條帶遙感數(shù)據(jù)分別使用本文方法和傳統(tǒng)的單機(jī)串行方法進(jìn)行處理,通過對(duì)比兩種方法消耗的時(shí)間來(lái)測(cè)試本文方法的整體性能。本文方法的運(yùn)行時(shí)間及相較于傳統(tǒng)方法獲得的加速比如表4所示。
表4 計(jì)算節(jié)點(diǎn)數(shù)目對(duì)處理性能的影響
由表4和圖9可以看出,本文方法相較于傳統(tǒng)方法,處理效率顯著提高,且隨著參與全條帶數(shù)據(jù)處理的計(jì)算節(jié)點(diǎn)數(shù)目的增加,處理時(shí)間大大減少,加速比不斷增加,這說明本文提出的并行全條帶數(shù)據(jù)處理方法能夠有效提高數(shù)據(jù)處理速度。
圖9 本文方法在不同數(shù)目計(jì)算節(jié)點(diǎn)下獲得的加速比
本文提出的分布式環(huán)境下的全條帶數(shù)據(jù)處理模型,采用兼顧不同遙感算法對(duì)數(shù)據(jù)完整性的要求和異構(gòu)環(huán)境下各節(jié)點(diǎn)的負(fù)載平衡數(shù)據(jù)分配策略 ,并在計(jì)算節(jié)點(diǎn)使用流水線技術(shù)。本模型有以下特點(diǎn):1)數(shù)據(jù)分配策略兼顧遙感數(shù)據(jù)及處理算法的特點(diǎn)和分布式環(huán)境的特點(diǎn),在保證數(shù)據(jù)處理正確進(jìn)行的前提下,有效減少了節(jié)點(diǎn)的通信,提高了數(shù)據(jù)的處理效率。2)在節(jié)點(diǎn)采用流水線技術(shù)使計(jì)算節(jié)點(diǎn)能夠應(yīng)對(duì)可變的處理算法,并通過線程調(diào)優(yōu)等方法最大限度地發(fā)揮計(jì)算節(jié)點(diǎn)的計(jì)算能力。實(shí)驗(yàn)結(jié)果表明,本文模型能夠快速有效地完成全條帶遙感影像的處理,在7個(gè)計(jì)算節(jié)點(diǎn)的環(huán)境下可獲得24.32的加速比。下一步將重點(diǎn)研究本模型在更大規(guī)模分布式計(jì)算環(huán)境下,針對(duì)國(guó)內(nèi)外不同遙感影像的適用性,從而加以推廣和改進(jìn)。
[1] 周海芳.遙感圖像并行處理算法的研究與應(yīng)用[D].國(guó)防科學(xué)技術(shù)大學(xué),2003.
[2] 蔣艷凰,楊學(xué)軍,易會(huì)戰(zhàn).衛(wèi)星遙感圖像并行幾何校正算法研究[J].計(jì)算機(jī)學(xué)報(bào),2004,27(7):944-951.
[3] 劉義,陳犖,景寧,等.利用MapReduce進(jìn)行批量遙感影像瓦片金字塔構(gòu)建[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2013,38(3):278-282.
[4] 李先濤,曾志,張豐,等.基于集群的海洋遙感圖像融合并行計(jì)算策略[J].計(jì)算機(jī)應(yīng)用與軟件,2012,29(1):84-87.
[5] 朱澤民,張青.基于多維QoS和云計(jì)算的資源負(fù)載均衡調(diào)度研究[J].計(jì)算機(jī)測(cè)量與控制,2013,21(1):263-265,281.
[6] 付征葉,凡高娟,王俊嶺.遙感影像并行處理中基于優(yōu)先級(jí)的任務(wù)分配策略[J].計(jì)算機(jī)工程,2014,40(2):48-51,57.
[7] 李軍,李德仁.分布式遙感圖像處理中的若干關(guān)鍵技術(shù)[J].武漢測(cè)繪科技大學(xué)學(xué)報(bào),1999,24(1):15-19.
[8] 李德仁,童慶禧,李榮興,等.高分辨率對(duì)地觀測(cè)的若干前沿科學(xué)問題[J].中國(guó)科學(xué):地球科學(xué),2012,42(6):805-813.
[9] 黃國(guó)滿,郭建峰.分布式并行遙感圖像處理中的數(shù)據(jù)劃分[J].遙感信息,2001,6(2):9-12.
[10] 沈占鋒,駱劍承,陳秋曉,等.高分辨率遙感影像并行處理數(shù)據(jù)分配策略研究[J].哈爾濱工業(yè)大學(xué)學(xué)報(bào),2006,38(11):1968-1971,1976.
[11] Ma Y,Wang L,Liu D,et al.Distributed data structure templates for data-intensive remote sensing applications[J].Concurrency and Computation:Practice and Experience,2013,25(12):1784-1797.
[12] 宋杰,李甜甜,閆振興,等.數(shù)據(jù)密集型計(jì)算中負(fù)載均衡的數(shù)據(jù)布局方法[J].北京郵電大學(xué)學(xué)報(bào),2013,36(4):76-80.
[13] Motwani R,Widom J,Arasu A,et al.Query processing, resource management,and approximation in a data stream management system[C]//IEEE VLSI Test Symposium,2003:245-256.
[14] Ma Y,Wang L,Liu P,et al.Towards building a data-intensive index for big data computing-A case study of Remote Sensing data processing[J].Information Sciences,2015,319:171-188.
[15] 翟曉芳,龔健雅,肖志峰,等.利用流水線技術(shù)的遙感影像并行處理[J].武漢大學(xué)學(xué)報(bào):信息科學(xué)版,2011,36(12):1430-1433.
[16] Welsh M,Culler D,Brewer E.SEDA:an architecture for well-conditioned,scalable internet services[C]//ACM SIGOPS Operating Systems Review. ACM,2001,35(5):230-243.
PARALLEL PROCESSING OF LONG STRIP REMOTE SENSING IMAGE BASED ON PIPELINE WITH DATA DISTRIBUTION STRATEGY OPTIMISATION
Li Yalin1,2Zhang Hongqun1Li Shanshan1
1(InstituteofRemoteSensingandDigitalEarth,ChineseAcademyofSciences,Beijing100094,China)2(UniversityofChineseAcademyofSciences,Beijing100049,China)
How to quickly process huge area-covering and high-resolution long strip remote sensing image is the problem of remote sensing application to be urgently resolved. Aiming at this problem, this paper proposes a parallel processing model for long strip image in distributed environment. The model adopts two-stage parallel approach with data parallel and pipeline parallel. First, we propose a new data distribution strategy by comprehensively considering the particularity of remote sensing data as well as its processing algorithm and the heterogeneous nature of distributed environment; then we introduce pipeline parallel technology to each computing node. Experimental results show that the model can flexibly carry out complicated data processing, it can effectively improve the efficiency of data processing as well. Under the condition of 7 computation nodes, it is able to acquire the speedup of 24.32 compared with traditional serial processing method.
Data distribution Long strip remote sensing image Pipeline Parallel processing
2015-03-02。國(guó)家自然科學(xué)基金項(xiàng)目(41301383)。李亞林,碩士,主研領(lǐng)域:遙感數(shù)據(jù)處理相關(guān)研究。張洪群,教授級(jí)高工。李山山,副研究員。
TP751
A
10.3969/j.issn.1000-386x.2016.11.028