利用NI LabVIEW的并行化技術(shù)來(lái)提高測(cè)試的吞吐量
概覽
二十世紀(jì)一位很有影響力的建筑設(shè)計(jì)師Frank Floyd Wright曾經(jīng)說(shuō)過(guò):“每個(gè)偉大的建筑設(shè)計(jì)師都是他所處時(shí)代的偉大解讀者?!边@句話同樣適用于測(cè)試系統(tǒng)設(shè)計(jì)師們。在他們?cè)O(shè)計(jì)、開(kāi)發(fā)和實(shí)現(xiàn)系統(tǒng)的時(shí)候,他們必須理解不斷進(jìn)步的技術(shù),如多核處理器、現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)和高速數(shù)據(jù)總線,如PCI Express等等。通過(guò)將這些技術(shù)與NI LabVIEW并行化編程軟件及NI TestStand編程管理軟件結(jié)合在一起,測(cè)試工程師們可以創(chuàng)建出高性能的測(cè)試系統(tǒng),用于并行化處理、并行化測(cè)量,甚至于在生產(chǎn)階段進(jìn)行完全并行化的測(cè)試。借助于基于PC機(jī)的并行化技術(shù),用戶可以將測(cè)試速度提高到傳統(tǒng)儀器的10倍以上。
并行化處理
在傳統(tǒng)CPU設(shè)計(jì)中,CPU性能會(huì)受限于實(shí)際的困難,如高速時(shí)鐘速率帶來(lái)的散熱問(wèn)題等。為了確保PC機(jī)平臺(tái)可以滿足不斷增長(zhǎng)的處理需求,芯片制造商們正在開(kāi)發(fā)具有多個(gè)處理核心的新型處理器。在自動(dòng)化測(cè)試應(yīng)用中,為了充分發(fā)揮多核技術(shù)在性能和吞吐量上的優(yōu)勢(shì),必須針對(duì)多個(gè)處理核心編寫(xiě)軟件應(yīng)用程序,即創(chuàng)建出在多個(gè)處理核心上分別執(zhí)行的多個(gè)線程。
圖1.LabVIEW編譯器在不需要用戶配置的情況下,即可為并行代碼段創(chuàng)建獨(dú)立的執(zhí)行線程
利用基于文本的編程語(yǔ)言(如ANSI C等)編寫(xiě)多線程應(yīng)用程序,對(duì)于多數(shù)設(shè)計(jì)和測(cè)試工程師而言,都不是一件很容易的事情,它需要精通創(chuàng)建和管理線程,并且懂得以線程安全的方式在線程間傳遞數(shù)據(jù)。利用LabVIEW圖形化編程環(huán)境,工程師們可以充分發(fā)揮出多核處理的計(jì)算性能。如圖1所示,在LabVIEW中,兩個(gè)沒(méi)有數(shù)據(jù)依賴關(guān)系的循環(huán)會(huì)自動(dòng)在獨(dú)立的線程中執(zhí)行,而開(kāi)發(fā)者不需要考慮線程管理等細(xì)節(jié)內(nèi)容。如果需要了解如何利用多核處理器的應(yīng)用案例,請(qǐng)閱讀名為《使用多核處理器和NI LabVIEW來(lái)最優(yōu)化自動(dòng)測(cè)試應(yīng)用》的白皮書(shū)。
對(duì)于特殊的數(shù)據(jù)操作和信號(hào)處理而言,為這些任務(wù)分配專用的處理單元是十分必要的。多核控制器可以很好地滿足這種需求,然而對(duì)于最終的并行處理而言,它的性能很難超過(guò)FPGA。FPGA為自動(dòng)化測(cè)試系統(tǒng)提供了無(wú)與倫比的性能和可靠性,是目前并行化編程計(jì)算硬件中的佼佼者。LabVIEW FPGA Module軟件使用LabVIEW嵌入式技術(shù)對(duì)LabVIEW圖形化開(kāi)發(fā)進(jìn)行了擴(kuò)展,并且針對(duì)NI可配置I/O(RIO)硬件上的FPGA芯片。LabVIEW有著清晰的并行化和數(shù)據(jù)流表示方法,因而非常適合對(duì)FPGA進(jìn)行編程。借助于LabVIEW FPGA Module軟件,用戶可以創(chuàng)建出自定義的測(cè)量和控制硬件,而無(wú)需了解低級(jí)別的硬件描述語(yǔ)言或板級(jí)設(shè)計(jì)。用戶可以借助于個(gè)性化的并行化硬件來(lái)進(jìn)行實(shí)現(xiàn)特殊的定時(shí)和觸發(fā)例程、超高速控制、與數(shù)字協(xié)議進(jìn)行接口、數(shù)字信號(hào)處理(DSP)和其它許多需要高速的硬件可靠性和確定性的應(yīng)用。
使用FPGA,用戶可以實(shí)現(xiàn)協(xié)同處理的應(yīng)用(如圖2所示)。例如,使用具有新型定點(diǎn)計(jì)算能力的LabVIEW FPGA以及ni.com/ipnet上提供的快速傅里葉變換(FFT),用戶可以在NI PXI-7852 R系列模塊上的Virtex-5 LX50 FPGA中擺放40個(gè)并行化的FFT操作。隨著PXI Express的專用帶寬(高達(dá)1GB/秒/方向)和點(diǎn)對(duì)點(diǎn)流盤(pán)技術(shù)的出現(xiàn),這種能力的價(jià)值正在不斷提升。
圖2.LabVIEW FPGA的定點(diǎn)計(jì)算能力可以使PXI FPGA上包含F(xiàn)FT在內(nèi)的協(xié)處理應(yīng)用的性能得到提高
并行化測(cè)量
并行化測(cè)量要求測(cè)試系統(tǒng)中所有的子部件都支持并行化的模型,而不只是處理器。其中包含了數(shù)據(jù)的采集和傳輸。
圖3.PCI Express實(shí)現(xiàn)了專用帶寬而非共享式數(shù)據(jù)傳輸,進(jìn)而顯著提高采集和傳輸?shù)接脖P(pán)的數(shù)據(jù)數(shù)量
現(xiàn)在,模塊儀器中最常用的數(shù)據(jù)傳輸總線包括PCI、USB、以太網(wǎng)和GPIB,但是它們都不支持真正的并行化數(shù)據(jù)傳輸模型,因?yàn)榭偩€上的設(shè)備共享總線的帶寬。如果I/O設(shè)備采集或生成的累計(jì)速率比總線可用的速率高,那么將造成數(shù)據(jù)的丟失。解決這個(gè)問(wèn)題的通常辦法是順序化地進(jìn)行測(cè)量,并且在I/O設(shè)備上集成大容量的板上存儲(chǔ)器作為緩沖區(qū),這樣在等待通信總線可用的過(guò)程中,數(shù)據(jù)就不會(huì)丟失了。
相反,PCI Express是最新的高性能數(shù)據(jù)傳輸總線,它為每個(gè)設(shè)備提供了專用的帶寬,而且提供的吞吐量比上面提到的其它商業(yè)化通信總線都要大??捎玫腜CI Express總線有x1、x4、x8和x16(發(fā)音為“乘1”,“乘4”等等)通道幾種,其中每條通道的有用吞吐量為250MB/s。x1和x4選項(xiàng)是儀器類硬件中最為常見(jiàn)的,分別實(shí)現(xiàn)了250MB/s和1GB/s(4條250MB/s的通道)的專用帶寬。
通過(guò)在背板中使用PCI Express技術(shù),可將PXI可用的帶寬從132MB/s提高到6GB/s,在帶寬方面的提高達(dá)到了45倍多,同時(shí)保持了與PXI模塊在軟件和硬件上的兼容性。PXI Express技術(shù)與PXI平臺(tái)完全整合在一起,為PXI用戶提供了每個(gè)插槽1GB/秒/方向的專用帶寬,以及工業(yè)上最高性能的時(shí)序和同步功能。
圖4.PCI Express和模塊化儀器為并行化測(cè)量提供了可調(diào)整的模型
在PXI Express模塊采集數(shù)據(jù)時(shí),它通過(guò)專用的PCI Express通道將數(shù)據(jù)從板上存儲(chǔ)器寫(xiě)入到硬盤(pán)驅(qū)動(dòng)器或者系統(tǒng)存儲(chǔ)器中。當(dāng)數(shù)據(jù)被傳輸?shù)较到y(tǒng)存儲(chǔ)器中時(shí),LabVIEW應(yīng)用程序可以訪問(wèn)數(shù)據(jù),而且如果與多核處理器配合使用,那么從信號(hào)到最后測(cè)量的并行化測(cè)量就實(shí)現(xiàn)了。
并行化測(cè)試
利用多核處理器、PCI Express總線和LabVIEW軟件,用戶可以創(chuàng)建并行化的測(cè)量系統(tǒng),它們能夠同時(shí)測(cè)試一個(gè)待測(cè)單元(UUT)。但是,并行化測(cè)試的定義是指多個(gè)待測(cè)單元同時(shí)接受測(cè)試。替代方案是順序化地測(cè)試待測(cè)單元。雖然并行化測(cè)試可以顯著地降低總體的測(cè)試時(shí)間、增加測(cè)試吞吐量,并且改進(jìn)儀器的使用方法,但是開(kāi)發(fā)并行化測(cè)試系統(tǒng)的復(fù)雜性是非常巨大的。開(kāi)發(fā)測(cè)試管理軟件以實(shí)現(xiàn)同時(shí)測(cè)試多個(gè)待測(cè)單元,需要理解底層的操作系統(tǒng)并行化工作的原理(如Windows的臨界代碼段)有所了解,不僅需要周密地考慮在多個(gè)待測(cè)單元間進(jìn)行儀器共享,而且要避免沖突或者死鎖。
從頭開(kāi)發(fā)自定義的并行化測(cè)試系統(tǒng)的替代方案是使用即時(shí)可用的測(cè)試管理軟件,如NI Teststand。該軟件使用內(nèi)建的特性,對(duì)并行化測(cè)試系統(tǒng)開(kāi)發(fā)中底層的復(fù)雜度進(jìn)行了抽象化,用于在多個(gè)線程中執(zhí)行并行化的測(cè)試序列,同時(shí)對(duì)操作系統(tǒng)和儀器資源進(jìn)行管理。另外,用戶可以使用NI Teststand Resource Profiler工具來(lái)理解儀器的使用和并行化測(cè)試系統(tǒng)的執(zhí)行,進(jìn)而降低測(cè)試時(shí)間并提高吞吐量。Resource Profiler工具可對(duì)測(cè)試系統(tǒng)執(zhí)行進(jìn)行分析,并且確定儀器的瓶頸來(lái)幫助用戶優(yōu)化測(cè)試代碼,區(qū)分未來(lái)儀器投資的優(yōu)先順序。如圖5所示,profiler工具實(shí)時(shí)顯示了儀器和其它資源的使用情況。
圖5. NI TestStand Resource Profiler工具幫助開(kāi)發(fā)者理解并行測(cè)試系統(tǒng)的執(zhí)行,進(jìn)而提高了系統(tǒng)的吞吐量
為了解釋采用并行化測(cè)試構(gòu)架的性能優(yōu)勢(shì),請(qǐng)考慮比較使用PXI平臺(tái)和傳統(tǒng)儀器來(lái)實(shí)現(xiàn)基本的WCDMA測(cè)試序列。與W-CDMA測(cè)試標(biāo)準(zhǔn)一致,基準(zhǔn)應(yīng)該包含測(cè)量(如相鄰信道功率(ACP)、占用帶寬(OBW)、補(bǔ)償累積分布函數(shù)(CCDF)和誤差向量幅度(EVM))的時(shí)間和精度。如圖6所示,在測(cè)量速度方面,基于NI TestStand、LabVIEW和PXI平臺(tái)的并行化測(cè)試平臺(tái)提供了5倍的改進(jìn)。這可以顯著地節(jié)省終端用戶的開(kāi)銷(xiāo)。需要了解更多關(guān)于基準(zhǔn)分析的信息,請(qǐng)查閱《射頻基準(zhǔn)比較白皮書(shū)》。
圖6. 相比于傳統(tǒng)儀器,基于LabVIEW、NI TestStand和PXI的NI并行化測(cè)試平臺(tái),提供了5倍的測(cè)量速度改進(jìn)和更高的精度
完成并行測(cè)試構(gòu)架
多核處理器、FPGA和PCI Express正在改變現(xiàn)代PC機(jī)的版圖,并幫助LabVIEW圖形化編程根據(jù)工程師應(yīng)用邏輯的數(shù)據(jù)流向,實(shí)現(xiàn)真正的并行化處理和并行化測(cè)量。利用NI TestStand軟件,可以完成并行化的測(cè)試構(gòu)架。具有此結(jié)構(gòu)的測(cè)試系統(tǒng)利用PCI Express提高了數(shù)據(jù)吞吐量,使用LabVIEW、多核處理器和FPGA增強(qiáng)了處理能力,最后利用NI TestStand軟件降低了每個(gè)待測(cè)單元的總體測(cè)試時(shí)間和費(fèi)用。
評(píng)論