新聞中心

        EEPW首頁 > 測試測量 > 設計應用 > 通過LabVIEW圖形化開發平臺有效優化多核處理器環境下的信號處理性能

        通過LabVIEW圖形化開發平臺有效優化多核處理器環境下的信號處理性能

        作者:NI中國技術市場工程師 湯敏&倪斌 時間:2010-07-13 來源:電子產品世界 收藏

          程序性能的進一步優化

        本文引用地址:http://www.104case.com/article/110843.htm

          并行的信號處理算法不僅幫助工程師提高程序性能,而且可以更清楚的劃分多個處理器核在項目中的不同用途。比如,將控制采樣輸入,顯示輸出和信號分析的模塊獨立分開。

          以HIL(Hareware-in-the-loop)或在線信號處理應用為例。首先,使用高速數字化儀或高速數字I/O模塊來采集信號,并在軟件中執行數字信號處理算法。然后,通過另一個模塊化儀器生成結果。常見HIL應用包括在線數字信號處理(如濾波、插值等等)、傳感器仿真和定制組件模擬等等。

          一般來說,HIL可以使用兩種基本的編程結構來完成,單循環結構和帶有隊列的流水線式多循環結構。單循環結構實現簡單,對于小數據塊具有較低時延,但單循環結構受限于各個環節的順序結構而無法實現并發性,例如,由于處理器只能執行一個函數,在處理數據的同時就無法執行儀器IO,所以單循環結構無法有效利用多核CPU的優勢。相比之下,多循環結構則能夠更好的利用到,從而支持高得多的吞吐量。

          對于一項多循環結構的HIL應用來說,可以通過三個獨立的while循環和兩個隊列結構,實現其間的數據傳遞。在此情況下,第一個循環從儀器采集數據,第二個循環專門執行信號處理分析,而第三個循環將數據寫入到另一臺儀器。這樣的處理方式,也被稱之為流水線式信號處理(pipeline)。

          圖4.帶有多個循環與隊列結構的流水線式信號處理。

          圖4中,最上面的循環是一個生產者(Producer)循環,它從一個高速數字化儀采集數據,并將其傳遞至第一個隊列結構(FIFO)。中間的循環同時作為生產者和消費者(Consumer)工作。每次迭代中,它從隊列結構中接收(消費)若干個數據集,并以流水線的方式獨立為四個不同數據塊的內容進行7階低通濾波的處理,同時中間的循環也作為一個生產者工作,將處理后的數據傳遞至第二個隊列結構。最后,最下面的循環將處理后的數據寫入至高速數字I/O模塊。于是,在多核的系統下, 能夠自動地將上面的程序結構中獨立運行的的不同循環分配在不同的處理器上,同時,還可以根據CPU的運行情況將中間循環中四個數據塊的信號處理任務也分配在不同的處理器上,實現了在環境下的性能改進。

          并行處理算法改善了多核CPU的處理器利用率。事實上,總吞吐量取決于兩個因素,處理器利用率和總線傳輸速度。通常,CPU和數據總線在處理大數據塊時工作效率最高。而且,我們可以進一步使用具有更快傳輸速度的PXI(PCI) Express儀器,來減小數據傳輸時間。

          利用強大的并行性計算的優勢以及PCIe高速數據流傳輸加上Intel的多核技術,在DELL的PowerEdge 2950八核處理器上,以10KHz(2.56MB/s)的速率同步采樣并處理128個通道的數據,幫助ASDEX Tokamak——德國最先進的核聚變裝置,完成了“不可能完成的任務”——為了保證Tokamak裝置中等離子體的高速穩定的運轉,將其裝置外壁上的88個磁感應器上的大量數據轉換成64*128個點格上的偏微分方程組,并同時在短短的1ms內完成了整個計算過程!

          正如德國開發負責人Dr. Louis Giannone所說的:

          “利用編程所完成的并行化應用控制,我們在8核機器上將速度提高了5倍,使得我們成功達到1ms閉環控制速率的要求!”。


        上一頁 1 2 3 下一頁

        關鍵詞: NI LabVIEW 多核處理器

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 佛坪县| 周宁县| 玉山县| 阳江市| 吉林市| 吉安县| 青浦区| 辽阳县| 同仁县| 华池县| 通江县| 江陵县| 朔州市| 旬阳县| 淳安县| 海淀区| 保康县| 新平| 德安县| 阿勒泰市| 宣城市| 凤山县| 台中市| 习水县| 阿拉善盟| 鄢陵县| 沅江市| 雷山县| 延庆县| 扎兰屯市| 莲花县| 太和县| 邓州市| 宜黄县| 大埔县| 长垣县| 双鸭山市| 康平县| 永靖县| 洪雅县| 利川市|