傳統(tǒng)的以處理器(CPU)為核心的計算系統(tǒng)正面臨前所未有的挑戰(zhàn)。一方面,已持續(xù)了50年的摩爾定律已明顯放緩了前進(jìn)的步伐,依賴集成電路制造技術(shù)進(jìn)步所帶來“紅利”正逐漸消失。另一方面,成指數(shù)增長的大數(shù)據(jù)應(yīng)用對計算系統(tǒng)提出了更高的存儲容量及存儲訪問的需求。具有重大創(chuàng)新的新型計算系統(tǒng)即將出現(xiàn)。
潛在的新型計算系統(tǒng)包括量子計算機、神經(jīng)網(wǎng)絡(luò)計算機、異構(gòu)計算等。其中,異構(gòu)計算以“CPU+”的形式出現(xiàn),具有較好的可行性及通用性,并能大幅提升系統(tǒng)性能和功耗效率,有望率先成熟并主導(dǎo)處理器市場。
異構(gòu)計算系統(tǒng)包括幾類形式:
1)CPU+GPU:在芯片或系統(tǒng)中集成多個CPU和圖形處理器(GPU),利用CPU運行操作系統(tǒng)和執(zhí)行串行任務(wù),用GPU處理3D圖形渲染、數(shù)學(xué)密集型計算。兩者結(jié)合,提升系統(tǒng)的性能和功耗效率。AMD、NVIDIA、IBM等企業(yè)在此領(lǐng)域投入了大量研究。很多系統(tǒng)產(chǎn)品(如天河超級計算機)集成了數(shù)量眾多的CPU芯片和GPU芯片。
2)CPU+FPGA:在芯片或系統(tǒng)中集成CPU和FPGA,以兼具計算、并行化、可重構(gòu)等優(yōu)點。Altera和Xilinx的很多產(chǎn)品都集成了ARM等CPU。Intel收購Altera之后,預(yù)計將會出現(xiàn)很多Intel CPU +Altera FPGA的產(chǎn)品。
3)CPU+ASIC:集成CPU和ASIC,能針對某些特定應(yīng)用大幅提升性能和功耗效率,不過這種產(chǎn)品的通用性不強。
異構(gòu)計算的關(guān)鍵技術(shù)包括高速互連、共享內(nèi)存的通信方式及統(tǒng)一化編程等。
CPU和GPU/FPGA之間需要高速、高帶寬的數(shù)據(jù)交互,特別是當(dāng)CPU與GPU/FPGA不在同一芯片時,高速互連尤為重要。IBM與NVIDIA合作開發(fā)了Power處理器與GPU之間的高速接口NVLink,帶寬可達(dá)40GB/s。此外,硅基光互連也是一個重要的高速互連研究方向。IBM還聯(lián)合AMD、Google等公司聯(lián)合推出了OpenCAPI總線技術(shù),以支持CPU與外部加速器的高速互連。
CPU和GPU需要有共享的統(tǒng)一尋址的內(nèi)存訪問機制來提升數(shù)據(jù)交互的能力。為此,AMD、ARM、Qualcomm等公司建立了HSA(Heterogeneous System Architecture)聯(lián)盟并設(shè)立相關(guān)技術(shù)標(biāo)準(zhǔn),使CPU和GPU能高效地協(xié)同處理。
目前的CPU、GPU、FPGA采用不同的編程語言及編程模式。為實現(xiàn)系統(tǒng)的無縫整合,還需要統(tǒng)一的編程?,F(xiàn)有的面向異構(gòu)計算的語言有OpenCL(Open Computing Language)、OpenMP、OpenACC等。這些編程方式還未得到全面的推廣,需進(jìn)一步提升其效率及普及性。
異構(gòu)系統(tǒng)已產(chǎn)生一些成功的例子。如天河一號A配備了14 336顆Intel Xeon CPU,7 168顆NVIDIA GPU,以及2 048 顆飛騰處理器。天河二號包含16 000個運算節(jié)點,每節(jié)點配備兩顆Intel Xeon CPU、三顆Xeon Phi協(xié)處理器。Xilinx的Spartan6集成了MicroBlaze嵌入式CPU及FPGA,Zynq集成了ARM Cortex-A9 CPU及FPGA。Altera的Arria V集成了ARM CPU及FPGA。Intel 的Xeon E5 2600 v4處理器據(jù)稱集成了FPGA,每瓦性能可提升70%。
“異構(gòu)計算”方興未艾,還有很多科技及產(chǎn)業(yè)的關(guān)鍵問題有待解決。希望《電子技術(shù)應(yīng)用》雜志2017年3期的“異構(gòu)計算”專欄可以起到拋磚引玉的效果,吸引學(xué)術(shù)界及產(chǎn)業(yè)屆更多的研究人員投入其中,推動異構(gòu)計算的快速發(fā)展。