999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于多核CPU的雷達信號并發處理架構設計

2021-11-09 11:50:36楊思軍
艦船電子對抗 2021年5期

楊思軍

(中國船舶重工集團公司第七二三研究所,江蘇 揚州 225101)

0 引 言

智能化是電子裝備未來發展的必然趨勢,而要將當前的數字化裝備發展為智能化裝備,“軟件化”是必由之路,也是未來構建智能化電子裝備的基礎和平臺。雷達作為主要的電子裝備產品,其軟件化設計更能適應任務需求的多樣性和多功能一體化的要求,并可實現軟硬件解耦和功能重構,完成無人值守等任務需求。而要實現軟件化雷達信號處理,首先要解決的就是雷達信號處理的實時性問題,為此在硬件平臺的選擇、軟件的架構設計以及數據實時傳輸等方面都要考慮周全,才能確保處理的實時性。

隨著計算機多核中央處理器(CPU)、高速存儲器以及多任務多線程編程技術的快速發展,計算機的計算能力、處理能力和運行效率得到了很大提高,強大的浮點運算能力和易于開發的軟件技術使計算機能夠更靈活、快速、準確地完成數據處理工作,為雷達信號處理軟件編程帶來極大的方便,將逐步取代傳統的硬件平臺,實現雷達系統的軟件化設計。

1 多核超算CPU

多核超算CPU的每個處理器核支持2個硬件線程,也稱為“超線程”CPU[1]。它可以對相互不依賴的操作指令打亂順序執行,提高CPU處理速度。多核CPU從最初的2核、4核,跨越到目前的8核、16核,甚至到32核,然而多核CPU要想充分發揮其效能,在軟件設計上必須充分利用其并發處理技術,這已成為計算機設計和應用中不可回避的問題。如何實現多核CPU的并發處理能力,可以參考圖形處理器(GPU)的設計和處理模式。

最初CPU的設計主要是針對執行大量離散而不相關任務的系統,而GPU的設計主要是解決那些可以分成成千上萬個小塊并可獨立運行的問題[1]。根據這個思路,在雷達信號處理軟件設計上,可將模數(AD)采樣后的雷達數字回波按脈沖重復時間(PRT)或波束相參組進行數據打包,分成適合多核CPU處理的多個小塊可獨立運行的數據包,進行并發處理。

2 數據流驅動模式

數據流驅動機制則允許任何指令均由數據可用性來驅動。指令的執行完全受數據流的驅動,其順序只受指令中數據相關性的制約,而與指令在程序中出現的先后無關。只要數據不相關且資源可利用,就可以并行,從而有利于并行性的開發[2]。

雷達信號處理流程最顯著的特點就是各功能模塊的流水性,其前后數據的迭代性和相關性較弱,不同于航跡處理是一個閉環迭代的過程。雷達信號處理流程可以劃分為一些功能模塊,其中某一個或幾個模塊的輸出作為下一個或幾個模塊的輸入,這是一種粗粒度的數據流驅動方式,各模塊之間的輸入輸出關系就是數據流驅動關系。采用數據流驅動機制,相應數據包到達,即可執行各功能模塊的處理指令。一個完整的雷達信號處理流程大體可分為艦速補償、脈沖壓縮、副瓣對消或副瓣匿影、雜波抑制、恒虛警等模塊。各模塊可獨立工作,模塊之間每次輸出的各距離單元或脈沖數據無關聯,適合CPU并發編程。

在架構設計時,將雷達信號處理系統采用數據流驅動機制,目的在于摒棄硬件同步信號,充分利用CPU多核資源并發編程,實現系統的并行性處理,使系統盡可能高速有效地工作。

3 線程池加速處理技術

就像在單核處理器中,操作系統的任務是分時、輪流運行的,每個任務只能運行一小段時間,仿照GPU線程模型的設計思路,分配實際數量多于物理CPU核數的多個任務同時運行的并發處理模式。并發處理模式同時可以解決CPU處理失速狀態,這種現象通常是由I/O操作和內存獲取引起的,CPU在上下文切換時會出現此類現象,假定此時有足夠多的任務,線程的運行時間也較長,那么它將正常地運轉,從用戶的角度上就感覺不出CPU失速的狀態[3]。

多核處理器主要用于實現任務并行,這是一種基于操作系統的并行處理,主要方式是利用多線程來發揮處理器中的多核作用。線程是程序中的一個獨立執行流,它可以在主執行流的要求下分出和聚合。通常情況下,CPU程序擁有的活動線程數量不超過其包含的物理處理核數量的2倍,來實現線程池加速技術。

線程池技術是指程序開始時創建若干個線程,當有任務時交給池中的空閑線程執行,執行完畢后線程不銷毀而是備用。當執行大量異步任務時,線程池能夠提供較好的性能,這是因為線程池復用了線程,可以使每個任務的調用開銷減少。從實時性考慮,線程級處理要比進程處理快得多,線程操作的是一個共享的內存空間。這可以帶來不借助消息就可以完成數據交換的便利,線程代碼的上下文由操作系統保存,數據空間是共享的,缺點是缺乏對共享數據的保護。另一方面,線程池提供了一種資源限制和管理的手段。線程池加速技術不同于OpenMP設計標準,采用OpenMP程序設計相對容易,大多數底層的線程代碼都采用Windows線程庫函數或POSIX線程庫函數實現,而線程池加速技術要用戶自己根據實際情況進行多線程并發代碼編寫。

并發性的首要內涵是,對于一個特定的問題,無須考慮用哪個并行計算機來求解,而只需關注求解方法中哪些操作是可以并行執行的。并發編程會涉及到較多系統資源競爭,比如同時讀寫共享內容、操作系統層面的線程調度等,因此代碼編寫要格外小心。下面以脈沖壓縮模塊為例,設計線程池加速技術:

(1) 在脈沖壓縮模塊的初始化函數rspl_pulse_compress_init()中事先開辟好脈沖壓縮過程中需用到的各種變量和內存空間,即為每個線程開辟好獨立的環境變量,避免同時讀寫共享內容,導致數據不同步。對于脈沖壓縮模塊來說,環境變量主要包含存儲各種碼型的匹配濾波器系數、進行快速傅里葉變換(FFT)需要的內存空間,以及艦速補償等的系數空間。

(2) 根據硬件平臺的處理速度和特性,初始化需要開辟線程函數Thread_Function(),建立線程池緩沖區。

(3) 在數據接收線程函數rspl_pulse_compress_entry()中,將接收的數據進行整合處理,根據功能模塊特性,分割成適合線程處理的子任務,添加到線程池任務鏈表中,并釋放信號量,激活線程池中的線程處理函數。

(4) 多個線程子函數Thread_Function()并發處理,通過信號量,激活線程池中空閑的線程接收整合的數據塊,并調用每個線程的環境變量和空間,進行脈沖壓縮處理,并將處理的結果數據整合成數據包,發送給下個模塊,實現數據流驅動。

4 仿真驗證

圖1是采用超算CPU實現的軟件化雷達信號處理并發設計架構框圖,有脈沖壓縮組件、副瓣匿影組件、目標檢測組件、恒虛警組件和和差測角組件5個組件,實現了雷達信號處理的基本功能。各個組件之間不進行互聯,而是通過通信中間件進行數據交互。通信中間件屏蔽應用層與底層硬件的差異,實現數據的傳輸。通信中間件主要包含2種傳輸模式:一種是組件間的數據傳輸,在同一個CPU內,采用傳址模式保證數據傳輸的實時性;另一種組件間的數據傳輸不在同一個CPU內,采用發布訂閱傳輸機制,通過萬兆網進行數據傳輸。采用通信中間件進行數據傳輸,盡可能少地實現數據搬移,提高處理效率;實現軟件的模塊化設計,迭代升級;屏蔽IP地址、網絡端口等一系列參數,方便實現組件級重構。

圖1 軟件化雷達信號處理并發設計架構框圖

圖1中每個組件都有一個或多個輸入輸出端口和一個線程池,組件將接收的數據壓入線程池,釋放信號量,等待空閑線程進行處理。根據功能模塊算法的復雜度和處理速度,對每個組件合理設置多個并行處理線程。使整個信號處理應用程序達到最佳處理效果,如圖2的14個CPU核中,除了第1個CPU核,其余都有50%左右的利用率。第1個CPU核主要由操作系統控制,負責完成CPU處理流程的串行操作。圖1中所有組件組合在一起形成一個進程級應用程序,實際占用的CPU數量由設備的數據通過量和使用的CPU線程數決定,它打破了CPU界限的分布。

圖2 多核CPU資源利用率

多核超算CPU相對數字信號處理(DSP)芯片主頻高、內存大、浮點運算能力強,更能滿足雷達信號處理的精度要求,但是CPU都帶操作系統,一般無法太快響應外部中斷,因此軟件設計應揚長避短,將數據以數據流模式傳輸,以包為單位,以1個脈沖重復時間或者1個相參組脈沖的數據為1包,去掉硬件信號的同步,采用大包傳輸,多緩沖區緩存,保證數據處理的平均速度滿足要求即可。實際測試下來,緩存區過多,也會影響CPU資源利用率及處理速度。

線程池加速技術采用多線程并發處理模式,以數據流驅動模塊級聯,勢必導致亂序執行,因此在需要同步和按順序執行的功能模塊時,需要對零散的數據塊進行數據同步、排序處理,以保證功能模塊執行的正確。

圖1中脈沖壓縮組件接收以1個PRT為1包的數字波束合成(DBF)數據或AD采樣數據,將接收的整形數據轉化為浮點數據,存入多級緩存中,采用第3節中介紹的線程池加速處理技術,實現目標艦速補償功能和各種調頻相位編碼的脈沖壓縮功能。由于數據是以1個PRT為1包的完整數據,因此不需要排序同步處理,直接壓入線程池中等待處理。每個PRT中包含左、中、右3個和波束,1個俯仰角差波束和1個匿影波束總共5個波束數據,每個波束2 048個距離單元的復數數據。脈壓后的數據以相同的數據包格式發送到副瓣匿影組件中。每包PRT數據中包含相參組流水號和每個相參組中脈沖的編號,用于實現副瓣匿影組件中的數據同步和排序。同步排序后的數據是以某個波束的相參組為1包的數據流,同樣通過線程池加速處理技術,實現副瓣匿影功能,輸出只包含主通道的數據,用于后續的目標檢測。

目標檢測組件接收的數據是按照相參組排好一包包數據流,因此不需要進行同步和排序,通過線程池加速處理技術直接進行動目標檢測(MTD)、動目標指示(MTI)和非相參積累(NCA)處理。目標檢測組件分2個端口輸出,一個端口輸出和波束模的數據到恒虛警處理組件,另一個端口輸出和波束和差波束的復數數據到和差測角組件。

恒虛警處理組件需要根據左、中、右3個波束的編號和相參組流水號進行數據同步,同步后的數據壓入線程池,進行恒虛警處理,處理結果送入和差測角組件。和差測角組件將接收的恒虛警處理數據和目標檢測輸出的復數數據先通過相參組流水號進行數據同步,同步后的數據壓入線程池進行和差測角處理。

每個組件設計都采用多線程并發處理,要保證整個應用程序達到最佳處理速度,每個組件的線程數的合理設計就顯得尤為重要,表1是在X86下采用英特爾數學核心函數庫(MKL)和綜合性能圖元函數庫(IPP)實現的單線程雷達信號處理組件的處理速度,可以根據每個組件的處理速度來設置各組件的處理線程數。

表1 單線程各組件處理時間

5 雷達信號處理實時性問題

英特爾至強芯片除了CPU的超線程,還搭載了巨大的三級緩存,并且配合英特爾開發的高度優化、線程安全的MKL函數庫和實現了一維信號處理的函數庫IPP函數庫,同時利用線程池加速處理技術,在圖1的軟件化雷達信號處理并發設計架構框下,可以實現雷達信號實時處理。至強E5(主頻1.8 GHz)系列CPU實現16組1 024點快速傅里葉變換(FFT),單核只需三十幾微秒,其處理速度都達到了一般現場可編程門陣列(FPGA)的處理速度。除了速度快,MKL和IPP是線程安全的,MKL或IPP函數無論是在單個線程中調用,還是在多個線程中同時使用Intel,都能夠確保函數正確的計算結果。

6 結束語

多核CPU采用線程池加速技術,在并發處理模式下,可實現雷達回波的實時處理;但要實現最優設計,還需根據不同的硬件平臺和實際情況進行分析。

(1) 信號量的切換

多線程并發處理必然需要使用同步信號。在不同的硬件平臺下,信號量時間的切換各不相同。以計數信號量為例,在X86的架構下,計數信號量的切換平均1 μs即可,而在ARM架構下FT1500A處理器中需要20~30 μs,為此要考慮任務塊大小的劃分,避免過小的任務塊信號量使用頻繁,浪費時間。或者在FT1500A處理器平臺上,采用互斥信號量配合條件信號量替代計數信號量。

(2) 線程數設置

CPU通過使用寄存器重命名和棧來執行多線程,為了運行一個新任務,CPU需要進行上下文切換,將當前所有寄存器的狀態保存到棧上,然后從棧中恢復當前需要指向的新線程上次的執行狀態。這些操作通常需要花費上百個CPU時鐘周期。如果在CPU上開啟過多的線程,時間幾乎都花費在上下文切換過程中寄存器內容的換進/換出操作上,有效工作吞吐量將會快速降低。因此并不是線程數越多越好,一般不超過其包含的物理處理核數量的2倍。

雖然雷達信號并發處理架構很多設計思想來源于GPU的設計思路,采用多核處理器,仿照GPU線程模型,同一時刻可以存在大量同時執行的線程,以期帶來高吞吐量。但是,由于GPU架構中計算能力較強,邏輯控制單元較弱,GPU不適合開發邏輯較為復雜的并發程序[4]。作為通用處理模塊,多核CPU是一個很不錯的選擇。

帶有特定算法硬件加速的多核超算CPU,配備相應的操作系統,既具備浮點強運算能力,又具備高效管理流程,相較DSP、FPGA和GPU,具有更高的處理時鐘和內存,可以完成算法更復雜、消耗內存更大的自適應副瓣對消、二維合成孔徑雷達/逆合成孔徑雷達(SAR/ISAR)成像、多參數波形分集抗干擾以及多域多維度特征無監督學習與檢測識別技術等復雜算法。

同時帶操作系統的硬件平臺可以實現軟硬件解耦,通過通信中間件、計算中間件以及存儲中間件等實現軟件的迭代升級、快速移植和產品的研發。

主站蜘蛛池模板: 国产女人18水真多毛片18精品| 亚洲综合在线网| 中文字幕人成乱码熟女免费| 色爽网免费视频| 波多野结衣无码中文字幕在线观看一区二区 | 99热这里只有精品久久免费| 国产丰满成熟女性性满足视频| 欧美国产日产一区二区| 丁香亚洲综合五月天婷婷| 久久综合成人| 69精品在线观看| 亚洲成人黄色在线| 亚洲欧美一区二区三区麻豆| 国产真实二区一区在线亚洲 | 亚洲女同一区二区| 欧美黄色网站在线看| 欧美第九页| 国产精品一区二区不卡的视频| 中文字幕欧美日韩| 成人精品免费视频| 多人乱p欧美在线观看| 欧美一级大片在线观看| 夜夜拍夜夜爽| 三级欧美在线| 国产伦精品一区二区三区视频优播| 国产福利小视频高清在线观看| 色网站免费在线观看| 中文字幕1区2区| 中文字幕在线免费看| 老司国产精品视频91| 99久久精品国产综合婷婷| 老汉色老汉首页a亚洲| 亚洲,国产,日韩,综合一区| 欧美视频在线播放观看免费福利资源| 亚洲av成人无码网站在线观看| 色欲色欲久久综合网| 波多野吉衣一区二区三区av| 伊人大杳蕉中文无码| 一级看片免费视频| 激情国产精品一区| 亚洲午夜综合网| 色综合久久综合网| 国产精品无码久久久久久| 亚洲a级在线观看| 一级一级特黄女人精品毛片| 一区二区日韩国产精久久| 91亚洲免费视频| 色偷偷av男人的天堂不卡| 一本一道波多野结衣av黑人在线| AV不卡在线永久免费观看| 福利视频99| lhav亚洲精品| 久久伊伊香蕉综合精品| 色天天综合久久久久综合片| 中文字幕亚洲另类天堂| 老司机精品99在线播放| 3344在线观看无码| 色欲国产一区二区日韩欧美| 无码高潮喷水专区久久| 免费无码AV片在线观看中文| 国产精品无码一区二区桃花视频| 国产成人一区免费观看| 狠狠亚洲婷婷综合色香| 亚洲精品无码日韩国产不卡| 国产欧美中文字幕| 97青草最新免费精品视频| 91视频首页| 欧美激情福利| 亚洲综合精品第一页| 精品少妇人妻一区二区| 青青草91视频| 亚洲男人天堂网址| 999国产精品| 曰AV在线无码| 日本在线欧美在线| 久久国产av麻豆| 国产成人精品亚洲77美色| 一边摸一边做爽的视频17国产 | 欧美在线综合视频| 欧洲免费精品视频在线| 午夜国产大片免费观看| 国产精品视频观看裸模|