鄧竹莎??(中國西南電子技術(shù)研究所,成都610036)
基于VSIPL的跨平臺算法中間件軟件設(shè)計?
鄧竹莎??
(中國西南電子技術(shù)研究所,成都610036)
針對航空電子信息系統(tǒng)與通信數(shù)據(jù)鏈的嵌入式信息處理應(yīng)用中算法軟件移植性和可復(fù)用性差的問題,提出基于VSIPL標準應(yīng)用編程接口的跨平臺算法中間件軟件設(shè)計模式,以增強多平臺多系統(tǒng)軟件可移植性及代碼重用性;利用Power-VSIPL的AltiVec矢量加速、數(shù)據(jù)并行設(shè)計及循環(huán)展開,在保持原有算法處理精度基礎(chǔ)上,提高軟件運算效率1~5倍。
航空電子;信息系統(tǒng);通信數(shù)據(jù)鏈;跨平臺算法軟件中間件;矢量信號圖像處理標準庫;矢量加速處理
鑒于硬件設(shè)備的飛速發(fā)展,航空及通信領(lǐng)域嵌入式信息處理軟件日益增多。由于與硬件綁定,此類軟件模塊定制性強,且缺乏統(tǒng)一的基礎(chǔ)標準,在不同平臺和環(huán)境中通用性差,重復(fù)開發(fā)情況嚴重,資金和人力資源大量浪費,技術(shù)延續(xù)性和質(zhì)量穩(wěn)定性難以保證。
此外,在嵌入式信息處理軟件開發(fā)過程中,通常需要在Matlab環(huán)境仿真驗證算法,再移植到嵌入式目標機運行。每次環(huán)境變化都會導(dǎo)致大量軟件代碼重新編寫,而且一旦目標機研制進度拖延,后續(xù)軟件開發(fā)和調(diào)試都會受到影響。
基于以上原因,本文針對航空和通信領(lǐng)域信息處理具體應(yīng)用提取坐標轉(zhuǎn)換、目標跟蹤、狀態(tài)估計及圖像處理算法基礎(chǔ)模塊,采用基于VSIPL的基礎(chǔ)中間件[1]開發(fā)算法功能軟件包,通過底層硬件對矢量和矩陣運算的加速處理、數(shù)據(jù)并行化設(shè)計及循環(huán)展開等方式提高軟件運行效率,為后續(xù)工程提供高效可靠的算法組件,使上層應(yīng)用系統(tǒng)只需修改少量代碼即可實現(xiàn)在不同平臺的快速開發(fā)和移植。
VSIPL(Vector Signal Image Processing Library)是由美國國防部(DOD)下屬的DARPA支持發(fā)起制定的標準應(yīng)用編程接口,旨在建立一個嵌入式實時處理系統(tǒng)中可移植的高性能應(yīng)用程序向量、信號和圖像處理的工業(yè)標準,從而最大程度地重用代碼,大大縮短嵌入式領(lǐng)域項目工程的開發(fā)周期和維護時間。VSIPL的軟件結(jié)構(gòu)如圖1所示。
這個VSIPL API程序庫是目前嵌入式處理領(lǐng)域事實上的標準,主要用于軍用級別的高端嵌入式信號、信息和圖像處理。它通過為所有支持平臺提供一致的API和一個公共的數(shù)學(xué)函數(shù)集合,可以方便地處理向量、矩陣、張量等對象,增強了應(yīng)用程序的平臺可移植性,同時通過代碼重用,也加快了新技術(shù)的開發(fā)速度,大大縮短軟硬件的開發(fā)周期。
目前硬件和軟件供應(yīng)商已經(jīng)開發(fā)出許多VSIPL產(chǎn)品,作為開發(fā)高效率和可移植信號和圖像處理應(yīng)用計算程序的中間件,正被日益廣泛地使用。
VSIPL具有較好的跨平臺特性和硬件加速特性,但作為一個基礎(chǔ)中間件,缺少面向領(lǐng)域和應(yīng)用的工具箱接口,不利于二次開發(fā)。本文在算法中間件設(shè)計過程中,一方面希望發(fā)揮VSIPL的標準化及硬件加速特性,另一方面旨在面向特定領(lǐng)域需求開發(fā)功能軟件包,并針對數(shù)據(jù)特點進行優(yōu)化,提升軟件模塊運行速度,提高可用性。
2.1 功能化組件模塊設(shè)計
算法中間件設(shè)計時,首先需要劃分軟件功能。軟件粒度根據(jù)需要可以是獨立運行的子系統(tǒng),也可以是程序模塊。如果軟件劃分粒度太大,會造成功能復(fù)雜,升級困難,很難實現(xiàn)重用;如果粒度太小,又會造成組件數(shù)量太多,組件之間交互復(fù)雜,管理困難,性能低下。因此,功能化組件的劃分粒度是軟件設(shè)計的基礎(chǔ)[2-3]。
通常軟件功能劃分可分為系統(tǒng)、應(yīng)用、業(yè)務(wù)組件和模塊4層,如圖2所示。
針對航空和通信等領(lǐng)域的具體需求及現(xiàn)有工程經(jīng)驗,本文主要生成模塊級面向應(yīng)用的基礎(chǔ)算法組件(如濾波算法、圖像分割算法等),供上層業(yè)務(wù)組件(如目標跟蹤、狀態(tài)估計等)調(diào)用,為后續(xù)工程應(yīng)用開發(fā)提供可復(fù)用的軟件模塊。
擬開發(fā)的功能組件分為坐標轉(zhuǎn)換、目標跟蹤、狀態(tài)估計、圖像處理四大類,分別實現(xiàn)空間坐標轉(zhuǎn)換、航跡濾波、航跡關(guān)聯(lián)/融合、圖像分割、圖像壓縮等具體功能,軟件包劃分及運行環(huán)境如圖3所示。
2.2 跨平臺軟件設(shè)計
功能組件的跨平臺設(shè)計通過各算法中間件一致的軟件接口實現(xiàn)。針對目前嵌入式信息處理軟件實際的開發(fā)流程,主要考慮Matlab仿真環(huán)境、PowerPC刀片環(huán)境及PowerPC嵌入式環(huán)境下算法中間件軟件設(shè)計。通過調(diào)用Matlab-VSIPL、Power-VSIPL和Realtime-VSIPL三部分基礎(chǔ)組件,算法中間件屏蔽底層硬件平臺及操作系統(tǒng),為上層應(yīng)用提供統(tǒng)一的標準API,以確保不同平臺不同系統(tǒng)間的無縫移植。
基于VSIPL的算法中間件開發(fā)流程如圖4所示。其中,Matlab環(huán)境算法中間件主要用于算法研究和仿真;PowerPC刀片環(huán)境算法中間件實現(xiàn)模擬目標環(huán)境下的算法驗證;PowerPC嵌入式環(huán)境算法中間件則針對嵌入式環(huán)境的實時處理要求,完成從算法仿真到目標機實現(xiàn)的最終移植。
算法中間件的基本結(jié)構(gòu)如圖5所示[4-5]。
2.3 算法并行運算優(yōu)化
算法中間件的優(yōu)化處理,一方面依賴于PowerPC系列處理器自身的AltiVec矢量加速技術(shù),另一方面采用數(shù)據(jù)處理“并行化”[6]的設(shè)計思路,充分發(fā)揮VSIPL基礎(chǔ)庫對矢量/矩陣運算的處理優(yōu)勢,將多點組成矢量或矩陣同時處理,縮短讀取和存儲數(shù)據(jù)的時間,增強運算能力。
以坐標轉(zhuǎn)換為例,按照原有設(shè)計思路,坐標轉(zhuǎn)換模塊對接收到的傳感器目標數(shù)據(jù)根據(jù)先后順序?qū)崟r排序,逐一處理,只有等第一個目標的坐標完成轉(zhuǎn)換以后,第二個目標才會開始處理。原有處理流程如圖6所示[7-8],經(jīng)過優(yōu)化處理后,坐標轉(zhuǎn)換模式如圖7所示。
此外,算法模塊(特別是狀態(tài)估計)中循環(huán)遍歷會占用大量計算時間,以目標關(guān)聯(lián)為例,若10個傳感器探測1 000個目標,為計算關(guān)聯(lián)程度,極限情況下需完成107次運算,大大延遲了處理時間。本算法中間件設(shè)計時,通過循環(huán)展開,減小循環(huán)次數(shù),充分發(fā)揮處理器本身流水線和指令預(yù)取技術(shù)的優(yōu)勢,達到軟件加速的目的。
3.1 可移植性實現(xiàn)
算法中間件移植性實驗選取3種代表性運行環(huán)境,從Intel+Matlab算法仿真平臺將應(yīng)用模塊移植到Linux+PowerPC刀片環(huán)境,只需將m代碼轉(zhuǎn)換為對應(yīng)的C代碼,將其中調(diào)用的Matlab-VSIPL函數(shù)替換為對應(yīng)的Power-VSIPL函數(shù);從Linux+PowerPC刀片環(huán)境移植到VxWorks+PowerPC嵌入式目標機環(huán)境只需更換系統(tǒng)頭文件,軟件模塊無需修改,大大縮短了開發(fā)周期。
3.2 運算性能分析
在VxWorks+PowerPC嵌入式目標機環(huán)境分別對目標位置坐標轉(zhuǎn)換、目標跟蹤、狀態(tài)估計及圖像處理模塊進行性能測試,對各模塊優(yōu)化前后的處理時效進行比較。
實驗一:將目標位置從經(jīng)緯高轉(zhuǎn)換到俯仰、方位、距離,再從俯仰、方位、距離轉(zhuǎn)換到經(jīng)緯高,分別對隨機產(chǎn)生的10 000、90 000、100 000和900 000個點計算平均處理時間,處理后的轉(zhuǎn)換精度達到10-7,計算時間見表1。從測試結(jié)果可以看出,在保持原有計算精度的前提下,新的坐標轉(zhuǎn)換模塊處理效率較過去提升2~4倍。
實驗二:目標作勻加速運動,對傳感器探測到的目標量測數(shù)據(jù)進行濾波處理。輸入1 000個量測值,優(yōu)化前后跟蹤算法耗時分別為16 516μs和9 183μs,處理效率提升約1.8倍。
實驗三:采用最近鄰算法對4個目標600組數(shù)據(jù)進行關(guān)聯(lián)融合處理,優(yōu)化前總處理時間為4.2 s,優(yōu)化后處理時間0.78 s,處理效率提升約5.4倍。
實驗四:采用分水嶺圖像分割算法對256×256圖像進行分割,優(yōu)化前后耗時分別為27.956 6 s和18.743 3 s,處理效率提升約1.5倍。
本文旨在采用VSIPL中間件,面向航空和通信領(lǐng)域具體需求開發(fā)算法中間件,并采用數(shù)據(jù)并行、循環(huán)展開等方式進行加速和優(yōu)化,實現(xiàn)嵌入式信息處理軟件在多平臺多系統(tǒng)上的快速開發(fā)和移植。數(shù)值性能仿真說明,按照此模式設(shè)計的跨平臺算法中間件可在保證計算精度的前提下大大提高處理時效,為信息處理嵌入式軟件并行化設(shè)計與優(yōu)化處理提供了新思路。
[1]Janka R,Judd R,Lebak J,et al.VSIPL:an object-based open standard API for vector,signal,and image processing[C]//Proceedings of 2001 IEEE Interntional Conference on Acoustics,Speech,and Signal Processing.Salt Lake City,UT:IEEE,2001:949-952.
[2]鄒斌.基于構(gòu)件技術(shù)的嵌入式實時操作系統(tǒng)的研究[D].南京:南京航空航天大學(xué),2010:6-13. ZOU Bin.The Research on Component-based Real-time Embedded Operation System[D].Nanjing:Nanjing University of Aeronautics and Astronautics,2010:6-13.(in Chinese)
[3]華盈韜.嵌入式Linux系統(tǒng)驅(qū)動構(gòu)件的研究[D].武漢:華中科技大學(xué),2010:8-11. HUA Ying-tao.Research on Driver Component of Embedded Linux System[D].Wuhan:Huazhong University of Science and Technology,2010:8-11.(in Chinese)
[4]戴鴻君.基于異構(gòu)多核體系與組件化軟件的嵌入式系統(tǒng)研究[D].浙江:浙江大學(xué),2007:70-74. DAIHong-jun.An Embedded SysteMwith the Architecture of Chip Multiprocessor and Component-Based Software[D]. Zhejiang:Zhejiang University,2007:70-74.(in Chinese)
[5]李超.面向嵌入式領(lǐng)域的構(gòu)件組裝平臺的設(shè)計與實現(xiàn)[D].西安:西安電子科技大學(xué),2011:12-17. LIChao.Design and Implementation of Components Assembly PlatforMin Embedded Oriented Field[D].Xi′an:Xi′an University of Electronic Technology,2011:12-17.(in Chinese)
[6]周偉明.多核計算與程序設(shè)計[M].武漢:華中科技大學(xué)出版社,2009:316-322. ZHOU Wei-ming.Multi-core Computing and Programming[M].Wuhan:Huazhong University of Science and Technology Press,2009:316-322.(in Chinese)
[7]李鋒,金宏斌,馬建朝.多雷達數(shù)據(jù)處理中坐標轉(zhuǎn)換的新方法[J].微計算機信息,2007,23(2-1):303-305. LIFeng,JIN Hong-bin,MA Jian-chao.A New Method of Coordinate Transformation UnderMulti-Radar Data Processing System[J].Microcomputer Information,F(xiàn)ebruary 2007,23(2-1):303-305.(in Chinese)
[8]廖鳴,李鵬,陳毅平,等.地心直角坐標和大地坐標轉(zhuǎn)換算法研究[J].電子科技,2010,23(2):18-21. LIAO Ming,LI Peng,CHEN Yi-ping,et al.Research on Transformation Methods froMthe Earth Rectangular Coordinate to the Geodetic Coordinate[J].Electronic Science and Technology,2010,23(2):18-21.(in Chinese)
DENG Zhu-sha was born in Kangding,Sichuan Province,in 1982.She received theM.S. degree in 2006.She is now an engineer.Her research concerns information fusion and embedded information processing.
Email:snoopyshylexp@yahoo.cn
Design of Cross-platforMAlgorithMs Middleware Based on VSIPL
DENG Zhu-sha
(Southwest China Institute of Electronic Technology,Chengdu 610036,China)
A method based on VSIPLAPIis proposed to solve the problems such asbad portability and reusability of embedded information processing in aerospace and communication field to improve portability and reusability between various systems and platforms.By AltiVec technique of Power-VSIPL,data-parallel design and loop unrolling optimization,themiddleware can insure precision and increase effectiveness by 1~5 times.
avionics;information system;communication datalink;cross-platforMalgorithMmiddleware;vector signal image processing library(VSIPL);vector acceleration
date:2013-02-07;Revised date:2013-04-23
??通訊作者:snoopyshylexp@yahoo.cn Corresponding author:snoopyshylexp@yahoo.cn
TP311.1
A
1001-893X(2013)06-0773-04
鄧竹莎(1982—),女,四川康定人,2006年獲碩士學(xué)位,現(xiàn)為工程師,主要研究方向為信息融合及嵌入式信息處理。
10.3969/j.issn.1001-893x.2013.06.020
2013-02-07;
2013-04-23