馮志元,李朝奎,2,殷智慧,楊 武
(1.湖南科技大學(xué) 地理空間信息湖南省工程實驗室,湖南 湘潭 411201; 2.湖南科技大學(xué) 地球空間信息科學(xué)研究中心,湖南 湘潭 411201)
基于集群的遙感影像并行繪制研究
馮志元1,李朝奎1,2,殷智慧1,楊 武1
(1.湖南科技大學(xué) 地理空間信息湖南省工程實驗室,湖南 湘潭 411201; 2.湖南科技大學(xué) 地球空間信息科學(xué)研究中心,湖南 湘潭 411201)
基于集群并行繪制系統(tǒng),采用基于WCF通信構(gòu)架的Sort-first體系結(jié)構(gòu),對遙感影像建立金字塔層次模型,提高并行繪制效率。并行繪制集群系統(tǒng)采用基于WCF構(gòu)架并發(fā)機制的分布式數(shù)據(jù)存儲模式,突破傳統(tǒng)的共享數(shù)據(jù)存儲模式,減少數(shù)據(jù)在網(wǎng)絡(luò)傳輸?shù)拈_銷。在集群系統(tǒng)環(huán)境下,對遙感影像建立金字塔模型和未建立金字塔模型兩種情況下的影像數(shù)據(jù)進行并行繪制實驗。實驗結(jié)果表明:建立金字塔模型的遙感影像使得并行繪制效率顯著提高。
集群;并行繪制;WCF;分布式存儲;金字塔
目前,采用價格昂貴的高性能處理器來進行遙感影像數(shù)據(jù)的繪制代價太高,因而采用性價比較高的集群系統(tǒng)實現(xiàn)大范圍數(shù)據(jù)的處理仍是一個合理的選擇。基于WCF(Windows Communication Foundation)構(gòu)架的并發(fā)機制的集群系統(tǒng),對共享模式的數(shù)據(jù)進行并行計算,不僅需要考慮信息的傳遞,還需要考慮數(shù)據(jù)在網(wǎng)絡(luò)傳輸?shù)拈_銷。相對于WCF構(gòu)架的分布式并行繪制,采用保留模式的數(shù)據(jù)存儲模式[1],不再需要考慮數(shù)據(jù)在網(wǎng)絡(luò)上的傳輸,根據(jù)有效的任務(wù)分配策略直接對本地的數(shù)據(jù)進行提取和通過對遙感影像數(shù)據(jù)建立金字塔模型進行并行計算繪制即可,提高并行繪制的效率。并行繪制效率[2]的影響因素很多,主要有以下幾個方面:數(shù)據(jù)預(yù)處理、任務(wù)劃分、任務(wù)調(diào)度和負載平衡。本文對遙感影像建立金字塔預(yù)處理模型,并在集群環(huán)境下進行并行繪制實驗,探討提高并行繪制效率的方法。
1.1 并行繪制體系結(jié)構(gòu)
目前,經(jīng)典的3種并行繪制體系結(jié)構(gòu)中[2-5],Sort-first、Sort-last是主流體系結(jié)構(gòu)。Sort-first體系結(jié)構(gòu)中,幾何處理之前要做歸屬判斷,顯示屏中的圖像空間區(qū)域被分割成多個子區(qū)域并分配給不同的繪制服務(wù)器進行處理。Sort-last則不對圖像空間區(qū)域進行劃分,而是只將顯示屏幕中場景數(shù)據(jù)等分為若干子數(shù)據(jù)集,然后對子數(shù)據(jù)集進行劃分(此劃分不受空間格局限制),因而可以保證備處理器的繪制單元數(shù)量基本相等,從而保證負載平衡。三維并行繪制體系結(jié)構(gòu)自身存在一些優(yōu)缺點。Sort-first的優(yōu)點是各流水線之間完整且相互獨立;缺點是需要進行圖元歸屬判斷,對顯示屏幕劃分并非空間均勻劃分,容易造成各處理器負載不平衡。Sort-last的優(yōu)點是把場景中空間對象劃分為若干個子數(shù)據(jù)集,對劃分后各數(shù)據(jù)集的顯示屏幕不再進行劃分,而且沒有任何冗余處理;缺點是需要深度合成,由于每個像素合成速度隨著空間分辨率的提高而線性增加,給網(wǎng)絡(luò)數(shù)據(jù)傳輸帶來巨大的壓力。
為解決Sort-first體系下的圖元歸屬判斷帶來的負載不平衡問題和Sort-last體系下的像素深度合成問題,相關(guān)學(xué)者采用兩種并行繪制體系結(jié)構(gòu)相結(jié)合的方法。R.Samantad[6]提出一種Sort-first&Sort-last混合體系結(jié)構(gòu)。但是空間圖像像素的深度合成問題依然是混合繪制模式的瓶頸。
各個服務(wù)處理器之間的低耦合度,是實現(xiàn)并行繪制計算的一個基本條件。本文中采用sort-first體系結(jié)構(gòu),對大范圍的遙感影像數(shù)據(jù)進行網(wǎng)格分割,并存儲在分布式的服務(wù)器上進行繪制。每個分布的服務(wù)器都可以獨立地對圖像進行處理,不需要交互操作,很大程度上滿足并行繪制的條件。
1.2 集群并行構(gòu)架
集群并行構(gòu)架(見圖1)是基于WCF的通信基礎(chǔ)架構(gòu)[7-10],不但能提供web Service,還可以提供Remoting,Enterprise Services,MSMQ等,目的是提供統(tǒng)一的編程模型,將編程與通信基礎(chǔ)結(jié)構(gòu)分開。WCF構(gòu)架的消息并發(fā)機制由3部分組成:集群客戶端代理、集群計算節(jié)點和分布式存儲。
圖1 集群并行構(gòu)架
集群客戶端代理又稱“集群控制器”[11],是集群服務(wù)器端為客戶端發(fā)送請求提供的一個訪問接口。通過該接口,客戶端可以向服務(wù)器建立會話和提交場景數(shù)據(jù)的繪制指令信息,使得客戶端與服務(wù)器端建立可信連接。
集群計算節(jié)點又稱“集群繪制節(jié)點”,是集群中呈分布式的承載數(shù)據(jù)處理服務(wù)的一些節(jié)點。每一個計算節(jié)點,都留有整個場景數(shù)據(jù)的備份,無需從客戶端調(diào)用數(shù)據(jù),通過接收客戶端的繪制指令,直接從本地讀取數(shù)據(jù),并進行繪制計算。
分布式存儲是對大范圍的遙感數(shù)據(jù)儲存的形式,分布在各個計算節(jié)點上。計算節(jié)點接收到繪制指令時,可以直接對本服務(wù)器上的相應(yīng)數(shù)據(jù)進行繪制和處理,減少數(shù)據(jù)從客戶端調(diào)用在網(wǎng)絡(luò)傳輸上增加開銷。
通過基于WCF構(gòu)架的消息傳遞,客戶端把繪制請求發(fā)送到集群中的每個計算節(jié)點,能夠正確接受會話的計算節(jié)點開始對分配的任務(wù)進行繪制;當(dāng)繪制完成后,返回消息響應(yīng),該任務(wù)完成。集群中的計算節(jié)點無需從客戶端調(diào)用數(shù)據(jù),直接對本地部署好的數(shù)據(jù)進行提取和繪制計算,減少數(shù)據(jù)在網(wǎng)絡(luò)上傳輸?shù)拈_銷。
1.3 任務(wù)劃分策略
對于集群的并行繪制系統(tǒng),好的任務(wù)劃分方法和任務(wù)分配方案是提高系統(tǒng)性能的重要指標(biāo)。
自適應(yīng)屏幕劃分算法更符合任務(wù)劃分,避免繪制無效圖像;最佳屏幕劃分數(shù)可以采用最優(yōu)劃分數(shù)搜索算法,該算法是基于反饋的自適應(yīng)屏幕分割算法。方法具有如下特點:①劃分與對象數(shù)據(jù)的空間位置無關(guān);②劃分過程簡單,減小每幀繪制之前計算屏幕劃分布局開銷;③對無用區(qū)域剔除,無用區(qū)域包括圖像繪制時間大于圖像讀取時間的區(qū)域和空圖像區(qū)域[4];④劃分屏幕數(shù)據(jù)存在限制,不能太多也不能太少,否則都會影響性能。
一種效率高的任務(wù)分配方法,其分配策略見圖2,分配步驟如下:①統(tǒng)計各任務(wù)的繪制時間,并對繪制時間按從大到小的順序排列;②對各處理器的時間進行初始化;③統(tǒng)計當(dāng)前各個進程積累時間,將任務(wù)隊列中當(dāng)前的任務(wù)分配給積累的最少進程;④循環(huán)第三步驟,直到所有的任務(wù)分配完畢。
如圖2(a)所示,把區(qū)域2和區(qū)域3的空間對象,分配給同一個服務(wù)器端的處理器進行繪制(見圖2(b)所示),有效保證各個服務(wù)器對空間對象處理時間的平衡。
圖2 高效任務(wù)分配策略
該方法的優(yōu)點:可以實現(xiàn)系統(tǒng)的高效繪制,保證各個服務(wù)器端的處理器的并行繪制時間基本均衡;缺點:對于大數(shù)據(jù)量的空間數(shù)據(jù)進行處理時,需要多次對空間數(shù)據(jù)進行任務(wù)分配,增加任務(wù)分配開銷。
1.4 金字塔層次模型
圖像分層有利于快速讀取某一層的圖像信息[13]。常用的方法就是對遙感圖像建立金字塔層次模型,便于圖像的快速讀取和顯示。本文對圖像建立分層方法:設(shè)置金字塔最頂層大小(47*47),依次以2的整數(shù)倍對圖像進行分層,直到動態(tài)分完為止。
采用GDAL庫文件建立分層,提供對遙感影像RasterIO接口,可以對大數(shù)據(jù)量的遙感影像建立金字塔模型[14-16]。以Srtm_01.tif遙感影像為例(見圖3金字塔層次模型)。
圖3 金字塔層次模型
設(shè)置頂層金字塔大小:
Int iTopNum = 2209; // 47*47
建立的各個層的大?。?/p>
OverView 0: Size (1501,1501); OverView 1 : Size (751,751); OverView 2 :Size (376,376)
OverView 3 : Size (188,188); OverView 4 : Size (94,94) ; OverView 5 : Size (47,47)
2.1 實驗過程
1)實驗硬件環(huán)境。3臺計算節(jié)點和1臺代理節(jié)點,配置:處理器Intel(R) Xeon(R) CPU E5620 @2.40GHz (2處理器),內(nèi)存8.00GB,64位操作系統(tǒng)。
2)實驗軟件環(huán)境。頭節(jié)點配置環(huán)境:VS2010開發(fā)環(huán)境、HPC Server 2008 操作系統(tǒng)、HPC Pack 2008 R2 SDK、MPI.Net和MPI.NET Runtime。
計算節(jié)點配置環(huán)境:HPC Server Pack 2008 R2、HPC Server 2008操作系統(tǒng)、MPI.NET Runtime和 .net Framework 4.0。
3)實驗數(shù)據(jù)。Projection:GEOGCS["WGS84",DATUM["WGS_1984",SPHEROID["WGS84",6378137,298.257223563,AUTHORITY["EPSG","7030"]]
RasterSize (6001,6001) *6
Corner Coordinates:
Upper Left (109.999583817611, 30.0004172478019)
Lower Left (109.999583817611, 14.9995836723247)
Upper Right (120.000417272016, 30.0004172478019)
Lower Right(120.000417272016,14.9995836723247)
DataType: Int16
ColorInterpretation: Gray
圖4為遙感影像圖,對其進行格網(wǎng)分割成6塊。由于遙感影像圖分塊的最右下角影像不包含陸地信息,故在進行并行繪制時對該區(qū)域的影像進行剔除處理。為保證第一個實驗與第二個實驗的實驗數(shù)據(jù)相等,均對遙感影像最右下角區(qū)域不做考慮。然后對每塊影像圖建立金字塔層次模型,并在集群環(huán)境下對未處理和處理的遙感影像分別進行并行繪制實驗測試。
圖4 遙感影像圖
遙感影像數(shù)據(jù)見表1,分別對影像進行預(yù)處理,建立的金字塔模型數(shù)據(jù)大小如表1所示。建立金字塔模型的文件比本身圖像要小許多,因而不會犧牲很多計算機空間。
表1 遙感影像數(shù)據(jù)表
2.2 實驗結(jié)果
1)對5個有效(未處理)tif圖像(圖像最右下角的圖像剔除)進行集群并行繪制,3個計算節(jié)點進行繪制的時間如表2所示。
表2 (未處理)并行繪制時間統(tǒng)計表
對5個有效(未處理)tif圖像,進行串行的運行時間:0:02:06.407。
2)對5個有效(構(gòu)造金字塔模型)tif圖像(對影像構(gòu)建金字塔模型,且圖像最右下角的圖像剔除)進行集群并行繪制,3個計算節(jié)點進行繪制的時間如表3所示。
表3 (構(gòu)造金字塔模型)并行繪制時間統(tǒng)計表
對5個有效(構(gòu)造金字塔模型,圖像最右下角的圖像剔除)tif圖像,進行串行的運行時間:0:00:29.672。
2.3 并行加速比測試
在集群環(huán)境下,對沒有處理的遙感影像和構(gòu)造金字塔模型的遙感影像進行加速比測試,其加速比如表4所示。
表4 加速比測試
2.4 結(jié)果分析
從表4中可看出:①單機上對分塊的遙感影像進行串行繪制時,經(jīng)過建立金字塔模型的串行運行效率要優(yōu)于未進行處理的影像運行效率;②集群中對分塊的遙感影像進行并行繪制時,建立金字塔模型的影像的運行效率較高;③經(jīng)過建立金字塔模型的影像的加速比高于未處理的影像的加速比。
在計算機集群環(huán)境下,基于WCF通信構(gòu)架的sort-fist體系結(jié)構(gòu),對遙感圖像先進行分塊,然后對每塊影像建立金字塔層次模型(每個圖塊都動態(tài)預(yù)處理分為6個圖層,最頂層的數(shù)據(jù)統(tǒng)一設(shè)置成47*47),能夠提高集群并行繪制的效率。經(jīng)過預(yù)處理的遙感影像在集群環(huán)境下并行繪制效率約是未處理影像的兩倍,這對于遙感影像的并行繪制具有重要意義。
[1]金哲凡.保留模式圖形并行繪制研究[D].杭州:浙江大學(xué),2004.
[2]譚同德,王小偉,趙新燦,等.基于多核PC集群的并行繪制系統(tǒng)研究與實現(xiàn)[J].計算機應(yīng)用,2010,30(7):1828-1831.
[3]王攀,劉華海,李思昆,等.無合成并行繪制算法中的自適應(yīng)屏幕分割策略[J].系統(tǒng)仿真學(xué)報,2012,24(1):99-102.
[4]彭敏峰.并行繪制系統(tǒng)體系結(jié)構(gòu)關(guān)鍵技術(shù)研究[D].長沙:國防科學(xué)技術(shù)大學(xué),2006.
[5]馮慧玲.實時集群計算機體系結(jié)構(gòu)的研究[D].西安:西安科技大學(xué),2006.
[6]R SAMANTA,T FUNKHOUSER,KAI LI,et al.Hybrid Sort-First and Sort-Last Parallel Rendering with a Cluster of PCs.[C]//Proceedings of the ACM SIGGRAPH/EUROGR-APHICS workshop on Graphics hardware,2000.USA:ACM,2000:97-108.
[7]羅丹.基于WCF的遺留系統(tǒng)并行構(gòu)架的設(shè)計與實現(xiàn)[D].杭州:浙江大學(xué),2011.
[8]J LOWY.Programming WCF Services[M].0’ReillyMedia,Inc.,2007.
[9]S KLEIN.Professional WCF Progralnllling[M].WileyIndia,Inc.,2009.
[10]石教英. 分布并行圖形繪制技術(shù)及其應(yīng)用[M].北京:科學(xué)出版社,2010.
[11]RUI XIN YANG.Value range queries on earth science data via histogram clustering[M]. Lecture Notes In Computer Science,1999.
[12]許涌,萬國龍.海量圖像數(shù)據(jù)快速顯示技術(shù)[J].計算機工程與設(shè)計,2003(6):36-38.
[13]張利.多尺度海量柵格數(shù)據(jù)組織與管理的研究[D].鄭州:信息工程大學(xué),2005.
[14]張宏偉,童恒建,左博新,等.基于GDAL大于2G 遙感圖像的快速瀏覽[J].計算機工程與應(yīng)用,2012,48(13):159-162.
[15]余粉香,王光霞,萬剛.大數(shù)據(jù)量遙感影像的快速調(diào)度與顯示[J].海洋測繪,2006,26(2):27-30.
[16]李東穎,唐新明,閆浩文.基于分離式金字塔模型的測繪立體影像數(shù)據(jù)檢索系統(tǒng)設(shè)計與實現(xiàn)[J].測繪工程,2012,21(5):30-34.
[責(zé)任編輯:張德福]
Parallel rendering research of remote sensing image based on cluster
FENG Zhi-yuan1, LI Chao-kui1,2, YIN Zhi-hui1, YANG Wu1
(1.Hunan Provincial Engineering Laboratory of Geospatial Information, Hu’nan University of Science and Technology, Xiangtan 411201, China;2.Academic Center of Geospatial Information Science,Hu’nan University of Science and Technology,Xiangtan 411201, China)
Parallel rendering system based on cluster uses the Sort-first system structure based on WCF communication framework, through the establishment of the pyramid hierarchy model of remote sensing image in order to improve the parallel rendering efficiency. The cluster parallel rendering system based on distributed data storage mode of WCF framework, through the sharing of data storage mode, greatly reduces the time of the data in the network transmission. Based on the cluster system environment, two kinds of parallel rendering experiments with and without pyramid model are made for the remote sensing image, as a result of which the pyramid model can improve the efficiency of parallel rendering.
cluster; parallel rendering; WCF; distributed data storage mode; pyramid
2013-06-10
國家自然科學(xué)基金資助項目(41271390);湖南省自然科學(xué)基金資助項目(12JJ9023);湖南科技大學(xué)研究生優(yōu)秀學(xué)位論文培育資助項目(S120036)
馮志元(1986-),男,碩士研究生.
TP753
:A
:1006-7949(2014)07-0026-04