久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 利用NI LabVIEW優化多核處理器環境下的自動化測試應用

利用NI LabVIEW優化多核處理器環境下的自動化測試應用

作者: 時間:2012-07-17 來源:網絡 收藏

  多線程編程的挑戰

  迄今為止,處理器技術的創新為我們帶來了配有工作于更高時鐘速率的CPU計算機。然而,隨著時鐘速率逼近其理論上的物理極限,人們開始投入到具備多個處理核的新型處理器的開發。借助這些新型,工程師們在應用開發中利用并行編程技術,可以實現最佳的性能和最大的吞吐量。愛德華×李博士——加州大學伯克利分校電氣與計算機工程教授——闡述了并行處理的技術優勢。

  “許多技術專家預言,對于摩爾定律的終結回應,將是日趨并行的計算機架構。如果我們希望繼續提高計算性能,計算機程序必須能夠利用這種并行機制。”

  而且,業界專家業已認識到,對于編程應用,如何利用將是一個巨大的挑戰。比爾×蓋茨——微軟公司的締造者——是這樣論述的:

  “要想充分利用并行工作的處理器的威力,…軟件必須能夠處理并發性問題。但正如任何一位編寫過多線程代碼的開發者告訴你的那樣,這是編程領域最艱巨的任務之一。”

  幸運的是,NI 軟件,通過一個直觀的、用于創建并行算法的API,為我們提供了一個理想的編程環境,所創建的并行算法可以將多個線程動態分配至一

項給定的應用。事實上,您可以利用多核處理器優化應用,以獲取最佳性能。

  而且, PXI Express的模塊化儀器增強了這一技術優勢,因為這些儀器利用了PCI Express總線所能支持的高數據傳輸速率。得益于多核處理器和PXI Express儀器的兩個具體應用是:多通道信號分析和在線處理(硬件在環)。在此白皮書中,我們將評估各種并行編程技術,并描述每項技術所帶來的性能優勢。

  實現并行測試算法

  一項常見的得益于并行處理的應用便是多通道信號分析。由于頻率分析是一項占用處理器運行時間較多的操作,您可以并行運行測試代碼,將每個通道的信號處理分配至多個處理器核,提高執行速度。從編程人員的角度來看,為獲得這一技術優勢,唯一需要改變的只是測試算法結構的細微調整。

  為描述這一過程,現比較用于多通道頻率分析(快速傅立葉變換或FFT)的兩個算法的執行時間,它們分別位于一個高速數字化儀的兩個通道上。NI PXIe-5122 14-位高速數字化儀的兩個通道均以最高采樣率(100 MS/s)采集信號。首先,我們察看中對應于這一操作的傳統順序編程模型。

  圖1. 利用順序執行的代碼

  采集來自數字化儀的兩個通道的信號

  圖1中,兩個通道的頻率分析均在一個FFT快速VI中完成,它順序分析每個通道信號。雖然上述算法也可以在多核處理器環境下有效執行,但是,您還可以通過并行處理每個通道來進一步提高算法性能。

  如果您剖析上述算法,就會發現完成FFT所需的時間要比從高速數字化儀采集數據長得多。通過每次獲取各個通道的數據并且并行執行各個通道的FFT,可以顯著降低處理時間。圖2表示了一個采用并行方法的新的LabVIEW模塊框圖。

利用并行執行的LabVIEW代碼

  圖2. 利用并行執行的LabVIEW代碼

  順序獲取數字化儀的每個通道的數據。值得注意的是如果兩次數據獲取均來自不同的儀器,那么您可以徹底并行完成這些操作。然而,由于FFT占用大量的處理器時間,您仍可以僅通過將信號并行處理來改善性能,減少了總的執行時間。圖3顯示了兩種實現的執行時間:

隨著數據塊大小的增加

  圖3. 隨著數據塊大小的增加,通過并行處理節約的處理時間愈為顯著。

  事實上,對于更大的數據塊,并行算法方法實現了近2倍的性能改進。圖4描述了性能隨采集數據塊大小(以采樣數為單位)增大而提高的精確百分比。

  圖4. 對于大于1百萬采樣(100 Hz精度帶寬)的數據塊,并行方式實現了80%或更高的性能增長。

  在多核處理器環境下,可以方便地實現自動化測試應用的性能改進,因為您可以使用LabVIEW動態地分配每一個線程。事實上,您不需要創建特殊的代碼以支持多線程,而是通過最少的編程調整,利用多核處理器來達到并行測試。

  配置定制的并行測試算法

  并行信號處理算法幫助LabVIEW在多個處理器核中劃分處理器的用途。圖5按順序描述了CPU處理算法每一部分。

LabVIEW能夠并行處理許多采集數據

  圖5. LabVIEW能夠并行處理許多采集數據,從而節省了執行時間。

  并行處理要求LabVIEW拷貝(或克隆)每個信號處理子例程。缺省情況下,LabVIEW的許多信號處理算法配置為“可重入執行”。這就意味著LabVIEW將動態分配給每個子例程唯一的實例,包括獨立線程和存儲空間。因而,您必須將定制的子例程的配置,工作于可重入方式。您可以通過LabVIEW中一個簡單的配置步驟完成這一工作。欲設置這一屬性,選擇文件菜單下VI屬性并選中“執行”欄;然后,選中“可重入執行”標記(如圖6所示)。

通過這一簡單步驟

  圖6. 通過這一簡單步驟,您可以并行執行多個定制的子例程,就如同標準的LabVIEW分析函數。


上一頁 1 2 3 下一頁

評論


相關推薦

技術專區

關閉