国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      面向遙感圖像處理算法的快速并行化編程模板方法

      文檔序號:5869804閱讀:229來源:國知局
      專利名稱:面向遙感圖像處理算法的快速并行化編程模板方法
      技術領域
      本發(fā)明涉及遙感數(shù)據(jù)處理技術領域,特別涉及一種面向遙感圖像處理算法的快速 并行化編程模板方法。
      背景技術
      隨著遙感技術的發(fā)展與廣泛應用,遙感對地觀測數(shù)據(jù)量正以每日TB級的速度增 長,地學計算所要解決的問題也越來越復雜。然而后由于遙感數(shù)據(jù)具有多波段結構和幾何 特性,使處理算法存在重復計算性,因而具有天然的內在并行性。因此,基于機群架構的高 性能并行計算技術已成為解決大數(shù)據(jù)規(guī)模和復雜算法帶來的超大計算量問題的常用手段。目前并行遙感數(shù)據(jù)處理算法的并行策略通常具有一定的針對性,其中算法中的數(shù) 據(jù)分布方式、負載均衡策略等都只是針對某個具體算法而設計的。每增加一個處理算法, 則需要針對性的研究其并行化方法,并進行并行編程實現(xiàn)。而且并行算法開發(fā)需要一定 的并行體系結構及消息傳遞接口(MPI)并行編程知識,這對于地學領域專家來說也是個 難題。尤其隨著多核技術的普遍,如何充分利用多核處理器的性能,針對多核中芯片內部 (intra-chip),芯片間(inter-chip)與節(jié)點網(wǎng)絡性能之間性能差異對并行算法模型進行 優(yōu)化,以及針對I/O性能瓶頸問題進行優(yōu)化問題也都不是遙感領域專家所擅長的。因此,如 何提供一種遙感處理算法的快速自動并行化方法將是一個迫切需要解決的問題。而事實上,大多遙感數(shù)據(jù)處理算法在并行化上存在一定的共性,可以共享一個并 行模式,數(shù)據(jù)分布策略或負載均衡策略。因此,通過建立于某種遙感處理算法相對應的可重 用并行算法編程模型,并在模型中針對多核和I/O性能進行優(yōu)化,進而提供一種能夠進行 遙感處理算法的快速自動并行化方法將可使得領域專家從復雜繁瑣的并行編程中解脫出 來。

      發(fā)明內容
      本發(fā)明的目的是提供一種面向遙感圖像處理算法的快速并行化編程模板方法,通 過構建編程模板庫,并類繼承編程模板,能夠自動加載相應的遙感圖像并行處理流程,自動 進行數(shù)據(jù)/任務劃分、數(shù)據(jù)通信和負載調度,使之在多結點、多核上并行執(zhí)行,解決遙感處 理算法的快速并行化實現(xiàn)問題。本發(fā)明的目的是通過以下技術方案來實現(xiàn)—種面向遙感圖像處理算法的快速并行化編程模板方法,包括以下步驟1)提取遙感圖像并行處理模型,根據(jù)計算與數(shù)據(jù)的局部相關性,如局部相關、波段 間相關或全局相關,分析這種重復計算特性并進行算法分類,在算法分類的基礎上,為每類 算法歸納并定義出公共的并行遙感圖像處理算法流程、結點間數(shù)據(jù)通信和交互方式,并為 其設計通用的數(shù)據(jù)/任務劃分策略和節(jié)點間動態(tài)調度策略,最終提煉出相應的遙感圖像并 行處理模型,在這些模型中,其數(shù)據(jù)/任務劃分策略在結點間數(shù)據(jù)劃分的基礎上,可針對多 核架構進行二次劃分,充分利用多核并行性;其并行算法處理流程上,充分利用I/O預取策
      3略調整并行流程,使I/O和計算充分重疊,對模型進行優(yōu)化;2)構建快速并行化編程模板庫,快速并行化編程模板庫,基于MPI并行計算環(huán)境, 以及遙感數(shù)據(jù)對象并行存儲系統(tǒng)(HPGFS)提供的高速并行I/O和地理信息訪問轉換接口, 利用MPI和多線程技術(pthread)將以上遙感圖像并行處理模型實現(xiàn)并固化到相應的編程 模板中,其構建方法如下首先,使用軟件設計模式對上述遙感圖像并行處理模型中并行處理流程的基本處 理步驟進行接口抽象設計,每個遙感圖像并行處理模型被抽象為一個并行編程模板類;模 型中并行處理流程的各個基本并行處理步驟也被抽象為該模板類中相應的操作接口(函 數(shù)接口);最終,模型中的并行處理流程,即各個基本處理步驟的計算流程和邏輯,映射為 編程模板類中相應的各個操作接口的調用流程和邏輯,此流程和邏輯被固化到模板類的主 函數(shù)操作接口中;其次,利用MPI和多線程技術(Pthread)對編程模板類中的各個操作接口進行 并行實現(xiàn),利用MPI編程語言實現(xiàn)編程模板類中多計算結點間的并行計算和結點通信; Pthread多線程實現(xiàn)計算結點內的多核并行處理,并通過I/O預取策略,使得計算和I/O充 分重疊;利用HPGFS的基于通用并行文件系統(tǒng)的MPI-I0接口提供全局文件鏡像及并行I/O 支持,避免數(shù)據(jù)分發(fā)和回收及節(jié)點間頻繁的數(shù)據(jù)交互,對I/O性能和并行流程進行優(yōu)化;使 用HPGFS的地理信息訪問和操作接口,簡化并行處理過程中地理信息的管理和轉換,此外, 并行模型中設計的數(shù)據(jù)劃分策略、動態(tài)調度策略等也實現(xiàn)固化在模板類中;最后,將編程模板類封裝成并行化編程模板庫,利用軟件設計模式對并行編程模 板庫進行可擴展設計,使其具有開放架構,該模板庫中設計一個編程模板類的父類,擴展 該父類可派生出多個并行化編程模板類,并對并行程序中的所有基本參數(shù)和私有參數(shù)進行 管理,將上述這些并行化編程模板類封裝到具有開放架構的快速并行化編程模板庫,以庫 (lib)形式提供可快速進行遙感圖像處理算法并行化的通用編程開發(fā)包。3)繼承并行化編程模板,利用類繼承的編程思想,在用戶處理程序中繼承上述快 速并行化編程模板庫中指定的模板類,便可自動加載該模板類所實現(xiàn)的并行處理模型,即 加載遙感圖像并行處理流程,數(shù)據(jù)/任務劃分策略、數(shù)據(jù)通信模式、負載調度策略,隨后在 用戶程序中載入串行處理算法模塊,經(jīng)過編譯可自動將串行程序轉化為并行目標程序,運 行該并行目標程序,即可將這些算法模塊自動分配到多個計算結點,以及結點內的多核處 理器上并發(fā)地執(zhí)行,并進行自動數(shù)據(jù)/任務劃分、自動數(shù)據(jù)通信交互、自動負載調度,從而 實現(xiàn)遙感處理算法的快速并行化。本發(fā)明的有益效果為遙感應用領域技術人員,無需熟悉高性能計算平臺上基于 機群的并行計算模型、也無需具備MPI并行編程技術等與高性能并行計算相關的技術細 節(jié),只需要通過簡單的類繼承方法,繼承該模板庫中指定的遙感圖像并行處理模型,并加載 用戶自行開發(fā)的串行算法程序,便可實現(xiàn)遙感處理算法的快速并行化,并達到較高的并行 效率,從而大大提高大規(guī)模遙感數(shù)據(jù)的處理性能。


      下面根據(jù)附圖對本發(fā)明作進一步詳細說明。圖1為本發(fā)明實施例所述的面向遙感圖像處理算法的快速并行化編程模板方法的示意圖;圖2為本發(fā)明一個并行化編程模板庫結構示意圖;圖3為本發(fā)明中純數(shù)據(jù)并行計算模型的示意圖;圖4為本發(fā)明中全局信息計算并行模型示意圖;圖5為本發(fā)明中的并行編程模板類關系示意圖;圖6為本發(fā)明實施中純數(shù)據(jù)并行編程模板類的類圖;圖7為本發(fā)明實施過程示意圖;圖8為本發(fā)明實施結果并行算法主程序的程序目錄結構。
      具體實施例方式如圖1-8所示,本發(fā)明實施例所述的一種面向遙感圖像處理算法的快速并行化編 程模板方法,包括以下步驟1)提取三種典型遙感圖像并行處理模型根據(jù)算法的重復性計算特點歸為三類像素重復運算、局部區(qū)域重復運算、波段間 重復運算和全局信息類運算,并提煉出三種較為典型的并行計算模型,包括純數(shù)據(jù)并行模 型、波段相關數(shù)據(jù)并行模型、全局信息計算并行模型。純數(shù)據(jù)并行模型主要針對具有局部區(qū)域重復計算性的算法,其輸出圖像可由輸 入圖像中某個像素或局部區(qū)域內像素的獨立運算得到,適合圖像運算,輻射/幾何校正,圖 像增強等算法。該模型的并行處理流程如圖3。主節(jié)點完成參數(shù)獲取、結果圖像范圍計算、 數(shù)據(jù)/計算任務劃分及節(jié)點間計算任務動態(tài)調度;從節(jié)點不斷從主節(jié)點獲取子任務,并進 入由I/O數(shù)據(jù)讀取、多個核心處理算法功能、數(shù)據(jù)輸出操作等組成的多級流水線中,流水線 各級映射到多個線程中執(zhí)行,各線程通過共享環(huán)形緩沖區(qū)(buffer)在內存空間交換數(shù)據(jù)。 該模型中利用多線程技術充分發(fā)揮內核線程級并行,且使用數(shù)據(jù)預取策略,使I/O與計算 充分重疊。波段相關數(shù)據(jù)并行模型主要針對具有波段間重復計算特性的算法,既輸出圖像 的某像素或區(qū)域的計算由多個波段的共軛點或區(qū)域共同參與運算。這類算法的數(shù)據(jù)并行性 和計算的數(shù)據(jù)局部性也較好。適合圖像變換、圖像融合、波段配準等算法。該并行模型也采 用任務池并行主要并行處理流程與純數(shù)據(jù)并行模型大體相同,區(qū)別在于任務劃分時與波段 數(shù)無關,在核心模塊處理數(shù)據(jù)塊時中多個波段對應的數(shù)據(jù)塊一起參與計算。全局信息計算并行模型針對信息計算類遙感算法,并行計算流程中間或結尾中 涉及全局計算,如圖像分類、直方圖規(guī)定化等。全局信息計算并行模型的并行處理流程如 圖4,主節(jié)點完成參數(shù)獲取、數(shù)據(jù)/計算任務劃分、節(jié)點間的計算任務動態(tài)調度;從節(jié)點循環(huán) 從主節(jié)點獲取子任務,并進入由I/O數(shù)據(jù)讀取、多個核心處理算法功能、計算結果回收等組 成的多級流水線中,流水線各級并發(fā)執(zhí)行;完畢后,所有計算節(jié)點同步對回收的計算結果進 行全局處理;最后若無隨后的計算處理則整個計算流程結束,否則,則啟動另一個流水線處 理階段,最終輸出計算結果信息或者結果圖像數(shù)據(jù)。2)構建并行編程模板庫該并行編程模板庫的模板類設計如圖5所示。編程模板中抽象了一個編程模 板父類ImgProcessingParallel,數(shù)據(jù)類型ProcessingParam負責算法基本參數(shù)和私有參數(shù)的管理。通過對以上三種并行處理模型進行接口抽象設計,并繼承模板父類,得到純數(shù)據(jù)并行編程模板類ImgProcessingDataParallel,波段相關數(shù)據(jù)并行編程模板類 ImgPrοcessingBandRe 1 atedPara 11 e 1 和全局信息計算并行編程模板類 ImgProcessingGlo balParalIelNoImg0每個并行處理模型的各個基本并行處理步驟也被模板化為相應模板類中的 操作接口(函數(shù)接口),整個并行算法流程也固化在主操作函數(shù)接口中。如純數(shù)據(jù) 并行編程模板類(如圖6),將模型并行算法流程中各個基本處理步驟模板化為模板 類 中 GetInitParam()、GetScopeOfDesImage()、SplitDesImage()、LoadBalance()、 GetScopeOfSrcBlock ()、ReadSrcBlock ()、BlockProcessing () ^ffriteDesBlock ()等操作接 口,并利用MPI和Pthread并行實現(xiàn)。而在主函數(shù)接口 ImgProcessing ()調用這些操作接 口(對應并行處理模型中的基本處理步驟)實現(xiàn)并固化整個并行處理流程。此外,將并行 處理模型中的數(shù)據(jù)/任務劃分策略、動態(tài)調度策略也固化在模板類中。最后,將這些編程模 板類封裝打包,以庫(lib)形式提供通用并行化編程模板庫開發(fā)包。3)繼承并行編程模板類通過繼承編程模板庫中的并行編程模板類,即可加載指定的遙感圖像并行處理模 型,從而實現(xiàn)遙感處理算法的快速并行化,其具體快速并行化實施流程如圖7所示。首先,要根據(jù)具體算法明確提出所需的外部參數(shù),這些參數(shù)包括被處理對象的 輸入輸出結果路徑、圖像大小,以及其他需要從外部傳入的參數(shù)等,并行程序完成后系 統(tǒng)將自動根據(jù)這些參數(shù)生成為該并行算法生成XML參數(shù)文件。其次,根據(jù)經(jīng)驗選定需 要繼承的并行模板類。再次,按圖8中的并行算法主程序的程序目錄結構構建和編寫用 戶程序,并在ImgProcessingParallellmp.h中申明要使用的并行編程模板,即實現(xiàn)類 ImgProcessingParallellmp繼承選定的編程模板類。而后,加載用戶核心功能函數(shù),即在 ImgProcessingParallellmp. cpp中重載BlockProcessing方法,并在i亥方法中i周用用戶編 寫的串行核心算法功能函數(shù)。最后,進行聯(lián)合編譯、執(zhí)行。遵循這一流程即可快速實現(xiàn)一個 并行效率較高的并行處理算法。若用戶算法需要繼承全局信息計算并行編程模板類,則還需要重載全局計算 (GlobalComputing),加載用戶自定義的全局計算算法。若用戶需要進一步提高并行效率, 則可以重載SplitDesImage操作接口或LoadBalance操作接口,調用自定義的數(shù)據(jù)任務劃 分和負載均策略。按以上步驟,設計了一套面向遙感圖像處理算法的并行編程模板庫,主要是適用 于數(shù)據(jù)并行性較好的處理算法。該模板庫基于的MPI并行計算環(huán)境,主要是指基于商業(yè)多 核機群平臺,由MPI并行計算、PVFS2、或Luster等并行文件系統(tǒng)等組成。該模板庫已經(jīng)實 現(xiàn)了幾十個遙感圖像處理算法的快速并行化,且加速比接近線性,并行效率高。
      權利要求
      一種面向遙感圖像處理算法的快速并行化編程模板方法,其特征在于包括以下步驟1)提取遙感圖像并行處理模型,根據(jù)計算與數(shù)據(jù)的局部相關性,如局部相關、波段間相關或全局相關,分析這種重復計算特性并進行算法分類,在算法分類的基礎上,為每類算法歸納并定義出公共的并行遙感圖像處理算法流程、結點間數(shù)據(jù)通信和交互方式,并為其設計通用的數(shù)據(jù)/任務劃分策略和節(jié)點間動態(tài)調度策略,最終提煉出相應的遙感圖像并行處理模型;2)構建快速并行化編程模板庫,首先,使用軟件設計模式對上述遙感圖像并行處理模型進行接口抽象設計為并行編程模板類;而模型中并行處理流程的各個基本并行處理步驟被抽象為模板類中相應的函數(shù)接口;并行處理流程被映射為編程模板類中多個函數(shù)接口的調用流程和邏輯,并被固化到模板類的主函數(shù)操作接口中,其次,利用MPI和Pthread多線程技術對編程模板類中的各個操作接口進行并行實現(xiàn),其中MPI實現(xiàn)多計算結點間的并行計算和通信,Pthread多線程實現(xiàn)計算結點內的多核并行處理,最后,將編程模板類封裝成并行化編程模板庫,對其進行可擴展設計,使其具有開放架構,其中設計一個編程模板類的父類,擴展該父類可派生出多個并行化編程模板類;并對并行程序中的所有基本參數(shù)和私有參數(shù)進行管理;3)繼承并行化編程模板,利用類繼承的編程思想,在用戶處理程序中繼承上述快速并行化編程模板庫中指定的模板類,便可自動加載該模板類所實現(xiàn)的并行處理模型,即加載遙感圖像并行處理流程,數(shù)據(jù)/任務劃分策略、數(shù)據(jù)通信模式、負載調度策略,隨后在用戶程序中載入串行處理算法模塊,經(jīng)過編譯可自動將串行程序轉化為并行目標程序,運行該并行目標程序,即可將這些算法模塊自動分配到多個計算結點,以及結點內的多核處理器上并發(fā)地執(zhí)行,并進行自動數(shù)據(jù)/任務劃分、自動數(shù)據(jù)通信交互、自動負載調度,從而實現(xiàn)遙感處理算法的快速并行化。
      2.根據(jù)權利要求1所述的面向遙感圖像處理算法的快速并行化編程模板方法,其特征 在于在最終提煉出相應的遙感圖像并行處理模型中,其數(shù)據(jù)/任務劃分策略在結點間數(shù) 據(jù)劃分的基礎上,可針對多核架構進行二次劃分,充分利用多核并行性;其并行算法處理流 程上,采用基于并行文件系統(tǒng)的MPI-I0并行接口提高I/O性能,并充分利用I/O預取策略 調整并行流程,使并行I/O和計算充分重疊,對模型進行優(yōu)化。
      全文摘要
      本發(fā)明涉及一種面向遙感圖像處理算法的快速并行化編程模板方法,包括以下步驟1)提取遙感圖像并行處理模型,2)構建快速并行化編程模板庫使用軟件設計模式對上述遙感圖像并行處理模型中并行處理流程的基本處理步驟進行接口抽象設計;利用MPI和Pthread多線程技術對編程模板類中的各個操作接口進行并行實現(xiàn);將編程模板類封裝成并行化編程模板庫,3)繼承并行化編程模板。本發(fā)明的有益效果為遙感應用領域技術人員只需要通過簡單的類繼承方法,繼承該模板庫中指定的遙感圖像并行處理模型,并加載用戶自行開發(fā)的串行算法程序,便可實現(xiàn)遙感處理算法的快速并行化,并達到較高的并行效率,從而大大提高大規(guī)模遙感數(shù)據(jù)的處理性能。
      文檔編號G01S7/48GK101799762SQ20101014076
      公開日2010年8月11日 申請日期2010年4月7日 優(yōu)先權日2010年4月7日
      發(fā)明者劉定生, 劉鵬, 李景山, 王妍穎, 趙靈軍, 馬艷 申請人:中國科學院對地觀測與數(shù)字地球科學中心
      網(wǎng)友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1