日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當(dāng)前位置:首頁(yè) > 測(cè)試測(cè)量 > 測(cè)試測(cè)量
[導(dǎo)讀]多線程編程的挑戰(zhàn)迄今為止,處理器技術(shù)的創(chuàng)新為我們帶來(lái)了配有工作于更高時(shí)鐘速率的CPU的計(jì)算機(jī)。然而,隨著時(shí)鐘速率逼近其理論上的物理極限,人們開(kāi)始投入到具備多個(gè)處理核的新型處理器的開(kāi)發(fā)。借助這些新型多核處理

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

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

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

而且,業(yè)界專家業(yè)已認(rèn)識(shí)到,對(duì)于編程應(yīng)用,如何利用多核處理器將是一個(gè)巨大的挑戰(zhàn)。比爾×蓋茨——微軟公司的締造者——是這樣論述的:

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

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

項(xiàng)給定的應(yīng)用。事實(shí)上,您可以利用多核處理器優(yōu)化自動(dòng)化測(cè)試應(yīng)用,以獲取最佳性能。

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

實(shí)現(xiàn)并行測(cè)試算法

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

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

 

 

圖1. 利用順序執(zhí)行的LabVIEW代碼

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

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

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

圖2. 利用并行執(zhí)行的LabVIEW代碼

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

 

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

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

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

在多核處理器環(huán)境下,可以方便地實(shí)現(xiàn)自動(dòng)化測(cè)試應(yīng)用的性能改進(jìn),因?yàn)槟梢允褂肔abVIEW動(dòng)態(tài)地分配每一個(gè)線程。事實(shí)上,您不需要?jiǎng)?chuàng)建特殊的代碼以支持多線程,而是通過(guò)最少的編程調(diào)整,利用多核處理器來(lái)達(dá)到并行測(cè)試。

配置定制的并行測(cè)試算法

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

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

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

圖6. 通過(guò)這一簡(jiǎn)單步驟,您可以并行執(zhí)行多個(gè)定制的子例程,就如同標(biāo)準(zhǔn)的LabVIEW分析函數(shù)。

因此,在多核處理器環(huán)境下,您可以通過(guò)簡(jiǎn)單的編程技術(shù)實(shí)現(xiàn)您的自動(dòng)化測(cè)試應(yīng)用的性能改進(jìn)。

優(yōu)化硬件在環(huán)應(yīng)用

得益于并行信號(hào)處理技術(shù)的又一個(gè)應(yīng)用便是為同時(shí)輸入與輸出使用多個(gè)儀器。一般,這些應(yīng)用被稱為硬件在環(huán)(HIL)或在線處理應(yīng)用。在此情況下,您可以使用高速數(shù)字化儀或高速數(shù)字I/O模塊來(lái)采集信號(hào)。在您的軟件中執(zhí)行數(shù)字信號(hào)處理算法。最后,通過(guò)另一個(gè)模塊化儀器生成結(jié)果。圖7描述了一個(gè)典型的模塊框圖。

 

 

圖7. 該框圖描述了一個(gè)典型的硬件在環(huán)(HIL)應(yīng)用所包括的執(zhí)行步驟。

常見(jiàn)HIL應(yīng)用包括在線數(shù)字信號(hào)處理(如濾波、插值等)、傳感器仿真和定制組件模擬。您可以使用多種技術(shù),以獲得在線數(shù)字信號(hào)處理應(yīng)用的最佳吞吐量。

通常,您可以使用兩種基本的編程結(jié)構(gòu),單循環(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)能夠支持高得多的吞吐量,因?yàn)樗鼈兡軌蚋玫乩枚嗪颂幚砥鳌?/p>

對(duì)于傳統(tǒng)的單循環(huán)方式,您順次組織一個(gè)高速數(shù)字化儀的讀函數(shù)、信

號(hào)處理算法和高速數(shù)字I/O的寫函數(shù)。如圖8的模塊框圖所示,這些子例程中的每一個(gè)都必須按照LabVIEW編程模型所確定的順序執(zhí)行。

圖8. 對(duì)于LabVIEW的單循環(huán)方式,每個(gè)子例程都必須順次執(zhí)行。

單循環(huán)結(jié)構(gòu)受限于幾個(gè)因素。由于順序執(zhí)行每一環(huán)節(jié),處理器在處理數(shù)據(jù)的同時(shí)受限,無(wú)法執(zhí)行儀器I/O。在這種方式下,由于處理器一次只能執(zhí)行一個(gè)函數(shù),所以您無(wú)法有效利用一個(gè)多核CPU。雖然單循環(huán)結(jié)構(gòu)可以處理較低的采集速率,但是,如需更高的數(shù)據(jù)吞吐量,仍須采用多循環(huán)方式。

多循環(huán)架構(gòu)使用隊(duì)列結(jié)構(gòu)實(shí)現(xiàn)while循環(huán)間的數(shù)據(jù)傳遞。圖9描述了多個(gè)while循環(huán)(帶有一個(gè)隊(duì)列結(jié)構(gòu))間的編程方式。

圖9. 借助隊(duì)列結(jié)構(gòu),可以實(shí)現(xiàn)多個(gè)循環(huán)間的數(shù)據(jù)共享。

圖9所表示的是典型的所謂生產(chǎn)者/消費(fèi)者循環(huán)結(jié)構(gòu)。在此例中,一個(gè)高速數(shù)字化儀在一個(gè)循環(huán)中持續(xù)采集數(shù)據(jù),并在每次迭代中將新的數(shù)據(jù)集傳遞至FIFO隊(duì)列。消費(fèi)者循環(huán)僅需監(jiān)視隊(duì)列的狀態(tài),當(dāng)每個(gè)數(shù)據(jù)集可用時(shí)將其寫入磁盤。采用隊(duì)列的意義在于這兩個(gè)循環(huán)均可相互獨(dú)立執(zhí)行。在上例中,高速數(shù)字化儀可以持續(xù)采集數(shù)據(jù),即使這些數(shù)據(jù)寫入磁盤時(shí)存在一定的延遲。與此同時(shí),其它的采樣僅需存儲(chǔ)在FIFO隊(duì)列中。通常來(lái)說(shuō),生產(chǎn)者/消費(fèi)者流水線方法,通過(guò)更有效的處理器利用率,提供更高的數(shù)據(jù)吞吐量。這一技術(shù)優(yōu)勢(shì)在多核處理器環(huán)境下更為顯著,因?yàn)長(zhǎng)abVIEW可以動(dòng)態(tài)分配處理器線程至每個(gè)處理器核。

對(duì)于一項(xiàng)在線信號(hào)處理應(yīng)用,您可以使用三個(gè)獨(dú)立的while循環(huán)和兩個(gè)隊(duì)列結(jié)構(gòu),實(shí)現(xiàn)其間的數(shù)據(jù)傳遞。在此應(yīng)用情況下,一個(gè)循環(huán)將從一臺(tái)儀器采集數(shù)據(jù),一個(gè)循環(huán)將專門執(zhí)行信號(hào)處理,而第三個(gè)循環(huán)將數(shù)據(jù)寫入到另一臺(tái)儀器。

圖10. 該模塊框圖描述了帶有多個(gè)循環(huán)與隊(duì)列結(jié)構(gòu)的流水線式信號(hào)處理。

圖10中,最上面的循環(huán)是一個(gè)生產(chǎn)者循環(huán),它從一個(gè)高速數(shù)字化儀采集數(shù)據(jù),并將其傳遞至第一個(gè)隊(duì)列結(jié)構(gòu)(FIFO)。中間的循環(huán)同時(shí)作為生產(chǎn)者和消費(fèi)者工作。每次迭代中,它從隊(duì)列結(jié)構(gòu)中接收(消費(fèi))若干個(gè)數(shù)據(jù)集,并以流水線的方式獨(dú)立對(duì)其進(jìn)行處理。這種流水線方式通過(guò)支持高達(dá)四個(gè)數(shù)據(jù)集的獨(dú)立處理,實(shí)現(xiàn)了在多核處理器環(huán)境下的性能改進(jìn)。注意,中間的循環(huán)同時(shí)也作為一個(gè)生產(chǎn)者工作,將處理后的數(shù)據(jù)傳遞至第二個(gè)隊(duì)列結(jié)構(gòu)。最后,最下面的循環(huán)將處理后的數(shù)據(jù)寫入至高速數(shù)字I/O模塊。

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

圖11. 多循環(huán)結(jié)構(gòu)提供比單循環(huán)結(jié)構(gòu)高得多的吞吐量。

圖11描述了最大吞吐量和采樣率的關(guān)系,采樣數(shù)據(jù)塊大小以采樣點(diǎn)數(shù)來(lái)計(jì)算。此處所描述的所有標(biāo)定都是圍繞16位采樣進(jìn)行的。此外,所采用的信號(hào)處理算法為一個(gè)截止頻率為采樣率的0.45倍的7階巴特沃茲低通濾波器。如數(shù)據(jù)顯示,您可以在4階流水線式(多循環(huán))方式下達(dá)到最大數(shù)據(jù)吞吐量。注意,2階信號(hào)處理方式獲得了比單循環(huán)方式(順序)更好的性能,但其CPU的利用率低于4階方式。上面所列的采樣率均為NI PXIe-5122高速數(shù)字化儀和NI PXIe-6537高速數(shù)字I/O模塊的輸入和輸出的最大采樣率。注意,當(dāng)采樣率為20 MS/s時(shí),應(yīng)用總線的輸入和輸出的數(shù)據(jù)傳輸率均為40 MB/s,所以總的總線帶寬為80 MB/s。

而且,應(yīng)當(dāng)考慮的是,流水線式處理方式在輸入與輸出之間確實(shí)引入了時(shí)延。所引入的時(shí)延取決于幾個(gè)因素,包括數(shù)據(jù)塊的大小和采樣率。下面的表1和表2比較了單循環(huán)和4階多循環(huán)架構(gòu)中的實(shí)測(cè)時(shí)延隨數(shù)據(jù)塊大小和最大采樣率的變化情況。

表1和2. 這兩個(gè)表格描述了單循環(huán)和4階流水線的時(shí)延。

如您所推測(cè),當(dāng)CPU的使用率接近100%時(shí)時(shí)延也隨之增加。這一點(diǎn)在采樣率為20 MS/s的4階流水線范例中尤為明顯。相比之下,任何一個(gè)單循環(huán)范例的CPU使用率都幾乎不會(huì)超過(guò)50%。

總結(jié)

基于PC的儀器系統(tǒng),如PXI和PXI Express模塊化儀器,從多核處理器技術(shù)的進(jìn)步和數(shù)據(jù)總線速度的提高中獲益匪淺。當(dāng)新型CPU通過(guò)添加多個(gè)處理核改進(jìn)性能時(shí),并行或流水線式處理結(jié)構(gòu)在最大化CPU效率時(shí)是必須的。幸運(yùn)的是,LabVIEW通過(guò)將需要處理的任務(wù)動(dòng)態(tài)分配至每個(gè)處理核,解決了這一編程難題。如上所述,您可以通過(guò)將LabVIEW算法結(jié)構(gòu)化以利用并行處理,實(shí)現(xiàn)性能的顯著提高。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

深圳2025年8月12日 /美通社/ -- 全球消費(fèi)電子行業(yè)領(lǐng)導(dǎo)者、Mini LED和超大屏[1]電視銷量全球第一的TCL欣然宣布,公司將參加9月5日至9日在柏林舉辦的2025年德國(guó)柏林消費(fèi)電子展(IFA 2025)。作...

關(guān)鍵字: TCL 消費(fèi)電子展 NI 大屏

北京2025年8月11日 /美通社/ -- 2025年8月8日,由紫光漢圖舉辦的 "雙引擎?印未來(lái)"紫光打印機(jī)新品發(fā)布會(huì)正式在北京通明湖會(huì)展中心舉行。 工業(yè)和信息化部電子信息司電子系統(tǒng)處領(lǐng)導(dǎo)、中國(guó)電...

關(guān)鍵字: 打印機(jī) 紫光 NI 核心技術(shù)

加快開(kāi)發(fā)進(jìn)程;提升質(zhì)量、安全性、性能與成本效益 利用耐世特在底盤領(lǐng)域的專業(yè)知識(shí)和線控技術(shù)產(chǎn)品組合 美國(guó)密西根州奧本山2025年8月11日 /美通社/ --?耐...

關(guān)鍵字: MOTION 軟件 運(yùn)動(dòng)控制 NI

-Cognizant正在籌辦全球最大規(guī)模的氛圍編程活動(dòng),以提升數(shù)千名員工的AI素養(yǎng) 為抓住人工智能經(jīng)濟(jì)將創(chuàng)造的巨大機(jī)遇,Cognizant與Lovable、Windsurf、Cursor、Gemini Code Ass...

關(guān)鍵字: 編程 NI AN PI

-Cognizant推出AI Training Data Services,助力企業(yè)級(jí)AI模型加速開(kāi)發(fā) Cognizant是數(shù)據(jù)與AI模型訓(xùn)練合作伙伴,長(zhǎng)期深受大型數(shù)字原生先鋒企業(yè)信賴,助力其訓(xùn)練全球最先進(jìn)的AI/機(jī)器...

關(guān)鍵字: NI AN AI模型 SERVICES

葡萄牙波爾圖2025年7月31日 /美通社/ -- 全球領(lǐng)先的新一代制造執(zhí)行系統(tǒng)供應(yīng)商凱睿德制造宣布收購(gòu)專注于高科技制造圖像分析的AI專家公司 Convanit。本次收購(gòu)是擴(kuò)展凱睿德制造數(shù)據(jù)平臺(tái)能力的重要一步,將助力客戶...

關(guān)鍵字: 智能制造 圖像分析 NI AN

2025年,該實(shí)驗(yàn)室已新獲兩項(xiàng)美國(guó)授權(quán)專利,開(kāi)源了一個(gè)關(guān)鍵AI開(kāi)發(fā)平臺(tái),并贏得了GECCO金獎(jiǎng) 新澤西州提內(nèi)克2025年7月25日 /美通社/ -- Cognizant(Nasdaq:CTSH)今日宣布,其AI實(shí)驗(yàn)室新...

關(guān)鍵字: AI NI AN BSP

在嵌入式系統(tǒng)和大型軟件項(xiàng)目的開(kāi)發(fā)中,跨平臺(tái)編譯工具鏈的效率直接影響開(kāi)發(fā)迭代速度。本文深入探討CMake與Makefile在多核處理器環(huán)境下的優(yōu)化策略,結(jié)合實(shí)際項(xiàng)目數(shù)據(jù)(某工業(yè)控制系統(tǒng)編譯時(shí)間從12分鐘優(yōu)化至3.2分鐘),...

關(guān)鍵字: CMake Makefile 多核處理器 跨平臺(tái)編譯

上海2025年6月30日 /美通社/ -- 6月30日,文心大模型正式開(kāi)源,黑芝麻智能即日起快速啟動(dòng)與文心大模型技術(shù)合作。 黑芝麻智能將基于文心大模型,打造行業(yè)領(lǐng)先的車端推理引擎,為企業(yè)、開(kāi)發(fā)者提供真正可用、好用、可落...

關(guān)鍵字: 模型 NI 開(kāi)源 多模

與英偉達(dá)的技術(shù)合作致力加速生產(chǎn)制造的數(shù)字化轉(zhuǎn)型 舍弗勒全球工廠將通過(guò)AI解決方案的應(yīng)用加速制造工藝的革新,并提升產(chǎn)品質(zhì)量 舍弗勒憑借數(shù)十年在制造領(lǐng)域的技術(shù)積累,推動(dòng)工業(yè)元宇宙持續(xù)發(fā)展 巴黎和赫...

關(guān)鍵字: 數(shù)字化 英偉達(dá) SE NI
關(guān)閉