技術(shù)白皮書:多核系統(tǒng)編程技術(shù)
本文概覽
因為NI LabVIEW是數(shù)據(jù)流編程語言,開發(fā)者們可以編寫并行的應用程序,這些應用程序可以直接映射到并行的硬件(如多核心處理器和FPGA等)上以獲得最優(yōu)異的性能。這篇白皮書討論了什么是數(shù)據(jù)流編程以及為什么說NI LabVIEW是多核系統(tǒng)編程的首選。
免費午餐結(jié)束了
近幾年來,處理器的速度遭遇到了瓶頸。摩爾定律表明,每隔18~24個月芯片中晶體管的數(shù)量就會增加一倍。這在過去的40年里始終是適用的,但是芯片性能卻不再保持線性增加了。過去,芯片生產(chǎn)廠商通過增加處理器的時鐘速度來提高芯片的性能,如從100~200MHz,再到最近的數(shù)GHz的范圍。
但是在今天,由于功耗和散熱的限制,通過提高時鐘速度來增加性能的方法行不通了。芯片廠商開始轉(zhuǎn)向另一種全新的芯片構(gòu)架,就是在單芯片上集成多個處理器內(nèi)核。相對于單核處理器,程序員們可以使用多核處理器完成更多的任務。為了充分利用多核處理器,程序員們需要重新考慮開發(fā)應用程序的方法。微軟公司的軟件設(shè)計師Herb Sutter曾說過,對于那些期望最終用戶簡單的將計算機升級到更快的處理器就可以立即看到軟件程序性能提升的開發(fā)者而言,“免費午餐結(jié)束了”。簡而言之,在相當長的一段時間里,軟件開發(fā)是這樣的,但是現(xiàn)在情況不同了。
圖1:摩爾定律表明處理器速度不能更快了,所以Intel和AMD等芯片廠商
正在轉(zhuǎn)向在單個處理器上集成多個核心的方法。
順序執(zhí)行的程序在處理器的速度提升后將得到性能的改善,將電腦升級到更快的CPU意味著一個序列中每個單獨的指令都將運行得更快。為了在多核系統(tǒng)中繼續(xù)獲得性能提升,你需要設(shè)計一個在內(nèi)核間分配任務的應用程序,從本質(zhì)上說來就是開發(fā)并行應用程序來取代順序執(zhí)行的程序。
評論