劉莉
(1 航天天繪科技有限公司,北京 100073)(2 航天恒星科技有限公司,北京 100086)
隨著遙感技術的快速發(fā)展,衛(wèi)星遙感圖像的空間分辨率、光譜分辨率和時間分辨率大大提高。這使得衛(wèi)星采集的數據量不斷增大,導致衛(wèi)星下傳碼速率提高,其中高分辨率遙感衛(wèi)星的下傳碼速率高達450 Mbit/s,地面經過解壓縮處理之后的碼速率更高達4Gbit/s。高碼速率的數據需要在衛(wèi)星下傳數據時實時接收和處理,而基于處理板卡的單機處理設備受到單設備的I/O、CPU 等處理性能的限制,已經不能滿足實時處理要求[1-2]。本文提出了一種基于消息傳遞接口(Message Passing Interface,MPI)的衛(wèi)星遙感數據實時處理平臺,并采用刀片服務器搭建原型系統(tǒng)進行平臺的系統(tǒng)驗證,可為未來高分辨率對地觀測系統(tǒng)地面實時處理軟件架構提供參考,為實現(xiàn)地面系統(tǒng)設備的業(yè)務化、集成化、多星多體制兼容創(chuàng)造條件。
在解決高速率衛(wèi)星下傳數據的實時接收和處理方面,分布式并行處理系統(tǒng)因其強大的計算能力、獨特的靈活性和低廉的成本,具有很大的優(yōu)勢。因此,本平臺的設計借鑒了國內外分布式并行處理系統(tǒng)的框架[3-6],采用多層結構,使各層各司其職,從而保證平臺對設備的開放性和對不同業(yè)務的可擴展性。
并行處理程序各部分之間,通過來回消息傳遞的方式通信,要使消息傳遞方式可移植,須要采用標準的消息傳遞庫。MPI是被廣泛應用的消息傳遞標準規(guī)范,自1992年產生以來,已有40多個歐美機構致力于MPI標準的研究,包括硬件廠商、大學、政府實驗室和工廠,所有的并行計算機制造商都提供對MPI的支持。MPI特別適合于大規(guī)??蓴U展并行算法,具有較高的通信性能、較好的程序可移植性[7-9]。本文采用MPI并行程序技術,以更好地實現(xiàn)分布式并行處理系統(tǒng)框架,保證平臺的高效和穩(wěn)定。
為了構建通用、可擴展的衛(wèi)星數據實時處理平臺,對衛(wèi)星下傳的多星多載荷數據進行實時并行處理和記錄,本文采用分層的結構設計,以滿足平臺的業(yè)務處理能力。衛(wèi)星遙感數據實時處理平臺為4層結構,如圖1所示。其中:應用支持層為基礎服務層提供MPI功能支持,提供平臺的分布式并行處理功能;基礎服務層為業(yè)務處理層和表現(xiàn)控制層提供一系列基礎服務;業(yè)務處理層為表現(xiàn)與控制層提供遙感數據的業(yè)務處理模塊;表現(xiàn)與控制層通過調用業(yè)務處理層的處理模塊實現(xiàn)具體的業(yè)務流程。
1)表現(xiàn)與控制層
該層是平臺的展現(xiàn)和控制入口,包括任務調度與節(jié)點控制端(主控)和業(yè)務視圖端。業(yè)務視圖端表現(xiàn)業(yè)務的相關信息,包括配置信息、狀態(tài)信息等,同時也向外提供實時控制業(yè)務的功能。任務調度與節(jié)點控制端(主控)負責將計劃和實時控制功能轉化為對各業(yè)務層模塊的控制令集合,并下發(fā)給業(yè)務層,從而實現(xiàn)計劃的配置、執(zhí)行與控制。
2)業(yè)務處理層
該層負責具體的數據業(yè)務處理過程,由多個處理模塊組件組成,包括原始數據回放模塊、原始數據記錄模塊、0級數據記錄、實時解壓縮等,可根據業(yè)務的需要擴展相應的處理模塊。
3)基礎服務層
該層主要是為業(yè)務處理層和任務調度與節(jié)點控制端(主控)提供一系列的服務支持,它包括日志服務、信息上報與控制中轉服務、參數解析服務、信息生成服務、數據存取接口服務和業(yè)務動態(tài)加載服務。
4)應用支持層
該層為上述3個層的實現(xiàn),尤其是為基礎服務層提供功能支持。常用的基于MPI標準實現(xiàn)的有MPICH 庫、MVAPICH 庫和OpenMPI庫等。其中:MPICH 庫是MPI標準最重要且基礎的實現(xiàn),完全實現(xiàn)了MPI 1.2 標準,基于以太網應用范圍最廣,除包含MPI函數庫外,還包含了一套程序設計及運行環(huán)境;MVAPICH 庫是MPI接口在VAPI層Infiniband網絡上的實現(xiàn)版本,在Infiniband上具有較好的性能;OpenMPI庫是MPI 2(MPI的擴充和發(fā)展標準)的一個開源實現(xiàn),可以運用在任何網絡上,目前由一些科研機構和企業(yè)一起開發(fā)和維護。在本平臺的設計中,MPICH 庫在網絡協(xié)議的通用性、對操作系統(tǒng)和硬件平臺的支持力度等方面具有較大優(yōu)勢,因此選用它作為平臺的具體實現(xiàn)。
圖1 衛(wèi)星遙感數據實時處理平臺分層結構Fig.1 Layered architecture of satellite remote sensing data real-time processing platform
衛(wèi)星遙感數據實時處理平臺的工作流程,如圖2所示。
(1)首先通過業(yè)務視圖端下達計劃,針對不同的業(yè)務,計劃類別不同,在地面接收處理系統(tǒng)中常用的計劃類別有數據接收、數據回放等。
(2)任務調度與節(jié)點控制端(主控)接收到計劃后,將計劃分解成任務,并生成執(zhí)行任務所需的配置信息,配置信息中包含運行的業(yè)務名稱、對應的業(yè)務模塊,以及業(yè)務模塊運行所需的參數信息等。
(3)任務調度與節(jié)點控制端(主控)調用業(yè)務動態(tài)加載服務,業(yè)務動態(tài)加載服務解析配置信息并加載相應的業(yè)務處理模塊,完成業(yè)務處理。
(4)業(yè)務處理模塊在各個處理節(jié)點上運行時進行專有業(yè)務處理,程序在收到任務調度與節(jié)點控制端(主控)下達的“停止”時結束處理,上報完成結果;任務調度與節(jié)點控制端(主控)根據所有的節(jié)點完成結果生成計劃的完成報告,提交給業(yè)務視圖端顯示,整個計劃完成。
圖2 衛(wèi)星遙感數據實時處理平臺工作流程Fig.2 Procedure of satellite remote sensing data real-time processing platform
衛(wèi)星遙感數據實時處理平臺通過MPI實現(xiàn)分布式并行框架,解決多節(jié)點并行處理問題。MPI并行程序運行在2組刀片服務器上,操作系統(tǒng)是Red-Hat 64位版本,編程語言為C++。
MPI程序設計主要分為以下幾部分:①初始化MPI環(huán)境;②獲得MPI進程組的進程號;③獲取主控指令;④加載動態(tài)庫,執(zhí)行處理函數;⑤退出MPI系統(tǒng)。通過MPI程序,衛(wèi)星遙感數據實時處理平臺實現(xiàn)了分布式的調用和業(yè)務模塊的運行。
MPI程序通過動態(tài)加載不同的處理動態(tài)庫來實現(xiàn)業(yè)務處理,在2 組刀片服務器上并行處理多種業(yè)務:①原始數據記錄回放模塊,實現(xiàn)解調器輸出的遙感衛(wèi)星原始碼流數據的記錄和回放;②分路模塊進行幀同步和解擾等處理,將原始數據按照有效載荷分發(fā)給各個解壓縮模塊;③解壓縮模塊對衛(wèi)星遙感數據進行實時解壓縮處理;④抽點記錄模塊將衛(wèi)星遙感數據按照標準格式進行實時記錄,并進行抽點處理發(fā)給快視服務器。MPI程序在動態(tài)加載動態(tài)庫之后執(zhí)行動態(tài)庫的處理函數,然后MPI退出,轉變?yōu)闃I(yè)務處理程序。MPI程序流程圖詳見圖3。
圖3 MPI程序流程圖Fig.3 Procedure of MPI program
以遙感衛(wèi)星地面檢測系統(tǒng)為對象,建立原型系統(tǒng)(見圖4)。該系統(tǒng)主要由解調器、千兆以太網交換機、分路模塊、刀片服務器、光纖交換機、SAN 盤陣和快視服務器等組成;具有通道1和通道2,分別通過分路、解壓縮、記錄、抽點等存儲到各自的SAN盤陣中;采用IB 網絡交換高速率衛(wèi)星數據,同時通過SAN 盤陣記錄高速率衛(wèi)星數據。分路和解壓縮功能,由一組刀片服務器構成,實時完成2個通道的分路和解壓縮功能;原始數據的記錄回放、解壓縮數據的解格式、記錄和抽點,由另一組刀片服務器構成;2臺快視服務器完成對雙通道解壓縮抽點數據的實時顯示。
圖4 原型系統(tǒng)平臺架構Fig.4 Prototype system platform framework
應用衛(wèi)星遙感數據實時處理平臺,對某遙感衛(wèi)星數據進行實時采集測試。結果表明:本平臺可以接收處理的遙感衛(wèi)星下傳碼速率高達450 Mbit/s,單通道解格式處理速率高達6Gbit/s,并具備多星多載荷處理能力。表1是測試結果與已有的高速遙感衛(wèi)星數據采集系統(tǒng)[2]對比??梢?,本文所構建的基于MPI的衛(wèi)星遙感數據實時處理平臺,具有處理速度快、運行穩(wěn)定的優(yōu)點,充分發(fā)揮了IB 網絡的高速傳輸數據能力和SAN 盤陣的高速記錄能力。
表1 平臺測試結果對比Table 1 Comparison of platform test results
為了構建通用、可擴展的衛(wèi)星數據實時處理平臺,對衛(wèi)星下傳的多星多載荷數據進行分布式實時并行處理,本文設計了一種基于MPI的衛(wèi)星遙感數據實時處理平臺,解決了實時處理時高速率和并行處理的難點,并為遙感衛(wèi)星地面檢測系統(tǒng)建立了原型系統(tǒng),進行了系統(tǒng)驗證。本平臺現(xiàn)已應用于某遙感衛(wèi)星地面檢測系統(tǒng)中,能夠保證數據處理的實時性,具有處理速度快、運行穩(wěn)定的優(yōu)點。為了使平臺具有更好的靈活性,后續(xù)將側重于動態(tài)負載均衡方面的研究。
(References)
[1]何芳,單慶曉.基于刀片式服務器的遙感數傳基帶處理系統(tǒng)設計[J].計算機測量與控制,2011,19(3):668-672
He Fang,Shan Qingxiao.Design of remote sensing date transmission baseband system based on blade system[J].Computer Measurement & Control,2011,19(3):668-672(in Chinese)
[2]伍尚智,楊仁忠.高速遙感衛(wèi)星數據采集系統(tǒng)的研究與實現(xiàn)[J].微計算機信息,2005,21(31):69-71
Wu Shangzhi,Yang Renzhong.Research and realization of high speed remote sensing satellite data acquiring system[J].Microcomputer Information,2005,21(31):69-71(in Chinese)
[3]項涵宇,晏磊,劉岳峰,等.基于FPGA 的遙感影像并行處理原型系統(tǒng)的設計與實驗[J].影像技術,2009,21(3):48-53
Xiang Hanyu,Yan Lei,Liu Yuefeng,et al.Design and experiment of prototype system for parallel processing of remote sensing images based on FPGA [J].Image Technology,2009,21(3):48-53(in Chinese)
[4]張劍清,柯濤,孫明偉.基于集群計算機的海量航空數碼影像并行處理——并行計算在航空數字攝影測量中的應用[J].計算機工程與應用,2008,44(13):12-15
Zhang Jianqing,Ke Tao,Sun Mingwei.Parallel processing of mass aerial digital images based on cluster computer-the application of parallel computing in aerial digital photogrammetry[J].Computer Engineering and Applications,2008,44(13):12-15(in Chinese)
[5]盧麗君,廖明生,張路.分布式并行計算技術在遙感數據處理中的應用[J].測繪信息與工程,2005,30(3):1-3
Lu lijun,Liao Mingsheng,Zhang Lu.Application of parallel computing techniques of distrubuted memory multiprocessors to remote sensing image processing[J].Journal of Geomatics,2005,30(3):1-3(in Chinese)
[6]曹敏,史照良.新一代海量影像自動處理系統(tǒng)“像素工廠”初探[J].測繪通報,2006(10):55-58
Cao Min,Shi Zhaoliang.Primary study of massive imaging auto-processing system“pixel factory”[J].Bulletin of Surveying and Mapping,2006(10):55-58 (in Chinese)
[7]李宏寬,楊曉冬,鄒珍軍.基于MPI并行的遙感影像系統(tǒng)級幾何校正快速處理技術研究[J].河南工程學院學報,2011,23(1):49-52
Li Hongkuan,Yang Xiaodong,Zou Zhenjun.Research of the system-level geometric fast correction of remote sensing image processing technology based on parallel MPI[J].Journal of Henan Institute of Engineering,2011,23(1):49-52(in Chinese)
[8]Hawick K A,Coddington P D,James H A.Distributed frameworks and parallel algorithms for processing largescale geographic data[J].Parallel Computing,2003,29(10):1297-1333
[9]沈占鋒,駱劍承,陳秋曉,等.基于MPI的遙感影像高效能并行處理方法研究[J].中國圖象圖形學報,2007,12(12):2132-2136
Shen Zhanfeng,Luo Jiancheng,Chen Qiuxiao,et al.Highefficiency remotely sensed image parallel processing method study based on MPI[J].Journal of Image and Graphics,2007,12(12):2132-2136(in Chinese)