国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

IDL并行計算技術(shù)在SAR風(fēng)場反演中應(yīng)用

2014-07-19 15:11:04卞小林張登榮張春燕王潔
計算機(jī)工程與應(yīng)用 2014年18期
關(guān)鍵詞:風(fēng)場線程進(jìn)程

卞小林,張登榮,張春燕,王潔

1.杭州師范大學(xué)遙感與地球科學(xué)研究院,杭州 311121

2.中國科學(xué)院遙感應(yīng)用研究所,北京 100101

3.浙江省城市濕地與區(qū)域變化研究重點(diǎn)實(shí)驗室,杭州 311121

IDL并行計算技術(shù)在SAR風(fēng)場反演中應(yīng)用

卞小林1,2,張登榮1,3,張春燕2,王潔1,3

1.杭州師范大學(xué)遙感與地球科學(xué)研究院,杭州 311121

2.中國科學(xué)院遙感應(yīng)用研究所,北京 100101

3.浙江省城市濕地與區(qū)域變化研究重點(diǎn)實(shí)驗室,杭州 311121

1 引言

多核技術(shù)、集群技術(shù)、混合體系結(jié)構(gòu)等技術(shù)在飛速發(fā)展,特別是在近幾年多核技術(shù)的快速發(fā)展,科學(xué)研究與工程技術(shù)領(lǐng)域應(yīng)用對高性能計算應(yīng)用需求越來越高[1-4]。ITT-VIS(ITT Visual Information Solutions,現(xiàn)已變更為EXELIS-VIS)公司開發(fā)并推向市場的第四代計算機(jī)語言IDL(Interactive Data Language),是進(jìn)行科學(xué)數(shù)據(jù)分析、可視化表達(dá)和跨平臺應(yīng)用開發(fā)的理想工具。IDL現(xiàn)已經(jīng)廣泛應(yīng)用于多個領(lǐng)域,目前基于IDL并行計算相關(guān)研究主要有Tech-X公司推出的商業(yè)軟件FastDL與混合語言開發(fā)方式將IDL與MPI(Message Passing Interface)相結(jié)合在集群系統(tǒng)上實(shí)現(xiàn)并行,而基于單機(jī)并行計算相關(guān)的研究較少[5-6]。除了基于集群系統(tǒng)實(shí)現(xiàn)并行計算,如何發(fā)揮單機(jī)多核的優(yōu)勢,通過多進(jìn)程、多線程技術(shù)來提高系統(tǒng)的效率,需要軟件供應(yīng)商、應(yīng)用程序開發(fā)人員研發(fā)更多并行計算程序。在實(shí)際開發(fā)中,多核編程相對比較復(fù)雜,很難快速寫出正確的并行計算代碼[7]。ITT-VIS公司已經(jīng)在IDL內(nèi)部增加了對多進(jìn)程、多線程的支持,降低了并行程序設(shè)計的困難,實(shí)現(xiàn)多處理器系統(tǒng)上數(shù)值運(yùn)算加速[8]。本文將以IDL橋?qū)ο鬄槔榻B基于多核計算機(jī)IDL并行計算技術(shù)。

2 IDL并行計算開發(fā)方式描述

并行計算是指同時使用多種計算機(jī)資源解決計算問題的過程,主要用于解決大型且復(fù)雜或者對時效性要求較高的計算問題。多核計算機(jī)可以將計算任務(wù)分?jǐn)偟蕉鄠€CPU核中同時執(zhí)行,因此并行計算算法可以分為多線程與多進(jìn)程兩類。創(chuàng)建線程比進(jìn)程開銷小,且多線程間通信也比多進(jìn)程間的通信過程簡單和快速,但是需要對已有的串行程序進(jìn)行大量的代碼修改,把程序中適合并行計算的部分變?yōu)槎嗑€程來實(shí)現(xiàn)。多進(jìn)程適合于多任務(wù)獨(dú)立的并行計算,突出的優(yōu)點(diǎn)是現(xiàn)有串行程序不需要大量修改[9]。因此充分利用多線程、多進(jìn)程構(gòu)建并行計算算法,可以進(jìn)一步提高算法執(zhí)行效率。

2.1 IDL到IDL橋解決方案

IDL程序有多種方式調(diào)用分布式計算資源,可以應(yīng)用于專業(yè)的集群環(huán)境、簡單的辦公網(wǎng)絡(luò)與工作站并行計算,實(shí)現(xiàn)加速運(yùn)算。IDL線程池是多線程實(shí)現(xiàn)數(shù)值計算加速,它由程序根據(jù)處理數(shù)據(jù)元素數(shù)量、CPU可用性與算法中多線程可用性等自動評估當(dāng)前任務(wù)是否需要使用線程池,也可以通過IDL程序設(shè)置參數(shù)判斷處理。IDL到IDL橋技術(shù)是指IDL橋?qū)ο箢愒谥骺豂DL進(jìn)程創(chuàng)建并控制其他IDL進(jìn)程,各個IDL進(jìn)程之間相互獨(dú)立,用于實(shí)現(xiàn)并行計算與異步操作。該方案主要基于進(jìn)程實(shí)現(xiàn),由于自IDL5.5版本內(nèi)部多種數(shù)值運(yùn)算已經(jīng)增加了對多線程的支持,可以充分利用多核計算機(jī)中空閑處理器。

2.2 IDL橋并行開發(fā)方式

IDL允許編程使用線程池,線程池的使用主要包括以下方面:

(1)查看當(dāng)前線程池設(shè)置。用法如下:HELP,/STRUCTURE,!CPU

(2)更改線程池設(shè)置。使用IDL自帶CPU函數(shù),主要有允許更改需處理數(shù)據(jù)元素的最大個數(shù)、最小個數(shù)與線程個數(shù)。用法如下:

CPU,[,TPOOL_MAX_ELTS=NumMax][,TPOOL_MIN_ ELTS=NumMin][,TPOOL_NTHREADS=NumThreads]

其中NumMax通常設(shè)置為大于0的整數(shù),一旦需要處理數(shù)據(jù)個數(shù)大于NumMax,將不使用線程池計算,默認(rèn)設(shè)置為0,沒有處理元素最大個數(shù)限制。NumMin通常設(shè)置為大于0的整數(shù),一旦需要處理數(shù)據(jù)個數(shù)小于NumMin,將不使用線程池計算,默認(rèn)設(shè)置為100 000。NumThreads,默認(rèn)設(shè)置為0,表示使用計算機(jī)CPU核心個數(shù),1表示取消使用線程池,其他表示并行計算中使用線程個數(shù)。

IDL橋?qū)ο笞舆M(jìn)程主要為密集數(shù)值計算而設(shè)計,同時也可以應(yīng)用于后臺任務(wù)處理而IDL主程序繼續(xù)執(zhí)行當(dāng)前操作。IDL_IDLBridge對象類支持如下操作:

(1)利用SetVar與GetVar方法復(fù)制變量實(shí)現(xiàn)父進(jìn)程與子進(jìn)程之間的數(shù)據(jù)交換。

(2)子進(jìn)程中執(zhí)行任意IDL命令。在同步操作中,父進(jìn)程等待子進(jìn)程完成指定任務(wù)后繼續(xù)執(zhí)行,在異步操作中,進(jìn)程無需等待,并行執(zhí)行。

(3)查詢子進(jìn)程異步執(zhí)行IDL命令當(dāng)前狀態(tài)。

在我院檔案管理工作中應(yīng)用優(yōu)秀計算機(jī)信息技術(shù),實(shí)現(xiàn)信息全面交互,創(chuàng)建辦公自動化大環(huán)境,提高自身工作效率。

(4)異步操作命令執(zhí)行結(jié)束時調(diào)用注冊的回調(diào)函數(shù)。

(5)終止子進(jìn)程中當(dāng)前執(zhí)行的異步命令。

一旦主進(jìn)程啟動一個或多個IDL_IDLBridge子進(jìn)程,進(jìn)程相互間利用這些功能完成并行計算任務(wù)。

IDL_IDLBridge對象類擁有三個屬性:CALLBACK、OUTPUT與USERDATA。異步命令執(zhí)行完成的狀態(tài)(已完成、終止或者由于出錯而中斷)由調(diào)用的CALLBACK屬性說明。異步命令執(zhí)行結(jié)束時自動調(diào)用用戶定義的回收函數(shù)。OUTPUT屬性提供文件的路徑與名稱,寫入子進(jìn)程產(chǎn)生的消息。USERDATA屬性包含任何類型的數(shù)值信息,在異步命令完成后傳遞到CALLBACK程序中。IDL_IDLBridge對象類包含的方法如表1所示。

表1 IDL_IDLBridge對象類包含的方法

3 IDL并行計算應(yīng)用

3.1 SAR影像反演風(fēng)場過程

圖1 SAR影像反演風(fēng)場過程

海面風(fēng)場是海洋學(xué)的重要物理參數(shù),對大氣、海洋以及全球環(huán)境變化的研究與預(yù)報都具有重要作用。SAR影像風(fēng)場反演處理過程包括SAR影像數(shù)據(jù)預(yù)處理、風(fēng)場反演、風(fēng)場反演結(jié)果后處理。文中主要介紹風(fēng)場反演處理子過程包括風(fēng)向反演與風(fēng)速反演?;诮?jīng)過輻射定標(biāo)的SAR影像反演風(fēng)場串行處理過程如下:首先對讀入的SAR影像數(shù)據(jù)進(jìn)行分塊處理,然后進(jìn)行傅里葉變換,根據(jù)低頻譜擬合風(fēng)向,最后反演風(fēng)速,其中迭代求解風(fēng)速過程比較耗時,難以滿足近實(shí)時處理發(fā)布需求。由于并行SAR影像反演風(fēng)場處理是基于串行處理過程,因此并行處理過程可以采取局部并行反演或者整體并行反演。其中,局部并行處理流程主要是實(shí)現(xiàn)迭代求解風(fēng)速,整體處理流程實(shí)現(xiàn)SAR影像數(shù)據(jù)塊快速傅里葉變換(Fast Fourier Transform algorithm,F(xiàn)FT)、風(fēng)向擬合與迭代求解風(fēng)速。具體SAR影像反演風(fēng)場過程如圖1所示。

下面以風(fēng)場反演整體并行過程為例,介紹IDL實(shí)現(xiàn)并行計算主要過程。

首先確定參與并行計算線程個數(shù),執(zhí)行(1),根據(jù)輸入SAR影像的行列數(shù),實(shí)現(xiàn)自動分塊,確定IDL_IDLBridge對象數(shù)量,執(zhí)行過程(2)與(3),創(chuàng)建并初始化IDL_IDLBridge對象;執(zhí)行過程(4)與(5),設(shè)置輸入?yún)?shù);執(zhí)行過程(6)與(7),編譯并執(zhí)行需要并行計算的函數(shù);執(zhí)行過程(8),輸出參數(shù);最后執(zhí)行過程(9),銷毀對象數(shù)組,釋放資源。

下面利用一景ENVISAT-ASAR影像數(shù)據(jù)反演風(fēng)場為例,分析IDL并行計算性能與效率。ENVISAT-ASAR影像為VV極化,大小為10 385行,8 098列,采用的風(fēng)速反演模型為CMOD4,公式如下:

其中σ0為后向散射系數(shù),函數(shù)F-(y)為分段函數(shù):

U10為海面10 m高處的風(fēng)速,φ為風(fēng)向相對于雷達(dá)天線方位角的角度;a、b、c、b1、b2和b3可以展開為18個系數(shù)的Legendre多項式:修正因子br是入射角θ的函數(shù)。

根據(jù)SAR影像反演風(fēng)場過程,基于IDL設(shè)計與編寫了包含串行、局部并行與整體并行測試程序。由于IDL自7.0版本以后采用了全新的Eclipse框架為工作臺,但是其穩(wěn)定性還有待于進(jìn)一步驗證。因此采用IDL6.3版本實(shí)現(xiàn)并測試風(fēng)場反演算法。測試采用了兩臺不同配置的計算機(jī)。配置1為:操作系統(tǒng):Win7 SP1 32位,CPU:Inter?CoreTMi7-2600八核處理器,主頻:3.4 GHz,內(nèi)存:4 GB。配置2為:操作系統(tǒng):Win XP SP2 32位,CPU:Inter?CoreTM2 Quad CPU Q6600四核處理器,主頻:2.4 GHz,內(nèi)存:4 GB。測試分塊采用512×512,以每512行為一次并行處理過程,IDL_IDLBridge對象數(shù)目為SAR影像數(shù)據(jù)列數(shù)整除512減1(由于影像數(shù)據(jù)有黑邊條帶,因此減1),共計14個并行進(jìn)程,測試結(jié)果如表2所示。

為了進(jìn)一步驗證IDL并行計算的性能,結(jié)合SAR影像風(fēng)場反演的實(shí)際應(yīng)用需求,設(shè)計以下三組實(shí)驗。第一組將SAR影像按1 024×1 024分塊,參與并行計算進(jìn)程個數(shù)按數(shù)據(jù)塊行處理分為6、36與60,分別表示1次處理1行數(shù)據(jù)塊,共計6個進(jìn)程;6行數(shù)據(jù)塊,36個進(jìn)程,60個進(jìn)程(整個數(shù)據(jù)塊),其中串行算法采用1個線程,并行計算采用8個線程。第二組將SAR影像按512×512分塊,進(jìn)程個數(shù)分為14、28、42與56,處理策略與第一組一樣。第三組將SAR影像按256×256分塊,進(jìn)程個數(shù)分為30與90,處理策略同上。上述實(shí)驗均在在配置1計算機(jī)上執(zhí)行,在并行計算過程中采取了同步,通過適當(dāng)降低執(zhí)行效率確保了并行計算結(jié)果的正確性,實(shí)驗結(jié)果如表3所示。

根據(jù)實(shí)驗結(jié)果數(shù)據(jù),可以得出如下結(jié)論:

表2說明IDL本身支持多線程,串行執(zhí)行程序使用單個線程花費(fèi)時間大于多線程,但執(zhí)行相同任務(wù)時執(zhí)行時間不會隨著線程數(shù)目的增加而明顯降低,線程個數(shù)超過CPU核心個數(shù),計算時間反而可能會增加;線程數(shù)目的個數(shù)對并行計算而言,執(zhí)行時間變化不大。

表2 并行實(shí)驗測試結(jié)果

表3 驗證實(shí)驗測試結(jié)果

計算機(jī)配置1的性能相比配置2的性能有明顯的提高,而表2說明配置2并行計算執(zhí)行時間比配置1串行執(zhí)行時間要低,說明通過并行計算實(shí)現(xiàn)加速是一種有效的解決方案。

表3實(shí)驗組1三組數(shù)據(jù)表明對于相同數(shù)據(jù)塊,參與并行計算的進(jìn)程個數(shù)多,加速效果明顯,但不是參與并行計算的進(jìn)程越多越好。實(shí)驗組2驗證了進(jìn)程的數(shù)目與加速效果的關(guān)系,當(dāng)42個進(jìn)程并行處理時,達(dá)到最優(yōu)的加速比,而增加到56個進(jìn)程時,由于并行資源分配與調(diào)度,過多進(jìn)程數(shù)反而會降低執(zhí)行效率。實(shí)驗組3表明參與計算的數(shù)據(jù)塊小,同時并行處理的數(shù)據(jù)塊多,能夠取得較好的加速比(3.667 31)。表3總體說明,并行計算的效率除了計算機(jī)資源以外,與參與并行計算的進(jìn)程數(shù)目與處理數(shù)據(jù)塊大小密切相關(guān)。在實(shí)踐中,參與并行計算的程序運(yùn)算量大,耗時,并行計算的進(jìn)程數(shù)最好是CPU核心個數(shù)的倍數(shù),數(shù)據(jù)塊大小要適中,確保所有數(shù)據(jù)塊能裝入內(nèi)存,才能實(shí)現(xiàn)高效并行計算,反之則會降低執(zhí)行效率。

測試過程中發(fā)現(xiàn)并行計算的CPU使用率遠(yuǎn)高于串行計算。經(jīng)過多次測試發(fā)現(xiàn),并行計算結(jié)果與串行計算結(jié)果一致;三種執(zhí)行方式(串行、局部并行、整體并行)每次執(zhí)行時間均稍有不同,總體不超過執(zhí)行時間的5%。

4 結(jié)束語

由基于IDL橋并行計算反演風(fēng)場實(shí)例可知,通過并行計算確實(shí)提高了SAR影像風(fēng)場反演的效率,其他數(shù)據(jù)需要快速處理也可以借鑒。IDL語言本身簡單,支持多線程與進(jìn)程間通信(數(shù)據(jù)共享),具有面向數(shù)組,科學(xué)數(shù)據(jù)格式的讀寫和高級圖像的處理能力,能被迅速掌握并應(yīng)用,快速實(shí)現(xiàn)數(shù)據(jù)處理與分析?;贗DL橋構(gòu)建并行計算僅需要IDL代碼,充分利用多線程與多進(jìn)程的優(yōu)勢,無需其他應(yīng)用程序或軟件支持,對開發(fā)人員的要求與開發(fā)成本較低,是一種有效的技術(shù)方案。盡管基于IDL橋并行計算具有以上優(yōu)點(diǎn),可以充分發(fā)揮多核計算機(jī)的優(yōu)勢,但是其是有限部署,受計算機(jī)內(nèi)存的限制,并且不支持交互式界面的異步交互。

IDL能夠輕松地與其他軟件工具集成,通過測試,在.NET環(huán)境下可以調(diào)用IDL橋并行計算反演風(fēng)場算法,可以根據(jù)項目實(shí)際需要選擇合適的集成方式。另外,IDL橋并行計算反演風(fēng)場處理策略同樣可以用于集群并行計算解決方案,如FastDL、MPI與可調(diào)用IDL相結(jié)合與J2EE的EJB(Enterprise Java Bean)Java橋等。

[1]張武生,薛巍,李建江,等.MPI并行程序設(shè)計實(shí)例教程[M].北京:清華大學(xué)出版社,2009.

[2]杜靜,敖富江,王華兵,等.高性能SAR成像程序的并行粒度選擇技術(shù)[J].計算機(jī)應(yīng)用,2011,31(8):2079-2182.

[3]薛笑榮,曾琪明.并行計算在SAR圖像處理中的應(yīng)用[J].計算機(jī)應(yīng)用,2006,26(增刊):1-2.

[4]沈占鋒,駱劍承,陳秋曉,等.高分辨率遙感影像并行處理數(shù)據(jù)分配策略研究[J].哈爾濱工業(yè)大學(xué)學(xué)報,2006,38

[12]Han Xiongli,Hua Deng.An approximate internal modelbased neural control for unknown nonlinear discrete processes[C]//IEE Trans on Neural Networks,2006,17(3):659-671.

[13]魏東.非線性系統(tǒng)的神經(jīng)網(wǎng)絡(luò)參數(shù)預(yù)測及控制[M].北京:機(jī)械工業(yè)出版社,2008:25-32.

[14]戴文戰(zhàn),丁良,楊愛萍.內(nèi)??刂蒲芯窟M(jìn)展[J].控制工程,2011,18(4):487-492.

[15]樊京,劉叔軍,蓋曉華,等.MATLAB控制系統(tǒng)應(yīng)用與實(shí)例[M].北京:清華大學(xué)出版社,2008:162-178.(11):1969-1976.

[5]路興強(qiáng),余安喜,梁甸農(nóng).一種面向IDL的分布式并行方法[J].系統(tǒng)仿真學(xué)報,2006,18(S2):256-258.

[6]Parallel processing using IDL[2012-03-11].http://forum. inforest.gr/index.php?topic=12.0.

[7]于繼江.基于多核多線程的并行計算組件設(shè)計[J].煤炭技術(shù),2010,29(5):178-180.

[8]Multi-threading in IDL[2012-03-11].http://www.softbooks. com.pl/idl/files/download/IDL_MultiThread.pdf.

[9]仲悟之,宋新立,湯涌,等.基于多進(jìn)程的電力系統(tǒng)頻域特征值并行搜索算法[J].電力系統(tǒng)自動化,2010,34(21):11-16.

BIAN Xiaolin1,2,ZHANG Dengrong1,3,ZHANG Chunyan2,WANG Jie1,3

1.Institute of Remote Sensing and Earth Sciences,Hangzhou Normal University,Hangzhou 311121,China
2.Institute of Remote Sensing Applications,Chinese Academy of Sciences,Beijing 100101,China
3.Zhejiang Provincial Key Laboratory of Urban Wetlands and Regional Change,Hangzhou 311121,China

The progress of sea surface wind field retrieval from SAR(Synthetic Aperture Radar)images contains iterative solution of the retrieval model,which is difficult to meet the demand for near real-time forecasting.IDL(Interactive Data Language)parallel computing technology in multi-core computers is used to implement it.The method of parallel computing programming based on IDL bridge according to IDL program design features is analyzed.It proposes a parallel computing algorithm of wind field retrieved from SAR images based on IDL bridge object according to retrieval process. Its practicability is verified.The results show that the proposed technique improves the computation efficiency which also provides a solution for other data processing.

Interactive Data Language(IDL);parallel computing;multi-core;wind field retrieval;Synthetic Aperture Radar(SAR)image

SAR影像反演海面風(fēng)場需要對反演模型進(jìn)行迭代求解,難以滿足近實(shí)時預(yù)報的需求。利用IDL并行計算技術(shù)在多核計算機(jī)實(shí)現(xiàn)SAR風(fēng)場反演?;贗DL程序設(shè)計特點(diǎn),分析IDL橋并行計算程序設(shè)計方法,根據(jù)SAR風(fēng)場反演流程,提出基于IDL橋?qū)ο髽?gòu)建的風(fēng)場反演并行計算算法,驗證了其實(shí)用性。結(jié)果表明,基于IDL橋?qū)ο髽?gòu)建的并行計算算法提高了計算效率,為其他數(shù)據(jù)快速處理提供了解決方案。

交互式數(shù)據(jù)語言;并行計算;多核;風(fēng)場反演;合成孔徑雷達(dá)(SAR)影像

A

TP302

10.3778/j.issn.1002-8331.1210-0342

BIAN Xiaolin,ZHANG Dengrong,ZHANG Chunyan,et al.Wind field retrieval from SAR images based on parallel computing technology in IDL.Computer Engineering and Applications,2014,50(18):261-264.

杭州師范大學(xué)遙感與地球科學(xué)研究院開放基金(No.PDKF2012YG04)。

卞小林(1982—),男,助理研究員,主要研究方向為微波遙感及其應(yīng)用開發(fā);張登榮(1966—),男,博士,教授,主要研究方向為遙感地質(zhì)、GIS開發(fā)應(yīng)用;張春燕(1983—),女,博士生,助理研究員,主要研究方向為生態(tài)環(huán)境變化、GIS應(yīng)用與開發(fā);王潔(1981—),通訊作者,女,博士,講師,主要研究方向為海洋遙感。E-mail:wangjiesl@126.com

2012-10-31

2012-12-20

1002-8331(2014)18-0261-04

CNKI網(wǎng)絡(luò)優(yōu)先出版:2013-01-11,http://www.cnki.net/kcms/detail/11.2127.TP.20130111.0954.027.html

猜你喜歡
風(fēng)場線程進(jìn)程
基于FLUENT的下?lián)舯┝魅S風(fēng)場建模
債券市場對外開放的進(jìn)程與展望
中國外匯(2019年20期)2019-11-25 09:54:58
“最美風(fēng)場”的贏利法則
能源(2017年8期)2017-10-18 00:47:39
淺談linux多線程協(xié)作
側(cè)向風(fēng)場中無人機(jī)的飛行研究
社會進(jìn)程中的新聞學(xué)探尋
我國高等教育改革進(jìn)程與反思
Linux僵死進(jìn)程的產(chǎn)生與避免
Linux線程實(shí)現(xiàn)技術(shù)研究
風(fēng)場條件下LPG 瞬時泄漏擴(kuò)散的數(shù)值模擬
秭归县| 四子王旗| 会泽县| 建平县| 中阳县| 镶黄旗| 华亭县| 昆明市| 抚远县| 和政县| 北票市| 闽侯县| 吴川市| 东安县| 福贡县| 绥滨县| 海安县| 茌平县| 伊川县| 涪陵区| 梅州市| 开平市| 辽中县| 宣城市| 通化市| 灵宝市| 汉川市| 泰顺县| 孟村| 平江县| 土默特左旗| 阿拉善右旗| 保亭| 醴陵市| 北票市| 平顶山市| 丰台区| 云浮市| 潜江市| 宁远县| 宜宾县|