【論文筆記】Recent Developments in Parallel and Distributed Computing for Remotely Sensed Big Data Proc...

題目:用于遙感大數(shù)據(jù)處理的并行和分布式計算的最新進展

摘要

本文對處理遙感大數(shù)據(jù)的最先進方法進行了調(diào)查,并深入研究了各種流行的高性能計算平臺上現(xiàn)有的并行實現(xiàn)。這些方法的優(yōu)缺點在功能、可擴展性、可靠性和易用性方面進行了討論。在現(xiàn)有的分布式計算平臺中,云計算由于其先進的高性能和面向服務的計算能力,是目前對遙感大數(shù)據(jù)進行高效、可擴展處理最有前途的解決方案。我們進一步深入分析了尋求利用遙感大數(shù)據(jù)分布式處理的并行性的最先進的云實現(xiàn)。特別是,我們研究了一系列調(diào)度算法(GS),旨在以優(yōu)化的方式在多個云計算資源之間分配計算負載。我們對不同的 GS 進行徹底審查,并揭示在遙感大數(shù)據(jù)處理流程中采用調(diào)度策略充分利用并行性的重要性。我們提出了一個關于大規(guī)模遙感數(shù)據(jù)集的案例研究,以評估并行和分布式方法和算法。評估結果證明了云計算在處理遙感大數(shù)據(jù)方面的先進能力以及通過采用調(diào)度策略獲得的計算效率的提高。

關鍵詞

大數(shù)據(jù);云計算;并行和分布式處理;遙感;任務調(diào)度。

一. 介紹

遙感技術是一種利用機載或星載傳感器從場景中收集信息的技術,已廣泛應用于與地球觀測和空間探索[1]–[4]相關的各種應用領域,包括資源利用、環(huán)境監(jiān)測、地質(zhì)勘探、農(nóng)業(yè)生產(chǎn)、城市規(guī)劃等。除了與地球科學相關的社區(qū)外,遙感還與許多其他研究社區(qū)相關,并從中受益[5]–[8],如航空航天、天線和傳播以及傳感器社區(qū)。近年來,將高性能計算(HPC)和通信體系結構納入地球觀測系統(tǒng)已經(jīng)與遙感界建立了重要的協(xié)同作用[9],[10]。從本質(zhì)上講,遙感可以被視為多學科科學和工程的主題,以有效地解決宏觀觀測問題。

在過去的十年中,地球觀測儀器有了長足的發(fā)展??捎脗鞲衅鞯臄?shù)量顯著增加,它們的應用更加廣泛,例如,除了更傳統(tǒng)的環(huán)境監(jiān)測和土地使用方法 [11]、[12] 之外,通過在谷歌地圖和社交媒體應用程序中使用的遙感數(shù)據(jù).隨著遙感技術和平臺的快速發(fā)展,包括無人機(UAV)、無人機、飛機以及機載和星載地球觀測儀器,具有更高光譜、空間和時間分辨率以及多種結構的遙感數(shù)據(jù)量越來越大。傳感系統(tǒng)正在以極快的速度增長。例如,美國國家航空航天局 (NASA) 的機載可見紅外成像光譜儀 (AVIRIS) [13] 可以生成大規(guī)模高光譜數(shù)據(jù)集,其大小通常超過數(shù) GB,數(shù)據(jù)收集率為 2.55 MB /秒。 2019 年,從歐洲航天局 (ESA) Sentinel-1、Sentinel-2 和 Sentinel-3 軌道中提取的多時相圖像數(shù)量已達到 PB 級 [14]。正如 NASA 地球科學數(shù)據(jù)系統(tǒng) (ESDS) 計劃 [15] 所報告的,2018 年和 2020 年遙感數(shù)據(jù)進入地球觀測系統(tǒng)數(shù)據(jù)和信息系統(tǒng) (EOSDIS) [16]、[17] 數(shù)據(jù)存檔的年增長率為 5.2 PB預計到 2022 年將增加到 47.7 PB。根據(jù)這種數(shù)據(jù)攝取率,到 2025 年,EOSDIS 存檔中的數(shù)據(jù)量預計將增長到 246 PB 以上。

遙感數(shù)據(jù)的爆炸式增長對及時高效處理以支持多種遙感應用提出了嚴峻挑戰(zhàn)[18]-[21]??紤]到它們的高容量和快速生成速度,遙感數(shù)據(jù)的處理自然成為一個大數(shù)據(jù)問題[22]-[24]。另一方面,深度學習技術以分層的方式從數(shù)據(jù)中學習代表性和判別性特征,最近在遙感應用中被積極采用,如圖像預處理、基于像素的分類、語義特征提取和場景理解[25]-[30]。根據(jù)這一趨勢,大規(guī)模遙感數(shù)據(jù)集的處理不僅需要應對與巨大的存儲和計算需求相關的高數(shù)據(jù)量和速度,還需要應對遙感圖像解釋算法的多樣性和復雜性。挑戰(zhàn)在于數(shù)據(jù)存儲、管理、處理、分析以及當今遙感應用整個流程中的幾乎每一個階段。

貢獻:本文對處理遙感大數(shù)據(jù)的最先進方法進行了調(diào)查,并徹底研究了基于眾所周知的 HPC 技術的現(xiàn)有分布式和并行方法,例如圖形處理單元 (GPU)、現(xiàn)場可編程 門陣列(FPGA)和云計算。 通過這些方法在多個方面的比較,包括易用性、能力、可擴展性、和可靠性,討論它們的優(yōu)缺點,并得出結論。 我們得出的結論是,云計算由于其與高性能和面向服務的計算相關的先進功能,為遙感大數(shù)據(jù)的高效和可擴展處理提供了一種自然的解決方案。

出于這個原因,我們對利用云計算平臺上分布式處理的并行性進行全面調(diào)查,同時解決與數(shù)據(jù)存儲和工作負載分配相關的問題。更重要的是,為了在多個計算資源上有效地分配遙感應用程序的數(shù)據(jù)工作量,我們研究了一系列調(diào)度算法(GS),以提高云系統(tǒng)在處理大規(guī)模遙感數(shù)據(jù)集時的效率。我們對不同的 GS 進行了簡要回顧,根據(jù)它們的優(yōu)化方案對其進行了分類,并揭示了在遙感大數(shù)據(jù)處理流程中采用調(diào)度策略來充分利用并行性的重要性。

特別是,我們提出了一個關于大規(guī)模遙感數(shù)據(jù)集的案例研究,以展示處理遙感大數(shù)據(jù)的不同并行和分布式方法和算法。展示了評估結果,并通過評估給出了一些有用的建議。我們還討論了充分利用分布式計算平臺來加速處理海量遙感數(shù)據(jù)的未來挑戰(zhàn),包括數(shù)據(jù)管理、多平臺集成、多目標優(yōu)化等。

范圍:由于大量的研究工作可能屬于遙感和高性能計算的主題,我們將本文的范圍界定如下。我們回顧了分布式計算技術,用于在 HPC 平臺上加速具有復雜處理流程的遙感應用程序。我們不包括為遙感圖像解釋開發(fā)的特定知識發(fā)現(xiàn)方法的細節(jié),并假設遙感應用程序的串行處理流程是預先指定的。由于我們特別強調(diào)基于云計算的并行實現(xiàn),所以我們將具體描述基于 Spark 的云系統(tǒng)的分布式計算框架,而跳過其他 HPC 架構的并行處理機制的介紹。最后但并非最不重要的一點是,在文獻中,存在一些基于業(yè)務解決方案的分布式方法來遙感大數(shù)據(jù),例如 Google Earth Engine (GEE) [31] 和 Sentinel Hub [32]。這類方法直接依賴于現(xiàn)成的應用程序接口來處理遙感大數(shù)據(jù),因此,本文不予討論。

二、概述和分類

為了應對不斷增加的遙感數(shù)據(jù)量,有幾個重要的問題必須妥善解決。首先,在傳統(tǒng)的單機環(huán)境下,加載難度極大將大量遙感數(shù)據(jù)存入本地存儲器[33]。因此,分布式平臺已成為解決大規(guī)模遙感數(shù)據(jù)集存儲和開發(fā)問題的相關解決方案,因為現(xiàn)代分布式計算平臺(如集群和云)提供了高效存儲數(shù)據(jù)集的可能性,并分配了所涉及的繁重處理負載。在這種情況下,有限網(wǎng)絡帶寬下數(shù)據(jù)塊的存儲、傳輸和管理變得更加復雜[34],[35]。其次,從遙感大數(shù)據(jù)處理的角度來看,計算負載對數(shù)據(jù)量的依賴性與計算范式有很大不同[36],[37]。這種差異導致了不同的并行級別和數(shù)據(jù)劃分策略,使得遙感算法的并行解決方案具有極大的挑戰(zhàn)性。因此,獨立于體系結構相關細節(jié)的遙感應用的可靠分布式實現(xiàn)非常重要。最后,在分布式體系結構上執(zhí)行遙感大數(shù)據(jù)應用程序時,由于整個應用程序流程通常由多個子任務組成,這些子任務之間具有優(yōu)先關系[38]–[40],因此將這些子任務適當?shù)卣{(diào)度到計算資源上并確定其執(zhí)行順序至關重要[41],[42]。這個調(diào)度步驟決定了分布式平臺的利用效率,并直接影響分布式數(shù)據(jù)處理的并行性。

在文獻中,HPC 架構和技術取得了非常顯著的進步。 目前,有幾個高性能計算平臺被用來促進遙感大數(shù)據(jù)的處理。 例如,GPU 可以在具有海量計算能力和高有效帶寬的單個中央處理單元 (CPU) 上實現(xiàn)顯著加速 [43]。 通過整合多個計算節(jié)點,集群和網(wǎng)格計算平臺還為計算密集型遙感應用提供強大的數(shù)據(jù)容量、吞吐量和可用性[10]。作為最具前瞻性的計算范式,云計算與其他 HPC 平臺相比,由于其高吞吐量、快速彈性和面向服務的計算,最近成為并行和分布式處理遙感大數(shù)據(jù)的理想平臺 [44]-[ 47]。 將云計算平臺納入遙感大數(shù)據(jù)處理中,在數(shù)據(jù)存儲、分發(fā)和處理方面具有重要優(yōu)勢。 此外,云等分布式平臺可以集成專門的 HPC 資源,以利用這些資源的高計算能力,同時解決與數(shù)據(jù)存儲和分發(fā)相關的問題,這些問題阻礙了遙感大數(shù)據(jù)處理技術的傳統(tǒng) HPC 實施。

在這篇評論文章中,我們回顧了專注于遙感大數(shù)據(jù)的分布式和并行處理的最新研究。 我們將不同 HPC 平臺上現(xiàn)有的并行解決方案主要分為兩類,即在多核 CPU [40]、圖形處理單元 (GPU) [48]、GPU 與 CPU [49]、FPGA [50] 上實現(xiàn)的板載數(shù)據(jù)處理方法 ,以及在集群 [51]、網(wǎng)格計算平臺 [52] 和云計算平臺 [24] 上實現(xiàn)的存儲庫數(shù)據(jù)處理方法。 所有要研究的分布式和并行方法的分類如圖 1 所示。

圖1.不同HPC平臺上遙感大數(shù)據(jù)處理的并行和分布式算法概述。

多核 CPU 通過在多個內(nèi)核上并行執(zhí)行遙感應用程序的多個操作來提供并行計算能力 [40]。 近幾十年來,GPU 得到了積極的發(fā)展,可以將許多內(nèi)核集成到一個 GPU 中。 一般來說,GPU 的核數(shù)更多,在并行計算方面比 CPU 更強大。 因此,GPU 可以提供足夠的并行計算能力來執(zhí)行復雜的遙感數(shù)據(jù)處理應用程序 [53]。 但是,CPU 是為通用計算而設計的,不僅包括并行計算,還包括算術和邏輯計算,其中 GPU 是不專業(yè)。 出于這個原因,還努力在 CPU-GPU 平臺上開發(fā)分布式和并行方法,其中 GPU 被指定用于并行計算工作負載,而控制和邏輯工作負載被指定給 CPU [49]。 這樣,CPU 和 GPU 的能力都得到了充分利用。 除了并行計算能力之外,F(xiàn)PGA 還支持可重構編程,通過該編程可以根據(jù)遙感數(shù)據(jù)的特征并行調(diào)整和執(zhí)行遙感算法[54]。 上述HPC平臺提供了強大的并行計算能力,但受限于單個GPU/FPGA/計算機上有限的計算資源,尤其是有限的內(nèi)存數(shù)量。 因此,它們通常用于車載數(shù)據(jù)處理場景,其中必須減少繁重的計算負載并實時獲得分析結果,同時傳感器同時收集遙感數(shù)據(jù)[10]。

隨著對大規(guī)模遙感數(shù)據(jù)處理的需求不斷增加,這種分布式技術在處理大規(guī)模數(shù)據(jù)集時可能會遭受極長的計算時間的困擾。以獨特的方式,集群和網(wǎng)格計算平臺可以集成許多計算節(jié)點,以增強大數(shù)據(jù)處理能力。在計算資源不足以處理遙感數(shù)據(jù)的情況下,可以部署更多的計算節(jié)點以增強計算能力。作為先前開發(fā)的技術的演進,云計算代表了遙感大數(shù)據(jù)的并行和分布式處理的自然解決方案,因為它不僅對HPC而且在面向服務的計算和互聯(lián)網(wǎng)規(guī)模數(shù)據(jù)存儲方面具有先進的能力。具體來說,可以在云計算平臺上部署許多功能強大的軟件套件,方便大數(shù)據(jù)處理,如Hadoop的分布式文件系統(tǒng) (HDFS) [55] 用于管理大型數(shù)據(jù)集或Spark/Hadoop (使用MapReduce模型) [56]-[60] 用于大規(guī)模遙感數(shù)據(jù)的分布式并行處理。因此,這些平臺被廣泛用于處理數(shù)據(jù)存儲庫,即處理以數(shù)據(jù)收集形式收集和存儲的大規(guī)模遙感數(shù)據(jù)集 [9]。表1顯示了將在本文中討論的用于遙感大數(shù)據(jù)處理的一些現(xiàn)有分布式和并行方法的摘要。

三、 板載數(shù)據(jù)分布式和并行處理方法

在本節(jié)中,我們回顧了現(xiàn)有的用于遙感大數(shù)據(jù)處理的機載并行和分布式實現(xiàn)。 根據(jù)所開發(fā)的 HPC 平臺,我們將板載方法分為五類:多核 CPU、單 GPU、多 GPU、CPU–GPU 和 FPGA。 我們在下面描述了每個類別中并行實現(xiàn)的細節(jié)。


表 1 遙感大數(shù)據(jù)處理現(xiàn)有并行分布式方法總結
A. 多核 CPU 解決方案

曾等人。 [61]提出了一種并行差分盒計數(shù)(DBC)算法對遙感圖像進行分類。并行方法是在多核 CPU 上實現(xiàn)的。通過從圖像中提取有用的紋理信息并將其與光譜信息相結合來獲得良好的精度,而使用并行實現(xiàn)來估計分形維數(shù),該并行實現(xiàn)源自效率低下的順序 DBC 算法,并通過使用多線程技術在多核計算機上實現(xiàn) DBC 發(fā)展而來.與串行 DBC 算法相比,并行 DBC 實現(xiàn)了 4 倍以上的加速,表明計算效率顯著提高。

伯納布雷等人 [62] 開發(fā)了一種用于在多核CPU上遙感高光譜圖像的并行解混鏈方法。為了提高解混精確度,除了光譜信息之外,還合并由與圖像像素相關聯(lián)的空間上下文提供的補充信息。該并行算法在多核平臺上使用OpenMP和英特爾公司數(shù)學核庫來加速解混過程。與其他針對CPU/GPU體系結構開發(fā)的并行實現(xiàn)相比,該方法具有更好的性能和更高的加速比。該并行算法能夠滿足所有測試用例的實時性要求。

李等人。 [40]設計了一種用于遙感圖像分類的并行多類支持向量機(MMSVM)。 并行 MMSVM 在多核上實現(xiàn)以及由 Ivy Bridge CPU 和 Intel Xeon Phi 協(xié)處理器組成的多核混合架構。 為了充分利用混合架構提供的并行計算能力,在并行 MMSVM 方法中加入了一系列優(yōu)化策略。 根據(jù)真實遙感數(shù)據(jù)集的實驗結果,驗證了并行 MMSVM 不僅分類精度高,而且計算效率高。 該方法還通過跨平臺性能比較,為選擇最合適的遙感圖像分類并行實現(xiàn)提供了一些見解。

總之,通過充分利用多核 CPU 提供的并行計算能力,可以實現(xiàn)相當大的加速。 算法的獨立計算操作在多個核上并行執(zhí)行,從而在不損失精度的情況下提高計算效率。 為了更顯著的加速,研究人員使用 GPU 來實現(xiàn)并行算法,考慮到與 CPU 相比,GPU 通常具有更多的內(nèi)核并且更有能力完成并行計算。

B. 單 GPU 解決方案

GPU 是一種非常流行的商品平臺,適用于許多計算和/或數(shù)據(jù)密集型應用 [136],并已廣泛用于遙感圖像的實時分析。 已經(jīng)為開發(fā)基于 GPU 的并行解決方案付出了相當多的努力。 由于篇幅所限,我們在下面選擇并描述了一組具有代表性的和最新的發(fā)展。 表 1 給出了基于 GPU 的解決方案的完整列表。

譚等人。 [63]提出了一種并行特征提取方法,稱為高斯-伯努利限制玻爾茲曼機,用于遙感圖像分類。 雖然這種方法涉及訓練邏輯回歸層的計算密集型過程,但基于 GPU 的特征提取模塊的并行實現(xiàn)可以顯著減少預測時間。 在三個遙感數(shù)據(jù)集上進行了實驗,以證明 GPU 實施的效率。 與傳統(tǒng)分類器相比,基于GPU的并行算法在更短的執(zhí)行時間內(nèi)實現(xiàn)了更高的分類精度。

張等人。 [64] 提出了一種并行遙感圖像重建算法,該算法將乘法器的替代方向方法(ADMM)結合到基于全變分的正則化方法中,以提高收斂速度。 由于這種復雜處理流程的高度復雜性,通過利用并行計算能力來加速重建過程,開發(fā)了一種 GPU 實現(xiàn)。 具體來說,根據(jù)波長區(qū)分遙感圖像的過程可以在多個GPU內(nèi)核上并行處理。 對兩者進行評估的實驗合成數(shù)據(jù)集和真實數(shù)據(jù)集表明,這種基于 GPU 的并行算法實現(xiàn)了重建精度和計算效率。

在[65],一個平行的相位相關算法對遙感圖像配準。該算法的處理流程包括快速傅里葉變換(FFT)計算,計算密集型和分布在GPU核心執(zhí)行。這樣一個分布式計算方案可以充分利用GPU的并行計算能力,大大提高計算效率。此外,內(nèi)存優(yōu)化技術結合,進一步減少圖像配準的計算時間。實驗結果表明,該并行算法會導致更高的登記的準確性和較短的計算時間與CPU串行版本執(zhí)行。

在[66]中開發(fā)了一種并行迭代約束端元(ICE)算法,用于從遙感高光譜圖像中提取端元。 ICE算法涉及一個迭代過程,該過程采用線性模型來計算收集到的高光譜的豐度,計算復雜度高且非常耗時。 因此,ICE 算法的并行版本是在 GPU 平臺上使用并行編程語言 OpenCL 實現(xiàn)的。 評估結果證明了基于 GPU 的并行算法在處理具有大量端元的大規(guī)模高光譜數(shù)據(jù)集時的高計算效率。

希門尼斯等人。 [67] 介紹了一種用于高光譜圖像分離的并行空間光譜預處理算法。 預處理算法被合并到一個完整的高光譜分解鏈中。 整個處理流程是在不同的 GPU 架構上實現(xiàn)的。 通過分解和分配計算負載,GPU 實現(xiàn)導致空間光譜預處理過程的顯著加速,并且由于并行算法的高計算效率,完整的解混鏈可以實時處理高光譜圖像 . 此外,GPU 實現(xiàn)已被驗證可擴展到不斷增加的遙感高光譜數(shù)據(jù)量。

賈拉馬戈等人。 [68] 開發(fā)了一種并行雙深度稀疏概率潛在語義分析算法,用于分離遙感高光譜數(shù)據(jù)。 基于統(tǒng)計方法,當高光譜數(shù)據(jù)表示為一個大立方體時,原始算法的復雜性很高。 并行算法是在由大量計算內(nèi)核組成的 GPU 上實現(xiàn)的。 耗時的矩陣計算被分配給 GPU 內(nèi)核并并行執(zhí)行以減少計算時間。 在四個高光譜數(shù)據(jù)集和兩個不同的 GPU 上評估實驗。 評估結果表明,與單 CPU 上的串行版本相比,GPU 版本在不降低解混精度的情況下實現(xiàn)了顯著的加速。

李等人。 [69] 介紹了在 GPU 平臺上實現(xiàn)的并行等距映射 (ISOMAP) 算法。 原始的 ISOMAP 算法是一種用于遙感圖像降維的流形學習方法。 在并行實現(xiàn)中,特征分解過程是 ISOMAP 流程中最耗時的組件,它被分配給 GPU 以加速其執(zhí)行。 利用 GPU 的并行計算方案,可以在很大程度上減少特征分解過程的計算時間。 實驗結果表明,基于 GPU 的算法在計算效率方面優(yōu)于串行版本,同時保證了相似的分類精度。

吳等人。 [70]提出了一種并行版本的遙感信號子空間識別最小誤差方法。 對于高維和復雜的遙感圖像,這種方法的串行版本在計算上可能非常昂貴,尤其是在反轉大矩陣和執(zhí)行奇異值分解時。 為了克服這個困難,除了并行處理之外,基于 GPU 的并行版本還利用優(yōu)化策略來優(yōu)化 GPU 資源的使用,例如塊大小和寄存器數(shù)量。 此外,通過減少數(shù)據(jù)交換開銷,還減少了 GPU 主機內(nèi)存的使用。 在 Nvidia GeForce GTX 580 和 Tesla K20 GPU 上的實驗結果證明了并行實現(xiàn)在加速率方面優(yōu)于串行版本。

桑托斯等人。 [71] 實現(xiàn)了有損遙感圖像壓縮算法的并行版本。 該算法針對 ESA-Exomars 任務,被稱為“Exomars 的有損壓縮”(LCE)。 并行實現(xiàn)將數(shù)據(jù)塊上計算最密集的操作(包括壓縮和相應的解壓縮步驟)分布在多個 GPU 內(nèi)核上,以促進并行處理。 在具有不同空間和光譜維度的多個遙感數(shù)據(jù)集上進行了實驗。 與在 CPU 上執(zhí)行的串行版本相比,并行算法實現(xiàn)了大約 15 倍的加速。 并行 LCE 算法也被驗證能夠?qū)崟r處理機載遙感圖像。

Jiménez 和 Plaza [72] 開發(fā)了一種 HyperMix 工具,該工具由多種光譜分離算法組成,用于遙感高光譜數(shù)據(jù)。 每個算法都在具有串行版本和相應并行版本的 GPU 平臺上實現(xiàn)。 當 HyperMix 在計算機上啟動時,它會自動檢測這臺計算機是否配備了 GPU。 如果可以檢測到一個 GPU 或多個 GPU,則撤銷并行版本以執(zhí)行。 否則,選擇串行版本進行光譜解混。 很明顯,由于利用了 GPU 的并行計算能力,并行版本的性能優(yōu)于串行版本。 HyperMix 工具提供了一個全面的解決方案來管理各種解混合算法,并支持靈活開發(fā)高光譜圖像解混合方法。 HyperMix 已由作者作為開源軟件套件發(fā)布。

李等人。 [73] 實現(xiàn)了用于解釋高光譜圖像的自動目標生成過程 (ATGP) 算法的并行版本。 傳統(tǒng)的ATGP是一種串行算法,旨在在目標尺寸小于單個像素的情況下檢測場景中的目標。 由于大量的遙感數(shù)據(jù),串行版本的計算量很大。 出于這個原因,通過利用多種優(yōu)化技術,例如一級緩存和 cuBLAS 函數(shù),在 GPU 上實現(xiàn)了并行 ATGP。 在 Nvidia Tesla K20 上進行了實驗,以檢查這種并行方法的實時處理能力。 與單 CPU 執(zhí)行的串行版本相比,基于 GPU 的并行版本實現(xiàn)了高達 362 倍的加速,并且能夠?qū)崟r處理遙感圖像。

在 [74] 中,通過表達可以在 GPU 上并行處理的矩陣運算,開發(fā)了極限學習機 (ELM) 算法的并行版本。 為了提高分類精度,其他基于 ELM 的方法,例如空間正則化算法和使用集成,也在同一 GPU 上設計和實現(xiàn)。 依托這些并行方法,采用像素級光譜分類器和異步分水嶺算法,建立了兼顧光譜和空間信息的并行分類算法。 實驗結果表明,并行算法在分類精度方面優(yōu)于支持向量機(SVM)算法。 與串行版本相比,并行算法實現(xiàn)的高加速度顯示了其對遙感高光譜數(shù)據(jù)的實時處理能力。

楊等人。 [75]提出了一種基于多智能體系統(tǒng)(MAS)的人工蜂群(ABC)方法來解決高光譜圖像處理中端元提?。‥E)的問題。 該方法將 EE 過程建模為優(yōu)化問題,并應用 ABC 算法來確定此過程中最合適的結果。 為了提高計算效率,EE算法是在支持分布式計算的MAS平臺上實現(xiàn)的,稱為MA-ABC-EE。 為了產(chǎn)生最佳的 EE 結果,解決方案探索過程分布在多個代理(即人造蜜蜂和食物資源)上,代理協(xié)作探索最佳解決方案。 MA-ABC-EE算法提高了EE的準確性和效率。

在 [76] 中,使用 OpenCL 編程在 GPU 和 FPGA 平臺上開發(fā)了一種用于處理遙感高光譜圖像的并行分解算法。 為了探索并行能力對于不同類型的 GPU 和 FPGA,并行算法分別在兩種 GPU(Tesla K40c 和 Nvidia GeForce GTX 980)和一種 FPGA(Bitware Stratix V Altera FPGA)上實現(xiàn)。 實驗結果表明,基于GPU的實現(xiàn)在處理大尺度遙感圖像時優(yōu)于基于FPGA的實現(xiàn),而基于FPGA的實現(xiàn)在處理小尺度遙感圖像時具有更好的計算效率。 兩種實現(xiàn)都能夠?qū)b感圖像進行車載和實時處理。

吳等人。 [43]、[77]、[78] 開發(fā)了一系列基于 GPU 的并行方法,用于實時處理遙感數(shù)據(jù)。 第一項工作是一種并行稀疏表示分類算法,將相關正則化項和光譜保真度項合并到稀疏表示模型中,以提高圖像分類精度[43]。 并行版本是通過使用 Nvidia 的計算統(tǒng)一設備架構 (CUDA) 接口在 GPU 上實現(xiàn)的。 實驗結果驗證了基于 GPU 的并行實現(xiàn)的高精度和計算效率。 以類似的方式,作者開發(fā)了一種用于遙感圖像分類的稀疏多項邏輯回歸算法的 GPU 并行實現(xiàn) [78]。 串行版本的加速證明了 GPU 實現(xiàn)在實時遙感數(shù)據(jù)處理中的能力。 通過結合約束稀疏非負矩陣分解,他們進一步提出了一種基于 GPU 的并行解混合算法,用于遙感高光譜圖像。 解混合模型引入了稀疏項和最小距離的概念,以分別放寬對豐度和端元的限制。 并行解混合算法在 GPU 上實現(xiàn),并通過使用 CUDA 編程進行加速。 與其他基線算法的比較表明,這種 GPU 實現(xiàn)實現(xiàn)了 20 倍的加速,同時保持了類似的解混精度。

在Jimenez等人本文設計了一種用于遙感圖像分析的空間-光譜EE算法。針對算法復雜度高、耗時長的缺點,在GPU平臺上實現(xiàn)了該算法,以加快算法的執(zhí)行速度。在Nvidia CUDA的支持下,還采用了其他幾種優(yōu)化策略進行進一步改進。將這種基于GPU的并行算法與著名的基線算法進行了比較。比較結果表明,充分利用GPU的并行計算能力, GPU實現(xiàn)在計算效率上優(yōu)于基線算法,但保證了較高的EE精度。

Diaz等人[80]提出了一種并行有損壓縮算法,該算法在兩個配備低功耗嵌入式gpu的NvidiaJetson板上實現(xiàn)。考慮到壓縮算法的高復雜性和不斷增加的遙感數(shù)據(jù)數(shù)量,開發(fā)一個在有限的板載計算資源下實現(xiàn)低功耗和實時并行。 [80] 中的并行算法展示了其計算效率和實時車載數(shù)據(jù)處理能力。 此外,還驗證了耗電量顯著降低。

吳等人。 [81] 使用 CUDA 在 GPU 上開發(fā)了一種有效的并行像素純度指數(shù)(PPI)算法。 當這種并行算法在 Nvidia GTX590 GPU 上實現(xiàn)時,與在單個 CPU 上執(zhí)行的串行方法相比,使用 L1/L2 緩存和全局內(nèi)存幾乎可以實現(xiàn) 601 倍的加速。 結合其他幾種優(yōu)化方法(例如,使用共享內(nèi)存設備),在 Tesla C1060 GPU 和 Fermi GTX590 GPU 上實現(xiàn)的并行 PPI 算法分別比基于 CPU 的速度提高了 1204 倍和 2465 倍 串行實現(xiàn)。 與商用圖像可視化環(huán)境 (ENVI) 軟件相比,F(xiàn)ermi GTX590 GPU 上的并行實現(xiàn)實現(xiàn)了 769 倍的加速。

TX590 GPU 實現(xiàn)了 769 倍的加速。 Quesada-Barriuso 等人。 [82]提出了一種基于GPU的并行分類算法,依靠光譜-空間信息對遙感圖像進行分類。 串行分類流程涉及大量本地計算,這些計算可以通過 GPU 上的并行處理來加速。 此外,該分類算法還涉及去除噪聲的預處理步驟和塊異步更新步驟,兩者都可以分解以方便并行處理。 實驗結果表明,與在配備多核 CPU 的計算機上實現(xiàn)的 OpenMP 版本相比,在 GPU 平臺上實現(xiàn)的并行算法實現(xiàn)了 8.2 倍的加速。

伯納貝等人。 [83] 介紹了一種在 GPU 和多核計算機上實現(xiàn)的并行全高光譜分解鏈算法。 該算法由三個使用 OpenCL 和 clMAGMA 實現(xiàn)的子模塊組成。 在 GPU 和多核 CPU 平臺上的并行實現(xiàn)通過實驗在準確性、計算效率和功耗方面進行了評估。 據(jù)報道,這兩種實現(xiàn)都在滿足實時應用程序要求的同時實現(xiàn)了很高的解混精度。 還報告了這兩種方法在實時數(shù)據(jù)處理中的功率效率。

總之,上述方法證明在 GPU 上實現(xiàn)的并行遙感算法實現(xiàn)了顯著的加速并能夠進行實時數(shù)據(jù)處理。 一般來說,GPU 中的核心數(shù)量越多,實現(xiàn)的加速就越高。 同時,我們也可以確認良好的內(nèi)存管理和優(yōu)化是必要的。 全局內(nèi)存和共享內(nèi)存對于調(diào)解數(shù)據(jù)交互非常有用,為提高計算效率做出了相當大的貢獻。 還可以觀察到,除了最小化執(zhí)行時間之外,一些工作還專注于節(jié)省功耗。 事實上,這個選項對于機載數(shù)據(jù)處理場景,應考慮最小化目標,其中有效載荷應最小化。 由于實現(xiàn)的加速取決于內(nèi)核數(shù)量,研究人員進一步在集成大量內(nèi)核的多個 GPU 上設計并行算法。

C. 多 GPU 解決方案

第 III-B 節(jié)介紹的 GPU 解決方案是通過使用單個 GPU 實現(xiàn)的。 還存在許多集成多個 GPU 的分布式和并行方法來加速遙感應用程序的執(zhí)行,下面將詳細介紹其中的一些方法。

馬特爾等人。 [93] 提出了一種稱為 pFUN 的并行算法,用于分別使用 CUDA 編程和 cuBLAS 庫在兩個 GPU 上完全分離遙感高光譜圖像。 解混合流程中的某些計算密集型操作在這兩個 GPU 上執(zhí)行,以提高整個處理流程的計算效率。 此外,數(shù)據(jù)管理經(jīng)過精心設計,可與 pFUN 算法協(xié)作。 取消混合過程中的所有數(shù)據(jù)都保存在內(nèi)存中,以便有效加載。 全局內(nèi)存和共享內(nèi)存都用于數(shù)據(jù)重用。 共享內(nèi)存還與并行縮減模式一起使用,以減少完全分離的執(zhí)行時間。 通過這些方式,pFUN 方法優(yōu)于文獻中其他競爭的基于 GPU 的并行解混合算法。

Seville 和 Plaza [94] 開發(fā)了一個用于遙感數(shù)據(jù)存儲的存儲庫系統(tǒng),用戶可以在其中通過 Web 服務上傳和檢索數(shù)據(jù)。 上傳圖像后,可以通過在多個 GPU 上實現(xiàn)的并行光譜分離算法生成其元數(shù)據(jù),即光譜純成分和分數(shù)豐度。 對該系統(tǒng)進行了評估,并在具有 44 個 Nvidia Tesla C2050 GPU 的 CETA-CIEMAT GPU 集群上評估了并行光譜分離算法。 評估結果表明,該存儲庫系統(tǒng)可作為有效的遙感數(shù)據(jù)存儲庫供公眾使用。 并行光譜分離算法也被證實可以被這些 GPU 加速,并且能夠有效地處理上傳的圖像。

李等人。 [95]提出了一種集群差分脈沖編碼調(diào)制(C-DPCM)方法的并行實現(xiàn),這是一種基于預測的遙感圖像無損壓縮算法。 這種方法的串行版本盡管具有良好的壓縮性能,但計算復雜度高,執(zhí)行時間長。 為了解決這個問題,在配備多個 GPU 的平臺上實現(xiàn)了并行 C-DPCM。 一組架構策略,例如全局內(nèi)存、共享內(nèi)存、寄存器和多流,用于進一步提高計算效率。 GS 進一步用于將表示為類的計算任務分配到 GPU 上。 實驗在由 GeForce GTX 1080Ti GPU 和四個 GPU 組成的多 GPU 平臺上進行。TITAN X GPU,與串行版本相比,速度提升高達 1000 倍,而精度損失可忽略不計。

根據(jù)前面對多GPU解決方案的描述,我們注意到在多GPU上實現(xiàn)的并行算法總是可以在不損失精度的情況下獲得很高的加速率,這與在單GPU上并行實現(xiàn)的討論中得出的結論相似。 我們還注意到,在多個 GPU 上實現(xiàn)的并行算法比通過單 GPU 實現(xiàn)獲得的加速更顯著。 另一個觀察結果是,調(diào)度策略對于確定將計算任務適當?shù)胤峙涞?GPU 內(nèi)核上是必要的,因為由許多內(nèi)核組成的多個 GPU 用于并行處理遙感數(shù)據(jù)。 前面討論的基于 GPU 的方法都側重于利用 GPU 的并行計算能力,而忽略了 CPU 處理通用計算任務的能力。 考慮到這一點,研究人員已經(jīng)在 CPU-GPU 平臺上開發(fā)了混合并行算法,這將在第 III-D 節(jié)中進行描述。

D. CPU–GPU 解決方案

與 CPU 不同,GPU 不適合執(zhí)行通用計算,例如算術和邏輯運算。 在下文中,我們將介紹幾項尋求 CPU-GPU 混合解決方案以加速遙感應用的代表性研究,例如遙感圖像解混合和分類。

托蒂等人。 [49] 通過混合 CPU 和 GPU 設計了一種用于實時高光譜分解的并行算法。 解混合流包括三個主要步驟:估計端元的數(shù)量、估計端元的光譜特征和估計無約束的豐度。 這種分離算法的并行實現(xiàn)是分別使用 OpenMP 和 CUDA 在 CPU 上開發(fā)的,以及分別使用 cuBLAS 庫在 GPU 上開發(fā)的。 通過充分利用 CPU 和 GPU 的并行計算能力,這種混合實現(xiàn)可以滿足車載遙感應用的實時性要求。

吳等人。 [99] 提出了一種并行復合核方法,用于基于 SVM 的遙感圖像分類。 并行算法在 CPU-GPU 平臺上實現(xiàn)。 為了充分利用CPU和GPU的并行計算能力,將復合內(nèi)核的計算指定給GPU,通過CUDA編程加速計算密集型任務,而將其他與控制和邏輯計算相關的任務分配給CPU . 在不同的遙感數(shù)據(jù)集上評估了這種混合并行算法的性能。 評估結果表明,與串行分類方法相比,CPU-GPU平臺加速的并行實現(xiàn)可以在不損失分類精度的情況下實時處理遙感數(shù)據(jù)。

吳等人100提出了一種并行監(jiān)督譜空間分類算法,該算法通過稀疏表示構造概率模型,并將空間先驗作為吉布斯分布進行建模。為了提高分類性能,這些算法結合了稀疏表示和馬爾可夫隨機場,可由GPU加速。并行算法在混合CPU-GPU平臺上實現(xiàn),將海量數(shù)據(jù)處理操作分配給GPU,將其他計算任務分配給CPU內(nèi)核。以這種方式,CPU和GPU的計算能力得到充分利用。實驗結果表明, CPU-GPU混合實現(xiàn)為遙感數(shù)據(jù)的實時處理提供了有效的解決方案。

譚等人。 [101] 介紹了一種基于并行 SVM 的分類算法,并使用 CUDA 和 OpenMP 在 CPU-GPU 平臺上實現(xiàn)。 帶有 CUDA 的 GPU。 這樣的實現(xiàn)可以大大減少 GPU 和主機處理器之間的通信開銷。 另一方面,通過使用 OpenMP 編程在多核 CPU 上實現(xiàn)“一對一”算法來解決多類分類問題。 在實驗中,著名的 LIBSVM 工具被用作性能評估的基準。 實驗結果證明了這種 CPU-GPU 混合解決方案的高計算效率。

楊等人。 [102] 提出了一種并行的無監(jiān)督波段選擇算法,并在混合 CPU-GPU 平臺上實現(xiàn)了它。 與 EE 方法類似,該波段選擇算法通過使用 N-FINDR 解混合方法檢測遙感圖像中最獨特的波段。 解混合流中涉及的輔因子擴展計算可能會導致無監(jiān)督波段選擇的沉重計算負擔。 這些計算密集型任務在 CPU-GPU 平臺上并行分解和處理。 實驗結果表明,與在單個 CPU 上執(zhí)行的串行版本相比,混合并行算法通過平衡 CPU 和 GPU 之間的計算負載實現(xiàn)了顯著的加速。

簡而言之,在 CPU-GPU 平臺上實現(xiàn)的分布式并行方法可以通過充分利用 CPU 和 GPU 的并行計算能力來實現(xiàn)高計算效率并滿足對性能敏感的遙感應用的實時性要求。 對于此類并行實現(xiàn),算術和邏輯計算應分配給專門處理此類計算任務的 CPU,而海量數(shù)據(jù)處理操作應分布在由多個內(nèi)核組成的 GPU 上以實現(xiàn)并行計算。 除了 CPU 和 GPU 之外,還有另一種類型的 HPC 設備可以提供并行計算能力。 在第 III-E 節(jié)中,我們回顧了在 FPGA 上實現(xiàn)的并行遙感算法。

E. FPGA 解決方案

廣場等人。 [9] 對基于 FPGA 的解決方案進行了全面調(diào)查,這些解決方案有助于實時處理遙感圖像 [103]-[106]。 在這篇評論文章中跳過了有關這些方法的實現(xiàn)細節(jié)。 我們專注于最近關于基于 FPGA 的解決方案的兩項研究。

基于改進的頂點分量分析算法,Cervero 等人。 [107] 在 FPGA 平臺上開發(fā)了一種靈活和自適應的高光譜分解算法,用于實時遙感應用。 由于 FPGA 的動態(tài)可重構編程特性,這種基于 FPGA 的方法的并行度可以通過在遙感數(shù)據(jù)的分布式處理過程中調(diào)整處理元件的數(shù)量來調(diào)整。 使用著名的 Cuprite 高光譜數(shù)據(jù)集在 Xilinx Virtex5LX110T FPGA 上進行了實驗。 該 FPGA 實現(xiàn)經(jīng)驗證能夠進行實時端元提取,并可擴展到處理單元的數(shù)量,而計算時間的增加微不足道。

岡薩雷斯等人。 [108]開發(fā)了一種并行圖像空間重建算法,用于估計遙感高光譜數(shù)據(jù)光譜分離中的正分數(shù)豐度。 這種方法是在 FPGA 平臺上實現(xiàn)的,其中包含一個直接內(nèi)存訪問模塊,并采用預取策略來減少通信延遲。 在 Virtex-4 XC4VFX60 FPGA 上的實驗結果表明,并行算法的 FGPA 實現(xiàn)比 CPU/GPU 版本實現(xiàn)了更顯著的加速率。 因此,F(xiàn)PGA 實現(xiàn)能夠以實時方式處理機載遙感數(shù)據(jù),并且在集成到 FPGA 中的處理元件的數(shù)量方面表現(xiàn)出良好的可擴展性。

值得強調(diào)的是,在 FPGA 上實現(xiàn)并行算法實際上是一項面向硬件的任務,并且在計算效率方面往往優(yōu)于 CPU 或 GPU 的軟件實現(xiàn)。 除了并行計算能力之外,F(xiàn)PGA 還允許動態(tài)可重構編程,允許調(diào)整參數(shù),例如處理元件的數(shù)量。 這一區(qū)別特性使得在 FPGA 上實現(xiàn)的并行算法不僅實現(xiàn)了實時遙感數(shù)據(jù)處理的計算效率的顯著提高,而且通過協(xié)調(diào) FPGA 內(nèi)部的處理元件,提供了能源效率交易的靈活性。

F. 討論

為了總結本節(jié)討論的板載數(shù)據(jù)處理的分布式和并行方法,所有這些方法試圖利用在其上實現(xiàn)的 HPC 平臺的并行計算能力。 此外,一些方法使用了額外的優(yōu)化方法來進一步提高計算效率。 對于單 GPU 和多 GPU 上的并行算法,由于需要累積生成的中間數(shù)據(jù)并在處理核上執(zhí)行的計算任務之間交換這些數(shù)據(jù),因此總是采用內(nèi)存管理優(yōu)化方法。 對于 CPU-GPU 平臺上的并行算法,使用 GS 將計算任務分配給 CPU 和 GPU,以平衡它們之間的工作量。 對于在 FPGA 上實現(xiàn)的并行算法,通常使用動態(tài)可重構編程來調(diào)整處理元件的數(shù)量以實現(xiàn)良好的可擴展性。 但是,我們注意到這些加速方法中的每一種都是在特定的 HPC 平臺上開發(fā)的。 開發(fā)一個能夠為遙感數(shù)據(jù)處理應用程序構建端到端工作流的通用編排框架至關重要。 這些挑戰(zhàn)將在后面的第七節(jié)中討論。

四、 存儲庫數(shù)據(jù)并行和分布式處理方法

本節(jié)調(diào)查了用于遙感大數(shù)據(jù)的存儲庫處理的并行和分布式實現(xiàn)的最新發(fā)展。我們主要討論在計算機網(wǎng)絡上開發(fā)的三類存儲庫并行和分布式方法,即基于集群的解決方案、基于網(wǎng)格計算的解決方案和云計算的解決方案。我們在下面描述每個類別的現(xiàn)有方法的實現(xiàn)細節(jié)。

A. 集群解決方案

在處理大規(guī)模數(shù)據(jù)集時,板載分布式和并行方法可能會遭受極長的計算時間。 集群平臺的主要優(yōu)點是可以將更多的計算節(jié)點連接在一起,以解決計算負載大的問題。 在計算資源不足以處理遙感數(shù)據(jù)的情況下,可以部署更多的計算節(jié)點,以提高處理遙感大數(shù)據(jù)的效率和吞吐量。

張等人。 [109]根據(jù)遙感圖像的組和區(qū)域提出了一種基于聚類的壓縮方法。 串行壓縮方法包括兩個步驟,即用于將圖像分配到不同適當區(qū)域的聚類信號子空間投影和旨在將光譜帶分組的最大相關帶聚類。 遙感影像先按組壓縮,再按影像區(qū)域進行壓縮。 并行版本在一個集群上實現(xiàn),包括四臺臺式機,并通過一個實用的遠程評估傳感應用。 評估結果表明,利用集群的并行計算能力可以提高計算效率。 與臺式機上的串行版本相比,并行算法平均實現(xiàn)了 2.3 倍的加速。

廣場等人。 [110] 在美國宇航局戈達德太空飛行中心的貝奧武夫集群 Thunderhead 上研究了 EE 算法的幾種并行化策略。 選擇并評估了兩類算法作為案例研究。 第一類包含基于凸幾何概念的PPI算法和N-FINDR算法,而迭代誤差分析算法屬于第二類。 此外,通過考慮空間信息和光譜信息,設計了一種并行的自動形態(tài)EE算法。 與其他不考慮空間信息的并行算法相比,Thunderhead 上的并行實現(xiàn)可以保證高效而準確的 EE。 實驗結果證明,基于集群的解決方案通過在多個集群節(jié)點之間分配計算負載并操縱這些節(jié)點之間的通信,顯著提高了計算效率。

杜等人。 [111]采用主成分分析(PCA)對遙感數(shù)據(jù)進行光譜去相關。 通過研究去相關過程中數(shù)據(jù)壓縮的性能,作者提出了一種并行分段 PCA 算法,以促進有效的遙感數(shù)據(jù)壓縮。 考慮到主成分之間的依賴關系,PCA變換矩陣存儲在壓縮比特流中。 將遙感數(shù)據(jù)集分解為多個分區(qū)并存儲在不同的集群節(jié)點上,以避免集群節(jié)點之間的頻繁通信。 因此,并行實現(xiàn)顯著提高了 PCA 算法的計算效率,而通信開銷很小。 此外,這種基于集群的解決方案非??煽?,因為每個集群節(jié)點都存儲了變換矩陣的副本。

總之,基于集群的并行實現(xiàn)可以通過利用集群的分布式和并行計算能力來顯著加速遙感數(shù)據(jù)處理。 還有其他一些研究結合了額外的優(yōu)化方法來減少集群計算引起的開銷,例如[110]中用于減少通信開銷的優(yōu)化策略和[111]中用于減少數(shù)據(jù)傳輸量的數(shù)據(jù)管理策略。 然而,正如這些研究報告的那樣,在集群上并行處理遙感大數(shù)據(jù)時,有必要考慮數(shù)據(jù)管理和流量控制策略。 分布式集群節(jié)點的集中協(xié)調(diào)將增加開發(fā)基于集群的解決方案的難度。

B. 網(wǎng)格計算解決方案

網(wǎng)格計算類似于集群計算,其中多臺計算機相互交互,并一起工作來完成計算任務。因此,網(wǎng)格計算也是一個處理遙感大數(shù)據(jù)的合適平臺。這兩個計算范式之間的主要區(qū)別是,集群中的資源位于一個位置,通過快速局域網(wǎng)連接,而網(wǎng)格中的資源通常是地理分布在不同的位置和連接通過一個廣域網(wǎng)或互聯(lián)網(wǎng)。此外,集群計算以集中的方式組織和管理多個資源,但每個網(wǎng)格計算節(jié)點都有自己的資源管理器。

Sun 等人的工作 [115] 報告了一個基于網(wǎng)格的原型系統(tǒng),名為 RSIGrid,用于基于語義的遙感圖像檢索。 RSIGrid 針對遙感影像的體積和復雜性不斷增加的問題,提供了一種資源共享方案,可以共享大量分布式遙感數(shù)據(jù)集。 該檢索系統(tǒng)依靠領域本體將遙感元數(shù)據(jù)轉換為語義實例,從而可以通過抽象語義層面的知識推理來檢索遙感圖像。 在網(wǎng)格計算環(huán)境中的實驗結果表明,基于語義的檢索在召回率、精度和查詢響應時間方面優(yōu)于傳統(tǒng)的基于關鍵字的檢索方法。

由于網(wǎng)格系統(tǒng)中的終端用戶和數(shù)據(jù)資源可以分布在不同的位置,因此由于網(wǎng)絡連接的低速,遠程感測數(shù)據(jù)的檢索和存檔可能會遇到較長的響應時間。王等人116采用了一個以網(wǎng)格為動力的地理信息科學系統(tǒng),以加速對大量地球觀測數(shù)據(jù)的存檔和分發(fā)。為了彌補網(wǎng)格環(huán)境中高性能空間數(shù)據(jù)分布與網(wǎng)絡延遲之間的差距,提出了一種優(yōu)化協(xié)議GridJet。通過加速通信和異構網(wǎng)絡的結合,GridJet大大提高了基于網(wǎng)格的地理信息系統(tǒng)的傳輸速率。與傳統(tǒng)的網(wǎng)絡傳輸協(xié)議相比, GridJet引擎在網(wǎng)格環(huán)境下的分布距離超過10000 km時,響應時間提高了8倍。

AI等人117提出了一種定量檢索遙感圖像的動態(tài)工作流表征方法。為了方便網(wǎng)格上大型數(shù)據(jù)集的處理,該方法首先利用抽象工作流模型描述遙感算法的工作流,并將抽象工作流映射到具體工作流上,以便在網(wǎng)格環(huán)境下執(zhí)行。進一步介紹了一種新的基于網(wǎng)格的遙感定量檢索(118)圖形工作數(shù)據(jù)結構。圖形工作可以映射到不同的網(wǎng)格平臺根據(jù)遙感算法的實際要求。 因此,這種新的數(shù)據(jù)結構更靈活,更適應網(wǎng)格系統(tǒng)的動態(tài)特性。 上述兩種方法都提供了一種方便的方式來利用網(wǎng)格計算服務進行數(shù)據(jù)檢索,而無需額外管理異構和分布式資源。

庫蘇爾等人。 [119]、[120] 引入了基于網(wǎng)格的洪水監(jiān)測系統(tǒng),該系統(tǒng)集成了地面?zhèn)鞲衅鲾?shù)據(jù)和地理空間數(shù)據(jù),以評估洪水災害和與水有關的疾病的風險。 網(wǎng)格基礎設施整合了地理上分布的多個組織的資源,并支持遙感數(shù)據(jù)處理的自動工作流管理。 一旦用戶在系統(tǒng)中選擇了一幅遙感圖像,就會自動生成一個工作流,并在網(wǎng)格計算資源上執(zhí)行以生成相應的洪水圖。 在洪水測繪過程中,采用神經(jīng)網(wǎng)絡方法進行遙感圖像分割和分類。 通過利用網(wǎng)格技術,基于網(wǎng)格的系統(tǒng)能夠快速獲取遙感數(shù)據(jù),并大大減少了洪水測繪所需的計算時間。

與基于集群的解決方案類似,基于網(wǎng)格的并行實現(xiàn)可以通過集成多臺計算機顯著提高遙感大數(shù)據(jù)應用的效率,但需要復雜的資源協(xié)調(diào)策略。 由于網(wǎng)格中的計算資源分布在不同的位置,網(wǎng)格節(jié)點的分布和異構性會使開發(fā)基于網(wǎng)格的解決方案更加復雜。 為了克服集群和網(wǎng)格系統(tǒng)的限制,研究人員轉向云計算平臺,其中部署了強大的軟件套件(例如 Hadoop 和 Spark)來管理大型計算資源池,以促進大規(guī)模遙感數(shù)據(jù)集的處理 . 在下一小節(jié)中,我們將回顧與云計算平臺最相關的工作。

C. 云計算解決方案

作為先前開發(fā)技術的演進,云計算代表了遙感大數(shù)據(jù)并行和分布式處理的自然解決方案,因為它具有高性能和面向服務的計算以及互聯(lián)網(wǎng)規(guī)模數(shù)據(jù)存儲的先進能力。 具體而言,可以在云計算平臺上部署許多強大的軟件套件,以方便大數(shù)據(jù)處理。 已經(jīng)有相當多的基于云的并行解決方案,其中最具代表性和最新的解決方案如下所述。

米什拉等人。 [123] 提出了一種基于云的系統(tǒng),用于在由社區(qū)云、傳感器云和計算云組成的多云平臺上監(jiān)測藍藻有害藻華 (CyanoHAB) 的全球擴散。 三種云是很好地集成并用于不同的目的。 社區(qū)云用于識別受 CyanoHAB 影響的位置。 由許多傳感器組成的傳感器云負責驗證這些位置。 計算云最終以有效的方式處理其他兩個云收集的社交媒體數(shù)據(jù)和傳感器數(shù)據(jù)。 實驗結果表明,該監(jiān)測系統(tǒng)可用于以較低的計算成本快速檢測 CyanoHABs。

基里塔等人。 [47]提出了一種在云計算平臺上對遙感圖像進行監(jiān)督分類的并行實現(xiàn)。 這種基于云的方法分別包括項目定義層、分類層和分布層三個主要步驟,以允許用戶開發(fā)遙感大數(shù)據(jù)應用程序。 該云實現(xiàn)基于知名的 MapReduce 引擎和 Hadoop 平臺,提供分布式存儲和并行計算能力,以及高吞吐量和高可靠性,使用戶可以方便地開發(fā)應用程序。 此外,可以很容易地結合外部分類算法來開發(fā)它們的并行實現(xiàn),進而提高處理大量遙感數(shù)據(jù)的能力。

孫等人。 [24] 提出了一個有效的框架,用于加速云計算平臺上的遙感大數(shù)據(jù)應用。 除了充分利用云提供的分布式和并行能力外,該框架還采用任務 GS 通過提高遙感數(shù)據(jù)處理過程的并行性來進一步提高計算效率。 首先,特定的遙感應用被描述為有向無環(huán)圖(DAG)。 然后,構建優(yōu)化模型以確定最小化應用程序總執(zhí)行時間的最佳任務分配。 最后,采用基于量子啟發(fā)進化算法 (QEA) 的任務 GS 來確定這些決策變量的值,包括 DAG 中可以并行處理的每個節(jié)點的并行度值。 實驗結果表明,與串行處理流程相比,該框架使遙感大數(shù)據(jù)應用程序能夠?qū)崿F(xiàn)顯著的加速。 除了計算效率高之外,該框架還被驗證在大量遙感數(shù)據(jù)上具有良好的可擴展性。

鄭等人。 [125]、[126] 提出了一種基于分布式解混合的算法,用于從云計算平臺上的遙感圖像存儲庫中檢索內(nèi)容。 在這種分布式算法中,EE和豐度估計以分布式方式設計,以加速光譜特征信息的收集。 光譜解混算法在集成HDFS和Spark的云計算平臺上實現(xiàn),以方便遙感高光譜圖像的存儲、管理和檢索。 該云解決方案還通過以下方式提供應用程序接口其遙感圖像的管理易于實現(xiàn)和驗證。

Haut等[127]提出了一種遙感圖像的分布式并行光譜分析和壓縮算法。為了解決降維問題,該算法采用非線性深度自編碼器神經(jīng)網(wǎng)絡來代替經(jīng)典主成分分析算法中常用的線性神經(jīng)網(wǎng)絡。該分布式方法是在基于spark的云計算平臺上實現(xiàn)的,該平臺可以提供高效的內(nèi)存計算能力和良好的可伸縮性。在兩個著名的遙感數(shù)據(jù)集上進行了實驗,以進行性能評價。評價結果表明,該云實現(xiàn)不僅能夠有效地處理遙感圖像,而且能夠?qū)崿F(xiàn)大規(guī)模數(shù)據(jù)集進行管理。

隨著 PCA、總變異和軟閾值的集成,Yin 等人。 [129]提出了一種遙感圖像并行恢復算法,該算法在基于Spark的云系統(tǒng)上實現(xiàn)。 該方法采用數(shù)據(jù)傳輸、矩陣乘法和共享內(nèi)存三種優(yōu)化方法來實現(xiàn)高還原精度,不僅達到高精度,而且計算效率高。 實驗結果證明了該方法在恢復大量遙感圖像方面的能力。 同樣,李等人。 [130]提出了一種并行PCA算法從遙感圖像中提取特征。 該算法由兩個主要過程組成,即協(xié)方差矩陣的特征分解和矩陣投影的變換,它們是在基于Hadoop的云系統(tǒng)上采用MapReduce分布式計算模型實現(xiàn)的。 與在單 CPU 上運行的串行版本相比,并行 PCA 算法導致計算時間顯著減少。

夏等人。 [131]提出了一種并行的遙感圖像分類方法,可應用于作物澇漬檢測。 該方法利用Spark提供的庫在云計算平臺上實現(xiàn)了基于人工神經(jīng)網(wǎng)絡和SVM的兩種分類算法。 這種云實現(xiàn)在分類準確性和計算效率方面都經(jīng)過了徹底檢查。 并行處理實現(xiàn)的加速與云計算節(jié)點的數(shù)量成線性關系。 同樣,艾瑪?shù)热恕? [132]在基于Hadoop的云計算平臺上實現(xiàn)了另一種用于遙感圖像分類的并行方法。 實驗結果表明,這種云實現(xiàn)能夠有效地處理 PB 級的大量遙感數(shù)據(jù)集,并且可以擴展到不斷增長的數(shù)據(jù)量。

值得簡要討論其他幾種基于云的遙感大數(shù)據(jù)并行處理解決方案。 吳等人。 [46] 在云計算平臺上提出了一種分布式并行 PCA 算法方法。 通過使用 HDFS 和 Spark 來支持分布式對遙感大數(shù)據(jù)進行管理和計算,云實現(xiàn)實現(xiàn)高加速度,不損失精度。 顧等人。 [133] 開發(fā)了一種并行 PPI 算法,用于在基于 Spark 的云平臺上分離高光譜數(shù)據(jù)。 進行了廣泛的實驗以驗證這種基于云的方法的高計算效率以及與在單個 CPU 上運行的串行版本相比相似的 EE 精度。 Patterson 等人開發(fā)的并行方法。 [134] 在集成 Hadoop 和 Accumulo 的云計算平臺上,能夠分析衛(wèi)星產(chǎn)生的大規(guī)模遙感數(shù)據(jù)。 該云解決方案采用多個可并行執(zhí)行的數(shù)據(jù)共享服務,充分利用云計算資源的分布式計算能力。

值得一提的是,除了Hadoop和Spark平臺(一般作為私有云上的計算引擎),還有一些知名的公有云提供了計算引擎處理遙感大數(shù)據(jù)的能力,比如 如 GEE2 和 ArcGIS Online (AO)。3 但是,當使用 GEE 和 AO 操作大數(shù)據(jù)工作負載時,用戶需要通過服務提供商定義的應用程序接口使用特定的內(nèi)置功能。 因此,由于缺乏必要的應用程序接口,一些特殊的數(shù)據(jù)處理程序無法在通用的 Hadoop/Spark 平臺上實現(xiàn)。

總結本節(jié),基于云的分布式和并行算法可以通過利用云計算提供的高性能和靈活的計算能力促進遙感大數(shù)據(jù)的高效處理。 除了計算效率之外,文獻中還深入研究了不斷增加的數(shù)據(jù)量和計算資源數(shù)量的可擴展性。 最近的一些研究試圖引入業(yè)務流程,在云計算平臺上構建完整的端到端遙感數(shù)據(jù)處理流程,其中特定應用程序的子任務被視為組件,并以順序和并行方式集成[124]。更重要的是,通過確定可并行化組件的最佳數(shù)據(jù)分區(qū)策略和優(yōu)先級約束組件到云計算節(jié)點上的最佳任務分配,GS 已被用于進一步提高數(shù)據(jù)處理工作流的并行性。

表2 不同HPC平臺對遙感大數(shù)據(jù)的并行和分布式處理比較
D. 討論

基于對存儲庫數(shù)據(jù)處理方法的討論,我們注意到,由于 Spark 和 Hadoop 框架提供的高性能和可擴展的計算服務,云計算平臺優(yōu)于集群和網(wǎng)格系統(tǒng)。 對于基于集群的解決方案,減少通信和數(shù)據(jù)管理是兩個主要問題。 但是,這些問題可以通過集成到云系統(tǒng)中的 Spark/Hadoop 工具來妥善解決。 此外,Spark/Hadoop 還可以保證數(shù)據(jù)量和處理節(jié)點數(shù)量的可擴展性。 此外,盡管在開發(fā)用于處理遙感大數(shù)據(jù)的端到端框架方面做出了努力[124],但仍然需要妥善解決其他幾個重要挑戰(zhàn),例如標準化和多平臺集成,這將在后面討論。

五、云計算架構的并行開發(fā)

通過比較所有用于機載和存儲庫數(shù)據(jù)處理的分布式和并行方法,在易用性、能力、可擴展性和可靠性方面,我們得出結論,云計算是高效處理遙感大數(shù)據(jù)的最有前途的范式,因為 它不僅具有高性能計算能力,還具有面向服務的計算能力。 簡單地說,表 2 提供了不同 HPC 平臺在開發(fā)用于遙感大數(shù)據(jù)處理的分布式和并行方法方面的比較。 綜上所述,由于計算資源有限,機載分布式技術無法完全應對大規(guī)模遙感數(shù)據(jù)集。 它們更適用于實時遙感數(shù)據(jù)分析場景。 相反,存儲庫方法是在具有分布式計算資源的平臺上開發(fā)的,因此可以擴展到增加具有高可靠性的遙感數(shù)據(jù)集的數(shù)量。 更重要的是,在虛擬化技術強大的管理工具的支持下,基于云計算的解決方案在快速部署和快速彈性方面優(yōu)于基于集群和基于網(wǎng)格的解決方案。

考慮到這一結論,在本節(jié)中,我們將專注于云計算架構,并研究用于充分利用分布式數(shù)據(jù)處理的并行性的最新技術。 從初步介紹云計算的并行處理機制開始,我們研究了采用調(diào)度策略來增強數(shù)據(jù)級并行性和任務級并行性的意義。 此外,我們對流行的 GS 進行了調(diào)查,并簡要討論了如何開發(fā)基于元啟發(fā)式的調(diào)度策略。

A. 云計算機制

云計算是一種流行的計算范式,可以提供分布式計算和大規(guī)模數(shù)據(jù)存儲的能力。 云計算憑借其在高性能計算、可擴展性、可靠性和快速部署等方面的顯著優(yōu)勢,已成為遙感大數(shù)據(jù)高效處理最有前景的平臺。 在討論基于云的遙感大數(shù)據(jù)處理解決方案的最新進展之前,我們簡要介紹了云計算平臺上的分布式編程模型、計算引擎和存儲系統(tǒng)。

  1. 分布式編程模型:在分布式環(huán)境中處理大量數(shù)據(jù)的最廣泛使用的模型是 Google 開發(fā)的 MapReduce [137]。 MapReduce 模型充分利用了云計算架構提供的 HPC 能力。 具體來說,通過使用 MapReduce 模型,計算任務的處理由兩個分布式操作組成,即“map”和“reduce”。 將所有數(shù)據(jù)集組織為鍵/值對,“map”函數(shù)為每個數(shù)據(jù)對生成一組中間結果。 通過這種方式,一個任務被劃分為若干個可以并行執(zhí)行的獨立子任務。 另一方面,“reduce”函數(shù)負責收集所有具有相同中間鍵的中間結果并將它們合并以獲得原始任務的最終結果。 從根本上說,MapReduce 模型使開發(fā)人員能夠以高效靈活的方式管理大型集群的計算資源。

  2. 計算引擎:Apache Hadoop4 因其可靠性和可擴展性以及開源特性而成為云計算中著名的分布式計算引擎。 Hadoop 已成功應用于工業(yè)和學術領域,用于構建各種云系統(tǒng) [138]、[139]。 然而,Hadoop 的一個主要限制是它不支持復雜的數(shù)據(jù)處理流程。 Apache Spark,5 為內(nèi)存計算實現(xiàn)了容錯抽象,現(xiàn)已成為用于大數(shù)據(jù)分布式處理的最強大的云計算引擎 [46]。 Hadoop 和 Spark 的主要區(qū)別在于 Spark 中“map”函數(shù)的輸出數(shù)據(jù)存儲在內(nèi)存中,而 Hadoop 數(shù)據(jù)需要寫入本地磁盤。 Spark中的內(nèi)存計算機制相比傳統(tǒng)計算引擎顯著提升了分布式數(shù)據(jù)處理的效率。 與 Hadoop 中的數(shù)據(jù)復制方案不同,Spark 使用彈性分布式數(shù)據(jù)集 (RDD) 的數(shù)據(jù)結構擴展了 MapReduce 模型,以支持容錯數(shù)據(jù)存儲,并提供允許快速數(shù)據(jù)恢復的接口。

  3. 存儲系統(tǒng):大數(shù)據(jù)應用的分布式處理需要一個動態(tài)的存儲機制來將數(shù)據(jù)分布在多個地理位置。 HDFS很好地滿足了這一要求,它可以為大規(guī)模數(shù)據(jù)集提供高吞吐量的服務。 Spark 提供了通用接口,允許使用存儲在 HDFS 中的數(shù)據(jù)文件作為輸入 RDD。 HDFS 是一個高度可靠的分布式文件系統(tǒng),可以部署在集群上。 一個大型數(shù)據(jù)集被劃分為多個相同大小的塊(通常為 64 MB)[140]。 每個塊都有多個(默認為三個)分布在不同機器上的副本。 因此,HDFS 實現(xiàn)了高容錯性。 HDFS 提供了常用的操作界面,例如創(chuàng)建、寫入、關閉和刪除文件。 HDFS是在由一個主節(jié)點和多個從節(jié)點組成的主/從架構中開發(fā)的。

為了支持遙感大數(shù)據(jù)的并行和分布式處理,最好分別使用MapReduce模型、Apache Spark和HDFS作為分布式編程模型、計算引擎和存儲系統(tǒng),開發(fā)基于云的解決方案。 圖 2 概述了用于海量遙感數(shù)據(jù)處理的云計算框架(改編自 [46])。 該框架建立在云環(huán)境之上,可以分解為三個層次:接口層、引擎層和硬件層。 硬件層包括所有計算資源,例如物理/虛擬機、存儲設備和網(wǎng)絡設備。 虛擬化過程對于將所有物理資源轉換為虛擬資源是必要的,以構建一個提供分布式處理能力的高性能、靈活和共享的計算資源池。 引擎層包括一個主節(jié)點和一個處理 RDD 實例的從節(jié)點集群。 通過執(zhí)行驅(qū)動程序,master與slave進行通信,完成分布式編程模型中的“map”和“reduce”操作。 在接口層面,Spark 提供了與 HDFS 的 MapReduce 接口,以支持大規(guī)模數(shù)據(jù)集的動態(tài)存儲和分發(fā)。 通過利用分布式計算引擎和MapReduce模型,遙感大數(shù)據(jù)處理應用可以并行和分布式的方式實現(xiàn)。

圖 2. 基于 Spark 的遙感大數(shù)據(jù)處理云計算框架(改編自 [46])。
B. 并行性開發(fā)

大多數(shù)現(xiàn)有的基于云的分布式方法只專注于通過對遙感數(shù)據(jù)進行分區(qū)并在云上并行處理它們來開發(fā)數(shù)據(jù)級并行性。 最近在 [24] 和 [124] 中的研究表明,通過在分布式數(shù)據(jù)處理過程中利用任務級并行性,采用任務調(diào)度技術進一步提高云系統(tǒng)的計算效率具有重要意義。 一方面,遙感應用程序的處理流程可能會對子任務的執(zhí)行施加優(yōu)先約束。 另一方面,在計算資源有限的情況下,每個可并行化任務的數(shù)據(jù)分區(qū)數(shù)量也直接影響 Spark 上應用程序流的并行性。 正如 [24] 和 [124] 中所揭示的,通過部署更多的執(zhí)行器節(jié)點,分布式處理實現(xiàn)的加速不會線性增長,并且會由于執(zhí)行器節(jié)點之間的通信開銷大幅增加而受到影響。 在這種情況下,良好的任務分配調(diào)度和數(shù)據(jù)分區(qū)策略有利于提高云系統(tǒng)的利用率,減少并行應用流的執(zhí)行時間。 最終進度的好壞從根本上決定了并行度,進而決定了遙感大數(shù)據(jù)處理的計算效率。

基于這一觀察,我們意識到,當2.基于Spark的云計算框架,用于遙感大數(shù)據(jù)處理(改編自 [46] )。在云系統(tǒng)上對大型遙感數(shù)據(jù)集進行處理,需要一種有效的調(diào)度策略來尋求計算負載的劃分和分布的優(yōu)化解??紤]數(shù)據(jù)級并行性和任務級并行性的調(diào)度問題是復雜的,特別是對于大型數(shù)據(jù)集和復雜的遙感應用。Sun等人 [24] 開發(fā)了嚴格的優(yōu)化模型,以將上述調(diào)度問題表示為整數(shù)程序。具體來說,大數(shù)據(jù)處理的時間框架分為一系列時間段。調(diào)度模型定義一組二進制變量以表示任務是否在特定時隙上執(zhí)行,并且定義一組整數(shù)變量以指示為每個可并行任務指定的執(zhí)行器節(jié)點的數(shù)目。依靠這兩組決策變量,可以計算每個任務的開始時間和結束時間,并最終確定整個應用程序的完成時間。調(diào)度問題是在滿足優(yōu)先約束和資源約束的情況下,求決策變量的最優(yōu)值,以達到最短的完成時間。

在Sun等人S調(diào)度模型 [24],優(yōu)化目標是最小化大數(shù)據(jù)處理的總執(zhí)行時間,這是許多遙感大數(shù)據(jù)應用程序的主要關注點。 但是,調(diào)度模型也可以包含其他優(yōu)化目標或聯(lián)合優(yōu)化目標,例如云平臺的能源消耗和貨幣成本。 例如,[135] 中遙感圖像分類應用程序的云實現(xiàn)開發(fā)了一個多目標調(diào)度框架,該框架聯(lián)合優(yōu)化圖像分類的執(zhí)行時間和能源成本,以平衡計算效率和能源效率。

圖3.云環(huán)境中求解調(diào)度問題的現(xiàn)有算法概述。
C.調(diào)度算法

已知任務調(diào)度在許多情況下是非確定性多項式時間硬 (NP-hard) [141]。傳統(tǒng)的調(diào)度策略,例如循環(huán) (round-robin,RR) 和先到先得 (first-to-first-service,F(xiàn)CFS),通常被云服務提供商使用。盡管簡單明了且易于實現(xiàn),但這些簡單的調(diào)度規(guī)則無法解決第v-b節(jié)中描述的復雜調(diào)度問題。在遙感大數(shù)據(jù)的分布式處理場景中,解決調(diào)度問題的可行方案是啟發(fā)式和元啟發(fā)式 [142],[143]。啟發(fā)式算法的關鍵是確定性啟發(fā)式規(guī)則,該規(guī)則指導搜索過程在候選解的空間中探索高質(zhì)量的解。但是,啟發(fā)式算法在很大程度上取決于初始解決方案,并且很容易受到局部最優(yōu)的影響。與啟發(fā)式方法不同,元啟發(fā)式方法結合了隨機搜索和局部搜索在溶液勘探過程中,以避免被困在局部最優(yōu)中。

圖3總結了云環(huán)境下解決調(diào)度問題的現(xiàn)有算法,其中元啟發(fā)式算法在調(diào)度方案探索中最為有效。在文獻中,許多元啟發(fā)式方法及其變體已經(jīng)得到很好的確立。在接下來的內(nèi)容中,我們選擇了兩種經(jīng)典的元啟發(fā)式方法和三種最新的方法,并介紹了它們的優(yōu)化策略。運籌學和應用軟件工程界也有相當數(shù)量的新興新算法,由于篇幅所限,未列入本綜述文章。

遺傳算法 (GA) [144]、[145] 是一種受到自然選擇過程啟發(fā)的廣泛研究的元啟發(fā)式算法。 對于特定的調(diào)度問題,每個候選解決方案都被編碼到 GA 框架中的一個單獨的染色體中。 遺傳算法從一組隨機生成的染色體開始,執(zhí)行一組遺傳算子,包括變異、交叉和選擇,以生成新一代染色體。 在每一代中,計算每個染色體的適應度,這通常是調(diào)度問題的優(yōu)化目標,用于評估相應解決方案的質(zhì)量。 具有最高適應度值的染色體保留在種群中以產(chǎn)生下一代。 迭代這個進化過程,直到達到最大代數(shù)已產(chǎn)生或已獲得滿意的解決方案。

粒子群優(yōu)化 (PSO) [146]、[147] 是另一種經(jīng)典的元啟發(fā)式算法,已廣泛用于各種優(yōu)化問題。 群體中的每個粒子都與其位置和速度相關聯(lián)。 其基本思想是通過控制和更新粒子的位置和速度,迫使每個粒子向粒子空間中位置最佳的粒子移動。 每個粒子的質(zhì)量通過其適應度值(對應于調(diào)度目標)來評估。 適應度值越高,粒子及其對應解的質(zhì)量就越高。 每個粒子的個人最佳值和群體中所有粒子的全局最佳值將被迭代更新以進行解空間探索。

ABC算法[148]-[150]模擬蜜蜂群體的覓食行為來進行搜索過程。 蜂群中的蜜蜂分為三類,即雇傭蜂、旁觀者和偵察蜂。 在 ABC 框架中,調(diào)度問題的一個可行解由一個食物源表示,通過計算調(diào)度目標可以評估食物源的質(zhì)量。 每只受雇的蜜蜂都會找到離它最近的食物來源,評估食物來源的質(zhì)量,然后在蜂巢中跳舞。 每只圍觀的蜜蜂根據(jù)受雇蜜蜂的舞蹈來確定最佳食物來源,然后前往該來源。 一些受雇的蜜蜂在他們放棄食物來源并繼續(xù)尋找新的食物來源后,改為偵察蜜蜂。 這個覓食過程反復進行,蜂群逐漸接近最佳食物來源。

免疫算法 (IA) [151]、[152] 是一種模擬生物有機體免疫反應的受生物學啟發(fā)的元啟發(fā)式算法。 在IA框架中,調(diào)度目標對應于免疫系統(tǒng)中的抗原,可行解對應于抗體,調(diào)度解的質(zhì)量對應于抗體與抗原之間的親和力。 IA 使用一系列免疫操作,包括抗體克隆、抗體突變和免疫抑制,來更新抗體群體。 迭代親和力計算和免疫操作以識別最佳抗體和相應的解決方案。

QEA [124]、[153]、[154] 是一種基于量子計算理論的有效元啟發(fā)式算法。 QEA 中的基本表示是一個 Q 位個體。 QEA 將調(diào)度問題的有效解決方案編碼為由多個 Q 位組成的 Q 位字符串。 量子坍縮算子用于進一步將每個Q位個體轉換為0或1。這樣,Q位串可以表示為二進制串,從而可以計算出對應的適應度值。 此外,QEA 使用量子旋轉門結構來操縱 Q 位個體坍縮為 0 或 1 的概率。旋轉門和坍縮算子導致種群多樣性的特性,這是 QEA 的主要優(yōu)勢。

值得強調(diào)的是,元啟發(fā)式算法通常很少對調(diào)度問題做出假設。 在開發(fā)基于元啟發(fā)式的 GS 時,必須解決兩個主要問題。 一方面,一個好的解決方案表示很重要,這樣每個調(diào)度解決方案都可以與元啟發(fā)式框架中的個體相關聯(lián)(例如,PSO 中的粒子和 QEA 中的 Q 位)。 另一方面,給定一個從個體映射的解決方案,需要一個有效的任務分配策略來通過計算調(diào)度目標(即個體的適應度值)來評估解決方案的質(zhì)量。 算法 1 提供了元啟發(fā)式 GS 的一般流程的高級抽象。

六、 案例研究

圖 4 串行版本與云實現(xiàn)的分類結果對比 (a) 系列版本。 (b) 并行版本。

本文以一個具有代表性、處理復雜的遙感應用為例,在一個部署了32個執(zhí)行節(jié)點的基于Spark的集群系統(tǒng)上進行了并行實現(xiàn)。本案例研究中使用的遙感應用是一種用于遙感高光譜圖像分類的復雜特征融合方法【155】。該分類方法提取了高光譜數(shù)據(jù)的子像素級、像素級和超像素級特征,利用融合核獲得了涉及多個相關子任務和可并行化任務的鑒別信息。用于性能評估的高光譜數(shù)據(jù)集由AVIRIS傳感器通過“印度松”測試收集位于印第安納州西北部的站點。 “印度松”場景包含三分之二的農(nóng)業(yè)和三分之一的森林或其他天然多年生植被。 該遙感高光譜圖像由 2166 × 614 像素和 220 個光譜反射帶組成,波長范圍為 0.4-2.5 μm。 原始高光譜數(shù)據(jù)集的大小為 690 MB。 我們通過刪除覆蓋吸水區(qū)域的 20 個波段將波段數(shù)量減少到 200 個。 除了這個原始數(shù)據(jù)集,我們還通過鑲嵌原始的“印度松樹”圖像來生成額外的大規(guī)模數(shù)據(jù)集。

表3使用串行方法和云實現(xiàn)的分類精度

我們首先驗證與在單個執(zhí)行器節(jié)點上執(zhí)行所有子任務的串行版本相比,Spark上的高光譜分類方法的云版本實現(xiàn)了相似的分類性能。在此階段,我們假設不采用任何調(diào)度策略,并且僅利用數(shù)據(jù)級并行性。圖4示出了串行版本和云實現(xiàn)之間的分類結果的比較。圖4(b) 中的云實現(xiàn)的結果是通過使用所有32個執(zhí)行器獲得的。更準確地說,我們在表3中介紹了通過在Spark上使用不同數(shù)量的執(zhí)行器來進行高光譜圖像分類的總體精度。參考串行版本實現(xiàn)的分類精度,我們可以通過對高光譜數(shù)據(jù)進行分區(qū)并在Spark上執(zhí)行基于融合的分類來觀察到可忽略的精度損失。此外,隨著執(zhí)行程序數(shù)量的增加,精度損失略有增加。這種觀察是由于這樣一個事實,即通過在訓練階段和分類階段執(zhí)行 “地圖” 操作,對高光譜數(shù)據(jù)進行并行分區(qū)和處理。當 “減少” 操作收集所有數(shù)據(jù)分區(qū)的結果時,最終分類結果可能會略有不同。通過非常微不足道的精度下降,我們證明了基于云的并行方法可以顯著提高計算效率通過對遙感高光譜數(shù)據(jù)的分布式處理進行圖像分類。 圖 5 顯示了通過在 Spark 上部署不同數(shù)量的執(zhí)行器來提高串行方法的速度。 四個執(zhí)行器并行運行,分類應用的總計算時間為 706 s,而串行版本需要 2422 s 才能完成分類應用,表明實現(xiàn)了 3.43 倍的加速。 隨著執(zhí)行器節(jié)點數(shù)量的增加,并行處理實現(xiàn)的加速變得更加顯著,在部署了所有 32 個執(zhí)行器時達到了 10.44 倍。 但是,如前所述,通過部署更多執(zhí)行器節(jié)點實現(xiàn)的加速不會線性增長,并且會由于執(zhí)行器節(jié)點之間的通信開銷大幅增加而受到影響。

image.png

在第 V-B 節(jié)中,我們得出結論,通過在多個計算資源之間優(yōu)化分配數(shù)據(jù)工作負載,GS 在處理大規(guī)模遙感數(shù)據(jù)集時提高云系統(tǒng)的效率是必要的。 為了證明這一點,我們開發(fā)了一個啟發(fā)式 GS 和兩個元啟發(fā)式 GS(PSO 和 QEA)來解決在云上處理遙感大數(shù)據(jù)的調(diào)度問題。 我們通過使用這些 GS 來評估計算時間,并將它們與串行處理時間進行比較。 比較結果如圖 6 所示。我們注意到,通過結合調(diào)度策略,分類應用程序的計算時間進一步減少。 隨著執(zhí)行器節(jié)點數(shù)量的增加,計算時間的減少更為顯著。 全部部署 32 個執(zhí)行器節(jié)點后,使用不使用調(diào)度的 QEA 調(diào)度計算時間分別為 232 和 177 s。 計算效率提高了 23.7%。 此外,這兩種元啟發(fā)式算法兩者都優(yōu)于 GS 啟發(fā)式,并且 QEA 的計算效率略高于 PSO。

圖 5. 不同數(shù)量的執(zhí)行者通過云實現(xiàn)實現(xiàn)的加速。

最后一組實驗是檢查基于 spark 的并行實現(xiàn)的可擴展性。 我們拼接原始遙感圖像以生成大規(guī)模數(shù)據(jù)集。 DataSet1、DataSet2、DataSet3 和 DataSet4 的容量范圍為 1.34 到 5.39 GB。 在部署了所有 32 個執(zhí)行器后,我們分別使用無調(diào)度、GS 調(diào)度、PSO 調(diào)度和 QEA 調(diào)度策略來評估分類方法在這些大規(guī)模數(shù)據(jù)集上的計算時間。 圖 7 的比較結果表明,與無調(diào)度和 GS 調(diào)度相比,QEA 算法在減少計算時間和提高計算效率方面略優(yōu)于 PSO 算法。 我們還注意到,對于更大規(guī)模的數(shù)據(jù)集,調(diào)度策略將導致分布式數(shù)據(jù)處理的計算效率更大幅度的提高。

圖 6. 對不同數(shù)量的執(zhí)行者使用和不使用調(diào)度策略的 Makespans。

七、 未來

盡管為遙感大數(shù)據(jù)處理做出了廣泛的努力,尤其是在云計算架構上實現(xiàn)的并行和分布式方法,但仍有幾個具有挑戰(zhàn)性的問題必須解決,以充分促進大規(guī)模數(shù)據(jù)集的可擴展和生產(chǎn)性處理。我們現(xiàn)在詳細討論它們。

A.標準化

可移植性是遙感數(shù)據(jù)處理應用的一個非常重要的特性。 在功能組件層面,一些工具包(例如 OpenCL)由于獨立于計算平臺而支持應用程序功能組件的可移植性。 例如,使用 OpenCL 實現(xiàn)的功能組件可以在任何支持 OpenCL 的設備上執(zhí)行,支持 OpenCL 公開的標準接口。 然而,在應用層面,文獻中缺乏描述遙感應用的標準。 此類標準應定義功能組件的標準化接口、應用程序工作流的標準化描述、標準化參數(shù)映射、數(shù)據(jù)表示、計算資源表示等。 在這些標準的幫助下,應用程序可以是可移植的,并且可以在與這些標準兼容的所有平臺上運行。 目前,存在多個面向遙感應用的平臺,例如 GEE [31]、Sentinel Hub [32] 和 pipsCloud [156]。 然而,這些平臺中的每一個都有其用于表征應用程序的規(guī)范,導致需要標準接口來彌合各種平臺之間的差距。

B. 數(shù)據(jù)管理

板載分布式處理方式的數(shù)據(jù)量較小,對數(shù)據(jù)管理沒有要求。 相反,存儲庫數(shù)據(jù)處理的分布式方法能夠處理大量數(shù)據(jù),但迫切需要數(shù)據(jù)操作。 為了減少數(shù)據(jù)傳輸量,許多現(xiàn)有的方法將遙感數(shù)據(jù)部署在單個計算節(jié)點上,使得所有數(shù)據(jù)都在本地加載,目的是減少數(shù)據(jù)傳輸和開銷。 然而,以這種方式,將浪費大量存儲空間。 更重要的是,很難保證分布在多個處理節(jié)點上的所有數(shù)據(jù)副本都是一致的,尤其是在數(shù)據(jù)更新或數(shù)據(jù)插入的情況下。 此外,需要適當?shù)臄?shù)據(jù)管理策略來實現(xiàn)通信開銷最小化和存儲空間節(jié)省之間的權衡。

圖7.使用和不使用不同高光譜數(shù)據(jù)集的調(diào)度策略的制造。
C.能效

能耗始終是各種HPC系統(tǒng)中的重要問題。如前所述,在GPU,cpu-gpu和FPGA平臺上實現(xiàn)的板載方法通常用于遠程感測數(shù)據(jù)的實時處理。由于這些HPC平臺中的高頻率和大量計算元素,并行處理所需的能源成本已大大增加。一些設備級技術 (例如,時鐘門控 [157] 和功率門控 [158]) 和系統(tǒng)級策略 (例如,動態(tài)頻率縮放 [159],[160] 和處理核心的選擇性去激活 [161]) 已被用來降低HPC器件的功耗。未來工作的一個重要研究方向是開發(fā)有效的優(yōu)化方案 (任務分配、任務遷移等),這些方案能夠權衡HPC設備的工作頻率和應用程序執(zhí)行的并行性,以實現(xiàn)遙感數(shù)據(jù)工作負載并行處理期間的能效。

D.多平臺集成

文獻中的所有分布式方法都集中在特定的HPC平臺上。但是,如果特定平臺的資源不足,無法承受大規(guī)模數(shù)據(jù)集的計算負載,那么一個簡單可行的解決方案是使用公共云,需要一些額外的和臨時的成本。另一個典型的應用場景是多個組織 (每個組織都運行一個單獨的平臺) 相互協(xié)作以完成遙感應用。顯然,在單個HPC平臺上設計的并行算法不適用于這些復雜的多平臺計算環(huán)境。因此,將來有必要集成多個平臺來對遙感大數(shù)據(jù)進行分布式和并行處理。

E. 多目標優(yōu)化

在文獻中,除了通過利用 HPC 平臺的分布式和并行計算能力來最小化執(zhí)行時間之外,還有一些研究考慮了其他目標,例如最小化能耗。 這些研究集中在 GPU 和 FPGA 的能效上。 然而,缺乏與集群和云計算平臺相關的研究,這些平臺實際上比 GPU 和 FPGA 更耗電。 另一方面,我們還需要考慮優(yōu)化公共云或混合云環(huán)境中云服務的貨幣成本。 考慮到這些問題,有必要設計多目標優(yōu)化算法,特別是對于存儲庫并行和分布式方法,當遙感應用被表示為涉及多個功能組件的工作流模型時,確定任務執(zhí)行的并行性并將任務調(diào)度到適當?shù)挠嬎阗Y源 和多項任務。

通常,結合任務調(diào)度,負載平衡是另一種常用的方法,用于通過平衡應用程序在計算資源上的工作負載來提高系統(tǒng)性能和容量 [162],[163]。在并行和分布式框架中,可以合并負載平衡機制以執(zhí)行一系列專門的運行時工作負載分配功能 [164],包括以下內(nèi)容。

  1. 非對稱分布: 考慮到來自遙感大數(shù)據(jù)應用程序的任務圖的工作負載不平衡,預計將向具有更高處理能力的計算資源發(fā)布更大的工作負載。

  2. 在某些情況下的工作負載優(yōu)先級: 我們可能會為遙感應用程序的子任務分配優(yōu)先級,并根據(jù)其優(yōu)先級對工作負載進行計劃和分配。與任務調(diào)度類似,此機制用作系統(tǒng)級管理技術,可抽象執(zhí)行其工作負載的計算資源。

F. 端到端編排框架

遙感應用程序的整個處理流程通常涉及多個數(shù)據(jù)處理算法,這些算法被認為是功能組件,應該按照實際工作流程順序或并行集成。 孫等人。 [24] 試圖在基于 Spark 的云計算平臺上設計一個端到端的并行處理框架。 該框架規(guī)定了如何表征應用程序工作流、如何集成功能組件、如何優(yōu)化任務調(diào)度和資源分配以及如何部署計算基礎設施。 盡管如此,仍然迫切需要研究如何在其他 HPC 平臺上構建端到端的編排框架。 在這些框架的幫助下,可以在應用程序級別吸引注意力以實現(xiàn)業(yè)務目標,而不是像大多數(shù)現(xiàn)有方法那樣在功能組件級別。 很明顯,端到端的編排框架可以有效地提高遙感數(shù)據(jù)處理算法在地球科學相關社區(qū)中的利用率。

八、 結論

在本文中,我們?nèi)婊仡櫫诉b感大數(shù)據(jù)處理的并行和分布式方法的最新發(fā)展。 在板載數(shù)據(jù)處理類別中,我們研究了四種流行的 HPC 技術,包括多核 CPU、單 GPU、多 GPU、混合 CPU-GPU 系統(tǒng)和 FPGA。 在存儲庫數(shù)據(jù)處理類別中,我們特別強調(diào)在云計算平臺上開發(fā)的并行實現(xiàn)。 此外,我們研究了調(diào)度引導的優(yōu)化方法,以進一步提高資源利用率和計算效率的云系統(tǒng)。 我們得出的結論是,云計算是處理海量遙感數(shù)據(jù)的理想平臺,考慮到其在數(shù)據(jù)管理、計算效率和可擴展性方面的優(yōu)越優(yōu)勢。 未來的遠程工作感知大數(shù)據(jù)處理可以直接解決幾個具有挑戰(zhàn)性的問題,包括標準化、數(shù)據(jù)管理、多平臺集成、多目標優(yōu)化和開發(fā)端到端的編排框架。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容