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