摘要:為了解決雷達數據處理系統數據量日益增大,計算能力逐漸不足的問題,提出兩種并行處理方法。第一種方法是對數據處理各步驟中的循環采用多個線程并行處理,屬于細粒度并行;第二種方法是根據雷達數據的局部性特征,把雷達探測空域按照徑向距離劃分成多個部分,由多個子任務并行處理,屬于粗粒度并行。實驗結果顯示,4線程細粒度并行雷達數據處理架構性能是原來的3倍,4任務粗粒度并行架構性能是原來的5倍,證明并行處理技術在雷達數據處理中的有效性,并且任務級的粗粒度并行架構更適合雷達數據處理。
關鍵詞:雷達數據處理;線程級并行;任務級并行;數據局部性
中圖分類號:TP301.6 文獻標識碼:A
1引言
未來戰爭中的電磁環境將異常復雜,雷達會受到各種形式的欺騙和干擾,產生大量的雜波,并且需要檢測的目標日益增多,目標的運動速度越來越快,目標的機動性也越來越靈活[1-2]。上述情況的出現將會大大增加雷達數據處理的運算量,而雷達數據處理系統作為一個實時系統,必須在規定的時間內計算出結果,這對數據處理的計算能力提出了很高的要求。
并行處理技術是提高計算速度最有效的技術之一,通過把求解問題分解為多個可以并行運算的子問題,在多個處理器上同時求解,從而降低解決時間。目前,并行處理已廣泛的應用于石油勘探、氣象預報、核武器模擬等對計算能力有迫切需求的領域[3],并且在雷達仿真系統、雷達信號處理、多傳感器數據融合等方向也有應用[4-6]。
本文將對并行處理技術在雷達數據處理中的應用進行研究,探索并行雷達數據處理設計方法,解決雷達系統中面臨的計算能力不足問題。
2并行處理相關工作
2.1并行計算機系統
對稱多處理器(symmetric multiprocessor, SMP)并行計算機均采用均勻存儲訪問結構,如圖1(a)所示。共享存儲結構提供了一個對用戶友好的編程視角,處理器間的通信通過共享存儲的方式實現,速度快,其缺點是需要用戶保證存儲一致性,擴展性較差。
分布式存儲結構中每個處理器都有自己獨立的內存,本地內存的改變將不會影響到其他的處理器,處理器間通過互聯網絡進行通信,如圖1(b)所示。分布式存儲的優點是擴展性好,不需要維護存儲一致性,缺點是需要用戶顯式地進行處理器間通信。
2.3并行計算機編程模型
并行計算機編程模型主要包括共享存儲和消息傳遞兩種編程模型[8-9]。
共享存儲并行編程模型基于線程級的細粒度并行,主要應用于SMP等共享存儲結構的并行計算機。在多個處理器訪問共享內存時,需要采用同步機制以保證共享數據的一致性,常用的同步機制有互斥量和信號量。OpenMP是目前比較流行的面向共享存儲的并行編程技術。進行循環級并行的應用程序適合采用共享存儲編程模型。
3雷達數據處理分析
雷達數據處理系統接收到信號處理送來的點跡,一般按照圖2所示流程進行處理[10]。
點跡預處理:把每一個新點跡從目標量測坐標系轉換到數據處理所在坐標系。
數據互聯:建立當前時刻新點跡與歷史數據之間的關系,以確定這些點跡是否來自同一個目標,分為新點跡與舊點跡的互聯、新點跡與航跡的互聯。典型的數據互聯算法有最近鄰域法(NNF)和概率數據互聯法(PDAF)。最近鄰域算法根據對目標狀態的預測設置跟蹤門(相關波門),判斷新點跡是否落入某個跟蹤門內,設置相關度,最后選擇相關度最高的點航配對。點跡與點跡的互聯方法同點航互聯。
航跡起始:航跡起始是目標跟蹤的第一步,主要包括暫時航跡形成和軌跡確定。
跟蹤:對來自目標的新點跡量測值進行處理,以便保持對目標現時狀態的估計。目前,經常采用的目標跟蹤方法有交互式多模型算法、Jerk模型算法等,濾波算法多使用卡爾曼濾波[10]。交互多模型算法通過多個目標模型的有效組合來實現對目標機動狀態的自適應估計[11-12]。
點跡與航跡維護:對每個點跡和航跡進行維護,刪除滿足條件的點跡和航跡。
4實驗結果分析
根據第3節的分析,分別搭建了共享存儲并行計算機系統和分布式存儲并行計算機系統。
共享存儲計算機系統配置為:Intel Xeon W3565 四核處理器,Linux 2.6.32操作系統,6 GB內存,四個處理器核通過處理器內部的互連總線共享內存。分布式存儲計算機系統由四個節點組成,每個節點配置為Intel Xeon W3565處理器,Linux 2.6.32操作系統,6 GB內存,千兆以太網卡,節點之間通過千兆以太網交換機進行通信。
在實驗中,仿真1500幀數據,模擬2000批目標,每幀數據隨機產生20000個雜波點,雷達的探測距離為1000 km,目標和雜波點跡在探測空域均勻分布。
采用任務級并行處理方法時,相鄰區域的重疊范圍20 km,按照表1中的配置對任務進行分解。
在點跡預處理、航跡起始和跟蹤等步驟中,隨著任務的分解,運算量線性降低。線程級并行和任務級并行均具有這種特點,因此兩種并行方法的執行時間變化情況基本一致。
根據第3節的分析可知,按照探測距離分解任務時,數據互聯計算量的降低與任務個數增加成平方關系,而線程級并行方法中數據互聯計算量與任務分解個數成線性關系。因此,在數據互聯步驟,線程級并行執行時間成線程降低,任務級并行執行時間成平方關系降低,與圖7中的統計結果基本一致。
點跡與航跡維護主要是對保存點跡、航跡、點航配對的鏈表等共享數據進行查找、刪除等操作。線程級并行方法中訪問共享數據需要采用同步機制,頻繁的訪問共享數據會導致線程的阻塞。另外,多個線程同時訪問內存,競爭激烈,每個線程的訪存帶寬下降明顯,因此線程級并行處理中點跡與航跡維護并行處理的效果不好。
在任務級并行時,每個子任務有獨立的內存,不存在訪存競爭問題和同步。每個子任務負責部分區域的處理,點跡和航跡鏈表長度與任務個數成線性關系降低,點航配對鏈表長度與任務個數呈平方關系下降,因此任務級并行處理中點跡與航跡維護時間降低非常明顯。圖7中的統計結果與上述分析基本一致。
在任務級并行中增加了綜合步驟,當只有一個任務時,不需要綜合步驟,多個任務執行時,綜合步驟的時間開銷占總時間的比例在5%以內,對系統執行時間影響很小。
通過以上為分析可知,按照探測區域進行任務級粗粒度并行處理比線程級的細粒度并行處理效果更好。
5結論
本文通過對雷達數據處理進行分析,提出了兩種并行處理方法。第一種方法是對數據處理各步驟中的循環采用多個線程并行處理,屬于細粒度并行;第二種方法是根據雷達數據的局部性特征,把雷達探測空域按照徑向距離劃分成多個部分,由多個子任務并行處理,屬于粗粒度并行。實驗結果顯示,4線程細粒度并行雷達數據處理架構性能接近原來的3倍,4任務粗粒度并行架構性能接近原來的5倍,證明了并行處理技術在雷達數據處理中的有效性。
在線程級并行處理方法中,線程之間同步頻繁,訪存競爭激烈等原因導致性能有所損失。任務級并行處理方法中同步次數較少,不存在訪存競爭問題,并且按照區域分解任務減少了總任務的計算量,性能提高更明顯。因此,任務級的粗粒度并行更適合雷達數據處理。
參考文獻
[1]康耀紅. 數據融合與應用[M]. 西安:西安電子科技大學出版社,1997.
[2]俞志富,呂久明. 基于航跡跟蹤的EKF應用研究[J]. 現代防御技術,2007,35(2):113-117.
[3]王志斌,陳 波,萬玉發,等. 天氣雷達資料實時并行處理方法[J]. 計算機工程,2009,35(23) :255-257.
[4]徐雷,吳嗣亮,李海. 相控陣雷達仿真系統并行計算研究[J]. 北京理工大學學報,2008,28(6):517-520.
[5]何勇,張必銀. 多傳感器數據融合并行處理方法研究[J]. 艦船電子工程,2011,31(8):56-59.
[6]黃鴻,王秀春. 并行計算機在現代雷達信號處理中的應用[J]. 現代雷達,2004,26(3):25-28.
[7]多核系列教材編寫組. 多核程序設計[M]. 北京:清華大學出版社,2007.
[8]陳國良. 并行計算:結構算法編程[M]. 第3版. 北京:高等教育出版社,2011.
[9]RABENSEIFNER, R.Hybrid. MPI/OpenMP Parallel Programming on Clusters of MultiCore SMP Nodes[J]. 17th Euromicro International Conference on Parallel, Distributed and Networkbased Processing, 2009: 427-436.
[10]何友,修建娟,張晶煒,等. 雷達數據處理及應用[M]. 第二版. 北京:電子工業出版社,2009.
[11]AVERBUCH A, BARSHALOM Y, DAYAN J. Interacting multiple model methods in target tracking: a survey[J]. IEEE Transactions on Aerospace and Electronic Systems, 1998, 34(1): 103-123.
[12]X.RONG LI, VESSELIN P.JILKOV. Survey of maneuvering target tracking. Part V: Multiplemodel methods[J]. IEEE Transactions on Aerospace and Electronic Systems, 2005,41(4): 1255-1231.