異構(gòu)/可重構(gòu)計算:國產(chǎn)芯挑戰(zhàn)Intel的大招?
掃描二維碼
隨時隨地手機看文章
在傳統(tǒng)CPU以外,現(xiàn)在業(yè)界又興起了可重構(gòu)計算的風(fēng)潮。近期Intel便與清華簽訂了合作協(xié)議,號稱將結(jié)合Intel在處理器上的優(yōu)勢與清華在可重構(gòu)計算上的前沿成果研發(fā)下一代芯片,并共享知識產(chǎn)權(quán)。而前陣子又有號稱全球首款完全支持異構(gòu)系統(tǒng)架構(gòu)的“華夏芯”橫空出世,一時間異構(gòu)計算和可重構(gòu)計算的概念讓人眼花繚亂。在國產(chǎn)芯加速前進的背景下,異構(gòu)計算和可重構(gòu)計算會是國產(chǎn)芯的機會嗎?
通用計算與可重構(gòu)/異構(gòu)計算的聯(lián)系和區(qū)別
要想看清楚新概念,就要先明了老概念。可重構(gòu)/異構(gòu)計算到底新穎在哪里,要首先看看它們的同伴“通用計算”。
所謂通用計算,就是追求普適性的覆蓋面。在這個理念下誕生的芯片從功能上來講擁有最廣闊的適用范圍,最典型的例子就是今天的中央處理器(CPU)芯片,絕大多數(shù)應(yīng)用程序的絕大部分功能依賴于它。
一般來說,CPU的設(shè)計是面向所有應(yīng)用,評估CPU的性能指標時通常需要選取門類龐雜的各種測試程序,同時只為極少的重點應(yīng)用加上一定程度的專門優(yōu)化,例如時下熱門的加密解密,視音頻編解碼等等。
與通用計算相對的就是專用計算,專門針對一些場合進行專門優(yōu)化,性能/功耗等指標通常比通用CPU有數(shù)量級的提高,但是適用面很窄,在規(guī)定的適用面以外就遠遠落后于CPU。
通用和專用的關(guān)系就如同什么都懂一些但是基本上什么都不精的“通才”,和在個別領(lǐng)域鉆研極深但是其他領(lǐng)域幾乎一無所知的“偏才”。
在CPU的技術(shù)指標增長逐步放緩的今天,若要提供更好的表現(xiàn),一個直觀的點子就是物盡其用,讓“偏才”處理它最擅長的事情,并招來多種專長不同的“偏才”來照顧多種重點事務(wù),其他事情則交給“通才”去完成。一個系統(tǒng)里面存在一個“通才”和多種“偏才”,這就是異構(gòu)計算,是通用計算和專用計算的“合體進化“。
那么可重構(gòu)計算是什么?讓芯片擁有重構(gòu)自身的能力,從而能像干細胞一樣一身才藝,能夠適應(yīng)各種不同場合的需要,這就是可重構(gòu)計算。
這一概念的歷史至少可以追溯到上世紀80年代,xilinx設(shè)計出第一塊基于SRAM的可重構(gòu)芯片的時候。這種芯片里面的基本器件和線路上都配置了大量的開關(guān),這些開關(guān)的關(guān)斷由與之相連的SRAM單元來控制,只要往這些SRAM單元里面寫入0和1就能控制這些組件的開關(guān)和連通,從而像搭積木一樣在原來不存在計算部件的地方拼出大量按需定制的計算部件,使得計算性能產(chǎn)生爆發(fā)性的變化。這種芯片被稱為FPGA,被廣泛用于CPU流片前的驗證工作。
那么可重構(gòu)計算和通用計算/專用計算又是什么關(guān)系呢?看上去可重構(gòu)計算可以替代通用計算,實則不然。由于FPGA芯片底層實現(xiàn)方式的限制,這種由SRAM控制組織結(jié)構(gòu)的做法在性能上遠遠落后基于ASIC的CPU,只有在一些特定場合下,F(xiàn)PGA才能夠?qū)崿F(xiàn)反超,因此,可重構(gòu)計算便落入了專用計算的范疇,與異構(gòu)計算同列。它和異構(gòu)計算雖然起源不同,但是二者眼下的目標在很大程度上是重疊的,也就是,從傳統(tǒng)通用計算的霸主——CPU嘴里搶食。
群雄割據(jù)的亂局:通用碰撞專用,CPU碰撞加速器/FPGA
眾所周知,Intel在CPU上的優(yōu)勢已經(jīng)形成事實上的壟斷,x86指令集授權(quán)和Intel的技術(shù)優(yōu)勢讓其他公司已經(jīng)很難染指CPU市場。而大家瞄準的突破口,就在專用計算上。
作為被Intel常年壓制的公司,AMD對異構(gòu)計算的推動尤其熱心,不僅早早地將自己旗下的CPU產(chǎn)品重命名成APU(有直譯作加速處理器,也有意譯作融合處理器),而且還成立了一個HSA(異構(gòu)系統(tǒng)架構(gòu))基金會,拉了ARM、Imagination、聯(lián)發(fā)科、德州儀器、三星、聯(lián)發(fā)科等眾多一線大廠一同上陣,主推一個叫做OpenCL的異構(gòu)編程框架。
光從這一局部態(tài)勢來看,應(yīng)該稱贊AMD下了一步好棋,但是AMD還有另外一個競爭對手NVIDIA。NVIDIA的主營業(yè)務(wù)GPU,是異構(gòu)計算這桿大旗下呼聲最高的異構(gòu)處理部件。也是對CPU地位威脅最大的,以至于在異構(gòu)計算這個大概念下還催生了些個附屬的小概念如“GPU計算”、“GPU編程”,早幾年GPU計算還比較新奇的時候,還發(fā)生過Intel惱怒于NVIDIA肆意鼓吹GPU的并行優(yōu)勢,公開發(fā)文撕逼的事情。盡管Intel一直在提高CPU的SIMD能力、從而壓縮GPU的性能優(yōu)勢,但是迄今為止頂尖GPU在實踐中對付頂尖CPU仍然能取得2-3倍或者更高的性能。NVIDIA為自家的GPU打造了另一個異構(gòu)編程框架CUDA,專門與OpenCL唱對臺戲,而且呼聲更高,至少在高性能計算領(lǐng)域已經(jīng)形成了對OpenCL的壓制態(tài)勢。
這么一看,是AMD螳螂捕蟬,NVIDIA黃雀在后,然而,還有彈丸在其下。前面提到,F(xiàn)PGA也被證明在一些專門領(lǐng)域具備對CPU的性能優(yōu)勢,而FPGA取得性能優(yōu)勢的領(lǐng)域也多是并行性比較好的,這也剛好是GPU的長處,這就與GPU打架了。例如微軟等公司就已經(jīng)為自己的數(shù)據(jù)中心加上了FPGA,使用OpenCL進行編程,這樣一來GPU又面臨著被挖墻腳的窘境。
瞄準可重構(gòu)/異構(gòu)領(lǐng)域的國產(chǎn)芯能殺得進去嗎?
可以肯定的是,異構(gòu)計算/可重構(gòu)計算是當前的一個技術(shù)熱點,無論在學(xué)術(shù)研究上還是在工業(yè)實踐上都是如此,其市場空間是有的。但是國產(chǎn)芯能從中收獲多少,筆者抱持比較悲觀的態(tài)度。
從格局上來講,專用計算主要弱點是應(yīng)用場合有限,且GPU和FPGA存在互相競爭。Intel現(xiàn)有的處理器可以在除了低功耗以外幾乎任意場合下提供不錯的性能,而可重構(gòu)/異構(gòu)計算的介入只是在一部分特定業(yè)務(wù)上再提供大幅加速 —— 這個應(yīng)用范圍就決定了可重構(gòu)/異構(gòu)計算不可能替代中央處理器現(xiàn)有的角色,而只是一些特定場合下的附庸,Intel的地位仍然無人能動搖。因此,對于芯片自給率從30%提升至70%的國家戰(zhàn)略目標來講,可重構(gòu)/異構(gòu)計算可以是其中漂亮的一塊拼圖,但是絕對無法擔(dān)主梁。
從商業(yè)上來講,可重構(gòu)/異構(gòu)計算的市場空間正在進一步被Intel壓縮。Intel已經(jīng)于去年年底完成了對FPGA雙巨頭之一Altera的167億美元收購,據(jù)報道內(nèi)建FPGA模塊的新型xeon志強服務(wù)器處理器會在今年一季度面世,以Intel + Altera雙強聯(lián)合的體量來說,可重構(gòu)市場的市場份額絕大部分肯定不容旁落,除非Intel在定價或者出貨時間等問題上出現(xiàn)重大紕漏,國內(nèi)新興的這些尚處在襁褓期的可重構(gòu)計算公司將被迫在夾縫中求生存,這些公司的前景如何,很大程度上是受到Intel間接控制的,筆者對此較難看好。