借助labview應對多核編程的挑戰(zhàn)_第1頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、借助 LabVIEW 應對多核編程的本文列舉了多核編程開發(fā)們所的,并且著重介紹了 NI 公司 LabVIEW 圖形化編程環(huán)境的特點,它使工程師與科學家們能夠以更簡便的方式迚行多核編程。具體說來,本文主要介紹了設計并行化應用程序構架、處理線程同步和調試多核程序等內容。多核技術的未來在過去幾年,處理器制造商們一直通過單純地提高時鐘頻率來提高 CPU 性能。然而近年來,處理器技術的最新趨勢變?yōu)榱说暮?。也就是說處理器制造商們正在把若干個 CPU 封裝在一塊上。除了目前已經相對成雙核與四核處理器, el 公司甚至已宣稱將在五年內推出 80 核的處理器!圖 1 CEO Paul O lini 展示了英特爾

2、公司的 80 核處理器原型(提供)似乎這種運算性能的無限讓可以運行最復雜的應用程序這聽起來真是令人興奮。同時,利用這種性能的巨大,您可以想像一下現有的程序將運行得多快!你也許會懷疑這種事情并不會這么簡單吧?那么你猜對了,事實上確實如此。在多核處理器上開發(fā)程序要比在單核處理器上要得多。雖然多個應用程序可以方便地運行在不同處理器上,但是程序員們必須非常謹慎地編寫程序代碼,以有效利用多核技術。這意味著,在現今的多核處理器上運行現有應用程序,性能幾乎不會得到,即使有性能也是很小的。開發(fā)并行化代碼編寫并行程序的首要就是,確定程序中哪些部分能夠并行地執(zhí)行,然后通過代碼予以實現。這些可以并行執(zhí)行的代碼稱為線

3、程。因此,整個并行程序也被稱為多線程應用程序。對于傳統(tǒng)的基于文本編程的程序員來講,他們需要在應用程序中使用諸如 OpenMP 或IX 等 API,來明確定義這些線程。這是因為基于文本的編程方式原本是串行執(zhí)行的,所以要對并行的多線程代碼予以形象的表述是十分的。另一方面,利用 NI LabVIEW 的圖形化特點,程序員們可以很容易地編寫和表述并行程序代碼。不僅如此,LabVIEW 還可以為代碼中的并行部分自動生成線程,這個優(yōu)點可以很好地幫助相對缺少或者沒有編程背景的工程師和科學家們將時間用在解決實際問題中,而無需關注應用程序的底層實現。圖 2 LabVIEW 和基于文本語言的多線程編程對比線程同步

4、其次,多核編程的第二個就是線程同步。當某個應用程序中有成千上百個線程在運行時,須確保所有線程都能夠協(xié)調地工作。例如 ,如果兩個或兩個以上的線程在同一時間企圖同一個內存地址,那么將會發(fā)生數據。顯然,在應用程序中識別可能產生的代碼是一項艱巨的任務。但是,通過在 LabVIEW 中以圖形化的方式創(chuàng)建程序框圖,您可以迅速開始實現具體的任務,將構想變?yōu)楝F實,而無需考慮線程同步。圖 2 給出的 LabVIEW 程序中,兩個并行的圖形化代碼段在寫入文件時都需要訪問硬盤,而 LabVIEW 可以自動地處理這兩個線程的同步。圖 3 LabVIEW 中的自動線程同步功能的簡單展示調試大多數的程序在第一次運行時都無

5、法按照開發(fā)者所想地來運行。這種情冴無論對于基于單核還是多核編寫的應用程序來說都是一樣。為了在邏輯上確定代碼段中的功能性錯誤,用戶必須在開發(fā)環(huán)境中利用有效的調試工具來確保應用程序執(zhí)行正確。對于多核程序來說,調試必然帶來了更大的:您不僅需要同時多段代碼的運行,還需要確定每段代碼在哪個核上運行。除此以外,如果您經常編寫多線程應用程序,還需要處理線程交換和線程饑餓等問題,這些都是需要在調試階段確定的。LabVIEW 中則包含了若干可以極大簡化多核程序調試復雜性的特性。具體而言,您可以利用化執(zhí)行工具,將程序并行化執(zhí)行的過程快速而簡單地以圖形化的方式迚行顯示(這是由于 LabVIEW 本質上是基于數據流的)。例如圖 3 中的簡單應用程序,在打開式顯示出來?;瘓?zhí)行功能后,您可以容易地將并行代碼的執(zhí)行過程以圖形化的方圖 4 在 LabVIEW 開發(fā)環(huán)境中對代碼運行迚行圖形化執(zhí)行此外,LabVIEW 實時模塊同時還提供了在多核處理器上迚行確定性執(zhí)行的能力以及更細致的調試功能。作為 LabVIEW 的新成員,Real-Time Execution Trace Toolkit 允許程序員們以圖形化的方式顯示指定線程是在哪個核上運行的,從而迅速確定線程饑餓和交換等問題。圖 5 LabVIEW 8.5 執(zhí)行工具包總結總而言乊,熟悉多

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論