馮志元,李朝奎,2,殷智慧,楊 武
(1.湖南科技大學 地理空間信息湖南省工程實驗室,湖南 湘潭 411201; 2.湖南科技大學 地球空間信息科學研究中心,湖南 湘潭 411201)
基于集群的遙感影像并行繪制研究
馮志元1,李朝奎1,2,殷智慧1,楊 武1
(1.湖南科技大學 地理空間信息湖南省工程實驗室,湖南 湘潭 411201; 2.湖南科技大學 地球空間信息科學研究中心,湖南 湘潭 411201)
基于集群并行繪制系統,采用基于WCF通信構架的Sort-first體系結構,對遙感影像建立金字塔層次模型,提高并行繪制效率。并行繪制集群系統采用基于WCF構架并發機制的分布式數據存儲模式,突破傳統的共享數據存儲模式,減少數據在網絡傳輸的開銷。在集群系統環境下,對遙感影像建立金字塔模型和未建立金字塔模型兩種情況下的影像數據進行并行繪制實驗。實驗結果表明:建立金字塔模型的遙感影像使得并行繪制效率顯著提高。
集群;并行繪制;WCF;分布式存儲;金字塔
目前,采用價格昂貴的高性能處理器來進行遙感影像數據的繪制代價太高,因而采用性價比較高的集群系統實現大范圍數據的處理仍是一個合理的選擇。基于WCF(Windows Communication Foundation)構架的并發機制的集群系統,對共享模式的數據進行并行計算,不僅需要考慮信息的傳遞,還需要考慮數據在網絡傳輸的開銷。相對于WCF構架的分布式并行繪制,采用保留模式的數據存儲模式[1],不再需要考慮數據在網絡上的傳輸,根據有效的任務分配策略直接對本地的數據進行提取和通過對遙感影像數據建立金字塔模型進行并行計算繪制即可,提高并行繪制的效率。并行繪制效率[2]的影響因素很多,主要有以下幾個方面:數據預處理、任務劃分、任務調度和負載平衡。本文對遙感影像建立金字塔預處理模型,并在集群環境下進行并行繪制實驗,探討提高并行繪制效率的方法。
1.1 并行繪制體系結構
目前,經典的3種并行繪制體系結構中[2-5],Sort-first、Sort-last是主流體系結構。Sort-first體系結構中,幾何處理之前要做歸屬判斷,顯示屏中的圖像空間區域被分割成多個子區域并分配給不同的繪制服務器進行處理。Sort-last則不對圖像空間區域進行劃分,而是只將顯示屏幕中場景數據等分為若干子數據集,然后對子數據集進行劃分(此劃分不受空間格局限制),因而可以保證備處理器的繪制單元數量基本相等,從而保證負載平衡。三維并行繪制體系結構自身存在一些優缺點。Sort-first的優點是各流水線之間完整且相互獨立;缺點是需要進行圖元歸屬判斷,對顯示屏幕劃分并非空間均勻劃分,容易造成各處理器負載不平衡。Sort-last的優點是把場景中空間對象劃分為若干個子數據集,對劃分后各數據集的顯示屏幕不再進行劃分,而且沒有任何冗余處理;缺點是需要深度合成,由于每個像素合成速度隨著空間分辨率的提高而線性增加,給網絡數據傳輸帶來巨大的壓力。
為解決Sort-first體系下的圖元歸屬判斷帶來的負載不平衡問題和Sort-last體系下的像素深度合成問題,相關學者采用兩種并行繪制體系結構相結合的方法。R.Samantad[6]提出一種Sort-first&Sort-last混合體系結構。但是空間圖像像素的深度合成問題依然是混合繪制模式的瓶頸。
各個服務處理器之間的低耦合度,是實現并行繪制計算的一個基本條件。本文中采用sort-first體系結構,對大范圍的遙感影像數據進行網格分割,并存儲在分布式的服務器上進行繪制。每個分布的服務器都可以獨立地對圖像進行處理,不需要交互操作,很大程度上滿足并行繪制的條件。
1.2 集群并行構架
集群并行構架(見圖1)是基于WCF的通信基礎架構[7-10],不但能提供web Service,還可以提供Remoting,Enterprise Services,MSMQ等,目的是提供統一的編程模型,將編程與通信基礎結構分開。WCF構架的消息并發機制由3部分組成:集群客戶端代理、集群計算節點和分布式存儲。

圖1 集群并行構架
集群客戶端代理又稱“集群控制器”[11],是集群服務器端為客戶端發送請求提供的一個訪問接口。通過該接口,客戶端可以向服務器建立會話和提交場景數據的繪制指令信息,使得客戶端與服務器端建立可信連接。
集群計算節點又稱“集群繪制節點”,是集群中呈分布式的承載數據處理服務的一些節點。每一個計算節點,都留有整個場景數據的備份,無需從客戶端調用數據,通過接收客戶端的繪制指令,直接從本地讀取數據,并進行繪制計算。
分布式存儲是對大范圍的遙感數據儲存的形式,分布在各個計算節點上。計算節點接收到繪制指令時,可以直接對本服務器上的相應數據進行繪制和處理,減少數據從客戶端調用在網絡傳輸上增加開銷。
通過基于WCF構架的消息傳遞,客戶端把繪制請求發送到集群中的每個計算節點,能夠正確接受會話的計算節點開始對分配的任務進行繪制;當繪制完成后,返回消息響應,該任務完成。集群中的計算節點無需從客戶端調用數據,直接對本地部署好的數據進行提取和繪制計算,減少數據在網絡上傳輸的開銷。
1.3 任務劃分策略
對于集群的并行繪制系統,好的任務劃分方法和任務分配方案是提高系統性能的重要指標。
自適應屏幕劃分算法更符合任務劃分,避免繪制無效圖像;最佳屏幕劃分數可以采用最優劃分數搜索算法,該算法是基于反饋的自適應屏幕分割算法。方法具有如下特點:①劃分與對象數據的空間位置無關;②劃分過程簡單,減小每幀繪制之前計算屏幕劃分布局開銷;③對無用區域剔除,無用區域包括圖像繪制時間大于圖像讀取時間的區域和空圖像區域[4];④劃分屏幕數據存在限制,不能太多也不能太少,否則都會影響性能。
一種效率高的任務分配方法,其分配策略見圖2,分配步驟如下:①統計各任務的繪制時間,并對繪制時間按從大到小的順序排列;②對各處理器的時間進行初始化;③統計當前各個進程積累時間,將任務隊列中當前的任務分配給積累的最少進程;④循環第三步驟,直到所有的任務分配完畢。
如圖2(a)所示,把區域2和區域3的空間對象,分配給同一個服務器端的處理器進行繪制(見圖2(b)所示),有效保證各個服務器對空間對象處理時間的平衡。

圖2 高效任務分配策略
該方法的優點:可以實現系統的高效繪制,保證各個服務器端的處理器的并行繪制時間基本均衡;缺點:對于大數據量的空間數據進行處理時,需要多次對空間數據進行任務分配,增加任務分配開銷。
1.4 金字塔層次模型
圖像分層有利于快速讀取某一層的圖像信息[13]。常用的方法就是對遙感圖像建立金字塔層次模型,便于圖像的快速讀取和顯示。本文對圖像建立分層方法:設置金字塔最頂層大小(47*47),依次以2的整數倍對圖像進行分層,直到動態分完為止。
采用GDAL庫文件建立分層,提供對遙感影像RasterIO接口,可以對大數據量的遙感影像建立金字塔模型[14-16]。以Srtm_01.tif遙感影像為例(見圖3金字塔層次模型)。

圖3 金字塔層次模型
設置頂層金字塔大小:
Int iTopNum = 2209; // 47*47
建立的各個層的大小:
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)實驗硬件環境。3臺計算節點和1臺代理節點,配置:處理器Intel(R) Xeon(R) CPU E5620 @2.40GHz (2處理器),內存8.00GB,64位操作系統。
2)實驗軟件環境。頭節點配置環境:VS2010開發環境、HPC Server 2008 操作系統、HPC Pack 2008 R2 SDK、MPI.Net和MPI.NET Runtime。
計算節點配置環境:HPC Server Pack 2008 R2、HPC Server 2008操作系統、MPI.NET Runtime和 .net Framework 4.0。
3)實驗數據。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為遙感影像圖,對其進行格網分割成6塊。由于遙感影像圖分塊的最右下角影像不包含陸地信息,故在進行并行繪制時對該區域的影像進行剔除處理。為保證第一個實驗與第二個實驗的實驗數據相等,均對遙感影像最右下角區域不做考慮。然后對每塊影像圖建立金字塔層次模型,并在集群環境下對未處理和處理的遙感影像分別進行并行繪制實驗測試。

圖4 遙感影像圖
遙感影像數據見表1,分別對影像進行預處理,建立的金字塔模型數據大小如表1所示。建立金字塔模型的文件比本身圖像要小許多,因而不會犧牲很多計算機空間。

表1 遙感影像數據表
2.2 實驗結果
1)對5個有效(未處理)tif圖像(圖像最右下角的圖像剔除)進行集群并行繪制,3個計算節點進行繪制的時間如表2所示。

表2 (未處理)并行繪制時間統計表
對5個有效(未處理)tif圖像,進行串行的運行時間:0:02:06.407。
2)對5個有效(構造金字塔模型)tif圖像(對影像構建金字塔模型,且圖像最右下角的圖像剔除)進行集群并行繪制,3個計算節點進行繪制的時間如表3所示。

表3 (構造金字塔模型)并行繪制時間統計表
對5個有效(構造金字塔模型,圖像最右下角的圖像剔除)tif圖像,進行串行的運行時間:0:00:29.672。
2.3 并行加速比測試
在集群環境下,對沒有處理的遙感影像和構造金字塔模型的遙感影像進行加速比測試,其加速比如表4所示。

表4 加速比測試
2.4 結果分析
從表4中可看出:①單機上對分塊的遙感影像進行串行繪制時,經過建立金字塔模型的串行運行效率要優于未進行處理的影像運行效率;②集群中對分塊的遙感影像進行并行繪制時,建立金字塔模型的影像的運行效率較高;③經過建立金字塔模型的影像的加速比高于未處理的影像的加速比。
在計算機集群環境下,基于WCF通信構架的sort-fist體系結構,對遙感圖像先進行分塊,然后對每塊影像建立金字塔層次模型(每個圖塊都動態預處理分為6個圖層,最頂層的數據統一設置成47*47),能夠提高集群并行繪制的效率。經過預處理的遙感影像在集群環境下并行繪制效率約是未處理影像的兩倍,這對于遙感影像的并行繪制具有重要意義。
[1]金哲凡.保留模式圖形并行繪制研究[D].杭州:浙江大學,2004.
[2]譚同德,王小偉,趙新燦,等.基于多核PC集群的并行繪制系統研究與實現[J].計算機應用,2010,30(7):1828-1831.
[3]王攀,劉華海,李思昆,等.無合成并行繪制算法中的自適應屏幕分割策略[J].系統仿真學報,2012,24(1):99-102.
[4]彭敏峰.并行繪制系統體系結構關鍵技術研究[D].長沙:國防科學技術大學,2006.
[5]馮慧玲.實時集群計算機體系結構的研究[D].西安:西安科技大學,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的遺留系統并行構架的設計與實現[D].杭州:浙江大學,2011.
[8]J LOWY.Programming WCF Services[M].0’ReillyMedia,Inc.,2007.
[9]S KLEIN.Professional WCF Progralnllling[M].WileyIndia,Inc.,2009.
[10]石教英. 分布并行圖形繪制技術及其應用[M].北京:科學出版社,2010.
[11]RUI XIN YANG.Value range queries on earth science data via histogram clustering[M]. Lecture Notes In Computer Science,1999.
[12]許涌,萬國龍.海量圖像數據快速顯示技術[J].計算機工程與設計,2003(6):36-38.
[13]張利.多尺度海量柵格數據組織與管理的研究[D].鄭州:信息工程大學,2005.
[14]張宏偉,童恒建,左博新,等.基于GDAL大于2G 遙感圖像的快速瀏覽[J].計算機工程與應用,2012,48(13):159-162.
[15]余粉香,王光霞,萬剛.大數據量遙感影像的快速調度與顯示[J].海洋測繪,2006,26(2):27-30.
[16]李東穎,唐新明,閆浩文.基于分離式金字塔模型的測繪立體影像數據檢索系統設計與實現[J].測繪工程,2012,21(5):30-34.
[責任編輯:張德福]
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
國家自然科學基金資助項目(41271390);湖南省自然科學基金資助項目(12JJ9023);湖南科技大學研究生優秀學位論文培育資助項目(S120036)
馮志元(1986-),男,碩士研究生.
TP753
:A
:1006-7949(2014)07-0026-04