柵格地理數據并行格式轉換引擎*
張帥1,2,3,4,李滿春1,2,陳振杰1,2,黃濤1,2,姜曉慧5
(1.南京大學地理與海洋科學學院,江蘇南京210023;2.南京大學地理信息技術江蘇省重點實驗室,江蘇南京210023;3.伊利諾伊大學香檳分校地理系,伊利諾伊61801;4.伊利諾伊大學香檳分校國家超級計算機應用中心,伊利諾伊61801;5.國電南瑞科技股份有限公司,江蘇南京211106)
如今大規模地理數據正在社會各個部門和組織中迅速積累,但是由于部門利益和歷史沿襲等原因,大規模地理數據共享仍然極具挑戰,相應共享技術需求仍然極其旺盛。作為地理數據共享的基礎方式之一,傳統單機地理數據格式轉換技術,一方面受限于磁盤讀寫及帶寬瓶頸,另一方面面對日趨龐大的數據規模,已很難滿足實際應用需求。因此提出一種針對柵格地理數據的并行格式轉換引擎,采用高性能計算集群環境支持大規模柵格地理數據轉換共享,大幅降低了大規模柵格地理數據轉換過程的時間成本。柵格地理數據并行格式轉換引擎采用基于公共接口的設計理念,框架靈活、具有良好的擴展性,支持地理數據格式的讀寫自定義以及新數據格式添加,能夠實現接入數據格式間的任意兩兩轉換。為驗證引擎框架及其處理效率,在Lustre并行集群環境下以格網數據交換格式(國家地理空間數據交換格式)向常見柵格地理格式的轉換為示例進行了測試實驗。結果表明,柵格地理數據并行格式轉換引擎能夠在8個節點Lustre集群中達到7.54的良好并行加速比。
柵格數據格式轉換;并行計算;高性能計算;地理計算;Lustre并行文件系統
地理信息共享技術經過幾十年的發展和討論,形成了許許多多的方案方法[1],其中具有代表性的方法可分為三類:地理數據格式轉換技術、基于中間件技術的地理數據共享技術以及基于網絡服務的地理數據互操作技術[2-3]。地理數據格式轉換是最為基礎的地理信息共享方式,其目的是將存儲在一個系統中的地理數據通過數據轉換的方式導入到目標系統中,實現數據共享[4]。基于中間件技術的地理數據共享為前端用戶提供了統一的數據視圖,很好地處理了數據自治與統一的關系,在更廣的范圍上和更多樣化的平臺下,支持了地理數據的共享和互操作[1,5-9]。基于網絡服務的數據互操作構建在Web服務標準基礎之上,如開放地理空間信息聯盟(Open Geospatial Consortium,OGC)制訂的網絡地圖服務(Web Map Service,WMS)和網絡要素服務(Web Feature Service,WFS)等服務組件,可以在超文本傳送協議(HyperText Transfer Protocol,HTTP)之上通過基于可擴展標記語言(Extensible Markup Language,XML)的消息傳遞機制實現與其他軟件程序之間的交互[2-3]。
然而,由于地理數據本身的異構性、語義的模糊、描述文檔的缺失或者存儲結構的差異等問題,大規模地理數據共享至今仍然極具挑戰性[5,10-12]。中間件技術與網絡服務技術雖能夠在網絡端大范圍實現數據共享與互操作,但數據訪問與處理速度往往較慢,應用層對數據的控制能力較弱,且現實中許多組織部門并不愿意開放數據庫接口而僅僅是將數據以通用格式的形式發布提供下載共享[13-15];隨著地理信息采集技術的長足發展,地理數據規模開始急劇膨脹[16],存儲在美國國家航空航天局地球觀測系統的數據和信息系統(NASA EOSDIS)中的遙感影像數據已經超過3PB,而且還在以每天5TB的速度增加[17];云計算、大數據、流計算等新興技術持續涌現,多核并行計算和多節點集群處理正在變得越來越常見,促使傳統地理計算模式向數據密集型高性能計算模式演變[18-19],傳統串行地理數據格式轉換技術在處理大規模地理數據時已是力不從心,更無法有效利用現今多核、多節點并行處理的巨大優勢。
地理數據格式轉換過程屬于典型的數據密集型處理任務,單機并行處理,如采用多線程OpenMP、GPU等技術,雖能夠帶來一定的效率提升,但是數據I/O瓶頸明顯且難以實現大規模處理水平擴展。基于Hadoop技術的集群架構,采用Hadoop分布式文件系統及MapReduce并行編程模型,適合處理超大規模集群計算,而在中小規模集群環境下優勢不明顯[19-20],且Hadoop對地理信息系統(Geographic Information System,GIS)組件支持仍處于探索階段,并不適合進行大范圍GIS業務處理[20-21]。高性能計算集群由于發展時間早,技術較為成熟,在業務部門擁有較為廣泛的技術基礎,是研究實現地理數據并行格式轉換技術的理想平臺。
本文在Lustre高性能集群技術基礎上,提出一種面向柵格地理數據的并行格式轉換引擎(Parallel Geo-Raster data Conversion Engine,PGRCE),使得柵格地理數據格式轉換能夠在高性能計算集群的支持下進行,以達到快速高效共享地理數據的目的。Lustre文件系統是由OpenSFS (Open Scalable File Systems incorporation)開發的一個開源、高性能的分布式并行全局文件系統[22]。在高性能計算中,Lustre并行文件系統具有極其廣泛的應用,全球排名前100的高性能計算機系統中,超過60%的高性能計算機使用了Lustre文件系統[22]。Lustre針對大文件的讀/寫做了優化,可以為集群系統提供高性能的I/O吞吐率、全局數據共享環境、節點的失效冗余處理,較好地滿足了高性能計算集群系統的需要[23-24]。
PGRCE采用基于公共接口的設計方法,框架靈活且具有很好的擴展性,能夠支持地理數據格式的自定義以及添加新的數據格式,實現接入地理數據格式間的任意兩兩轉換。PGRCE框架中包括三個主要部分:柵格數據公共接口、格式轉換與擴展機制以及引擎并行調度策略。PGRCE統一使用柵格數據抽象數據模型作為公共接口解讀不同格式柵格數據;引擎格式轉換與擴展機制規定地理數據格式轉換實際發生的方式,并提供開放接口以備新格式加入;并行調度策略采用靜態與動態相結合的負載均衡方法平衡各進程間的數據處理,保障格式轉換引擎高效健壯運行。
柵格地理數據抽象數據模型居于PGRCE的中間層,連接著數據源格式與目標格式,是PGRCE所有支持格式的公共接口,用于描述解析不同格式的柵格地理數據。柵格地理數據格式多種多樣,地理數據格式轉換庫(Geospatial Data Abstraction Library,GDAL)官網羅列了100余種柵格數據格式[25],但是柵格數據大都基于像元,具有格網結構,只是在像元組織結構或者附加信息描述上各有不同,這種特性構成了抽象數據模型設計的基礎。
PGRCE抽象數據模型主要由柵格數據集(Dataset)、柵格波段(RasterBand)、空間參考(SpatialReference)、元數據(Metadata)、柵格數據屬性表(RasterAttributeTable)等部分構成,參見圖1。Dataset對象中定義了柵格數據的通用信息,表征著柵格地理數據文件或數據庫,但是每種格式必須實例化各自的數據集對象,以個性化定義數據格式的讀寫與操作。Dataset對象同時關聯著SpatialReference對象以及Metadata對象,其中空間參考信息采用OpenGISWell Known Text字符串定義,由SpatialReference對象維護,Metadata則包含一系列由鍵值對組成的描述項。

圖1 柵格地理數據抽象數據模型Fig.1 Abstract datamodel of PGRCE
Dataset對象通常由多個RasterBand對象共同組成,RasterBand負責具體存儲柵格數據,因此與數據直接相關的RasterAttributeTable以及RasterOverviews對象都直接與RasterBand對象相關聯,用于描述相應柵格波段特征。由于柵格數據的像元點坐標涉及兩個坐標體系(像素坐標和地理坐標),因此抽象數據模型采用變換方程式(1)描述兩者的關系。

其中,(X,Y)為像元點地理坐標,(xp,yp)為像元點像素坐標,a1~a6為坐標轉換參數。像素坐標系以圖像的左上角點為原點,當圖像格網為正南正北走向時,a3=a5=0,(a1,a4)為像素坐標原點在地理坐標系中的坐標,a2表示X方向像元分辨率,a6則為Y方向像元分辨率。
由于現實中柵格地理數據格式數量并不確定,PGRCE采用一種動態管理機制提供數據格式的動態擴展,允許新格式以自定義的方式裝入,框架如圖2所示。新格式只需要實現由Dataset對象和RasterBand對象定義的數據組織框架,繼承Dataset與RasterBand類并定義其獨特的數據讀取方式、元數據獲取方式、仿射變換系數以及數據文件創建方式等,完成由Provider定義的讀寫接口,并在系統中注冊,就能夠參與PGRCE支持的格式轉換過程。另外,PGRCE在設計時以GDAL Raster為參考柵格數據標準,在實現時兼容GDAL數據源。

圖2 柵格地理數據并行格式轉換引擎架構Fig.2 The architecture of PGRCE
PGRCE同時采用一種專門的機制——Provider Manager(PM),管理注冊的格式。PM在PGRCE中扮演一種信息字典的角色,將有前端傳入的轉換命令翻譯成PGRCE可以處理的指令,指導PGRCE進行數據裝載與輸出。當PGRCE試圖打開一個數據集時,其也需要在PM中查找相應的注冊格式,獲取對應格式的Provider,調用Provider的自定義接口完成數據集的讀取過程。因此,新的數據格式必須在PM中注冊,只有這樣其才有可能參與到數據格式轉換的過程。
PGRCE首先使用抽象數據模型解析源數據,建立源數據信息與目標數據參數的映射關系,根據輸入參數的具體指令完成轉換操作,其處理流程如圖3所示。某些地理數據格式的數據集可能含有嵌套關系,PGRCE采用遞歸調用的方式逐層處理,而如果前端命令要求對目標數據集進行某種處理,PGRCE則先將處理后的結果保存在虛擬數據集中,完成裁制后寫入目標數據格式文件。

圖3 柵格地理數據并行格式轉換引擎處理流程Fig.3 Workflow of PGRCE
PGRCE采用主從并行模式設計,包含兩種角色進程:管理進程和計算進程。管理進程主要負責公共事務,如創建目標數據格式文件、數據任務劃分、任務分配與調度、計算結果收集統計等,而計算進程則接收指令并負責完成具體數據塊格式轉換操作,周期性地獲取任務、處理格式轉換任務以及反饋處理結果,如圖4所示。管理進程對源數據文件的劃分是在其元數據基礎上的邏輯劃分,每個劃分數據塊由式(2)定義:

式中:xn為數據塊在xp方向的寬度,通常取數據集柵格寬度;yn為數據塊在yp方向上的最大跨度;ε表示柵格數據集中包含的波段數;τ為數據集中每個像元所占的字節數;v0表示數據塊的最大容量。對于所有劃分結果,管理進程使用一個列表和一個塊棧來進行維護。

圖4 柵格地理數據并行格式轉換引擎主從任務調度模式Fig.4 Master-slave task scheduler in PGRCE
當塊棧非空時,管理進程從塊棧中取出待處理數據塊,然后與從空閑計算進程隊列中取出的計算進程組合構成操作指令,發送給相應計算進程,同時在數據塊處理統計表中記錄進程運行開始時間戳。計算進程接收到管理進程發送的指令后,首先根據數據塊的描述信息從源數據中讀取相應的數據塊,交由轉換內核函數進行數據格式轉換,并寫進目標數據格式塊文件,同時將進程處理統計信息發送給管理進程。管理進程接收到進程成功執行的反饋信息之后,將進程入棧作為空閑進程準備再次使用,同時記錄進程結束處理時間;如果管理進程收到計算進程反饋的是失敗消息或計算進程超過一定時間仍沒有反饋,管理進程將強制計算進程終止操作,收回計算資源,并為該數據塊重新分配計算資源加以處理。
格式轉換操作屬于數據密集型計算任務,大規模數據讀寫效率直接左右轉換效率。因此,PGRCE采用并行文件系統Lustre管理柵格地理數據,并使用MPI-IO處理多節點多進程并發訪問,加快數據的讀寫效率。然而,需要指出的是,管理進程并不與地理數據直接交互,其數據劃分策略基于地理數據的元數據,計算進程負責數據的具體讀寫與處理,只有這樣才能最大程度上減少進程間的通信,節約計算資源,提高并行處理效率。
為了檢驗PGRCE架構和性能,將大規模格網數據交換格式文件(CNSDTF-DEM)轉換為常見柵格數據格式GeoTIFF作為測試用例。格網數據交換格式是中國地球空間數據交換格式國家標準(GB/T 17798—2007)中定義的柵格數據格式,其數據文件由文件頭以及數據體兩部分共同組成。文件頭中定義了數據的一般性信息,包括數據起始點、柵格分辨率、柵格大小、投影參考信息、壓縮方法以及柵格值數據類型等,數據體則為數值矩陣,文件頭中定義的壓縮方法不同,數據組織略有不同,如圖5所示。

圖5 格網數據交換格式數據文件組成Fig.5 Data structure in CNSDTF-DEM
使用PGRCE進行CNSDTF-DEM數據格式轉換,首先需要按照公共接口實現CNSDTF-DEM數據格式的Provider,并在PM中注冊,接入PGRCE框架。CNSDTF-DEM數據格式較為簡單,PGRCE中一個CNSDTF-DEM數據文件表示一個Dataset對象,僅含有一個RasterBand對象。而空間參考信息可以從文件頭文件[CoordinateSystemType]中讀取,實例化為SpatialReference對象。PGRCE以一行柵格數據為數據劃分的基本單位,每個數據塊大小上限取v0=320MB,并由式(2)計算得到分塊劃分行數。
測試程序運行在一個由9臺高性能計算節點構成的Lustre并行計算機集群(1個元數據服務器(MetaData Sever,MDS),9個元數據存儲目標(Object Storage Targer,OST),每個節點由8核Intel(R)Xeon(R)CPU E5-2603、16GB內存構成,共享8TB Lustre外存)上,測試數據由程序產生,數據量大小共32GB。分別測試了該數據在串行算法、單機并行處理以及集群并行處理情況下的轉換效率,結果如圖6所示。由圖中可以看出,使用串行算法需要近32min才能將測試數據處理完成,在單機并行環境下使用3個計算進程最快可以在約14min內完成處理任務,達到2.24的加速比,在集群并行環境下使用8個計算進程可以在約4min內完成,獲得7.54的加速比。

圖6 柵格地理數據并行格式轉換引擎測試結果Fig.6 PGRCE testing results
數據格式轉換操作是典型的數據密集型計算任務,I/O效率從根本上決定了任務處理效率。PGRCE在并行策略設計上采用主從并行模式,進程間僅有少量指令通信,通信代價微乎其微,而各從進程又單獨處理計算任務,在沒有讀寫瓶頸制約的條件下,理論上并行轉換引擎可以達到與從進程數量正相關的加速比。
單機共享磁盤并行處理環境下,1個管理進程,3個計算進程,并行加速比最好,但由于受制于單個硬盤讀寫速度限制,進程間易發生硬盤讀寫競爭,并行處理加速比只能夠達到2.24。集群并行處理環境下,由于Lustre并行文件系統使用條帶化數據劃分存儲技術,9個OST理想情況下數據讀寫效率能夠達到9倍線性效果,因此測試程序在8個計算進程條件下能夠達到7.54的加速比。
地理數據格式轉換技術作為實現數據共享的基礎工具,仍然在地理數據共享問題上扮演著重要角色。但是,隨著數據處理規模日趨龐大以及多核計算和大規模集群計算日益普遍,傳統串行數據格式轉換技術已經難以勝任,因其很難有效充分利用多核并行處理的優勢。因此,本文面向并行計算軟硬件環境,提出了PGRCE,實現了大規模柵格地理數據格式轉換操作的并行處理,大大提高了柵格地理數據格式轉換效率。測試結果表明,PGRCE具有良好可擴展性,能夠在大規模數據處理中表現出良好的并行加速效果,適合在集群環境下支持大規模數據格式轉換并行處理操作。
References)
[1]Sheth A P.Changing focus on interoperability in information systems:from system,syntax,structure to semantics,in interoperating geographic information systems[M]// Goodchild M,Egenhofer M,Fegeas R,et al.Interoperating Geographic Information Systems,Springer US,1999,495: 5-29.
[2]龔健雅,高文秀.地理信息共享與互操作技術及標準[J].地理信息世界,2006,4(3):18-27.GONG Jianya,GAOWenxiu.Sharing and interoperability of geospatial information[J].Geomatics World,2006,4(3): 18-27.(in Chinese)
[3]Gong J Y,Shi L T,Du D S,et al.Technologies and standards on spatial data sharing[C]//Proceedings of 20th ISPRS:Geo-imagery Bridging Continents,2004,34:118-128.
[4]Bishr Y.Overcoming the semantic and other barriers to GIS interoperability[J].International Journal of Geographical Information Science,1998,12(4):299-314.
[5]Devogele T,Parent C,Spaccapietra S.On spatial database integration[J].International Journal of Geographical Information Science,1998,12(4):335-352.
[6]Kavouras M,Kokla M.A method for the formalization and integration of geographical categorizations[J].International Journal of Geographical Information Science,2002,16(5): 439-453.
[7]Stoimenov L,Djordjevic-Kajan S.An architecture for interoperable GISuse in a local community environment[J].Computers&Geosciences,2005,31(2):211-220.
[8]Butenuth M,v.G?sselnb G,Tiedgec M,et al.Integration of heterogeneous geospatial data in a federated database[J].ISPRS Journal of Photogrammetry and Remote Sensing,2007,62(5):328-346.
[9]Paul M,Ghosh S K.A framework for semantic interoperability for distributed geospatial repositories[J].Computing and Informatics,2008,27(1):73-92.
[10]Gupta A,Marciano R,Zaslavsky I,et al.Integrating GIS and imagery through XML-based informationmediation[C]// Proceeding of ISD'99 Selected Papers from the International Workshop on Integrated Spatial Databases,Digital Inages and GIS,1999:211-234.
[11]Paudyal D R,Mcdougall K,Apan A.The impact of varying statutory arrangements on spatial data sharing and access in regional NRM bodies[J].Isprs Annals of Photogrammetry Remote Sensing&Spatial Information Sciences,2014,Ⅱ-8:193-197.
[12]Chao H,Chou T Y.Empirical research on organizational infrastructuremodel impact to spatial data sharing[J].Annals of GIS,2013,19(4):263-271.
[13]Safra E,Kanza Y,Sagiv Y,et al.Ad hoc matching of vectorial road networks[J].International Journal of Geographical Information Science,2013,27(1):114-153.
[14]Wang Y D,Gong JY,Huang JT,et al.The data transfer method based on geo-spatial data transfer format[J].Acta Geodaetica et Cartogaphica Sinica,2000,29(2):142-148.
[15]Wong SH,Swartz SL,Sarkar D.A middleware architecture for open and interoperable GISs[J].IEEE Multimedia,2002,9(2):62-76.
[16]Wang S,Cao G,Zhang Z,et al.A cyber GIS environment for analysis of location-based social media data,in locationbased computing and services[M].Hassan A K,Amin H.2nd ed.USA:CRC Press,2013:187-205.
[17]VatsavaiR R,Ganguly A,Chandola V,etal.Spatiotemporal data mining in the era of big spatial data:algorithms and applications[C]//Proceedings of the 1st ACM SIGSPATIAL InternationalWorkshop on Analytics for Big Geospatial Data 2012,ACM:Redondo Beach,California,2012:1-10.
[18]Hey T,Tansley S,Tolle K.The fourth paradigm:dataintensive scientific discovery[M].USA:Microsoft Research,2009.
[19]孟小峰,慈祥.大數據管理:概念、技術與挑戰[J].計算機研究與發展,2013,50(1):146-169.MENG Xiaofeng,CIXiang.Big datamanagement:concepts,techniques and challenges[J].Journal of Computer Research and Development,2013,50(1):146-169.(in Chinese)
[20]李建江,崔健,王聃,等.MapReduce并行編程模型研究綜述[J].電子學報,2011,39(11):2635-2642.LI Jianjiang,CUI Jian,WANG Dan,et al.Survey of MapReduce parallel programmingmodel[J].Acta Electronica Sinica,2011,39(11):2635-2642.(in Chinese)
[21]王爾琪,黃騫,滕壽威.地理空間信息并行處理架構與系統研究[J].測繪與空間地理信息,2013,36(S1):1-7.WANG Erqi,HUANG Qian,TENG Shouwei.Parallel GIS architecture and system[J].Geomatics&Spatial Information Technology,2013,36(S1):1-7.(in Chinese)
[22]OpenSFS.About Lustre File System[EB/OL].[2015-06-20].http://opensfs.org/lustre/
[23]張鈺森,吳慶波,譚郁松.基于Lustre的大規模文件系統擁塞控制算法的研究[J].計算機研究與發展,2011,48(S1):189-193.ZHANG Yusen,WU Qingbo,TAN Yusong.An investigation of a congestion control algorithm for large scale file system based on Lustre[J].Journal of Computer Research and Development,2011,48(S1):189-193.(in Chinese)
[24]張媛,盧澤新,劉亞萍.NFS over Lustre性能評測與分析[J].計算機工程,2007,33(10):274-276.ZHANG Yuan,LU Zexin,LIU Yaping.Performance evaluation and analysis of NFS over Lustre[J].Computer Engineering,2007,33(10):274-276.(in Chinese)
[25]GDAL/OGR.GDALRaster Formats[EB/OL].[2014-03-07].http://www.gdal.org/formats_list.html.
Parallel geo-raster data conversion engine
ZHANGShuai1,2,3,4,LIManchun1,2,CHEN Zhenjie1,2,HUANG Tao1,2,JIANGXiaohui5
(1.School of Geographic and Oceanographic Sciences,Nanjing University,Nanjing 210023,China;2.Jiangsu Key Lab of Geographical Information Technology,Nanjing University,Nanjing 210023,China;3.Department of Geography,University of Illinois at Urbana-Champaign,Illinois 61801,United States;4.National Center for Supercomputing Applications,University of Illinois at Urbana-Champaign,Illinois61801,United States;5.Nari Technology Development Limited Company,Nanjing 211106,China)
Large scale geo-raster data have been accumulated all over the world in different departments and organizations during the past decades,but quite often in a variety of data formats,resulting in geospatial data sharing as an everlasting headache.Despite of various methodologies created,geospatial data conversion hasalwaysbeen a fundamental and efficientway for geospatial data sharing.However,as the size of data tends to be larger and larger,themethodologywhich wasbounded by limited disk data transfer rateand bandwidth,needsa re-write and upgrade.A parallel geo-raster data conversion engine(PGRCE)was proposed to dealwithmassive geo-raster data sharing efficiently by utilizing high performance computing technologies.PGRCE was designed in an extendable and flexible framework,and was capable of customizing the way of reading and writing of particular spatial data formats.An experiment,in which geo-raster data in the CNSDTF-DEM format(Raster spatial data defined in Chinese Geospatial Data Transfer Format Standard)were transferred using PGRCE in a parallel file system(Lustre),were conducted to validate the engine framework and its performance.Results show that PGRCE can achieve a 7.54 speedup on a Luster cluster of 8 nodes..
geo-raster data format conversion;parallel computing;high performance computing;geocomputation;Lustre cluster
P208
A
1001-2486(2015)05-009-06
10.11887/j.cn.201505002
http://journal.nudt.edu.cn
2015-03-02
國家863計劃資助項目(2011AA120301);南京大學研究生科研創新基金資助項目(2013CL09)
張帥(1988—),男,安徽亳州人,博士研究生,E-mail:zhangshuai.nju@gmail.com;陳振杰(通信作者),男,副教授,博士,碩士生導師,E-mail:chenzj@nju.edu.cn