編者按
關(guān)于“彎道超車”,行業(yè)內(nèi)很多人士對此嗤之以鼻,他們認(rèn)為:做事情要腳踏實地,持之以恒,才有可能超越。
但這兩者并不矛盾:
在已有的不斷發(fā)展的領(lǐng)域,我們需要“數(shù)十年如一日”不斷的努力,才有可能逐漸追趕上世界先進水平,才有可能從追趕到齊頭并進甚至超越;比如航天科技領(lǐng)域。
但在一些行業(yè)變革期,我們需要盡早布局,大干快上,從而形成領(lǐng)先優(yōu)勢;比如從燃油車向電動車發(fā)展的歷史發(fā)展機遇。
今天這篇文章,我們探討一下,在大算力芯片領(lǐng)域“彎道超車”的機會。
1 關(guān)于計算架構(gòu)階段的劃分
圖靈獎獲得者John Hennessy總結(jié)了計算機體系結(jié)構(gòu)的四個時代和即將興起的第五個時代:
第一代,晶體管時代,指令集架構(gòu)出現(xiàn)之前,計算機架構(gòu)各不相同;
第二代,小規(guī)模和中等規(guī)模集成電路時代,出現(xiàn)支持指令集架構(gòu)的CPU處理器;
第三代,大規(guī)模和超大規(guī)模集成電路時代,指令級并行以及CISC和RISC混戰(zhàn);
第四代,超大規(guī)模集成電路的多核處理器并行時代;
第五代,從2016年超大規(guī)模的領(lǐng)域?qū)S锰幚砥鳎―SA)時代。
上面計算機體系結(jié)構(gòu)的時代劃分,是站在單處理器引擎視角進行的。我們參考上述五個時代的劃分,并且站在多處理器引擎計算架構(gòu)從簡單到復(fù)雜的發(fā)展視角,重新進行了如下的發(fā)展階段劃分:
第一階段,單CPU的串行計算;
第二階段,多CPU的同構(gòu)并行計算;
第三階段,CPU+GPU的異構(gòu)并行計算;
第四階段,CPU+DSA的異構(gòu)并行計算;
第五階段,(還在萌芽期的)多種異構(gòu)融合的超異構(gòu)并行計算。
如果我們?yōu)橛嬎慵軜?gòu)再加一個約束——通用,則計算架構(gòu)可以劃分為三個階段:
第一階段,CPU同構(gòu)計算(單核CPU階段可以合并進CPU同構(gòu)計算);
第二階段,基于GPU的同構(gòu)計算(DSA是一種偏定制的架構(gòu),單個DSA的異構(gòu)不屬于通用計算范疇);
第三階段,基于CPU+GPU+DSAs的超異構(gòu)計算。
“二八定律”無處不在:隨著系統(tǒng)的擴大,會逐漸沉淀許多共性的計算任務(wù)。我們定性的分析一下,依據(jù)二八定律:
在CPU同構(gòu)計算階段,100%工作由CPU完成;
但在GPU異構(gòu)階段,80%工作由GPU完成,CPU只完成剩余的20%的工作;
而在超異構(gòu)計算階段,則80%的工作由各類更高效的DSA完成,GPU只完成剩余20%工作的80%,即16%的工作,剩余的4%交給CPU。
2 從異構(gòu)到超異構(gòu)
2.1 CPU性能瓶頸,異構(gòu)計算成為主流
上世紀(jì)80-90年代,每18個月,CPU性能提升一倍;如今,CPU性能提升每年只有3%,要想性能翻倍,需要20年。雖然CPU的性能提升幾乎停滯,但對性能和算力的更高需求,是永無止境的,例如:
2012-2018年共6年時間里,人們對于AI算力的需求增長了超過30萬倍;隨著BERT、GPT等大模型的發(fā)展,算力需求每2個月就翻一倍。
隨著大模型的發(fā)展,對算力的需求水漲船高,要想實現(xiàn)L5級別的自動駕駛算力,則需要上萬TOPS。與此同時,隨著自動駕駛進入L5階段,對娛樂的需求必然猛增。多域融合的智能汽車綜合算力需求預(yù)計會超過兩萬TOPS。
Intel前SVP拉加·庫德里表示,要想實現(xiàn)元宇宙級別的用戶體驗,需要當(dāng)前的算力提升1000倍。
從2012年深度學(xué)習(xí)興起開始,隨著AI等大算力場景的算力需求越來越大,異構(gòu)計算已經(jīng)成為計算架構(gòu)的主流。
2.2 異構(gòu)計算的問題
性能和靈活性的矛盾:系統(tǒng)越復(fù)雜,越需要靈活的處理器;性能挑戰(zhàn)越大,越需要定制的加速處理器。問題的本質(zhì)在于:單一的處理器是無法兼顧性能和靈活性的。
由于在異構(gòu)計算系統(tǒng)中,CPU不承擔(dān)主要的計算任務(wù),因此加速處理器決定了異構(gòu)系統(tǒng)的性能/靈活性特征:
GPU靈活性較好,但性能效率不夠極致;并且性能也逐漸接近瓶頸。
DSA性能好;但靈活性差,難以適應(yīng)算法的多變;架構(gòu)碎片化;落地困難。
FPGA功耗和成本高,定制開發(fā),落地案例少,通常用于原型驗證。
ASIC功能完全固定,無法適應(yīng)靈活多變的復(fù)雜計算場景。
隨著異構(gòu)計算成為主流,異構(gòu)的系統(tǒng)越來越多。多異構(gòu)共存的異構(gòu)計算孤島問題凸顯:
加速處理器只考慮本領(lǐng)域問題,難以考慮全局協(xié)同;
各領(lǐng)域加速器之間交互困難;
中心單元的性能瓶頸問題;
物理空間有限,無法容納多個物理的異構(gòu)加速卡。
2.3 多種異構(gòu)的融合:超異構(gòu)
要想高性能,需要硬件層次的更高集成度,更需要系統(tǒng)層次的多種異構(gòu)融合(即超異構(gòu))。
超異構(gòu)計算:系統(tǒng)復(fù)雜度顯著上升,系統(tǒng)更難駕馭。如何在快速提升性能的同時,讓系統(tǒng)更好駕馭,是超異構(gòu)計算要解決的關(guān)鍵問題。
3 大算力芯片的核心能力:通用、通用,還是通用
3.1 系統(tǒng)越來越大,對通用靈活性的要求遠高于對性能的要求
在云和邊緣數(shù)據(jù)中心,都是清一色的服務(wù)器。這些服務(wù)器,可以服務(wù)各行各業(yè)、各種不同類型的場景的服務(wù)端工作任務(wù)的處理。CSP每年投入數(shù)以億計資金,上架數(shù)以萬計的各種型號、各種配置的服務(wù)器的時候,嚴(yán)格來說,它并不知道,具體的某臺服務(wù)器最終會售賣給哪個用戶,這個用戶到底會在服務(wù)器上面跑什么應(yīng)用。并且,未來,這個用戶的服務(wù)器資源回收之后再賣個下一個用戶,下一個用戶又用來干什么,也是不知道的。因此,對CSP來說,最理想的狀態(tài)是,存在一種服務(wù)器,足夠通用,即不管是哪種用戶哪種應(yīng)用運行其上,都足夠高效快捷并且低成本。只有這樣,系統(tǒng)才夠簡單而穩(wěn)定,運維才能簡單并且高效。然后要做的,就是把這種服務(wù)器大規(guī)模復(fù)制(大規(guī)模復(fù)制意味著單服務(wù)器成本的更快速下降)。
云和邊緣服務(wù)器場景,對系統(tǒng)的靈活性的要求遠高于對性能的要求,需要提供的是綜合性的通用解決方案。最直接的例子就是以CPU為核心的服務(wù)器:CPU通用靈活性是最好的,如果CPU的性能夠用,大家絕對不喜歡用各種加速;如今是CPU性能不夠,逼迫著大家不得不去使用各種硬件加速。
數(shù)據(jù)中心硬件加速最大的教訓(xùn)是:在提升性能的同時,最好不要損失系統(tǒng)的靈活性。其言下之意就是:目前各類加速芯片的優(yōu)化方案損失了靈活性,從而使得芯片的落地很困難。這是目前全行業(yè)的痛點所在。
3.2 集群計算,對芯片的彈性可擴展能力提出了更高的要求
傳統(tǒng)的情況下,一個芯片對應(yīng)一個系統(tǒng)。我們關(guān)注業(yè)務(wù)常見的需求,并把它實現(xiàn)在芯片的功能和特征里。但在集群計算,特別是目前云網(wǎng)邊端不斷融合的超大集群計算形式下,則需要關(guān)注的是“以不變應(yīng)萬變”,即足夠通用的、數(shù)以萬計的計算設(shè)備組成的大規(guī)模計算集群,如何去覆蓋數(shù)以百萬計的眾多計算場景的問題。
這樣,對芯片內(nèi)的資源彈性和芯片的可擴展性就提出了很高的要求,我們需要把數(shù)以萬計的計算芯片的計算資源合并到一個計算資源池,然后還可以非常方便的快速切分和重組,供不同規(guī)格計算任務(wù)的使用。
3.3 芯片研發(fā)成本越來越高,需要芯片的大規(guī)模落地,來攤薄研發(fā)成本
摩爾定律預(yù)示了:芯片工藝的發(fā)展,會使得晶體管數(shù)量大約每兩年提升一倍。雖然工藝的進步逐步進入瓶頸,但Chiplet越來越成為行業(yè)發(fā)展的重點,這使得芯片的晶體管數(shù)量可以再一次數(shù)量級的提升。
在先進工藝的設(shè)計成本方面,知名半導(dǎo)體研究機構(gòu)Semiengingeering統(tǒng)計了不同工藝下芯片所需費用(費用包括了):
28nm節(jié)點開發(fā)芯片只需要5130萬美元;
16nm節(jié)點則需要1億美元;
7nm節(jié)點需要2.97億美元;
到了5nm節(jié)點,費用高達5.42億美元;
3nm節(jié)點的研發(fā)費用,預(yù)計將接近10億美元。
就意味著,大芯片需要足夠通用,足夠大范圍落地,才能在商業(yè)邏輯上成立。做一個保守的估算:
終端場景,(大)芯片的銷售量至少需要達到數(shù)千萬級才能有效攤薄一次性的研發(fā)成本;
在數(shù)據(jù)中心場景,則需要50萬甚至100萬以上的銷售量,才能有效攤薄研發(fā)成本。
4 超異構(gòu)計算的載體:通用的超異構(gòu)處理器
通用的超異構(gòu)處理器(GP-HPU, General Purpose Hyper-heterogeneous Processing Unit, 通用超異構(gòu)處理器),即能夠覆蓋幾乎所有場景的、以超異構(gòu)計算為基礎(chǔ)架構(gòu)的、綜合性的大算力單芯片。
4.1 超異構(gòu)計算的關(guān)鍵,在于各類加速處理器的高效交互
SOC和HPU都是多異構(gòu)組成的混合計算,但SOC本質(zhì)上屬于異構(gòu)計算,而HPU屬于超異構(gòu)計算。SOC僅僅是異構(gòu)的集成,而HPU則需要實現(xiàn)異構(gòu)的融合。
在SOC系統(tǒng)里,每個加速單元可以看做是CPU+加速單元組成一個異構(gòu)子系統(tǒng);不同的異構(gòu)子系統(tǒng)之間在硬件上是沒有必然聯(lián)系,需要通過軟件構(gòu)建異構(gòu)子系統(tǒng)之間的交互和協(xié)同。在CPU性能逐漸瓶頸的當(dāng)下,這通常也意味著性能的約束。
而在HPU里,需要實現(xiàn)硬件層次的不同加速單元之間的直接的、高效的數(shù)據(jù)交互,不需要CPU的參與。在硬件層次,超異構(gòu)需要實現(xiàn)CPU、GPU以及各種其他加速單元之間的對等的深度交互、協(xié)同和融合。
4.2 目前,多個獨立芯片組成超異構(gòu)計算,還比較難
依據(jù)性能/靈活性特征,可以將系統(tǒng)分為三個層次:
基礎(chǔ)設(shè)施層。隨著系統(tǒng)越來越復(fù)雜,在系統(tǒng)中,有很多非常確定性的任務(wù),比如虛擬化、網(wǎng)絡(luò)、存儲等,這些可以稱為基礎(chǔ)設(shè)施型任務(wù)。這類任務(wù)因為其確定性的特點,特別適合DSA/ASIC級別的加速處理器處理。
另一個極端,即不太好加速的應(yīng)用部分。在硬件平臺上到底會運行什么樣的應(yīng)用,通常是不可預(yù)知的,或者說應(yīng)用是非常不確定的。因此,針對應(yīng)用,最好是用CPU(+協(xié)處理器)平臺。CPU平臺還有另外一個價值,兜底,凡是無法加速或者不存在合適加速處理器的工作任務(wù)都可以放在CPU平臺處理。
處于兩個極端之間的部分任務(wù),則通常是性能敏感的應(yīng)用任務(wù),比如AI訓(xùn)練、視頻圖形處理、語音處理等。這類任務(wù)具有一定的確定性,但通常還是需要平臺的一些彈性的能力,其性能/靈活性特征處于前面兩個極端的中間。因此比較適合GPU、FPGA這樣的處理器平臺。
理論上,我們可以按照超異構(gòu)計算的功能劃分和系統(tǒng)交互,把三類功能實現(xiàn)在CPU、GPU和DPU三芯片里,但目前三者處于相互競爭的狀態(tài),三芯片協(xié)作的方式,本質(zhì)上只能實現(xiàn)以CPU為中心的異構(gòu)計算形態(tài),而無法實現(xiàn)三者深度協(xié)同的超異構(gòu)計算形態(tài)。
并且,三顆芯片,通常來自于不同的芯片公司,各個芯片都很難放棄以自己為核心的系統(tǒng)運行方式。要想這些芯片公司能夠更多的考慮和其他芯片的協(xié)同,從而實現(xiàn)三芯片的通力合作,很難很難。
基于CPU、GPU和DPU三芯片的超異構(gòu)計算,還有很長的路要走。
4.3 在單芯片層次,實現(xiàn)相對簡單的超異構(gòu)計算,是可行的路徑? ?
單芯片,不需要考慮和外部芯片的協(xié)同,只需要考慮內(nèi)部不同單元間的深度交互。一切都在自己的掌控之下,因此單芯片超異構(gòu)計算,是相對容易落地的實現(xiàn)方式。
此外,單芯片方式,也有其他的好處:
更高集成度,代表著更高的性能,以及更低的成本;
內(nèi)部交互更高效,代表著沒有各類性能瓶頸約束,可以實現(xiàn)更高的性能。
5 超異構(gòu)計算的挑戰(zhàn),不在芯片集成,而在系統(tǒng)的融合和系統(tǒng)的可駕馭? ??
5.1 硬件層次的多異構(gòu)集成,不是難度
工藝持續(xù)進步、3D堆疊以及Chiplet多Die互聯(lián),使得芯片從2D->3D->4D。這些技術(shù)的進步,意味著在芯片這個尺度,可以容納更多的晶體管,也意味著芯片的規(guī)模越來越大。
Intel宣布,在2030年,將實現(xiàn)單芯片層次集成1萬億晶體管,這意味著在單芯片層次,可以構(gòu)建,相比目前,規(guī)模數(shù)量級提升的系統(tǒng)。
實現(xiàn)更多異構(gòu)的集成,是芯片制造和封裝的核心競爭力,不是芯片設(shè)計公司(Fabless)的核心競爭力。
5.2 挑戰(zhàn)在于,軟件層次,如何把多個系統(tǒng)整合到一個宏系統(tǒng)
我們以NVIDIA 2000 TOPS的自動駕駛汽車中央控制器CCU為例。Thor能夠?qū)崿F(xiàn)多域融合計算,它可以為自動駕駛和車載娛樂劃分任務(wù)。通常,這些各種類型的功能由分布在車輛各處的數(shù)十個控制單元控制。制造商可以利用Thor實現(xiàn)所有功能的融合,來整合整個車輛,而不是依賴這些分布式的ECU/DCU。
傳統(tǒng)SOC是單芯片單系統(tǒng),而Thor實現(xiàn)了單芯片多個系統(tǒng)共存。在一個硬件上,把多個架構(gòu)不同的系統(tǒng)整合成一個宏系統(tǒng),則涉及到整個系統(tǒng)軟硬件架構(gòu)的重構(gòu)。
在系統(tǒng)和架構(gòu)層面,如何實現(xiàn)更多系統(tǒng)的融合,是芯片設(shè)計公司的核心競爭力。
5.3 更大的挑戰(zhàn)在于,如何讓超異構(gòu)更好駕馭?
串行計算符合人類思維,編程相對最簡單;同構(gòu)并行的編程,就要復(fù)雜很多;異構(gòu)并行,則更是難上加難;那么超異構(gòu)并行呢?那就是難上加難再加難。
要想駕馭超異構(gòu),核心的思路跟駕馭異構(gòu)計算的思路一致,就是要想方設(shè)法降低軟硬件系統(tǒng)的復(fù)雜度。一些典型的降低復(fù)雜度的方法:
復(fù)雜大系統(tǒng)分解成簡單小系統(tǒng),實現(xiàn)芯片內(nèi)部的分布式計算,每個內(nèi)部子節(jié)點的復(fù)雜度較低,更加可控一些。
依據(jù)系統(tǒng)的性能/靈活性特征進行分層。不同層次,采用不同的處理策略。
開放:讓處理器架構(gòu)和生態(tài)收斂,防止碎片化。同時,行業(yè)內(nèi)也能相互分工協(xié)作,而不是一家公司面對所有問題。
軟硬件深度融合,讓硬件具有更多軟件的能力。
6 第三代通用計算,大算力芯片“彎道超車”的歷史時機? ?
CPU同構(gòu)是第一代通用計算,成就了Intel的王者地位;GPU異構(gòu)是第二代通用計算,隨著人工智能的火爆,助推NVIDIA市值超過了10000億美金,遠超Intel、AMD和高通的總和。
但技術(shù)發(fā)展不會停止。隨著AI大模型、自動駕駛、元宇宙等超高算力需求的領(lǐng)域快速發(fā)展,算力仍需持續(xù)快速提升,算力成本必須數(shù)量級下降,計算架構(gòu)需要從同構(gòu)、異構(gòu)走向多種異構(gòu)融合的超異構(gòu)。
第一代和第二代通用計算CPU、GPU,我們已經(jīng)落后,目前國內(nèi)有眾多公司重擔(dān)在肩,在拼命追趕。而第三代通用計算(超異構(gòu)計算)的發(fā)展機遇,給了我們“彎道超車”的歷史時機。
當(dāng)前,Intel和NVIDIA正在通用超異構(gòu)計算領(lǐng)域做早期布局,歷史機遇稍縱即逝。我們需要站在國家戰(zhàn)略的高度,快速布局,并大力投入。