<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 測(cè)試測(cè)量 > 設(shè)計(jì)應(yīng)用 > 通過LabVIEW圖形化開發(fā)平臺(tái)有效優(yōu)化多核處理器環(huán)境

          通過LabVIEW圖形化開發(fā)平臺(tái)有效優(yōu)化多核處理器環(huán)境

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

          圖3描述了性能隨采集數(shù)據(jù)塊大?。ㄒ圆蓸訑?shù)為單位)增大而提高的精確百分比。事實(shí)上,對(duì)于更大的數(shù)據(jù)塊,并行算法方法確實(shí)實(shí)現(xiàn)了近2倍的性能改進(jìn)。工程師們不需要?jiǎng)?chuàng)建特殊的代碼來(lái)支持多線程,在環(huán)境下,只需通過最少的編程調(diào)整,利用自動(dòng)分配每一個(gè)線程到的特性,可以方便的實(shí)現(xiàn)信號(hào)處理能力的大幅度提升,從而達(dá)到了自動(dòng)化測(cè)試應(yīng)用的性能改進(jìn)。
          程序性能的進(jìn)一步優(yōu)化
          并行的信號(hào)處理算法不僅幫助工程師提高程序性能,而且可以更清楚的劃分多個(gè)處理器核在項(xiàng)目中的不同用途。比如,將控制采樣輸入,顯示輸出和信號(hào)分析的模塊獨(dú)立分開。
          以HIL(Hareware-in-the-loop)或在線信號(hào)處理應(yīng)用為例。首先,使用高速數(shù)字化儀或高速數(shù)字I/O模塊來(lái)采集信號(hào),并在軟件中執(zhí)行數(shù)字信號(hào)處理算法。然后,通過另一個(gè)模塊化儀器生成結(jié)果。常見HIL應(yīng)用包括在線數(shù)字信號(hào)處理(如濾波、插值等等)、傳感器仿真和定制組件模擬等等。
          一般來(lái)說(shuō),HIL可以使用兩種基本的編程結(jié)構(gòu)來(lái)完成,單循環(huán)結(jié)構(gòu)和帶有隊(duì)列的流水線式多循環(huán)結(jié)構(gòu)。單循環(huán)結(jié)構(gòu)實(shí)現(xiàn)簡(jiǎn)單,對(duì)于小數(shù)據(jù)塊具有較低時(shí)延,但單循環(huán)結(jié)構(gòu)受限于各個(gè)環(huán)節(jié)的順序結(jié)構(gòu)而無(wú)法實(shí)現(xiàn)并發(fā)性,例如,由于處理器只能執(zhí)行一個(gè)函數(shù),在處理數(shù)據(jù)的同時(shí)就無(wú)法執(zhí)行儀器IO,所以單循環(huán)結(jié)構(gòu)無(wú)法有效利用多核CPU的優(yōu)勢(shì)。相比之下,多循環(huán)結(jié)構(gòu)則能夠更好的利用到,從而支持高得多的吞吐量。
          對(duì)于一項(xiàng)多循環(huán)結(jié)構(gòu)的HIL應(yīng)用來(lái)說(shuō),可以通過三個(gè)獨(dú)立的while循環(huán)和兩個(gè)隊(duì)列結(jié)構(gòu),實(shí)現(xiàn)其間的數(shù)據(jù)傳遞。在此情況下,第一個(gè)循環(huán)從儀器采集數(shù)據(jù),第二個(gè)循環(huán)專門執(zhí)行信號(hào)處理分析,而第三個(gè)循環(huán)將數(shù)據(jù)寫入到另一臺(tái)儀器。這樣的處理方式,也被稱之為流水線式信號(hào)處理(pipeline)。

          圖4.帶有多個(gè)循環(huán)與隊(duì)列結(jié)構(gòu)的流水線式信號(hào)處理。
          圖4中,最上面的循環(huán)是一個(gè)生產(chǎn)者(Producer)循環(huán),它從一個(gè)高速數(shù)字化儀采集數(shù)據(jù),并將其傳遞至第一個(gè)隊(duì)列結(jié)構(gòu)(FIFO)。中間的循環(huán)同時(shí)作為生產(chǎn)者和消費(fèi)者(Consumer)工作。每次迭代中,它從隊(duì)列結(jié)構(gòu)中接收(消費(fèi))若干個(gè)數(shù)據(jù)集,并以流水線的方式獨(dú)立為四個(gè)不同數(shù)據(jù)塊的內(nèi)容進(jìn)行7階低通濾波的處理,同時(shí)中間的循環(huán)也作為一個(gè)生產(chǎn)者工作,將處理后的數(shù)據(jù)傳遞至第二個(gè)隊(duì)列結(jié)構(gòu)。最后,最下面的循環(huán)將處理后的數(shù)據(jù)寫入至高速數(shù)字I/O模塊。于是,在多核的系統(tǒng)下, 能夠自動(dòng)地將上面的程序結(jié)構(gòu)中獨(dú)立運(yùn)行的的不同循環(huán)分配在不同的處理器上,同時(shí),還可以根據(jù)CPU的運(yùn)行情況將中間循環(huán)中四個(gè)數(shù)據(jù)塊的信號(hào)處理任務(wù)也分配在不同的處理器上,實(shí)現(xiàn)了在多核處理器環(huán)境下的性能改進(jìn)。
          并行處理算法改善了多核CPU的處理器利用率。事實(shí)上,總吞吐量取決于兩個(gè)因素,處理器利用率和總線傳輸速度。通常,CPU和數(shù)據(jù)總線在處理大數(shù)據(jù)塊時(shí)工作效率最高。而且,我們可以進(jìn)一步使用具有更快傳輸速度的PXI(PCI) Express儀器,來(lái)減小數(shù)據(jù)傳輸時(shí)間。
          利用NI強(qiáng)大的并行性計(jì)算的優(yōu)勢(shì)以及PCIe高速數(shù)據(jù)流傳輸加上Intel的多核技術(shù),在DELL的PowerEdge 2950八核處理器上,以10KHz(2.56MB/s)的速率同步采樣并處理128個(gè)通道的數(shù)據(jù),NI幫助ASDEX Tokamak――德國(guó)最先進(jìn)的核聚變裝置,完成了“不可能完成的任務(wù)”――為了保證Tokamak裝置中等離子體的高速穩(wěn)定的運(yùn)轉(zhuǎn),將其裝置外壁上的88個(gè)磁感應(yīng)器上的大量數(shù)據(jù)轉(zhuǎn)換成64*128個(gè)點(diǎn)格上的偏微分方程組,并同時(shí)在短短的1ms內(nèi)完成了整個(gè)計(jì)算過程!
          正如德國(guó)開發(fā)負(fù)責(zé)人Dr. Louis Giannone所說(shuō)的:
          “利用LabVIEW編程所完成的并行化應(yīng)用控制,我們?cè)?核機(jī)器上將速度提高了5倍,使得我們成功達(dá)到1ms閉環(huán)控制速率的要求!”。

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

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();