劉 磊 陳二虎
(1.海軍91551部隊(duì) 九江 332000)(2.海軍工程大學(xué)電子工程學(xué)院 武漢 430033)
在軍事通信系統(tǒng)測(cè)試中,傳統(tǒng)的測(cè)試方法主要是串行測(cè)試,一次只能測(cè)試一個(gè)被測(cè)件(Unit Under Test,UUT),測(cè)試中價(jià)格昂貴的測(cè)試設(shè)備的平均閑置時(shí)間占到整個(gè)測(cè)試時(shí)間的50%以上[1]。
并行測(cè)試是近年來自動(dòng)測(cè)試領(lǐng)域興起的一種先進(jìn)的測(cè)試技術(shù)和方法。并行測(cè)試技術(shù)屬于下一代測(cè)試技術(shù)范疇,是支撐NxTestATS的新技術(shù)之一。它根植于并行處理技術(shù),其宏觀表現(xiàn)為,在并行測(cè)試程序的控制下對(duì)多個(gè)UUT同時(shí)測(cè)試[2]。相比傳統(tǒng)順序測(cè)試技術(shù),它通過對(duì)系統(tǒng)資源的優(yōu)化利用可以大幅度提高測(cè)試系統(tǒng)的吞吐量,提高測(cè)試資源利用率,降低整個(gè)武器裝備測(cè)試成本(測(cè)試成本包括測(cè)試時(shí)間)[1~4]。因此,研究并行測(cè)試技術(shù)對(duì)我軍測(cè)試技術(shù)的發(fā)展和提高武器裝備后勤保障以及戰(zhàn)時(shí)的快速維護(hù)保障能力具有重要意義。
并行測(cè)試技術(shù)是把并行處理技術(shù)引進(jìn)到自動(dòng)測(cè)試領(lǐng)域中所形成的一種先進(jìn)的測(cè)試技術(shù)和方法,指ATS在同一時(shí)間內(nèi)完成多項(xiàng)測(cè)試任務(wù),完成多個(gè)UUT的測(cè)試。核心是可以同時(shí)對(duì)多個(gè)被測(cè)對(duì)象進(jìn)行測(cè)試。對(duì)各個(gè)UUT的測(cè)試過程是獨(dú)立并行的。
復(fù)制多套設(shè)備完成并行測(cè)試:提供幾套相同的測(cè)試設(shè)備,每個(gè)UUT對(duì)應(yīng)一套測(cè)試設(shè)備,在同一時(shí)間內(nèi)在測(cè)試主控機(jī)的控制下獨(dú)立進(jìn)行測(cè)試,如圖1所示。這種并行測(cè)試實(shí)現(xiàn)方式簡單可靠,缺點(diǎn)是測(cè)試成本會(huì)隨著測(cè)試設(shè)備的增加而成倍增加。
圖1 多套設(shè)備實(shí)現(xiàn)多UUT并行測(cè)試結(jié)構(gòu)
通過接口轉(zhuǎn)換開關(guān)實(shí)現(xiàn)并行測(cè)試:通過接口轉(zhuǎn)換開關(guān)將不同的UUT連接到一套測(cè)試系統(tǒng)上進(jìn)行測(cè)試,如圖2所示。具體實(shí)現(xiàn)過程:首先將第一個(gè)UUT進(jìn)行測(cè)試,在處理器對(duì)測(cè)試信號(hào)進(jìn)行分析時(shí),接口開關(guān)斷開第一個(gè)UUT,連接第二個(gè)UUT進(jìn)行測(cè)試,依次類推到多個(gè)UUT。這種方法使測(cè)試系統(tǒng)長時(shí)間處于忙碌狀態(tài),減少閑置時(shí)間,提高了系統(tǒng)的吞吐量,缺點(diǎn)是并行度不高,并不是真正的并行測(cè)試。
圖2 接口轉(zhuǎn)換開關(guān)實(shí)現(xiàn)多UUT并行測(cè)試結(jié)構(gòu)
多個(gè)測(cè)試交替進(jìn)行的并行測(cè)試:由于處理器速度遠(yuǎn)遠(yuǎn)高于I/O設(shè)備和測(cè)量儀的速度,所以可以將多個(gè)測(cè)試在時(shí)間上形成交錯(cuò)來進(jìn)行。在這種實(shí)現(xiàn)方式中,開始測(cè)試執(zhí)行時(shí)就并行執(zhí)行所有測(cè)試任務(wù),當(dāng)某項(xiàng)測(cè)試所需資源被占用時(shí),處理器并不等待而是直接跳過執(zhí)行下一項(xiàng)測(cè)試,待完成后再返回執(zhí)行未完成的測(cè)試。這種方式要求每項(xiàng)測(cè)試是獨(dú)立的,否則容易產(chǎn)生多個(gè)測(cè)試在同一時(shí)刻相互等待對(duì)方釋放測(cè)試資源,從而產(chǎn)生資源競爭,導(dǎo)致系統(tǒng)死鎖。
單個(gè)UUT上的并行測(cè)試主要是通過采用多通道測(cè)試方式來實(shí)現(xiàn),在UUT內(nèi)部同時(shí)對(duì)多個(gè)參數(shù)進(jìn)行測(cè)試,它要求不同參數(shù)測(cè)試之間的激勵(lì)和響應(yīng)互不影響。主要有兩種實(shí)現(xiàn)方式:交迭等待并行測(cè)試和分組并行測(cè)試。
1)交迭等待并行測(cè)試:這種方式是UUT在到達(dá)目標(biāo)狀態(tài)的過程中進(jìn)行參數(shù)的測(cè)試。首先,要分析清楚不同激勵(lì)之間的關(guān)系,確定不同項(xiàng)測(cè)試的激勵(lì)和測(cè)量不會(huì)互相影響。其次,為避免測(cè)試不能完成,要求每項(xiàng)測(cè)試不允許中斷,只有一項(xiàng)測(cè)試完成后才能響應(yīng)UUT到達(dá)指定狀態(tài)的中斷。嚴(yán)格意義上,這種方式并不是真正的并行測(cè)試,只是利用測(cè)試設(shè)備等待UUT到達(dá)指定狀態(tài)的等待時(shí)間段內(nèi)對(duì)滿足測(cè)試條件的參數(shù)進(jìn)行測(cè)試。
表1 通過交迭等待實(shí)現(xiàn)單個(gè)UUT并行測(cè)試
2)分組并行測(cè)試:同步或異步地運(yùn)行兩個(gè)或多個(gè)測(cè)量程序,分別在不同的線程內(nèi)完成對(duì)多個(gè)參數(shù)的測(cè)量。將具有相同的測(cè)試要求的被測(cè)量分到同一組中,這樣在并行運(yùn)行的時(shí)候不會(huì)互相影響。分組在測(cè)試需求分析時(shí)完成。
表2 通過任務(wù)分組實(shí)現(xiàn)單UUT的并行測(cè)試
對(duì)應(yīng)并行測(cè)試實(shí)現(xiàn)方式可將并行測(cè)試系統(tǒng)劃分為多處理器并行測(cè)試結(jié)構(gòu)和單處理器并行測(cè)試結(jié)構(gòu)兩類基本架構(gòu)形式。
由于執(zhí)行并行測(cè)試的處理器之間的關(guān)系不同又可分為分布式和從處理器結(jié)構(gòu)。
·分布式結(jié)構(gòu):每臺(tái)計(jì)算機(jī)均可獨(dú)立高效地執(zhí)行測(cè)試任務(wù),測(cè)試任務(wù)被動(dòng)態(tài)地分配到各個(gè)計(jì)算機(jī)上,網(wǎng)絡(luò)操作系統(tǒng)管理本地測(cè)試進(jìn)程的運(yùn)行,向網(wǎng)絡(luò)申請(qǐng)資源,協(xié)調(diào)各計(jì)算機(jī)之間的通信和資源共享。分布式結(jié)構(gòu)是真正意義上的并行測(cè)試結(jié)構(gòu)。但是,分布式并行測(cè)試結(jié)構(gòu)增加了配套的如網(wǎng)絡(luò)設(shè)備、測(cè)試儀器等硬件資源,導(dǎo)致測(cè)試成本上升。
·從處理器結(jié)構(gòu):在從處理器結(jié)構(gòu)中,系統(tǒng)具有兩個(gè)以上處理器協(xié)同工作,從處理器在系統(tǒng)中處于從屬地位,功能單一,性能較低,分擔(dān)主處理器的部分工作,減少主處理器的工作量,提高測(cè)試效率。圖3是Agilent公司開發(fā)的一種從處理器結(jié)構(gòu)測(cè)試系統(tǒng)。它將一塊數(shù)據(jù)處理芯片(DSP)嵌入到測(cè)試系統(tǒng)中和CPU并行工作,分擔(dān)CPU的數(shù)據(jù)計(jì)算處理任務(wù),減輕CPU的工作負(fù)擔(dān),從而提高系統(tǒng)速度,減少了測(cè)試時(shí)間。
圖3 從處理器結(jié)構(gòu)
單處理器結(jié)構(gòu)通過把處理器的不同處理時(shí)間片段分配給不同的測(cè)試任務(wù),主要通過軟件設(shè)計(jì)上的多線程和多進(jìn)程結(jié)構(gòu)來實(shí)現(xiàn)。
在多進(jìn)程結(jié)構(gòu)中,處理器將不同的測(cè)試任務(wù)分配到不同的進(jìn)程中,通過進(jìn)程的切換來實(shí)現(xiàn)并行測(cè)試。操作系統(tǒng)隔離每個(gè)進(jìn)程的內(nèi)存地址空間,防止因一個(gè)測(cè)試進(jìn)程故障導(dǎo)致整個(gè)系統(tǒng)發(fā)生崩潰,這樣造成了儀器設(shè)備和數(shù)據(jù)共享變得困難、效率低。
在多線程結(jié)構(gòu)中,一個(gè)進(jìn)程中多個(gè)線程同時(shí)執(zhí)行測(cè)試任務(wù),所有的測(cè)試任務(wù)看做一個(gè)進(jìn)程,處理器將測(cè)試任務(wù)分配給不同的線程,通過線程的切換實(shí)行并行測(cè)試。所有線程都屬于同一個(gè)進(jìn)程,能更好地共享測(cè)試資源和數(shù)據(jù),而且多線程之間的切換相對(duì)于多進(jìn)程之間的切換,內(nèi)存開銷要小的多,是一種合適的并行測(cè)試軟件結(jié)構(gòu)。
圖4 多進(jìn)程結(jié)構(gòu)示意圖
圖5 多線程結(jié)構(gòu)示意圖
傳統(tǒng)通信系統(tǒng)測(cè)試中,組成通信系統(tǒng)的各個(gè)設(shè)備基本上采用串行的測(cè)試方式。測(cè)試設(shè)備在對(duì)故障設(shè)備進(jìn)行測(cè)試時(shí)往往是按照順序進(jìn)行測(cè)試,且要等待故障設(shè)備到達(dá)指定狀態(tài),導(dǎo)致處理器和測(cè)試設(shè)備平均大部分時(shí)間處于空閑狀態(tài),測(cè)試時(shí)間長,測(cè)試效率不高。
隨著通信技術(shù)的發(fā)展和通信系統(tǒng)的日趨復(fù)雜化,測(cè)試變得更加復(fù)雜。如果還是采用傳統(tǒng)串行測(cè)試方式,將不能滿足現(xiàn)代戰(zhàn)爭對(duì)戰(zhàn)場(chǎng)快速維修保障的要求。因此,將并行測(cè)試技術(shù)應(yīng)用到軍事通信系統(tǒng)測(cè)試領(lǐng)域是通信測(cè)試技術(shù)發(fā)展的必然要求,也是實(shí)現(xiàn)對(duì)軍事通信場(chǎng)外快速測(cè)試,實(shí)現(xiàn)戰(zhàn)時(shí)快速保障的一個(gè)可行的技術(shù)路線。通信系統(tǒng)并行測(cè)試的基本結(jié)構(gòu)如圖6所示。
通信并行測(cè)試系統(tǒng),主要由并行自動(dòng)測(cè)試設(shè)備、被測(cè)單元和可編程并行測(cè)試適配器相互連接,以及相應(yīng)的測(cè)試軟件系統(tǒng)組成。其中,軟件系統(tǒng)作為整個(gè)測(cè)試系統(tǒng)的最高層,主要在測(cè)試過程中,根據(jù)具體測(cè)試任務(wù)的不同,按照一定的調(diào)度算法,實(shí)時(shí)地對(duì)測(cè)試任務(wù)進(jìn)行最優(yōu)化并行調(diào)度;基于總線的自動(dòng)測(cè)試系統(tǒng)通過可編程組合的并行測(cè)試適配器,與被測(cè)試對(duì)象通信設(shè)備相連接,在測(cè)試系統(tǒng)的控制下,按照一定的算法,通過適配器的開關(guān)切換、多通道測(cè)試等方式,實(shí)現(xiàn)并行測(cè)試。
在通信設(shè)備測(cè)試中應(yīng)用并行測(cè)試技術(shù),使得自動(dòng)測(cè)試系統(tǒng)能在同一時(shí)間內(nèi)完成多項(xiàng)測(cè)試任務(wù)。這就需要對(duì)被測(cè)試任務(wù)和擁有的測(cè)試資源進(jìn)行合理的調(diào)度,否則在測(cè)試中會(huì)出現(xiàn)由于不同任務(wù)占用同一資源而導(dǎo)致的死鎖現(xiàn)象。因此,實(shí)現(xiàn)通信設(shè)備的并行測(cè)試,主要需要考慮以下幾點(diǎn)。
1)任務(wù)的并行調(diào)度[7]
系統(tǒng)要完成m個(gè)測(cè)試任務(wù)t1,t2,…tm,有n個(gè)測(cè)試資源r1,r2,…rn分配給相應(yīng)的測(cè)試任務(wù),每個(gè)任務(wù)具有一系列資源組合的選擇。對(duì)于每一種可供選擇的測(cè)試資源組合,需要明確處理該任務(wù)所需占用該組測(cè)試資源的時(shí)間。記為:ti={(Ri1,Ti1),(Ri2,Ti2),…(Rik,Tik)}。其中,每一個(gè)Rij稱為測(cè)試資源模式。Tij為在該種資源模式下完成測(cè)試任務(wù)ti所需的測(cè)試時(shí)間。在這樣的情況下給出一個(gè)任務(wù)調(diào)度序列,使得系統(tǒng)完成這些任務(wù)的時(shí)間跨度最小,并滿足一下約束:
(1)每個(gè)測(cè)試任務(wù)需要的測(cè)試資源給定;
(2)每個(gè)測(cè)試資源在任意時(shí)刻只能處于一種狀態(tài);
(3)每個(gè)測(cè)試任務(wù)執(zhí)行的時(shí)間是有限的,且不可中斷,測(cè)試任務(wù)完成后,立即釋放占用的所有測(cè)試資源。
因此,測(cè)試任務(wù)的并行調(diào)度的最終目標(biāo)是,找到使完成所有測(cè)試任務(wù)所需要的時(shí)間Tend最短的測(cè)試任務(wù)組合。
2)死鎖預(yù)防
死鎖是指多任務(wù)在并行運(yùn)行中為了競爭有限的資源而陷入了一個(gè)僵局。一個(gè)任務(wù)鎖定了另一個(gè)任務(wù)所需要的資源,而另一個(gè)任務(wù)又鎖定了這個(gè)任務(wù)所需要的資源,兩個(gè)任務(wù)都在等待對(duì)方釋放資源,這就形成了一個(gè)死循環(huán)。所以,在并行測(cè)試系統(tǒng)設(shè)計(jì)中要合理的分配測(cè)試資源給被測(cè)任務(wù),在并行測(cè)試系統(tǒng)組建之前必須考慮死鎖現(xiàn)象。
3)通信設(shè)備并行測(cè)試系統(tǒng)的組建原則
圖6 通信并行測(cè)試系統(tǒng)結(jié)構(gòu)圖
通信系統(tǒng)的地面自動(dòng)化測(cè)試系統(tǒng)組建中,由于被測(cè)試的對(duì)象繁多,而且有些測(cè)試對(duì)象的參數(shù)之間相關(guān)性很強(qiáng),在選擇并行測(cè)試系統(tǒng)結(jié)構(gòu)時(shí)往往傾向于幾種并行測(cè)試結(jié)構(gòu)的混合使用。如首先建立多處理器系統(tǒng)的并行測(cè)試結(jié)構(gòu),然后在每個(gè)分系統(tǒng)中再建立多進(jìn)程結(jié)構(gòu),每個(gè)進(jìn)程中又是多線程結(jié)構(gòu),當(dāng)然這些組合都必須權(quán)衡整個(gè)測(cè)試系統(tǒng)的組建成本和系統(tǒng)的復(fù)雜度問題。
軍事通信系統(tǒng)組成設(shè)備多且復(fù)雜,迅速判斷其質(zhì)量狀況的好壞在通信系統(tǒng)定期保障和戰(zhàn)時(shí)保障中具有重要意義,尤其是在分秒必爭的戰(zhàn)時(shí)保障中,每一個(gè)環(huán)節(jié)的效率都對(duì)整個(gè)作戰(zhàn)指揮系統(tǒng)起到不可估量的作用。
由于檢測(cè)設(shè)備的技術(shù)水平不斷發(fā)展,設(shè)備的使用操作人員需要經(jīng)過一定的專業(yè)培訓(xùn),具備一定的專業(yè)基礎(chǔ),通常要定編、定崗。因此,實(shí)現(xiàn)單位時(shí)間內(nèi)多臺(tái)通信設(shè)備的并行測(cè)試對(duì)部隊(duì)作戰(zhàn)效能的提高、維護(hù)保障費(fèi)用的降低具有關(guān)鍵作用。
并行測(cè)試技術(shù)已經(jīng)成為近年來自動(dòng)化測(cè)試領(lǐng)域的熱點(diǎn)課題。這是一項(xiàng)嶄新的技術(shù),還有許多基礎(chǔ)性理論問題有待探討,本文對(duì)并行測(cè)試的實(shí)現(xiàn)方法、基本結(jié)構(gòu)以及在軍事通信系統(tǒng)中的應(yīng)用的一些關(guān)鍵技術(shù)進(jìn)行了一個(gè)基本的描述。并行測(cè)試技術(shù)是在ATS進(jìn)一步減少測(cè)試時(shí)間、降低測(cè)試成本的發(fā)展趨勢(shì)下興起的一項(xiàng)新技術(shù),將其應(yīng)用到通信設(shè)備的自動(dòng)化測(cè)試中是實(shí)現(xiàn)未來戰(zhàn)場(chǎng)通信設(shè)備快速測(cè)試的一個(gè)可行的技術(shù)路線。
[1]McDonnell R.Benefits of Parallel Testing [EB/OL].http://www.ni.com/Developer zone,2002.
[2]肖明清,朱小平.并行測(cè)試技術(shù)綜述[J].空軍工程大學(xué)學(xué)報(bào)(自然科學(xué)版),2005,6(3):22-25.
[3]Wiliam A Ross.The Impact of Next Generation Test Technology on Aviation Maintenance[C]//AUTOTESTCON proceedings.IEEE,2003:2-9.
[4]McDonnell R.Parallel Test Architectures for Reducing the Cost to Test[EB/OL].http://www.ni.com/Developer zone,2004.
[5]李華,許化龍.并行測(cè)試技術(shù)及在導(dǎo)彈測(cè)試中的應(yīng)用研究[J].計(jì)算機(jī)測(cè)量與控制,2009,17(11):2216-2219.
[6]劉琪,孟慶虎.并行測(cè)試技術(shù)及在空空導(dǎo)彈檢測(cè)中的應(yīng)用淺析[J].計(jì)測(cè)技術(shù),2010,30(1):8-10.
[7]王磊,肖明清.多核并行測(cè)試系統(tǒng)研究[J].西安交通大學(xué)學(xué)報(bào),2008,42(6):683-684.
[8]William A Ross.統(tǒng)一美國國防部的自動(dòng)測(cè)試系統(tǒng)標(biāo)準(zhǔn)[S].美國海軍航空系統(tǒng)系統(tǒng)司令部PMA260D辦公室.
[9]J.LAnderson Jr.High Performance Missile Testing[C]//AUTOTESTCON proceedings.IEEE,2003:19-27.
[10]陳希林,胡詩國.Ai7技術(shù)及在并行測(cè)試改造中的應(yīng)用研究[J].電測(cè)與儀表,2007,44(1):48-51.