<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 測試測量 > 設計應用 > 利用NI LabVIEW優(yōu)化多核處理器環(huán)境下的自動(dòng)化測試

利用NI LabVIEW優(yōu)化多核處理器環(huán)境下的自動(dòng)化測試

作者: 時(shí)間:2012-07-30 來(lái)源:網(wǎng)絡(luò ) 收藏

多線(xiàn)程編程的挑戰

本文引用地址:http://dyxdggzs.com/article/193493.htm

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

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

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

“要想充分利用并行工作的處理器的威力,…軟件必須能夠處理并發(fā)性問(wèn)題。但正如任何一位編寫(xiě)過(guò)多線(xiàn)程代碼的開(kāi)發(fā)者告訴你的那樣,這是編程領(lǐng)域最艱巨的任務(wù)之一。”

幸運的是,NI 軟件,通過(guò)一個(gè)直觀(guān)的、用于創(chuàng )建并行算法的API,為我們提供了一個(gè)理想的編程,所創(chuàng )建的并行算法可以將多個(gè)線(xiàn)程動(dòng)態(tài)分配至一

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

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

實(shí)現并行測試算法

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

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

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

采集來(lái)自數字化儀的兩個(gè)通道的信號

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

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

22.jpg

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

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

33.jpg

圖3. 隨著(zhù)數據塊大小的增加,通過(guò)并行處理節約的處理時(shí)間愈為顯著(zhù)。

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

44.jpg

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

在多核處理器下,可以方便地實(shí)現自動(dòng)化測試應用的性能改進(jìn),因為您可以使用LabVIEW動(dòng)態(tài)地分配每一個(gè)線(xiàn)程。事實(shí)上,您不需要創(chuàng )建特殊的代碼以支持多線(xiàn)程,而是通過(guò)最少的編程調整,利用多核處理器來(lái)達到并行測試。

配置定制的并行測試算法

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

55.jpg

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

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

66.jpg


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>