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