新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 通過LabVIEW優(yōu)化多核處理器環(huán)境下信號處理性能

通過LabVIEW優(yōu)化多核處理器環(huán)境下信號處理性能

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


程序性能的進一步優(yōu)化

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

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

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

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

newmaker.com
圖4.帶有多個循環(huán)與隊列結構的流水線式信號處理

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

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

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

正如德國開發(fā)負責人Dr. Louis Giannone所說的:
“利用編程所完成的并行化應用控制,我們在8核機器上將速度提高了5倍,使得我們成功達到1ms閉環(huán)控制速率的要求!”。

上一頁 1 2 下一頁

評論


相關推薦

技術專區(qū)

關閉