王靜嬌,楊 陽(yáng),沈 洋,朱佳麗
(中國(guó)船舶集團(tuán)有限公司第八研究院,南京 211153)
信號(hào)處理是相控陣?yán)走_(dá)的重要功能分系統(tǒng),通過(guò)對(duì)多通道回波數(shù)據(jù)流的實(shí)時(shí)濾波和匹配接收處理抑制各種有意/無(wú)意干擾,從而有效提取目標(biāo)信息。傳統(tǒng)的雷達(dá)信號(hào)處理系統(tǒng)通常以FPGA/DSP[1]/PowerPC為核心處理器,并結(jié)合RapidIO等數(shù)據(jù)總線(xiàn),采用功能串行或數(shù)據(jù)流并行的處理架構(gòu)設(shè)計(jì)實(shí)現(xiàn)。隨著雷達(dá)瞬時(shí)工作帶寬、瞬時(shí)波束處理數(shù)量的快速上升以及信號(hào)處理算法復(fù)雜度的日趨增加,先進(jìn)相控陣?yán)走_(dá)系統(tǒng)對(duì)其信號(hào)處理分系統(tǒng)的傳輸能力、處理能力、擴(kuò)展能力和重構(gòu)能力均提出了越來(lái)越高的要求。
本文首先簡(jiǎn)要分析了典型相控陣?yán)走_(dá)的信號(hào)處理架構(gòu),重點(diǎn)針對(duì)傳統(tǒng)架構(gòu)下處理節(jié)點(diǎn)單點(diǎn)故障和國(guó)產(chǎn)化平臺(tái)處理時(shí)間抖動(dòng)引起的信號(hào)處理分系統(tǒng)失效問(wèn)題,借鑒軟件化雷達(dá)思想[1-2]設(shè)計(jì)了基于開(kāi)放式國(guó)產(chǎn)化平臺(tái)的輪詢(xún)式并行信號(hào)處理架構(gòu)。該架構(gòu)以“飛騰”系列國(guó)產(chǎn)化CPU和全互聯(lián)10/40 Gbps高速以太網(wǎng)標(biāo)準(zhǔn)協(xié)議為基礎(chǔ),同時(shí)結(jié)合了多線(xiàn)程多環(huán)形緩存分發(fā)機(jī)制和構(gòu)件化設(shè)計(jì)方法,能夠從傳輸、存儲(chǔ)、處理等角度全面提升雷達(dá)信號(hào)處理系統(tǒng)的可靠性和可擴(kuò)展性,從而有效解決傳統(tǒng)架構(gòu)下的信號(hào)處理分系統(tǒng)失效問(wèn)題。
雷達(dá)信號(hào)處理通?;诟黝?lèi)嵌入式平臺(tái)完成多通道數(shù)據(jù)流的實(shí)時(shí)流程化處理。當(dāng)數(shù)據(jù)流帶寬增加、處理算法復(fù)雜度提升或者處理流程分支增加時(shí),受限于單節(jié)點(diǎn)的處理能力和傳輸能力,通常采用以特定拓?fù)浠ヂ?lián)的多處理節(jié)點(diǎn)平臺(tái)、以功能串行或數(shù)據(jù)流并行的方式完成信號(hào)處理任務(wù)。
功能串行式信號(hào)處理架構(gòu)將信號(hào)處理按功能劃分,每個(gè)處理節(jié)點(diǎn)處理一部分信號(hào)處理功能,一個(gè)處理節(jié)點(diǎn)的輸出是下一個(gè)處理節(jié)點(diǎn)的輸入,如圖1所示。當(dāng)數(shù)據(jù)流帶寬超過(guò)單節(jié)點(diǎn)的I/O能力時(shí),該處理架構(gòu)需要結(jié)合數(shù)據(jù)流并行方法使用。該架構(gòu)的典型技術(shù)特征是每個(gè)處理節(jié)點(diǎn)的功能固定,節(jié)點(diǎn)間數(shù)據(jù)傳輸緊耦合且容易出現(xiàn)單點(diǎn)故障,此外也無(wú)法實(shí)現(xiàn)處理規(guī)模的靈活擴(kuò)展。
圖1 功能串行處理架構(gòu)示意
數(shù)據(jù)流并行式信號(hào)處理架構(gòu)將相控陣?yán)走_(dá)射頻前端的回波數(shù)據(jù)按照波束或距離段進(jìn)行劃分和分發(fā),不同波束/不同距離段數(shù)據(jù)分發(fā)至不同的處理節(jié)點(diǎn)完成處理功能,每個(gè)處理節(jié)點(diǎn)完成相應(yīng)數(shù)據(jù)的所有信號(hào)處理功能,最后匯總至一個(gè)節(jié)點(diǎn)進(jìn)行后續(xù)的數(shù)據(jù)處理,如圖2所示。
圖2 數(shù)據(jù)流并行處理架構(gòu)
如前所述,傳統(tǒng)信號(hào)處理系統(tǒng)通常采用FPGA/DSP/PowerPC等強(qiáng)實(shí)時(shí)的處理芯片實(shí)現(xiàn)數(shù)據(jù)流并行的處理架構(gòu),處理節(jié)點(diǎn)均可部署相同的程序。在信號(hào)處理系統(tǒng)開(kāi)發(fā)階段,可根據(jù)處理節(jié)點(diǎn)的處理能力/傳輸能力估算參與并行處理的節(jié)點(diǎn)需求,從而實(shí)現(xiàn)處理規(guī)模的靈活伸縮。但是對(duì)于數(shù)據(jù)流并行處理架構(gòu)而言,需要每個(gè)節(jié)點(diǎn)能在下一包數(shù)據(jù)來(lái)臨之前按時(shí)完成上一包數(shù)據(jù)的處理,當(dāng)某個(gè)處理節(jié)點(diǎn)出現(xiàn)故障時(shí),該節(jié)點(diǎn)處理的數(shù)據(jù)無(wú)效,存在無(wú)法保證數(shù)據(jù)完整處理的風(fēng)險(xiǎn)。
隨著信號(hào)處理系統(tǒng)軟件化和國(guó)產(chǎn)化程度的提升,越來(lái)越多的相控陣?yán)走_(dá)信號(hào)處理系統(tǒng)基于ARM架構(gòu)國(guó)產(chǎn)“飛騰”CPU和“銀河麒麟”Linux操作系統(tǒng)開(kāi)發(fā)實(shí)現(xiàn)?;谕ㄓ肅PU和實(shí)時(shí)操作系統(tǒng)實(shí)現(xiàn)雷達(dá)信號(hào)處理功能有多個(gè)方面的顯著優(yōu)勢(shì):便于實(shí)現(xiàn)復(fù)雜靈活的算法流程、可顯著縮短開(kāi)發(fā)調(diào)試周期、處理軟件具備良好的可重用性和可移植性等。但與此同時(shí),由于各處理節(jié)點(diǎn)的處理群延遲不可避免地存在差異,將可能導(dǎo)致數(shù)據(jù)匯總端多節(jié)點(diǎn)同步時(shí)擁塞,因此需針對(duì)性地開(kāi)展彈性數(shù)據(jù)分發(fā)和處理模式設(shè)計(jì),即本文重點(diǎn)研究的輪詢(xún)式并行信號(hào)處理架構(gòu)。
如圖3所示,數(shù)據(jù)分發(fā)節(jié)點(diǎn)根據(jù)信號(hào)處理節(jié)點(diǎn)忙閑狀態(tài),將接收前端下發(fā)的一個(gè)駐留完整幀數(shù)據(jù)按需分發(fā)至可用節(jié)點(diǎn),處理節(jié)點(diǎn)收到數(shù)據(jù)并完成一幀數(shù)據(jù)的信號(hào)處理后分別對(duì)外發(fā)送視頻/點(diǎn)跡數(shù)據(jù),并將空閑狀態(tài)反饋給數(shù)據(jù)分發(fā)節(jié)點(diǎn)。
圖3 輪詢(xún)并行處理架構(gòu)示意
上述輪詢(xún)并行機(jī)制徹底解決了傳統(tǒng)多處理節(jié)點(diǎn)串行體系的單點(diǎn)故障導(dǎo)致整個(gè)任務(wù)失敗的問(wèn)題,并且實(shí)現(xiàn)了處理節(jié)點(diǎn)間功能、數(shù)據(jù)解耦,當(dāng)某個(gè)模塊故障時(shí),通過(guò)合理的輪詢(xún)判斷邏輯可實(shí)現(xiàn)冗余節(jié)點(diǎn)自動(dòng)替代故障節(jié)點(diǎn)功能,從而有效提高了系統(tǒng)的可靠性。
本文設(shè)計(jì)的輪詢(xún)并行信號(hào)處理架構(gòu)基于開(kāi)放式信息處理平臺(tái)搭建,具體硬件架構(gòu)如圖4所示。機(jī)箱采用6U OpenVPX體系架構(gòu),通過(guò)規(guī)范設(shè)計(jì)處理平臺(tái)和處理模塊的功能劃分、供電、散熱、電氣接口、機(jī)械結(jié)構(gòu)、系統(tǒng)管理、背板定義、互聯(lián)協(xié)議等,可實(shí)現(xiàn)模塊的互插互換。
圖4 高速以太網(wǎng)架構(gòu)開(kāi)放式全互聯(lián)平臺(tái)
處理節(jié)點(diǎn)采用國(guó)產(chǎn)“飛騰”多核處理器,搭載“銀河麒麟”實(shí)時(shí)內(nèi)核操作系統(tǒng);數(shù)據(jù)傳輸采用40 Gbps高速萬(wàn)兆網(wǎng)數(shù)據(jù)流交換、1 Gbps以太網(wǎng)管控流交換的兩層數(shù)據(jù)全交換模式。高速的網(wǎng)絡(luò)數(shù)據(jù)交換和靈活的拓?fù)浣Y(jié)構(gòu)能夠滿(mǎn)足各類(lèi)信號(hào)處理任務(wù)實(shí)時(shí)、高效的數(shù)據(jù)傳輸及交換需求,并支持處理能力的柔性擴(kuò)展。
本文研究的輪詢(xún)并行處理架構(gòu)以上節(jié)中描述的開(kāi)放式全互聯(lián)平臺(tái)和DDS通信中間件為基礎(chǔ)設(shè)計(jì)實(shí)現(xiàn)。將高速以太網(wǎng)互聯(lián)總線(xiàn)技術(shù)與DDS實(shí)時(shí)數(shù)據(jù)訂閱分發(fā)技術(shù)相結(jié)合并進(jìn)行合理優(yōu)化,可便捷地形成快速訪問(wèn)通道,從而進(jìn)一步提高數(shù)據(jù)傳輸效率。基于DDS的輪詢(xún)式數(shù)據(jù)并行分發(fā)機(jī)制示意如圖5所示,預(yù)處理分系統(tǒng)下行數(shù)據(jù)流經(jīng)接口模塊預(yù)處理后轉(zhuǎn)換成PCIe幀格式送入數(shù)據(jù)分發(fā)節(jié)點(diǎn),數(shù)據(jù)分發(fā)節(jié)點(diǎn)通過(guò)輪詢(xún)機(jī)制獲取計(jì)算資源的忙閑狀態(tài),根據(jù)分發(fā)優(yōu)先級(jí)[3]將數(shù)據(jù)分發(fā)至空閑節(jié)點(diǎn)完成信號(hào)處理任務(wù)。
圖5 基于DDS的輪詢(xún)式數(shù)據(jù)并行分發(fā)機(jī)制
為充分發(fā)揮“飛騰”系列CPU的多核處理資源及I/O資源優(yōu)勢(shì),本文進(jìn)一步設(shè)計(jì)多線(xiàn)程數(shù)據(jù)分發(fā)和多環(huán)形緩存[5]機(jī)制來(lái)提高數(shù)據(jù)可靠分發(fā)效率。如圖6所示,在實(shí)際工程應(yīng)用中可根據(jù)數(shù)據(jù)帶寬以及各節(jié)點(diǎn)數(shù)據(jù)傳輸和處理能力約束合理規(guī)劃分發(fā)線(xiàn)程和環(huán)形緩存數(shù)。數(shù)據(jù)分發(fā)節(jié)點(diǎn)的功能應(yīng)用基于構(gòu)件化設(shè)計(jì),由3個(gè)功能構(gòu)件組裝,分別為管理控制構(gòu)件、數(shù)據(jù)緩存構(gòu)件以及數(shù)據(jù)分發(fā)構(gòu)件。
圖6 多線(xiàn)程分發(fā)機(jī)制
(1)管理控制構(gòu)件是分發(fā)節(jié)點(diǎn)的核心,負(fù)責(zé)統(tǒng)計(jì)處理節(jié)點(diǎn)信息,維護(hù)計(jì)算資源實(shí)時(shí)狀態(tài)信息,并根據(jù)空閑節(jié)點(diǎn)先后順序以及優(yōu)先級(jí)策略配置產(chǎn)生可用資源列表,配置為常用節(jié)點(diǎn)的優(yōu)先級(jí)高于備份節(jié)點(diǎn),常用節(jié)點(diǎn)間根據(jù)空閑的先后順序排序,從而整體調(diào)控系統(tǒng)的運(yùn)行;
(2)數(shù)據(jù)緩存構(gòu)件負(fù)責(zé)接收數(shù)據(jù)幀,并依次寫(xiě)入環(huán)形緩存,通知分發(fā)線(xiàn)程;
(3)數(shù)據(jù)分發(fā)構(gòu)件負(fù)責(zé)根據(jù)管理控制構(gòu)件產(chǎn)生的可用資源列表信息,將數(shù)據(jù)發(fā)送至空閑節(jié)點(diǎn)。
在上述輪詢(xún)式數(shù)據(jù)分發(fā)和處理框架之下,單個(gè)信號(hào)處理節(jié)點(diǎn)的功能軟件設(shè)計(jì)采用構(gòu)件化[4]思想合理劃分功能模塊,通過(guò)積木化組裝實(shí)現(xiàn)預(yù)設(shè)的信號(hào)處理功能流程。簡(jiǎn)化的信號(hào)處理流程示意如圖7所示,在本文輪詢(xún)式并行信號(hào)處理架構(gòu)中主要實(shí)現(xiàn)數(shù)據(jù)接收和狀態(tài)反饋功能,其余為常規(guī)的信號(hào)處理功能模塊。
圖7 典型單節(jié)點(diǎn)信號(hào)處理示意
輪詢(xún)并行架構(gòu)以DDS通信中間件作為通信軟總線(xiàn),具體輪詢(xún)并行處理流程如下:
(1)系統(tǒng)上電后,數(shù)據(jù)分發(fā)節(jié)點(diǎn)的管理控制構(gòu)件訂閱“空閑狀態(tài)”主題,所有計(jì)算資源池中的節(jié)點(diǎn)分別發(fā)布該主題,注冊(cè)節(jié)點(diǎn)空閑狀態(tài);數(shù)據(jù)分發(fā)節(jié)點(diǎn)收到注冊(cè)狀態(tài)報(bào)文后根據(jù)通信標(biāo)識(shí)進(jìn)行登記,并根據(jù)優(yōu)先級(jí)策略設(shè)置將節(jié)點(diǎn)排入可用資源列表。
(2)前端多路回波數(shù)據(jù)經(jīng)過(guò)多路光纖同步,完成回波數(shù)據(jù)預(yù)處理,將數(shù)據(jù)轉(zhuǎn)為PCIe幀格式送入數(shù)據(jù)分發(fā)節(jié)點(diǎn)數(shù)據(jù)緩存構(gòu)件;由于最大一次發(fā)送4 MB數(shù)據(jù),數(shù)據(jù)緩存構(gòu)件需將數(shù)據(jù)拼接成完整的一個(gè)波位駐留的數(shù)據(jù)幀,并依次存放到多個(gè)環(huán)形緩存,同時(shí)通知數(shù)據(jù)分發(fā)節(jié)點(diǎn)數(shù)據(jù)分發(fā)構(gòu)件。
(3)數(shù)據(jù)分發(fā)節(jié)點(diǎn)數(shù)據(jù)分發(fā)構(gòu)件查詢(xún)當(dāng)前可用資源列表,獲取最高接收優(yōu)先級(jí)節(jié)點(diǎn)的通信標(biāo)識(shí),讀取環(huán)形緩存中的數(shù)據(jù),通過(guò)40 Gbps高速以太網(wǎng)鏈路發(fā)布,并更新可用資源列表。
(4)高優(yōu)先級(jí)的信號(hào)處理節(jié)點(diǎn)接收到波位駐留數(shù)據(jù),采用多線(xiàn)程數(shù)據(jù)并行完成信號(hào)處理后,產(chǎn)生視頻和點(diǎn)跡數(shù)據(jù)發(fā)布,同時(shí)發(fā)布節(jié)點(diǎn)的“空閑狀態(tài)”,向數(shù)據(jù)分發(fā)節(jié)點(diǎn)管理控制構(gòu)件注冊(cè)空閑狀態(tài),申請(qǐng)接收數(shù)據(jù)。
(5)低優(yōu)先級(jí)的信號(hào)處理節(jié)點(diǎn)等待數(shù)據(jù)流,觸發(fā)信號(hào)處理。
(6)數(shù)據(jù)分發(fā)節(jié)點(diǎn)的管理控制構(gòu)件接收到新的“空閑狀態(tài)”信息,獲取該節(jié)點(diǎn)的通信標(biāo)識(shí),并根據(jù)其優(yōu)先級(jí)更新可用資源列表;
(7)重復(fù)(2)~(6)步。
開(kāi)放式國(guó)產(chǎn)化處理平臺(tái)采用一體化設(shè)計(jì),計(jì)算資源可廣泛用于實(shí)現(xiàn)后端信息處理功能;輪詢(xún)式并行信號(hào)處理架構(gòu)每個(gè)處理節(jié)點(diǎn)獨(dú)自完成幀數(shù)據(jù)包的處理,處理節(jié)點(diǎn)間功能完全解耦;基于開(kāi)放式國(guó)產(chǎn)化處理平臺(tái)的輪詢(xún)式并行信號(hào)處理架構(gòu),將兩者相結(jié)合,可充分利用資源,通過(guò)提高系統(tǒng)的冗余度設(shè)計(jì),實(shí)現(xiàn)系統(tǒng)的功能、故障重構(gòu)和系統(tǒng)在線(xiàn)處理能力的負(fù)載均衡。
應(yīng)用時(shí)可根據(jù)信號(hào)處理需求配置若干常用信號(hào)處理節(jié)點(diǎn),設(shè)置節(jié)點(diǎn)優(yōu)先級(jí)屬性為0(高優(yōu)先級(jí)),并預(yù)留節(jié)點(diǎn)做冗余設(shè)備。冗余配置策略可根據(jù)任務(wù)重要性設(shè)置熱備份或冷備份策略,熱備份策略即上電運(yùn)行信號(hào)處理應(yīng)用,冷備份策略即上電不運(yùn)行任何處理程序。
熱備份節(jié)點(diǎn)上電后始終在可用資源列表,但節(jié)點(diǎn)優(yōu)先級(jí)屬性設(shè)置為1(低優(yōu)先級(jí)),正常狀態(tài)下不作為信號(hào)處理節(jié)點(diǎn)調(diào)度,當(dāng)某個(gè)節(jié)點(diǎn)處理存在較長(zhǎng)抖動(dòng),或常用節(jié)點(diǎn)出現(xiàn)故障時(shí),熱備份節(jié)點(diǎn)隨時(shí)被調(diào)度為當(dāng)前最高優(yōu)先級(jí)節(jié)點(diǎn),分發(fā)數(shù)據(jù)進(jìn)行處理。
當(dāng)數(shù)據(jù)量增加,系統(tǒng)檢測(cè)到處理節(jié)點(diǎn)CPU負(fù)載超過(guò)閾值,或常用節(jié)點(diǎn)出現(xiàn)故障時(shí),通知冗余冷備份節(jié)點(diǎn),啟動(dòng)信號(hào)處理程序,加入可用資源列表,節(jié)點(diǎn)優(yōu)先級(jí)屬性設(shè)置為1,可作為可用資源分配處理;當(dāng)其他非信號(hào)處理應(yīng)用出現(xiàn)故障時(shí),冷備份節(jié)點(diǎn)也可用于其他功能的故障備份。
本文基于開(kāi)放式國(guó)產(chǎn)化平臺(tái),采用以太網(wǎng)全交換架構(gòu)配合DDS發(fā)布訂閱機(jī)制設(shè)計(jì)實(shí)現(xiàn)了輪詢(xún)式并行信號(hào)處理架構(gòu),單節(jié)點(diǎn)數(shù)據(jù)分發(fā)能力超過(guò)20 Gbps,可支持20 Gbps回波數(shù)據(jù)流的實(shí)時(shí)信號(hào)處理,當(dāng)超過(guò)20 Gbps時(shí),可通過(guò)增加數(shù)據(jù)分發(fā)節(jié)點(diǎn)靈活擴(kuò)展。
通過(guò)分析可見(jiàn),基于開(kāi)放式國(guó)產(chǎn)化平臺(tái)的輪詢(xún)式并行信號(hào)處理架構(gòu)可有效解決處理節(jié)點(diǎn)單點(diǎn)故障導(dǎo)致的信號(hào)處理系統(tǒng)失效問(wèn)題,可通過(guò)動(dòng)態(tài)調(diào)整實(shí)現(xiàn)信號(hào)處理系統(tǒng)在線(xiàn)處理能力的負(fù)載均衡,并可根據(jù)功能需求動(dòng)態(tài)靈活地?cái)U(kuò)展處理資源,可顯著提升相控陣?yán)走_(dá)信號(hào)處理系統(tǒng)的可靠性和研制效率。