劉 磊 陳二虎
(1.海軍91551部隊 九江 332000)(2.海軍工程大學電子工程學院 武漢 430033)
在軍事通信系統測試中,傳統的測試方法主要是串行測試,一次只能測試一個被測件(Unit Under Test,UUT),測試中價格昂貴的測試設備的平均閑置時間占到整個測試時間的50%以上[1]。
并行測試是近年來自動測試領域興起的一種先進的測試技術和方法。并行測試技術屬于下一代測試技術范疇,是支撐NxTestATS的新技術之一。它根植于并行處理技術,其宏觀表現為,在并行測試程序的控制下對多個UUT同時測試[2]。相比傳統順序測試技術,它通過對系統資源的優化利用可以大幅度提高測試系統的吞吐量,提高測試資源利用率,降低整個武器裝備測試成本(測試成本包括測試時間)[1~4]。因此,研究并行測試技術對我軍測試技術的發展和提高武器裝備后勤保障以及戰時的快速維護保障能力具有重要意義。
并行測試技術是把并行處理技術引進到自動測試領域中所形成的一種先進的測試技術和方法,指ATS在同一時間內完成多項測試任務,完成多個UUT的測試。核心是可以同時對多個被測對象進行測試。對各個UUT的測試過程是獨立并行的。
復制多套設備完成并行測試:提供幾套相同的測試設備,每個UUT對應一套測試設備,在同一時間內在測試主控機的控制下獨立進行測試,如圖1所示。這種并行測試實現方式簡單可靠,缺點是測試成本會隨著測試設備的增加而成倍增加。

圖1 多套設備實現多UUT并行測試結構
通過接口轉換開關實現并行測試:通過接口轉換開關將不同的UUT連接到一套測試系統上進行測試,如圖2所示。具體實現過程:首先將第一個UUT進行測試,在處理器對測試信號進行分析時,接口開關斷開第一個UUT,連接第二個UUT進行測試,依次類推到多個UUT。這種方法使測試系統長時間處于忙碌狀態,減少閑置時間,提高了系統的吞吐量,缺點是并行度不高,并不是真正的并行測試。

圖2 接口轉換開關實現多UUT并行測試結構
多個測試交替進行的并行測試:由于處理器速度遠遠高于I/O設備和測量儀的速度,所以可以將多個測試在時間上形成交錯來進行。在這種實現方式中,開始測試執行時就并行執行所有測試任務,當某項測試所需資源被占用時,處理器并不等待而是直接跳過執行下一項測試,待完成后再返回執行未完成的測試。這種方式要求每項測試是獨立的,否則容易產生多個測試在同一時刻相互等待對方釋放測試資源,從而產生資源競爭,導致系統死鎖。
單個UUT上的并行測試主要是通過采用多通道測試方式來實現,在UUT內部同時對多個參數進行測試,它要求不同參數測試之間的激勵和響應互不影響。主要有兩種實現方式:交迭等待并行測試和分組并行測試。
1)交迭等待并行測試:這種方式是UUT在到達目標狀態的過程中進行參數的測試。首先,要分析清楚不同激勵之間的關系,確定不同項測試的激勵和測量不會互相影響。其次,為避免測試不能完成,要求每項測試不允許中斷,只有一項測試完成后才能響應UUT到達指定狀態的中斷。嚴格意義上,這種方式并不是真正的并行測試,只是利用測試設備等待UUT到達指定狀態的等待時間段內對滿足測試條件的參數進行測試。

表1 通過交迭等待實現單個UUT并行測試
2)分組并行測試:同步或異步地運行兩個或多個測量程序,分別在不同的線程內完成對多個參數的測量。將具有相同的測試要求的被測量分到同一組中,這樣在并行運行的時候不會互相影響。分組在測試需求分析時完成。

表2 通過任務分組實現單UUT的并行測試
對應并行測試實現方式可將并行測試系統劃分為多處理器并行測試結構和單處理器并行測試結構兩類基本架構形式。
由于執行并行測試的處理器之間的關系不同又可分為分布式和從處理器結構。
·分布式結構:每臺計算機均可獨立高效地執行測試任務,測試任務被動態地分配到各個計算機上,網絡操作系統管理本地測試進程的運行,向網絡申請資源,協調各計算機之間的通信和資源共享。分布式結構是真正意義上的并行測試結構。但是,分布式并行測試結構增加了配套的如網絡設備、測試儀器等硬件資源,導致測試成本上升。
·從處理器結構:在從處理器結構中,系統具有兩個以上處理器協同工作,從處理器在系統中處于從屬地位,功能單一,性能較低,分擔主處理器的部分工作,減少主處理器的工作量,提高測試效率。圖3是Agilent公司開發的一種從處理器結構測試系統。它將一塊數據處理芯片(DSP)嵌入到測試系統中和CPU并行工作,分擔CPU的數據計算處理任務,減輕CPU的工作負擔,從而提高系統速度,減少了測試時間。

圖3 從處理器結構
單處理器結構通過把處理器的不同處理時間片段分配給不同的測試任務,主要通過軟件設計上的多線程和多進程結構來實現。
在多進程結構中,處理器將不同的測試任務分配到不同的進程中,通過進程的切換來實現并行測試。操作系統隔離每個進程的內存地址空間,防止因一個測試進程故障導致整個系統發生崩潰,這樣造成了儀器設備和數據共享變得困難、效率低。
在多線程結構中,一個進程中多個線程同時執行測試任務,所有的測試任務看做一個進程,處理器將測試任務分配給不同的線程,通過線程的切換實行并行測試。所有線程都屬于同一個進程,能更好地共享測試資源和數據,而且多線程之間的切換相對于多進程之間的切換,內存開銷要小的多,是一種合適的并行測試軟件結構。

圖4 多進程結構示意圖

圖5 多線程結構示意圖
傳統通信系統測試中,組成通信系統的各個設備基本上采用串行的測試方式。測試設備在對故障設備進行測試時往往是按照順序進行測試,且要等待故障設備到達指定狀態,導致處理器和測試設備平均大部分時間處于空閑狀態,測試時間長,測試效率不高。
隨著通信技術的發展和通信系統的日趨復雜化,測試變得更加復雜。如果還是采用傳統串行測試方式,將不能滿足現代戰爭對戰場快速維修保障的要求。因此,將并行測試技術應用到軍事通信系統測試領域是通信測試技術發展的必然要求,也是實現對軍事通信場外快速測試,實現戰時快速保障的一個可行的技術路線。通信系統并行測試的基本結構如圖6所示。
通信并行測試系統,主要由并行自動測試設備、被測單元和可編程并行測試適配器相互連接,以及相應的測試軟件系統組成。其中,軟件系統作為整個測試系統的最高層,主要在測試過程中,根據具體測試任務的不同,按照一定的調度算法,實時地對測試任務進行最優化并行調度;基于總線的自動測試系統通過可編程組合的并行測試適配器,與被測試對象通信設備相連接,在測試系統的控制下,按照一定的算法,通過適配器的開關切換、多通道測試等方式,實現并行測試。
在通信設備測試中應用并行測試技術,使得自動測試系統能在同一時間內完成多項測試任務。這就需要對被測試任務和擁有的測試資源進行合理的調度,否則在測試中會出現由于不同任務占用同一資源而導致的死鎖現象。因此,實現通信設備的并行測試,主要需要考慮以下幾點。
1)任務的并行調度[7]
系統要完成m個測試任務t1,t2,…tm,有n個測試資源r1,r2,…rn分配給相應的測試任務,每個任務具有一系列資源組合的選擇。對于每一種可供選擇的測試資源組合,需要明確處理該任務所需占用該組測試資源的時間。記為:ti={(Ri1,Ti1),(Ri2,Ti2),…(Rik,Tik)}。其中,每一個Rij稱為測試資源模式。Tij為在該種資源模式下完成測試任務ti所需的測試時間。在這樣的情況下給出一個任務調度序列,使得系統完成這些任務的時間跨度最小,并滿足一下約束:
(1)每個測試任務需要的測試資源給定;
(2)每個測試資源在任意時刻只能處于一種狀態;
(3)每個測試任務執行的時間是有限的,且不可中斷,測試任務完成后,立即釋放占用的所有測試資源。
因此,測試任務的并行調度的最終目標是,找到使完成所有測試任務所需要的時間Tend最短的測試任務組合。
2)死鎖預防
死鎖是指多任務在并行運行中為了競爭有限的資源而陷入了一個僵局。一個任務鎖定了另一個任務所需要的資源,而另一個任務又鎖定了這個任務所需要的資源,兩個任務都在等待對方釋放資源,這就形成了一個死循環。所以,在并行測試系統設計中要合理的分配測試資源給被測任務,在并行測試系統組建之前必須考慮死鎖現象。
3)通信設備并行測試系統的組建原則

圖6 通信并行測試系統結構圖
通信系統的地面自動化測試系統組建中,由于被測試的對象繁多,而且有些測試對象的參數之間相關性很強,在選擇并行測試系統結構時往往傾向于幾種并行測試結構的混合使用。如首先建立多處理器系統的并行測試結構,然后在每個分系統中再建立多進程結構,每個進程中又是多線程結構,當然這些組合都必須權衡整個測試系統的組建成本和系統的復雜度問題。
軍事通信系統組成設備多且復雜,迅速判斷其質量狀況的好壞在通信系統定期保障和戰時保障中具有重要意義,尤其是在分秒必爭的戰時保障中,每一個環節的效率都對整個作戰指揮系統起到不可估量的作用。
由于檢測設備的技術水平不斷發展,設備的使用操作人員需要經過一定的專業培訓,具備一定的專業基礎,通常要定編、定崗。因此,實現單位時間內多臺通信設備的并行測試對部隊作戰效能的提高、維護保障費用的降低具有關鍵作用。
并行測試技術已經成為近年來自動化測試領域的熱點課題。這是一項嶄新的技術,還有許多基礎性理論問題有待探討,本文對并行測試的實現方法、基本結構以及在軍事通信系統中的應用的一些關鍵技術進行了一個基本的描述。并行測試技術是在ATS進一步減少測試時間、降低測試成本的發展趨勢下興起的一項新技術,將其應用到通信設備的自動化測試中是實現未來戰場通信設備快速測試的一個可行的技術路線。
[1]McDonnell R.Benefits of Parallel Testing [EB/OL].http://www.ni.com/Developer zone,2002.
[2]肖明清,朱小平.并行測試技術綜述[J].空軍工程大學學報(自然科學版),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]李華,許化龍.并行測試技術及在導彈測試中的應用研究[J].計算機測量與控制,2009,17(11):2216-2219.
[6]劉琪,孟慶虎.并行測試技術及在空空導彈檢測中的應用淺析[J].計測技術,2010,30(1):8-10.
[7]王磊,肖明清.多核并行測試系統研究[J].西安交通大學學報,2008,42(6):683-684.
[8]William A Ross.統一美國國防部的自動測試系統標準[S].美國海軍航空系統系統司令部PMA260D辦公室.
[9]J.LAnderson Jr.High Performance Missile Testing[C]//AUTOTESTCON proceedings.IEEE,2003:19-27.
[10]陳希林,胡詩國.Ai7技術及在并行測試改造中的應用研究[J].電測與儀表,2007,44(1):48-51.