• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      利用 HTCondor 高通量計(jì)算框架處理 MODIS 時(shí)間序列遙感影像

      2017-12-15 06:04:43鄭若冰羅澤閻保平
      關(guān)鍵詞:分布式計(jì)算高通量數(shù)據(jù)處理

      鄭若冰,羅澤,閻保平

      1.中國(guó)科學(xué)院大學(xué),北京 100190

      2.中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190

      利用 HTCondor 高通量計(jì)算框架處理 MODIS 時(shí)間序列遙感影像

      鄭若冰1,2,羅澤2,閻保平2

      1.中國(guó)科學(xué)院大學(xué),北京 100190

      2.中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,北京 100190

      隨著衛(wèi)星技術(shù)進(jìn)步,越來(lái)越多的遙感數(shù)據(jù)可供各領(lǐng)域科研人員處理與分析。日益增長(zhǎng)的數(shù)據(jù)量也帶來(lái)了新的挑戰(zhàn):如何高效的處理長(zhǎng)時(shí)間序列遙感數(shù)據(jù)。目前,無(wú)論從處理效率還是任務(wù)規(guī)模,現(xiàn)有的計(jì)算手段都很難滿足當(dāng)前需求。常用的商業(yè) GIS 軟件往往基于單機(jī)環(huán)境,擴(kuò)展能力小,而基于主流分布式計(jì)算框架的處理方法,往往在功能上有所不足。在本文中,我們提出一種基于HTCondor 高通量計(jì)算環(huán)境的 MODIS 時(shí)間序列遙感數(shù)據(jù)處理方法。該方法通過(guò) HTCondor 系統(tǒng)高效管理與調(diào)度硬件資源,同時(shí)使用 Python 及其豐富的第三方開源庫(kù)編寫核心控制與處理模塊。我們將復(fù)雜的工作流以有向無(wú)環(huán)圖的方式呈現(xiàn)并一次提交,將成熟的計(jì)算環(huán)境與靈活的處理模塊相結(jié)合,易于擴(kuò)展與重復(fù)使用。實(shí)驗(yàn)表明系統(tǒng)可以支持大規(guī)模、多需求的遙感影像處理工作,部署便捷,可以顯著提成處理效率。

      高通量計(jì)算;MODIS 數(shù)據(jù)處理;HTCondor

      引言

      伴隨著衛(wèi)星技術(shù)的進(jìn)步和遙感成像水平的增長(zhǎng),越來(lái)越多的遙感數(shù)據(jù)產(chǎn)品可以供學(xué)者們研究使用。這些遙感數(shù)據(jù)產(chǎn)品往往數(shù)量龐大、壓縮比例高且結(jié)構(gòu)復(fù)雜,給進(jìn)一步的處理分析帶來(lái)許多困難。MODIS[1]遙感數(shù)據(jù)產(chǎn)品是其中比較有代表性的一種,其被用在許多環(huán)境分析以及持續(xù)變化研究中,如植被特征的周期變化規(guī)律[2],森林損失的動(dòng)態(tài)監(jiān)測(cè)[3]以及區(qū)域水文變化研究等。于此同時(shí),持續(xù)積累的 MODIS 數(shù)據(jù)產(chǎn)品也給遙感數(shù)據(jù)的處理手段帶來(lái)的新的挑戰(zhàn),如何高效的處理長(zhǎng)時(shí)間序列 MODIS 遙感數(shù)據(jù)成為急需解決的問(wèn)題。

      在龐大的數(shù)據(jù)量面前,考慮到單機(jī)環(huán)境極其有限的運(yùn)算能力,基于分布式計(jì)算環(huán)境的處理方法是唯一的選擇。為了提出更為通用和高效的解決方案,我們將主要解決兩個(gè)核心問(wèn)題。首先是提升硬件運(yùn)算能力。如何挑選高效且更通用的分布式計(jì)算框架,收集盡可能多的運(yùn)算資源,高效的管理與分配。其次是將原始處理任務(wù)分解。將復(fù)雜的遙感數(shù)據(jù)和處理流程科學(xué)的分解為相互獨(dú)立且類似的子任務(wù),并使其以工作流的形式在分布式計(jì)算框架上高效執(zhí)行。

      從這兩個(gè)問(wèn)題出發(fā),我們比較了當(dāng)前主流的技術(shù)平臺(tái)與方法,嘗試構(gòu)建一種高效且通用的解決方案。在這篇文章中,我們利用 HTCondor 高通量平臺(tái)整合并分配所有可用的運(yùn)算資源,同時(shí)使用 Python 及其第三方開源包開發(fā)了核心處理及控制模塊。通過(guò)高效的切割、處理數(shù)據(jù),我們將復(fù)雜的處理任務(wù)以有基于向無(wú)環(huán)圖的工作流的呈現(xiàn),將成熟的計(jì)算環(huán)境與靈活的處理模塊相結(jié)合,易于擴(kuò)展與重復(fù)使用,顯著提高了效率并極大地簡(jiǎn)化 MODIS 數(shù)據(jù)處理任務(wù)。

      1 相關(guān)工作

      1.1 MODIS數(shù)據(jù)處理技術(shù)

      MODIS 遙感數(shù)據(jù)是由搭載在 Terra 和 Aqua 兩顆衛(wèi)星上的中分辨率成像光譜儀收集的圖像。MODIS數(shù)據(jù)產(chǎn)品將整個(gè)地球表面以多波段、不同分辨率的柵格數(shù)據(jù)方式呈現(xiàn),是一種主流的免費(fèi)遙感數(shù)據(jù)。大多數(shù)MODIS數(shù)據(jù)產(chǎn)品覆蓋了較長(zhǎng)的時(shí)間區(qū)間,以高度壓縮的 HDF 數(shù)據(jù)格式包裝,根據(jù)處理的復(fù)雜程度分為不同類別,描述了包括陸地、大氣以及海洋等多種環(huán)境特征,被應(yīng)用與許多領(lǐng)域,如土地覆蓋變化、季節(jié)氣候預(yù)測(cè)、自然災(zāi)害特征及減災(zāi)研究以及大氣監(jiān)測(cè)等方面。MODIS 數(shù)據(jù)產(chǎn)品有著許多遙感影像所通有的特征。不同的MODIS數(shù)據(jù)產(chǎn)品在結(jié)構(gòu)以及波段種類上各有區(qū)別,在本文中,我們挑選了以下數(shù)據(jù)產(chǎn)品作為測(cè)試數(shù)據(jù)。

      表1 相關(guān)MODIS數(shù)據(jù)產(chǎn)品細(xì)節(jié)Table 1 The details of selected MODIS data products

      對(duì)于 MODIS 數(shù)據(jù)產(chǎn)品,NASA (National Aeronautics and Space Administration ) 官方提供了一系列處理工具,包括數(shù)據(jù)瀏覽,數(shù)據(jù)轉(zhuǎn)換以及投影工具等。然而,這些獨(dú)立的工具多以圖形化接口和單機(jī)環(huán)境運(yùn)行為主,無(wú)法在大規(guī)模數(shù)據(jù)集上應(yīng)用。此外,常用的商業(yè)軟件如ArcGIS、ENVI等雖然功能強(qiáng)大但對(duì)分布式運(yùn)算環(huán)境支持有限,擴(kuò)展度十分有限。因此,越來(lái)越多的研究者開始嘗試開發(fā)基于分布式計(jì)算的處理框架。最近,文獻(xiàn)[4]提出了一種基于 Windows Azure 的 MODIS 數(shù)據(jù)投影框架,這種基于云平臺(tái)的分布式處理方案可以顯著提升大規(guī)模數(shù)據(jù)的處理效率,同時(shí)可以持續(xù)擴(kuò)充內(nèi)置的基本處理功能,給遙感影像的處理帶來(lái)了新的思路。在文獻(xiàn)[5]中,作者提出了一種基于Hadoop[6]平臺(tái)的解決方案。他們的框架集成了 Orfeo toolbox[7]功能。將大型柵格影像數(shù)據(jù)處理以 Map-reduce 的方式分片處理,也大大提升了處理效率。然而,這些解決方案要么依賴于特定的商業(yè)云計(jì)算資源,要么需要 Map-reduce 計(jì)算環(huán)境,并不具有很強(qiáng)的通用性。

      1.2 HTCondor與高通量計(jì)算

      在遙感影像處理中應(yīng)用分布式計(jì)算框架已經(jīng)有了很多嘗試。在文獻(xiàn)[8]中,一種基于 Message Passing Interface (MPI) 的解決方案為普通的終端用戶提供了一種便捷的處理方式。但由于該類應(yīng)用往往依賴于超級(jí)計(jì)算環(huán)境,高昂的花費(fèi)和有限的硬件資源讓普通研究者們難以承受,使得類似的技術(shù)無(wú)法被廣泛推廣。高通量計(jì)算是分布式計(jì)算的一個(gè)分支,與許多分布式實(shí)現(xiàn)不同,高通量計(jì)算的任務(wù)通常以大量相互獨(dú)立且沒有相互交流的子任務(wù)構(gòu)成,我們稱之為計(jì)算密集型任務(wù)。高通量計(jì)算注重通過(guò)收集并分配資源來(lái)執(zhí)行最多的任務(wù),以完成各種大規(guī)模的運(yùn)算。HTCondor[9]是一種針對(duì)計(jì)算密集型任務(wù)的高通量計(jì)算框架,由美國(guó)威斯康星大學(xué)麥迪遜分校高通量計(jì)算中心開發(fā),是一個(gè)穩(wěn)定更新并開源的項(xiàng)目。HTCondor主要服務(wù)于科學(xué)計(jì)算,被廣泛部署在 NASA,USGS (United States Geological Survey) 以及由美國(guó)各大學(xué)組成的OSG (Open Science Grid) 中,發(fā)揮了巨大的作用。HTCondor 主要有如下兩點(diǎn)重要特性:

      ● 首先,HTCondor可以高效收集可用硬件資源,并根據(jù)需求將物理資源劃分為虛擬 slot。這些可用資源不僅局限于大型服務(wù)器集群,也包括實(shí)驗(yàn)室中的筆記本與臺(tái)式機(jī)。它同時(shí)支持 windows 與 Linux 系統(tǒng)并自動(dòng)監(jiān)控計(jì)算機(jī)的運(yùn)行狀態(tài),當(dāng)目標(biāo)處于待機(jī)狀態(tài)時(shí),HTCondor軟件才會(huì)激活并自動(dòng)將該資源加入運(yùn)算池中。

      ● 其次,HTCondor系統(tǒng)通過(guò)消息廣播來(lái)確保高效的任務(wù)匹配與調(diào)度。消息通過(guò) ClassAd[10](一種類JSON 的字符串) 來(lái)傳遞。計(jì)算池中的計(jì)算機(jī)們不斷廣播自己的空閑計(jì)算能力,而每個(gè)新提交的任務(wù)也會(huì)廣播自己的硬件需求。此時(shí)位于中央管理器上的任務(wù)調(diào)度模塊通過(guò)不斷配對(duì)廣播信息來(lái)的分配任務(wù),確保整個(gè)系統(tǒng)高效運(yùn)轉(zhuǎn)。

      相比較之前提到的多種MODIS處理手段,HTCondor高通量計(jì)算平臺(tái)有著獨(dú)特的優(yōu)勢(shì)。從數(shù)據(jù)的角度來(lái)說(shuō),長(zhǎng)時(shí)間序列的遙感數(shù)據(jù)是一種典型的數(shù)據(jù)密集型處理任務(wù)。在同一個(gè)任務(wù)中,每個(gè)時(shí)間戳所對(duì)應(yīng)的數(shù)據(jù)的格式與處理方法完全相同的,與高通量計(jì)算的特性契合。從計(jì)算資源角度來(lái)講,HTCondor作為一個(gè)主流的高通量計(jì)算框架,擁有如 OSG 等眾多公用資源池;對(duì)于私人搭建的計(jì)算環(huán)境,它也可以充分利用閑置機(jī)器,這對(duì)于小型實(shí)驗(yàn)室或是個(gè)人研究者是十分寶貴的。此外,HTCondor 系統(tǒng)通過(guò) DAG(有向無(wú)環(huán)圖) 的方式來(lái)定制工作流,并通過(guò)內(nèi)建的控制模塊DAGman[11]來(lái)調(diào)度并監(jiān)控,使得大規(guī)模且邏輯復(fù)雜的處理任務(wù)可以順利表述并運(yùn)行,我們可以簡(jiǎn)單的將遙感處理的各階段任務(wù)匯總到一個(gè)工作流中,一次提交任務(wù),并多次重復(fù)利用。

      2 設(shè)計(jì)實(shí)現(xiàn)

      2.1 高通量運(yùn)算環(huán)境

      運(yùn)算環(huán)境的是數(shù)據(jù)處理的基礎(chǔ),也是決定處理規(guī)模與效率的關(guān)鍵。在這里我們基于 HTCondor 系統(tǒng)來(lái)搭建高通量運(yùn)算環(huán)境。HTCondor 可以快速部署在任何 Linux 或是 Windows 系統(tǒng)上,但對(duì)于不同身份的機(jī)器,它的資源利用策略不同。HTCondor 資源池中的機(jī)器有兩種身份:專有資源或非專有資源。對(duì)于專有資源,HTCondor 完全占用其硬件運(yùn)算能力并將其在資源池中廣播。對(duì)于非專有資源,只有計(jì)算機(jī)處于空閑狀態(tài),系統(tǒng)才會(huì)把其加入資源池中并執(zhí)行運(yùn)算任務(wù)。當(dāng)在私人環(huán)境搭建 HTCondor 平臺(tái)時(shí),我們推薦至少將一臺(tái)服務(wù)器或類似高性能主機(jī)聲明為專有資源,以此保持整個(gè)運(yùn)算環(huán)境的最低運(yùn)算能力。同時(shí)盡可能多的在其它計(jì)算機(jī)上安裝 HTCondor 系統(tǒng),指向同一臺(tái)中央管理器并聲明為非專有資源,以此提高整個(gè)資源池的計(jì)算能力。如果用戶是單機(jī)環(huán)境,HTCondor 的可以充分利用每個(gè)處理器線程,避免多線程編程的煩惱。當(dāng)有權(quán)限接入公用的 HTCondor 資源池時(shí),用戶可以跳過(guò)此步驟直接提交處理任務(wù)。

      默認(rèn)設(shè)置下 HTCondor 將運(yùn)算資源以線程為單位劃分,并均勻分配內(nèi)存。舉例來(lái)說(shuō),對(duì)于一臺(tái)雙核四線程處理器的計(jì)算機(jī),默認(rèn)配置下 HTCondor 可以劃分出 4 個(gè)虛擬 slot 供中央管理器調(diào)度。如果處理的任務(wù)更加復(fù)雜,單個(gè)任務(wù)有多核計(jì)算要求,可以選用動(dòng)態(tài)設(shè)置。在動(dòng)態(tài)設(shè)置下 HTCondor 會(huì)根據(jù)任務(wù)需求靈活劃分 slot,每個(gè)虛擬 slot 的核心數(shù)和內(nèi)存根據(jù)任務(wù)需求而不同。

      圖1 常見的私人 HTCondor 高通量運(yùn)算環(huán)境Fig.1 Common architecture of private HTCondor environments

      2.2 Python 模塊

      基于 HTCondor 高通量運(yùn)算環(huán)境提供了基本的資源分配與任務(wù)調(diào)度功能,我在其上開發(fā)了的核心python 模塊負(fù)責(zé)具體的任務(wù)控制與數(shù)據(jù)處理。Python模塊主要由以下三部分構(gòu)成。

      2.2.1 任務(wù)控制模塊

      在 HTCondor 系統(tǒng)中,任務(wù)提交、監(jiān)控等操作均通過(guò)用戶輸入不同的命令行指令完成,參數(shù)較多,不易上手。但其內(nèi)置的 HTCondor Python-Binding 提供了豐富的接口,允許用戶直接通過(guò) Python 程序?qū)θ蝿?wù)進(jìn)行操作。我們調(diào)用其 python 接口重新開發(fā)了一系列腳本,對(duì)主要操作進(jìn)行封裝,避免用戶直接通過(guò)控制臺(tái)對(duì)系統(tǒng)進(jìn)行操作,簡(jiǎn)化了用戶對(duì)底層運(yùn)算環(huán)境的控制與管理。除了任務(wù)的提交、監(jiān)控等功能,該模塊的主要作用是從時(shí)間維度將原始的數(shù)據(jù)集劃分。這些子數(shù)據(jù)集將以子任務(wù)的形式在工作流中表現(xiàn),借此達(dá)到分布式處理的目的。

      2.2.2 MODIS 數(shù)據(jù)處理模塊

      在處理模塊,我們引入了 GDAL[12]、Scikilearnr[13]、Matplotlib[14]等多種 Python 第三方開源包并進(jìn)一步開發(fā),提供必備的預(yù)處理功能和可拓展的柵格數(shù)據(jù)計(jì)算接口,基本覆蓋了 MODIS 數(shù)據(jù)產(chǎn)品的處理需求。數(shù)據(jù)預(yù)處理模塊主要包括格式轉(zhuǎn)換,圖像拼接,坐標(biāo)重投影,裁剪邊界幾個(gè)方法,為了獲得目標(biāo)地區(qū)沒有冗余的柵格數(shù)據(jù)。用戶既可以直接調(diào)用這些方法,也可以將這些方法引入到自己的 python 處理腳本中。

      ● 格式轉(zhuǎn)換:MODIS 數(shù)據(jù)以 HDF 格式為主,對(duì)于每種數(shù)據(jù)產(chǎn)品,子數(shù)據(jù)集的數(shù)量與包含的波段各不相同,這種高度壓縮的格式不易于直接計(jì)算分析。我們調(diào)用 GDAL 將每個(gè)子數(shù)據(jù)集轉(zhuǎn)換成單波段或多波段的 GeoTiff 格式,同時(shí)通過(guò)正則方法提取 HDF 文件中的數(shù)據(jù)描述信息。在保留了原始數(shù)據(jù)信息同時(shí)將數(shù)據(jù)轉(zhuǎn)化為通用格式。

      ● 拼接:標(biāo)準(zhǔn) MODIS 陸地產(chǎn)品使用正弦曲線投影系統(tǒng)并以 TILE 為單位分片,在全球范圍內(nèi)劃分了若干個(gè) 10° 經(jīng)度 *10° 緯度的分片。實(shí)際研究中,目標(biāo)區(qū)域的往往橫跨多個(gè)分片,因此拼接往往是預(yù)處理過(guò)程的第二部。該模塊中的拼接方法可以跟據(jù)用戶輸入的經(jīng)緯度范圍自動(dòng)找到相鄰的分片并將其拼接成一個(gè)統(tǒng)一的柵格數(shù)據(jù)。

      ● 坐標(biāo)重投影:投影信息是遙感影像的重要屬性。投影坐標(biāo)的轉(zhuǎn)換時(shí)遙感影像處理的重要一步。這里我們采用了 ESPG 投影坐標(biāo)索引[15]進(jìn)行投影坐標(biāo)的匹配與轉(zhuǎn)換。如 ESPG:900913 對(duì)應(yīng) Google map 系統(tǒng)投影坐標(biāo),在確保轉(zhuǎn)換精度的同時(shí)對(duì)用戶屏蔽了構(gòu)建坐標(biāo)系的復(fù)雜細(xì)節(jié)。

      ● 裁剪:以分片為單位拼接的遙感數(shù)據(jù)往往包含一些冗余數(shù)據(jù),而在大批量數(shù)據(jù)處理中,冗余數(shù)據(jù)會(huì)大大增加時(shí)間消耗。我們提供了根據(jù)掩膜或矢量邊界具體裁剪柵格數(shù)據(jù)的功能,力圖最大限度去除無(wú)用數(shù)據(jù),提高處理效率。

      根據(jù)不同需求,遙感數(shù)據(jù)的處理方式也各不相同,很難找到一個(gè)通用的流程。但大部分處理任務(wù)都是將遙感數(shù)據(jù)轉(zhuǎn)化為矩陣,然后從矩陣的層面進(jìn)行計(jì)算分析,最終得到的結(jié)果。因此,在預(yù)處理模塊之后,我們提供了一系列數(shù)據(jù)計(jì)算接口,將預(yù)處理后的遙感數(shù)據(jù)轉(zhuǎn)換為多維矩陣,使之可以直接使用 Numpy[16]、Scipy 等矩陣計(jì)算包,方便研究者直接使用。

      3.3 工作流實(shí)現(xiàn)

      將復(fù)雜的遙感數(shù)據(jù)處理流程以工作流的形式表述并提交是整個(gè)工作最后一步。在 HTCondor 系統(tǒng)中,工作流以有向無(wú)環(huán)圖(DAG) 的方式定義,由系統(tǒng)內(nèi)置的工作流調(diào)度器 DAGman 負(fù)責(zé)調(diào)度與執(zhí)行。DAG中每個(gè)節(jié)點(diǎn)代表一個(gè)獨(dú)立 HTCondor 任務(wù),有著對(duì)應(yīng)的任務(wù)描述文件。該文件描述了該任務(wù)所需要的硬件資源,處理環(huán)境,輸入輸出數(shù)據(jù)以及可執(zhí)行文件。我們直接在可執(zhí)行文件中定義處理步驟,或是引用python 處理模塊中的對(duì)應(yīng)方法,來(lái)完成當(dāng)前模塊的處理任務(wù)。

      DAG 中每條邊代表工作節(jié)點(diǎn)間的依賴關(guān)系,一個(gè) DAG 是多個(gè) HTCondor 任務(wù)的集合,每個(gè) DAG 也需要一個(gè) DAG 描述文件來(lái)表示。用戶定制好自己的DAG 描述文件并一次性提交給 HTCondor 系統(tǒng),系統(tǒng)會(huì)自動(dòng)按照 DAG 的結(jié)構(gòu)按順序執(zhí)行每個(gè)任務(wù),并返回最終結(jié)果。一個(gè)基本的 MODIS 數(shù)據(jù)處理任務(wù)的DAG 圖如下:

      在眾多遙感數(shù)據(jù)處理任務(wù)中,也有許多通用處理流程。當(dāng)只有部分輸入數(shù)據(jù)有變化時(shí),一些常用的結(jié)構(gòu)可以反復(fù)使用。針對(duì)這種現(xiàn)象,我們使用Python 腳本來(lái)動(dòng)態(tài)修改工作流中每個(gè)節(jié)點(diǎn)的屬性。Python 腳本會(huì)在每個(gè)節(jié)點(diǎn)前執(zhí)行,在執(zhí)行任務(wù)前對(duì)輸入輸出數(shù)據(jù)進(jìn)行比對(duì)并檢查完備性,根據(jù)內(nèi)置規(guī)則將該節(jié)點(diǎn)啟動(dòng)或停用。因此,當(dāng)只有部分原數(shù)據(jù)變化時(shí),系統(tǒng)只會(huì)對(duì)需要更新的節(jié)點(diǎn)重新進(jìn)行計(jì)算。通過(guò)動(dòng)態(tài)工作流設(shè)置,我們大大提高整個(gè)處理框架的工作效率。

      圖2 處理環(huán)節(jié)的任務(wù)描述文件 process.submitFig.2 The job description file of processing stage

      圖3 一個(gè)簡(jiǎn)單的 MODIS 數(shù)據(jù)處理任務(wù)的 DAG 及 DAG 描述文件。*.submit 為每個(gè)節(jié)點(diǎn)的任務(wù)描述文件Fig.3 A simple DAG file for MODIS processing workflow.*.submit is the job description file for each node.

      4 實(shí)驗(yàn)

      我們的實(shí)驗(yàn)環(huán)境包括兩種分布式計(jì)算環(huán)境和一個(gè)單機(jī)環(huán)境。第一個(gè)是公用分布式計(jì)算環(huán)境-威斯康星大學(xué)麥迪遜分校的 HTCondor 資源池 CHTC,該資源池有約 10000 核的運(yùn)算能力,由威斯康星大學(xué)高通量計(jì)算中心維護(hù)與管理,供學(xué)校內(nèi)各學(xué)院研究者使用。同時(shí),我們?cè)趯?shí)驗(yàn)室內(nèi)搭建的小型的個(gè)人分布式環(huán)境,由一臺(tái) IBM 服務(wù)器 (Intel X5520 雙路四核超線程) 和 2 臺(tái)單核臺(tái)式機(jī)組成,共擁有 20 核的運(yùn)算能力。單機(jī)實(shí)驗(yàn)環(huán)境為一臺(tái)臺(tái)式電腦 (i5 6400 四核四線程)。

      第一個(gè)試驗(yàn)測(cè)試了不同環(huán)境下相同處理任務(wù)的時(shí)間花費(fèi)。兩個(gè)分布式環(huán)境均配置了 HTCondor系統(tǒng)并使用 DAG 提交整個(gè)工作流,單機(jī)環(huán)境只安裝了相同的 Python 處理模塊,使用腳本執(zhí)行相同的處理任務(wù)。實(shí)驗(yàn)中我們對(duì) MODIS 陸地?cái)?shù)據(jù)產(chǎn)品MCD45A1.051 執(zhí)行了四個(gè)預(yù)處理流程,并分別統(tǒng)計(jì)在數(shù)據(jù)大小遞增 (不同時(shí)間跨度) 情況下所需要的處理時(shí)間。

      圖4 不同環(huán)境下相同處理任務(wù)的時(shí)間消耗Fig.4 Overall processing performance in different environments

      圖5 不同數(shù)據(jù)產(chǎn)品的時(shí)間消耗分析Fig.5 Time consumption analysis

      如圖所示,我們發(fā)現(xiàn)基于 HTCondor 平臺(tái)的高通量環(huán)境在處理效率上有著顯著優(yōu)勢(shì)。當(dāng)任務(wù)量較小時(shí),小型集群也能顯著節(jié)省處理時(shí)間,但隨著任務(wù)量逐漸增大,受限于有限的計(jì)算資源,更多的計(jì)算任務(wù)因?yàn)槿鄙倏捎?slot 而在隊(duì)列中等待,導(dǎo)致了處理時(shí)間線性增長(zhǎng)。相反,在 CHTC 資源池中,因?yàn)榭捎?slot遠(yuǎn)遠(yuǎn)大于任務(wù)需求,所以無(wú)論單片數(shù)據(jù)還是長(zhǎng)達(dá) 36個(gè)月的數(shù)據(jù),所需的處理時(shí)間幾乎相同。至于單機(jī)環(huán)境,由于沒有部署 HTCondor 軟件并且處理程序沒有進(jìn)行多線程實(shí)現(xiàn),四核心的處理能力也只發(fā)揮了分布式環(huán)境中單核的效果。

      在第二個(gè)實(shí)驗(yàn)中,我們?cè)趦蓚€(gè)分布式環(huán)境中對(duì)不同的 MODIS 數(shù)據(jù)產(chǎn)品的處理時(shí)間進(jìn)行了分析。在高通量計(jì)算環(huán)境中,任務(wù)的執(zhí)行時(shí)間不僅包括計(jì)算時(shí)間,數(shù)據(jù)的傳輸、廣播信息的收集匹配等環(huán)節(jié)也會(huì)造成一定時(shí)間花費(fèi)。我們將總的執(zhí)行時(shí)間劃分為計(jì)算時(shí)間和額外時(shí)間兩大類。在實(shí)驗(yàn)中,我們對(duì)五種結(jié)構(gòu)大小各不相同的 MODIS 數(shù)據(jù)產(chǎn)品進(jìn)行相同的處理。對(duì)于每種數(shù)據(jù)產(chǎn)品,我們又在不同大小的數(shù)據(jù)集上處理了兩次,結(jié)果如圖所示:

      如圖所示不同 MODIS 數(shù)據(jù)產(chǎn)品的計(jì)算時(shí)間差異較大。對(duì)于 MCD12Q2,單個(gè) HDF 文件大小為 160MB,包含了 8 個(gè)子數(shù)據(jù)集,每個(gè)子數(shù)據(jù)集為 2400×2400 的 2 波段柵格數(shù)據(jù)。而數(shù)據(jù)產(chǎn)品MCD15A3 的每個(gè) HDF 文件只包含 6 個(gè) 1200*1200 的單波段子數(shù)據(jù)集,大小約為 1MB。數(shù)據(jù)產(chǎn)品結(jié)構(gòu)與大小上的差異導(dǎo)致了處理時(shí)間的不同,擁有更多子數(shù)據(jù)集和多波段柵格數(shù)據(jù)的遙感產(chǎn)品往往需要更多的計(jì)算時(shí)間。我們還發(fā)現(xiàn),隨著處理任務(wù)中數(shù)據(jù)集的增大,任務(wù)執(zhí)行時(shí)間中額外時(shí)間的占比會(huì)有所增長(zhǎng),說(shuō)明在任務(wù)中數(shù)據(jù)傳輸與收集上需要花費(fèi)更多時(shí)間。

      5 總結(jié)

      在本文中,我們針對(duì)時(shí)間序列 MODIS 遙感數(shù)據(jù)的特點(diǎn),結(jié)合 HTCondor 高通量計(jì)算框架的特性,介紹了一種高效的分布式遙感影像處理方法。這種方法可以充分利用可用的硬件資源,根據(jù)需求靈活調(diào)度任務(wù),配合獨(dú)立開發(fā)的 Python 處理模塊,大大提高了遙感影像效率。相比于現(xiàn)存的各種分布式解決方案,該方法通用性好,無(wú)需依賴特定的商業(yè)云平臺(tái)或分布式技術(shù),僅需簡(jiǎn)單的配置即可部署,具有高度的靈活性和拓展性。

      [1]T.S,R.M.Moderate Resolution Imaging Spectroradiometer(MODIS)[M]. 1993.

      [2]Coppin P R,Bauer M E.Digital change detection in forest ecosystems with remote sensing imagery[J].Remote sensing reviews,1996,13(3-4): 207-234.

      [3]Song X-P,Huang C,Sexton J O,et al.Annual detection of forest cover loss using time series satellite measurements of percent tree cover[J].Remote Sensing,2014,6(9):8878-8903.

      [4]Li J,Humphrey M,Van Ingen C,et al.escience in the cloud: A modis satellite data reprojection and reduction pipeline in the windows azure platform[C].Parallel &Distributed Processing (IPDPS),2010 IEEE International Symposium on,2010: 1-10.

      [5]Wang C,Hu F,Hu X,et al.a Hadoop-Based Distributed Framework for Efficient Managing and Processing Big Remote Sensing Images[J].ISPRS Annals of the Photogrammetry,Remote Sensing and Spatial Information Sciences,2015,2(4): 63.

      [6]Shvachko K,Kuang H,Radia S,et al.The hadoop distributed file system[C].Mass storage systems and technologies (MSST),2010 IEEE 26th symposium on,2010: 1-10.

      [7]Inglada J,Christophe E.The Orfeo Toolbox remote sensing image processing software[C].Geoscience and Remote Sensing Symposium,2009 IEEE International,IGARSS 2009,2009: IV-733-IV-736.

      [8]Li Z,Li X,Wang Y,et al.Land-use change analysis in Yulin prefecture,northwestern China using remote sensing and GIS[J].International Journal of Remote Sensing,2004,25(24): 5691-5703.

      [9]Thain D,Tannenbaum T,Livny M.Distributed computingin practice: The Condor experience[J].Concurrency-Practice and Experience,2005,17(2-4): 323-356.

      [10]Team H.HTCondorTM Version 8.2.10 Manual.http://research.cs.wisc.edu/htcondor/manual/v8.2/ref.html.

      [11]Frey J.Condor DAGMan: Handling inter-job dependencies[J].University of Wisconsin,Dept.of Computer Science,Tech.Rep,2002.

      [12]Warmerdam F: The geospatial data abstraction library,Open source approaches in spatial data handling: Springer,2008: 87-104.

      [13]Pedregosa F,Varoquaux G,Gramfort A,et al.Scikit-learn:Machine learning in Python[J].The Journal of Machine Learning Research,2011,12: 2825-2830.

      [14]Hunter J D.Matplotlib: A 2D graphics environment[J].Computing In Science & Engineering,2007,9(3): 90-95.

      [15]About the EPSG Dataset[EB/OL].

      [16]Bressert E.SciPy and NumPy: An Overview for Developers[M]." O'Reilly Media,Inc.",2012.

      A High Throughput Pipeline for Processing Time Series MODIS Data

      Zheng Ruobing1,2,Luo Ze2,Yan Baoping2

      1.University of Chinese Academy of Sciences ,Beijing 100190 ,China
      2.Computer Network Information Center,Chinese Academy of Sciences ,Beijing 100190,China

      The development of remote sensing technologies enables more scientists to use remote sensing imagery in various research.The big increase in the data has created another challenge: how to process the imageries more efficiency.In this paper,we propose a high throughput pipeline for processing long time series MODIS data in HTCondor platform.We use HTCondor to manage resources and schedule jobs while developing supporting Python packages for splitting and processing datasets.This pipeline is highly efficient and easy to deploy,working well on both dedicated clusters and cross-platform of fice environment.Experiments show the solution can handle multiple processing tasks in large and complex structures.

      high throughput computing; MODIS data processing; HTCondor

      10.11871/j.issn.1674-9480.2017.02.005

      中國(guó)科學(xué)院信息化專項(xiàng)重點(diǎn)數(shù)據(jù)庫(kù)項(xiàng)目 (XXH12504-1-06);國(guó)家自然科學(xué)基金 (61361126011);中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心“一三五”規(guī)劃重點(diǎn)培育方向?qū)m?xiàng) (CNIC_PY_1408,CNIC_PY_1409)

      2017年1月8日

      鄭若冰:中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)中心,博士研究生,主要研究方向?yàn)閿?shù)據(jù)挖掘。

      E-mail:zhengruobing@cnic.cn

      羅 澤:中國(guó)科學(xué)院計(jì)算機(jī)網(wǎng)絡(luò)信息中心,研究員,博士生導(dǎo)師,主要研究方向?yàn)?e-Science 應(yīng)用,面向e-Science 應(yīng)用的數(shù)據(jù)處理技術(shù)應(yīng)用研究。

      E-mail:luoze@cnic.cn

      閻保平:中國(guó)科學(xué)院計(jì)算網(wǎng)絡(luò)信息中心,研究員,博士生導(dǎo)師,主要研究方向?yàn)榇笠?guī)模數(shù)據(jù)共享技術(shù)、數(shù)據(jù)網(wǎng)格、下一代互聯(lián)網(wǎng)技術(shù)、e-Science 應(yīng)用。

      E-mail:ybp@cnic.cn

      猜你喜歡
      分布式計(jì)算高通量數(shù)據(jù)處理
      高通量衛(wèi)星網(wǎng)絡(luò)及網(wǎng)絡(luò)漫游關(guān)鍵技術(shù)
      認(rèn)知診斷缺失數(shù)據(jù)處理方法的比較:零替換、多重插補(bǔ)與極大似然估計(jì)法*
      ILWT-EEMD數(shù)據(jù)處理的ELM滾動(dòng)軸承故障診斷
      高通量血液透析臨床研究進(jìn)展
      Ka頻段高通量衛(wèi)星在鐵路通信中的應(yīng)用探討
      中國(guó)通信衛(wèi)星開啟高通量時(shí)代
      基于云計(jì)算的移動(dòng)學(xué)習(xí)平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)
      云計(jì)算中MapReduce分布式并行處理框架的研究與搭建
      面向異構(gòu)分布式計(jì)算環(huán)境的并行任務(wù)調(diào)度優(yōu)化方法
      基于希爾伯特- 黃變換的去噪法在外測(cè)數(shù)據(jù)處理中的應(yīng)用
      德钦县| 高要市| 南汇区| 类乌齐县| 彩票| 临桂县| 锡林浩特市| 阿勒泰市| 曲阜市| 雷山县| 晋中市| 莱州市| 乌拉特前旗| 贵溪市| 喀喇| 石屏县| 南平市| 井陉县| 寻乌县| 永嘉县| 锡林浩特市| 远安县| 富裕县| 哈尔滨市| 公主岭市| 忻州市| 庄河市| 三河市| 维西| 灵璧县| 顺昌县| 太和县| 泗洪县| 清涧县| 来凤县| 阜城县| 靖西县| 平顶山市| 云龙县| 昌平区| 通州区|