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