何國強,陳 勇
(南京電子技術(shù)研究所, 南京 210039)
?
·總體工程·
華睿DSP軟件體系架構(gòu)研究
何國強,陳勇
(南京電子技術(shù)研究所,南京 210039)
結(jié)合華睿DSP現(xiàn)狀及其發(fā)展路線,分析了現(xiàn)有軟件體系架構(gòu)中的不足,結(jié)合軟件的可擴展、可移植、可跟蹤等應(yīng)用需求,設(shè)計了層次化的軟件體系架構(gòu)。著重介紹了可視化多核并行開發(fā)環(huán)境、運行管理層、中間件層、支撐軟件層的技術(shù)方案。軟件架構(gòu)各層次之間相對獨立,耦合度低,并采用符合國際標(biāo)準(zhǔn)規(guī)范的開放接口,保證了軟件架構(gòu)的可擴展、可移植能力,建立了完善的DSP軟件體系,為華睿DSP的推廣應(yīng)用奠定了基礎(chǔ)。
軟件體系架構(gòu);華睿DSP;多核;運行管理;中間件
信息化、數(shù)字化的快速發(fā)展和廣泛應(yīng)用給全球政治、經(jīng)濟(jì)、軍事等各個領(lǐng)域帶來了深刻的變革,世界主要國家紛紛以信息化為核心加速國防和軍隊建設(shè),積極搶占高新技術(shù)制高點,積極謀求“技術(shù)代差”和信息優(yōu)勢,并通過依托本國信息技術(shù)產(chǎn)業(yè),爭奪信息技術(shù)優(yōu)勢,推進(jìn)信息化建設(shè)自主發(fā)展[1]。
雷達(dá)裝備及系統(tǒng)作為現(xiàn)代信息戰(zhàn)、電子對抗中C4IRS系統(tǒng)和武器控制系統(tǒng)中的重要環(huán)節(jié),在承受反輻射導(dǎo)彈、有源干擾、低空突襲等因素威脅的同時,必須完成對空警戒、保障引導(dǎo)、航行管制探測任務(wù),實現(xiàn)對隱身目標(biāo)、小目標(biāo)、低空目標(biāo)和高速高機動目標(biāo),如:飛機、導(dǎo)彈、艦船的探測、分類與識別功能,是適應(yīng)未來信息化戰(zhàn)爭需要、奪取信息優(yōu)勢的核心綜合信息感知系統(tǒng)。
華睿DSP是我國自主研發(fā)的面向雷達(dá)應(yīng)用的高性能DSP。隨著各國信息化技術(shù)的快速發(fā)展,戰(zhàn)場態(tài)勢復(fù)雜多變,DSP處理器將不斷更新?lián)Q代,信號處理系統(tǒng)也日趨復(fù)雜,如何針對華睿DSP構(gòu)建一套高效便捷、可擴展、可移植的軟件體系,是實現(xiàn)我國雷達(dá)裝備核心器件自主可控的必經(jīng)之路。本文將針對華睿DSP的現(xiàn)狀及發(fā)展路線,結(jié)合現(xiàn)有DSP軟件體系架構(gòu)中存在的不足,對華睿DSP的軟件體系架構(gòu)進(jìn)行研究。
華睿1號DSP為自主研發(fā)、面向雷達(dá)應(yīng)用的高性能四核DSP,于2012年3月完成研制。主要用于高實時、高吞吐率、高密度計算的實時信號處理系統(tǒng),解決了整機裝備研制過程中長期制約我國的核心芯片應(yīng)用瓶頸。目前,華睿DSP系列正在沿著多核異構(gòu)、高吞吐率的方向發(fā)展,圖1是華睿2號架構(gòu)框圖。它包括四個DSP核和四個可重構(gòu)處理(RASP)核,主頻為1 GHz,并提供大容量DDR、片上存儲等高速存儲,通過RapidIO、PCIE、GMAC等高速IO設(shè)備同外部設(shè)備及系統(tǒng)通信。
圖1 華睿2號DSP架構(gòu)框圖
目前,針對DSP的軟件體系架構(gòu)主要以支持功能開發(fā)為主,較少考慮平臺移植、系統(tǒng)可擴展性、系統(tǒng)可跟蹤性等系統(tǒng)級功能,其軟件架構(gòu)如圖2所示。
圖2 華睿1號DSP軟件體系架構(gòu)
從以上架構(gòu)可以看出,目前的軟件架構(gòu)主要存在以下不足:
(1) 軟件架構(gòu)的層次劃分不夠細(xì)化,應(yīng)用軟件通過操作系統(tǒng)甚至BSP直接與硬件平臺交換,其耦合緊密,應(yīng)用的可移植性較弱;
(2) 系統(tǒng)應(yīng)用每個功能模塊采用的是數(shù)據(jù)流定向、靜態(tài)資源預(yù)部署的實現(xiàn)模式,系統(tǒng)應(yīng)用各功能之間耦合性強,可擴展性差;
(3) 系統(tǒng)缺乏有效的故障管理和故障監(jiān)測模塊,無法實現(xiàn)故障重構(gòu)及任務(wù)遷移,同時缺乏故障日志記錄,不便于后續(xù)的故障分析,系統(tǒng)魯棒性和故障可跟蹤性較弱。
(4) DSP為多核處理器,但現(xiàn)有的系統(tǒng)仍使用傳統(tǒng)的面向單核處理器的開發(fā)方式進(jìn)行軟件設(shè)計,缺乏如文獻(xiàn)[2-3]所示的支持多核處理器并行計算的有效工具,難以充分發(fā)揮多核處理器的性能。
因此,隨著華睿DSP的升級換代和軍事需求的不斷增多,有必要設(shè)計一套可移植性強、可擴展性好、具備靈活部署能力和適應(yīng)多核軟件開發(fā)的華睿DSP軟件體系架構(gòu),為實現(xiàn)華睿DSP的廣泛應(yīng)用奠定基礎(chǔ)。
基于華睿DSP的軟件體系架構(gòu)如圖3所示(構(gòu)件層和應(yīng)用層主要以雷達(dá)綜合信息處理系統(tǒng)為例),包括應(yīng)用層、構(gòu)件層、運行管理層、中間件層、支撐軟件層、物理資源層以及用于軟件開發(fā)的可視化多核并行開發(fā)環(huán)境。各層次之間相對獨立,采用松散偶合設(shè)計,下層為上層提供調(diào)用接口,上層是下一層的標(biāo)準(zhǔn)封裝。
(1) 支撐軟件層負(fù)責(zé)與物理資源層的協(xié)同工作,屏蔽不同物理運行平臺,為上層軟件提供統(tǒng)一的接口。
(2) 中間件層根據(jù)國際標(biāo)準(zhǔn)規(guī)范的接口,對支撐軟件調(diào)用接口進(jìn)行標(biāo)準(zhǔn)化封裝,屏蔽了不同支撐軟件接口差異,為構(gòu)件層和運行管理層提供標(biāo)準(zhǔn)化接口,便于上層應(yīng)用的開發(fā)與移植。
(3) 運行管理層為系統(tǒng)提供統(tǒng)一的資源管理能力,使得系統(tǒng)能夠跟蹤管理系統(tǒng)的運行狀態(tài),合理地分配系統(tǒng)各類資源,監(jiān)測并恢復(fù)系統(tǒng)故障,保障系統(tǒng)高效穩(wěn)定的運行。
(4) 構(gòu)件層包括算法構(gòu)件、管理構(gòu)件、通信構(gòu)件和接口構(gòu)件,完成對各個功能算法、管理模塊、系統(tǒng)通信接口、各功能模塊間信息交換接口的封裝,為應(yīng)用層提供便利的接口以實現(xiàn)相關(guān)功能。
(5) 應(yīng)用層則主要關(guān)注于具體功能模塊的組裝,完成具體的應(yīng)用任務(wù)。例如,在實現(xiàn)雷達(dá)綜合處理中實現(xiàn)波束形成、信號處理、數(shù)據(jù)處理和綜合顯示等具體功能。
(6) 可視化多核并行開發(fā)環(huán)境為應(yīng)用層軟件開發(fā)提供圖形化開發(fā)環(huán)境和代碼自動生成手段,支持對多處理器硬件的功能映射和優(yōu)化流程的能力,支持任務(wù)并行和數(shù)據(jù)并行,降低多核處理器系統(tǒng)的開發(fā)難度,提高硬件資源的利用率。
應(yīng)用層和構(gòu)件層需要根據(jù)具體應(yīng)用對標(biāo)準(zhǔn)接口、功能模塊進(jìn)行定制化設(shè)計,滿足系統(tǒng)開發(fā)人員的需求,圖3顯示的是用于雷達(dá)綜合信號處理的構(gòu)件及應(yīng)用的示意圖。支撐軟件層、中間件層、運行管理層、可視化多核并行開發(fā)環(huán)境(虛線框內(nèi)部分)為系統(tǒng)的基礎(chǔ)軟件,它通過對物理資源層的封裝,為構(gòu)件層、應(yīng)用層軟件的開發(fā)和運行提供支撐,具備較強的通用性。
圖3 軟件體系架構(gòu)
3.1可視化多核并行開發(fā)環(huán)境
可視化多核并行開發(fā)環(huán)境主要為華睿DSP系統(tǒng)提供方便快捷的開發(fā)手段,它通過圖形化的開發(fā)方式,將多核環(huán)境并行程序開發(fā)的復(fù)雜過程轉(zhuǎn)化為圖形界面的拖放和配置操作,而并行計算及優(yōu)化過程均由該環(huán)境內(nèi)部完成,從而使得應(yīng)用程序員能夠快速開發(fā)出適應(yīng)于特定平臺的系統(tǒng)應(yīng)用,發(fā)揮多核系統(tǒng)的性能。
華睿DSP的可視化多核開發(fā)環(huán)境基本架構(gòu)如圖4所示。
圖4 可視化多核并行開發(fā)環(huán)境
(1) 應(yīng)用軟件開發(fā)人員根據(jù)應(yīng)用需求,利用可視化代碼編輯器,通過選擇功能模塊并用線連接的方式,構(gòu)建系統(tǒng)應(yīng)用框圖,生成可視化框圖語言的程序。
(2) 借助于轉(zhuǎn)換器,將可視化框圖語言程序轉(zhuǎn)換為自動并行化編譯器可識別的并行化語言程序。
(3) 根據(jù)華睿DSP平臺對應(yīng)的并行化設(shè)置工具,對程序中的任務(wù)進(jìn)行分割映射,分配到華睿DSP平臺中的具體處理核中。
(4) 采用自動并行化編譯器對分割映射后的程序進(jìn)行編譯,生成并行優(yōu)化后的C語言代碼。其中,該C語言代碼中增加了并行劃分相關(guān)內(nèi)容,可用實現(xiàn)分析工具進(jìn)行分析,為開發(fā)者提供任務(wù)執(zhí)行序列、內(nèi)存規(guī)劃以及系統(tǒng)實現(xiàn)的拓?fù)涞刃畔?,幫助開發(fā)分析定位實現(xiàn)中存在的問題。
(5)利用華睿DSP工具鏈及對應(yīng)的高性能函數(shù)庫,生成可執(zhí)行文件,加載到目標(biāo)操作系統(tǒng)上執(zhí)行。
(6)當(dāng)需要進(jìn)行狀態(tài)監(jiān)測、性能分析、調(diào)試分析時,則由上位機發(fā)送相應(yīng)的命令給監(jiān)視代理,由監(jiān)視代理提取目標(biāo)機對應(yīng)信息上傳。
3.2運行管理層
運行管理層的功能是為系統(tǒng)提供統(tǒng)一的軟件運行平臺,屏蔽底層硬件平臺的復(fù)雜性、異構(gòu)性;支持多個任務(wù)對底層軟、硬件資源的復(fù)用,有效利用系統(tǒng)各類資源;便于系統(tǒng)的功能重構(gòu)和故障恢復(fù)[4]。
運行管理層包括系統(tǒng)部署、任務(wù)管理、故障管理和實時監(jiān)控,如圖5所示。管理方式采取集中式(如果資源容許,管理主控節(jié)點采取雙備份方式)。管理主節(jié)點負(fù)責(zé)系統(tǒng)的管理。系統(tǒng)中的其他模塊作為從節(jié)點,在啟動的過程中會加載“狀態(tài)變更監(jiān)聽線程”和“節(jié)點狀態(tài)發(fā)送線程”。
圖5 運行管理層架構(gòu)
(1) 當(dāng)主節(jié)點收到系統(tǒng)部署任務(wù)時,該節(jié)點查找其“節(jié)點預(yù)部署策略”表,找到給定的最佳部署策略,并將該部署策略通知給任務(wù)管理線程。
(2) 當(dāng)任務(wù)管理線程獲得節(jié)點部署策略后,通過實時監(jiān)控線程,檢測待部署的節(jié)點狀態(tài)是否正常。如果該部署策略存在故障節(jié)點,則通知系統(tǒng)部署線程查找次優(yōu)的部署策略;如果所有待部署節(jié)點均正常,任務(wù)管理線程則根據(jù)部署策略,將對應(yīng)的信息(包括虛擬節(jié)點號及前后物理節(jié)點號)通知給相應(yīng)節(jié)點的狀態(tài)變更監(jiān)聽線程,指導(dǎo)其停止和啟動對應(yīng)的任務(wù)。
(3) 系統(tǒng)的從節(jié)點固定時間間隔會向主節(jié)點的實時監(jiān)控線程發(fā)送當(dāng)前節(jié)點系統(tǒng)狀態(tài)信息,實時監(jiān)控線程獲得系統(tǒng)狀態(tài)信息后一方面將其保存在數(shù)據(jù)庫管理系統(tǒng)中日志表中,另一方面將其傳遞給故障管理線程和任務(wù)管理線程,以便于故障檢測和任務(wù)重構(gòu)。
(4) 故障檢測線程則結(jié)合故障檢測庫和故障修復(fù)庫,對出現(xiàn)故障的節(jié)點進(jìn)行自動修復(fù)(目前主要采用任務(wù)遷移的方式,利用備份模塊替換故障模塊工作),將錯誤保存在日志記錄中,并上報給上位機,便于調(diào)試人員從日志數(shù)據(jù)庫中提取對應(yīng)信息分析故障,消除隱患。
3.2.1系統(tǒng)部署
系統(tǒng)部署借助于“節(jié)點預(yù)部署策略”表,實現(xiàn)故障透明(存在故障的情況下,任務(wù)自動遷移到其他正常節(jié)點執(zhí)行)、負(fù)載均衡(系統(tǒng)可在線配置,重新安排節(jié)點任務(wù),將負(fù)載較重節(jié)點的部分任務(wù)遷移到負(fù)載較輕的節(jié)點)和擴展靈活(允許系統(tǒng)和應(yīng)用規(guī)模伸縮)。為此,在系統(tǒng)部署時采用虛擬節(jié)點和物理節(jié)點相映射的方式,隔離應(yīng)用數(shù)據(jù)流邏輯與執(zhí)行程序的處理模塊,從而實現(xiàn)系統(tǒng)的靈活部署。圖6是系統(tǒng)部署的一個示意圖,其中,陰影標(biāo)記的處理節(jié)點表示故障節(jié)點。
圖6 系統(tǒng)部署示意圖
3.2.2實時監(jiān)控
實時監(jiān)控對系統(tǒng)的計算資源、存儲資源的健康狀態(tài)、利用率,通信資源的健康狀態(tài)和吞吐率進(jìn)行統(tǒng)計、監(jiān)測和上報,一方面便于系統(tǒng)使用者掌握整個系統(tǒng)各個模塊的運行狀態(tài),另一方面便于故障管理模塊發(fā)現(xiàn)故障并修復(fù)故障。
在實時監(jiān)控中,搜集哪些信息來表征系統(tǒng)健康狀態(tài)和協(xié)助定位系統(tǒng)故障,是該系統(tǒng)的關(guān)鍵。為便于管理與監(jiān)控,可以采用分層架構(gòu),根據(jù)系統(tǒng)的層次關(guān)系(如:模塊級、平臺級、系統(tǒng)級等),對需要的信息進(jìn)行歸類整理,為系統(tǒng)管理人員提供合理的監(jiān)測狀態(tài)。
3.2.3故障管理
故障管理包括故障檢測和故障修復(fù)兩部分。故障管理使用故障檢測策略庫以及故障恢復(fù)策略庫完成故障監(jiān)測和故障修復(fù)功能。其中,故障判別策略庫用于確定當(dāng)前系統(tǒng)狀態(tài)信息是否有故障,故障恢復(fù)策略用于指示采取何種方式對發(fā)現(xiàn)的故障進(jìn)行修復(fù)。
當(dāng)該模塊根據(jù)實時監(jiān)控信息發(fā)現(xiàn)故障時,則從故障檢測策略庫中查找故障類型。如果是已知故障且在故障修復(fù)策略庫中有對應(yīng)的修復(fù)策略,則自動采取對應(yīng)的措施完成故障修復(fù);否則傳遞給上位機,由上位機處理。故障管理的基本處理流程如圖7所示。
圖7 故障重構(gòu)處理流程
3.2.4任務(wù)管理
任務(wù)管理一方面要便于系統(tǒng)功能模塊能夠動態(tài)部署到系統(tǒng)中或者從現(xiàn)有系統(tǒng)中刪除不需要的功能模塊;另一方面要在節(jié)點出現(xiàn)故障時,能夠?qū)⒃摴?jié)點中的任務(wù)遷移到冗余節(jié)點繼續(xù)執(zhí)行。任務(wù)管理主要包括任務(wù)的執(zhí)行狀態(tài)監(jiān)測、任務(wù)的動態(tài)加載/卸載、任務(wù)遷移等技術(shù)。
3.3中間件
中間件層根據(jù)系統(tǒng)應(yīng)用在計算、通信和管理上進(jìn)行功能劃分和擴展,通過對國際上的成熟標(biāo)準(zhǔn)進(jìn)行抽取、精煉,實現(xiàn)在開放式軟件架構(gòu)下進(jìn)行標(biāo)準(zhǔn)化設(shè)計,以滿足系統(tǒng)應(yīng)用的可移植性需求。中間件主要包括計算中間件、通信中間件和管理中間件三大部分。
3.3.1計算中間件
計算中間件主要根據(jù)應(yīng)用需求,使用底層提供的高性能并行計算函數(shù)庫,對各類計算進(jìn)行標(biāo)準(zhǔn)化封裝,使得基于其上開發(fā)的軟件能夠無修改的移植符合對應(yīng)標(biāo)準(zhǔn)接口的平臺,實現(xiàn)系統(tǒng)的高效計算及跨平臺移植,如圖8所示。目前,國際標(biāo)準(zhǔn)化組織已經(jīng)針對不用的應(yīng)用領(lǐng)域和平臺,提出了一批標(biāo)準(zhǔn)的計算中間件,包括用于用于圖像、信號、向量等處理的VSIPL[5-6],用于多核同構(gòu)平臺處理的OpenMP[7-8],多核異構(gòu)平臺處理的OpenCL[9]等。
圖8 計算中間件層次結(jié)構(gòu)圖
3.3.2通信中間件
通信中間件主要用于確定系統(tǒng)內(nèi)部、系統(tǒng)之間通信的基本模式和標(biāo)準(zhǔn)接口,在滿足系統(tǒng)內(nèi)部、系統(tǒng)之間高效穩(wěn)定通信的同時,能夠?qū)崿F(xiàn)跨平臺移植以及跨平臺通信,如圖9所示。目前,國際標(biāo)準(zhǔn)組織制定的通信中間件主要有DDS[10-12]、CORBA[13-14]、MPI[15-18]等方式。
圖9 通信中間件層次結(jié)構(gòu)圖
3.3.3管理中間件
管理中間件標(biāo)準(zhǔn)主要提供對系統(tǒng)的實時監(jiān)測、資源管理、任務(wù)調(diào)度、故障恢復(fù)和重構(gòu)等管理功能的編程接口;由于系統(tǒng)的管理需要系統(tǒng)各部分相關(guān)狀態(tài)進(jìn)行分析,其功能的實現(xiàn)常常建立在系統(tǒng)通信接口之上。因此,目前的通信中間件(如:DDS)已經(jīng)具備管理中間件的功能,能夠在其上進(jìn)行管理功能的開發(fā)。
3.4支撐軟件層
支撐軟件層是為應(yīng)用提供必須的基礎(chǔ)運行支持,主要包括實時操作系統(tǒng)、驅(qū)動/BSP、軟件工具鏈。
(1) 實時操作系統(tǒng)負(fù)責(zé)管理系統(tǒng)中的任務(wù)、中斷、內(nèi)存等資源,為系統(tǒng)運行提供基礎(chǔ)。由于華睿DSP主要用于實時性較高、運算量大、吞吐率高的實時處理系統(tǒng)。因此,操作系統(tǒng)的實時響應(yīng)能力十分重要。目前國內(nèi)外已經(jīng)開發(fā)出實時性較好的面向DSP的操作系統(tǒng),包括國外Windriver公司的vxWorks、國內(nèi)的ReWorks等。
(2) 驅(qū)動/BSP主要實現(xiàn)對DSP中硬件資源的驅(qū)動與控制,不同的華睿DSP需要具體適配相應(yīng)的驅(qū)動/BSP程序,使得系統(tǒng)具備基本的運行能力。
(3)軟件工具鏈主要包括編譯器和調(diào)試器,為高級語言編寫的程序提供基礎(chǔ)的開發(fā)環(huán)境,也為可視化集成開發(fā)環(huán)境提供基礎(chǔ)工具鏈。
基于上述軟件體系架構(gòu),華睿2號DSP軟件平臺方案如下:
(1) 支撐軟件層:操作系統(tǒng)采用國產(chǎn)的實時操作系統(tǒng)ReWorks,并在此基礎(chǔ)上針對華睿2號DSP研發(fā)驅(qū)動/BSP。軟件工具鏈將以GNU工具鏈為基礎(chǔ),通過指令集擴展實現(xiàn)對華睿2號DSP的支持,通過自動向量化技術(shù)發(fā)揮華睿2號DSP性能。
(2) 中間件層主要采用國際標(biāo)準(zhǔn)開放接口:計算中間件采用VSIPL,通信中間件和管理中間件采用DDS。
(3)運行管理層以管理中間件為基礎(chǔ),采用面向服務(wù)架構(gòu)(SOA)的思想,通過注冊故障檢測服務(wù)、系統(tǒng)部署服務(wù)、系統(tǒng)監(jiān)控服務(wù)等方式完成運行管理層的構(gòu)建。
(4)可視化多核開發(fā)環(huán)境根據(jù)應(yīng)用需求以及華睿2號平臺的硬件特征,設(shè)計可視化、模塊化、層次化的軟件開發(fā)語言,采用模型驅(qū)動技術(shù),實現(xiàn)應(yīng)用程序在華睿2號多核平臺的并行運行。
華睿2號平臺典型信號處理應(yīng)用開發(fā)及運行流程如圖10所示。
(1) 根據(jù)信號處理典型應(yīng)用,軟件開發(fā)者利用可視化多核并行開發(fā)環(huán)境,構(gòu)建需求模型,劃分功能構(gòu)件及管理構(gòu)件。
圖10 基于華睿DSP軟件開發(fā)運行框圖
(2) 從構(gòu)件庫中選擇對應(yīng)的構(gòu)件構(gòu)成系統(tǒng)的基本原型,包括基于標(biāo)準(zhǔn)計算中間件開發(fā)的高密度計算構(gòu)件、基于標(biāo)準(zhǔn)通信中間件開發(fā)的通信構(gòu)件、基于標(biāo)準(zhǔn)管理中間件開發(fā)的管理構(gòu)件。
(3) 根據(jù)華睿2號的平臺架構(gòu),設(shè)置并行編譯規(guī)則,劃分每個核執(zhí)行的任務(wù)、內(nèi)存及輸入輸出數(shù)據(jù)。
(4) 調(diào)用可視化平臺的并行編譯工具,根據(jù)設(shè)置的并行編譯規(guī)則及華睿2號的平臺架構(gòu),生成具備多核并行計算能力的高級語言代碼(如:C語言代碼),并調(diào)用華睿2號編譯器、鏈接器進(jìn)行編譯鏈接,生成可執(zhí)行的二進(jìn)制應(yīng)用程序。
(5)將可執(zhí)行程序下載到目標(biāo)平臺后啟動執(zhí)行。程序在執(zhí)行的過程中,將依次通過運行管理層、中間件層、運行支撐軟件最終訪問到華睿2號硬件平臺,實現(xiàn)相關(guān)功能及通信。當(dāng)系統(tǒng)某個模塊出現(xiàn)故障時,將由運行管理層自動啟動故障重構(gòu)程序?qū)崿F(xiàn)故障修復(fù)。
(6)當(dāng)系統(tǒng)管理員需要查看系統(tǒng)狀態(tài)時,通過可視化系統(tǒng)監(jiān)控窗口發(fā)送相關(guān)指令,由運行管理層的相關(guān)管理任務(wù)將對應(yīng)的信息傳遞給可視化系統(tǒng)監(jiān)控窗口實現(xiàn)系統(tǒng)監(jiān)控。
針對華睿DSP構(gòu)建一套高效便捷、可擴展、可移植的軟件體系,是實現(xiàn)我國雷達(dá)裝備核心器件自主可控的必經(jīng)之路。只有具備高效靈活、可移植、可擴展的軟件體系架構(gòu),為華睿DSP軟件的開發(fā)提供便捷的開發(fā)、調(diào)試、監(jiān)控、管理工具,才能有效保障華睿DSP在產(chǎn)品中的廣泛應(yīng)用。
本文分析了華睿1號DSP軟件體系架構(gòu)的不足,結(jié)合國內(nèi)外主流的軟件開發(fā)標(biāo)準(zhǔn),構(gòu)建了面向華睿DSP的軟件體系。該體系架構(gòu)綜合考慮了軟件的可擴展、可移植、可跟蹤等多方面需求,對可視化軟件開發(fā)環(huán)境、運行管理層、中間件層、支撐軟件層等各層次的主要作用及實現(xiàn)手段進(jìn)行了研究,并以華睿2號DSP平臺為例設(shè)計了每層的技術(shù)方案,構(gòu)建了完善的DSP軟件體系,為華睿DSP的推廣應(yīng)用奠定了基礎(chǔ)。
[1]張曉蓓,舒廣,李妍. 外軍信息化建設(shè)自主可控方略管窺[C]// 2010軍事電子信息學(xué)術(shù)會議論文集(上冊). 天津: 中國電子學(xué)會通信學(xué)分會, 2010: 308-312.
ZHANG Xiaobei, SHU Guang, LI Yan. Look into foreign military information construction of self-controlled strategy[C]// Military Electronic Information Conference. Tianjing: CIECS, 2010: 308-312.
[2]LUNDGREN W, STEED J, BARNES K. Integrating the hardware description with gedae's single sample language to generate efficient code[J]. Designing Techniques of Posts & Telecommunications, 2011(7): 1-5.
[3]LUNDGREN W. Gedae′s automated management of hierarchical memories on multicore processors commercial tutorial[C]// 2008 IEEE International Symposium on Parallel and Distributed Processing. Miami, FL: IEEE Press, 2008: 1-2.
[4]王宏, 柴天佑, 丁進(jìn)良,等. 數(shù)據(jù)驅(qū)動的故障診斷與容錯控制:進(jìn)展與可能的新方向[J]. 自動化學(xué)報, 2009, 35(6): 739-747.
WANG Hong, CHAI Tianyou, DING Jinliang, et al. Data driven fault diagnosis and fault tolerant control: some advances and possible new directions[J]. Acta Automatica Sinica, 2009, 35(6): 739-747.
[5]JANKA R, JUDD R, LEBAK J, et al. VSIPL: an object-based open standard API for vector, signal, and image processing[C]// 2001 on Acoustics, Speech, and Signal Processing IEEE International Conference. Salt Lake City, UT: IEEE Press, 2001, 1(2): 949-952.
[6]LEBAK J, KEPNER J, HOFFMANN H, et al. Parallel VSIPL++: an open standard software library for high-performance parallel signal processing[J]. Proceedings of the IEEE, 2005, 93(2): 313-330.
[7]VRENIOS A. Parallel programming in C with MPI and openMP [book review][J]. IEEE Distributed Systems Online, 2004, 5(1): 7.1-7.3.
[8]LEE S, MIN S J, EIGENMANN R. OpenMP to GPGPU: a compiler framework for automatic translation and optimization[J]. Acm Sigplan Notices, 2009, 44(4): 101-110.
[9]李焱,張云泉,王可,等. 異構(gòu)平臺上基于OpenCL的FFT實現(xiàn)與優(yōu)化[J]. 計算機科學(xué), 2011,38(8): 284-296.LI Yan, ZHANG Yunquan, WANG Ke, et al. Implementation and optimization of the FFT using OpenCL on heterogeneous platforms[J]. Computer Science, 2011,38(8): 284-296.
[10]劉希. DDS中間件技術(shù)在作戰(zhàn)系統(tǒng)網(wǎng)絡(luò)中的應(yīng)用[J]. 計算機光盤軟件與應(yīng)用, 2013(12): 133-134.
LIU Xi. Application of DDS technology in combat system network[J]. Computer CD Software and Applications, 2013(12): 133-134.
[11]谷青范, 康介祥, 馮國良,等. 動態(tài)自適應(yīng)DDS實時中間件的研究與實現(xiàn)[J]. 計算機科學(xué), 2012, 39(7): 36-38.
GU Qingfan, KANG Jiexiang, FENG Guoliang, et al. Research on implementation of dynamic adaptive real-time middleware based on DDS[J]. Computer Science, 2012, 39(7): 36-38.
[12]VINOSKI S. CORBA: integrating diverse applications within distributed heterogeneous environments[J]. IEEE Communications Magazine, 1997, 35(2): 46-55.
[13]HENNING M. The rise and fall of CORBA[J]. Component Technologies, 2006, 4(5): 28-34.
[14]高會生,韓勇,何玉鈞. 實時CORBA在用電信息采集系統(tǒng)中的應(yīng)用[J]. 計算機應(yīng)用與軟件, 2014, 31(6): 79-83.
GAO Huisheng, HAN Yong, HE Yujun. Application of real-time CORBA to power consumption information acquisition system[J]. Computer Applications and Software, 2014, 31(6):79-83.
[15]FORUM M P. MPI: A message-passing interface standard[S].
[17]ZOUNMEVO J A, AFSAHI A. A fast and resource-conscious MPI message queue mechanism for large-scale jobs[J]. Future Generation Computer Systems, 2014, 30(30): 265-290.
[18]GONG Y, HE B, ZHONG J. Network performance aware MPI collective communication operations in the cloud[J]. IEEE Transactions on Parallel & Distributed Systems, 2015, 26(11): 3079-3089.
何國強男,1977年生,高級工程師。研究方向為雷達(dá)信號處理、超大規(guī)模集成電路設(shè)計。
陳勇男,1986年生,工程師。研究方向為嵌入式軟件架構(gòu)設(shè)計、應(yīng)用支撐軟件設(shè)計。
A Study on Software Architecture for Huarui DSP
HE Guoqiang,CHEN Yong
(Nanjing Research Institute of Electronics Technology, Nanjing 210039, China)
Based on the present situation and development trend of Huarui (HR) DSP, the shortcomings of the existing software architecture are analyzed. Aiming at the application requirement for expansibility, transplantability and traceability, the new hierarchical software architecture is designed, which focuses on the technology of visualized multi core parallel development environment, the running management layer, the middleware layer and supported software. In the architecture, each layer is relatively independent and low coupling with others, and open interfaces with the international standards are adopted. It makes sure that the architecture is expansible and transplantable, and has a complete ecological system for HR DSP. It is the foundation for the popularization of HR DSP.
software architecture; Huarui DSP; multi core; running management; middleware
10.16592/ j.cnki.1004-7859.2016.09.004
何國強Email:guoqiang_he@sohu.com
2016-04-26
2016-06-28
TP971.1
A
1004-7859(2016)09-0017-06