來(lái)源:內(nèi)容來(lái)自半導(dǎo)體行業(yè)觀察(ID:icbank)轉(zhuǎn)載自公眾號(hào)軟硬件融合,謝謝。
1 什么是大芯片?
1.1 依據(jù)操作系統(tǒng)標(biāo)準(zhǔn)來(lái)劃分
這樣,我們對(duì)大芯片就可以有一個(gè)最直觀的標(biāo)準(zhǔn):
需要支持操作系統(tǒng)和虛擬化(虛擬化包括虛機(jī)、容器、函數(shù)等不同層次虛擬化);
需要支持虛擬化資源切分;
需要支持系統(tǒng)、資源和性能隔離;
需要支持軟件跨硬件平臺(tái),包括硬件接口抽象和熱遷移等。
大芯片,需要把很多傳統(tǒng)軟件層次的能力在硬件層次進(jìn)行支持。如可編程性、擴(kuò)展性、適應(yīng)性、軟件跨平臺(tái)和高可用等。
1.2 各類引擎/處理器的作用
上圖是在計(jì)算機(jī)(服務(wù)器)上運(yùn)行的系統(tǒng)的功能層次劃分,大體上分為兩個(gè)層次:
支撐應(yīng)用的基礎(chǔ)設(shè)施層,比如網(wǎng)絡(luò)、存儲(chǔ)、虛擬化、文件系統(tǒng)、數(shù)據(jù)庫(kù)等;
應(yīng)用層。應(yīng)用層也可以再劃分。很多應(yīng)用性能敏感,需要通過(guò)硬件加速。因此,可以把應(yīng)用再劃分為兩部分:
應(yīng)用可加速部分,相比基礎(chǔ)設(shè)施,應(yīng)用可加速部分的更新變化會(huì)更大,因此需要一些相對(duì)靈活彈性的加速平臺(tái),如GPU、FPGA等,而ASIC等則不是很合適。
應(yīng)用不可加速部分,應(yīng)用多種多樣,應(yīng)用本身還會(huì)經(jīng)常性的優(yōu)化更新,因此只適合CPU這樣的足夠通用靈活的運(yùn)行平臺(tái)。
CPU
如果整個(gè)系統(tǒng)對(duì)性能的要求不高,CPU可以勝任。那么最好的做法就是,不管是基礎(chǔ)設(shè)施層還是應(yīng)用層可加速部分和不可加速部分,統(tǒng)統(tǒng)都放在CPU中完成。
然而,由于基于CPU的摩爾定律失效,CPU逐漸無(wú)法勝任系統(tǒng)的所有計(jì)算任務(wù),引發(fā)了連鎖反應(yīng)。所以才有了上面圖中的三個(gè)分類,以及針對(duì)性的各種硬件加速平臺(tái)。
不管如何優(yōu)化改進(jìn),CPU作為最核心的處理引擎(可能是獨(dú)立CPU芯片,也可能是嵌入式CPU Core),依然扮演著最核心的作用。
未來(lái),CPU主要負(fù)責(zé)應(yīng)用層不可加速部分的計(jì)算以及整個(gè)系統(tǒng)的控制和管理。雖然CPU最終不是計(jì)算的主力,但它依然是管理和控制的核心。
GPU
GPU比較適合應(yīng)用層的彈性加速,一方面因?yàn)镚PGPU的通用計(jì)算能力,在場(chǎng)景覆蓋和性能提升方面很好的達(dá)到了平衡。再加上CUDA等開(kāi)發(fā)框架/生態(tài)的加持,使得GPU成為應(yīng)用層可加速部分當(dāng)之無(wú)愧的主力運(yùn)行平臺(tái)。
DPU
DPU定位基礎(chǔ)設(shè)施層的(加速)處理,如虛擬化、網(wǎng)絡(luò)、存儲(chǔ)、安全以及IaaS服務(wù)融入等。DPU需要很多ASIC/DSA層次的加速引擎,以及嵌入式CPU的協(xié)同,來(lái)更好的做好基礎(chǔ)設(shè)施層的工作,以此來(lái)更好的支撐CPU和GPU的上層工作。
DPU可以說(shuō)是整個(gè)系統(tǒng)中的“老黃?!保龅氖亲钚量嘧钇D難的事情,但其價(jià)值體現(xiàn)卻低于CPU和GPU。目前DPU面臨的困境主要體現(xiàn)在:
做的事情非常復(fù)雜。受性能需求的約束,需要把業(yè)務(wù)邏輯變成電路,DPU的開(kāi)發(fā)其難度和工作量(相比CPU和GPU)非常的高。
其價(jià)值又相對(duì)較低。DPU通常定位成CPU的助手,負(fù)責(zé)卸載CPU的一些繁重的相對(duì)價(jià)值含量低的工作。因此,其價(jià)值定位低于CPU和GPU。
被動(dòng)協(xié)同。DPU需要協(xié)同CPU和GPU的工作,但這些協(xié)同通常是被動(dòng)的。DPU具體落地需要CPU和GPU的“參與”,這使得DPU具有非常大的落地門檻。
客戶需求差異性和業(yè)務(wù)迭代,需要DPU盡可能的貼近用戶需求,把用戶的深層次需求融入到芯片。但這樣做,會(huì)導(dǎo)致場(chǎng)景碎片化,DPU能覆蓋的場(chǎng)景偏小。而大芯片的研發(fā)成本又非常的高,場(chǎng)景覆蓋不足以撐起一顆芯片的商業(yè)化落地。
AI芯片
AI芯片,也稱為AI-DSA,和GPU處于同一位置,一般來(lái)說(shuō),在小小的服務(wù)器物理空間里,加速卡通常只有一種類型,也即AI和GPU是互斥的關(guān)系,大家共同競(jìng)爭(zhēng)同一個(gè)物理卡槽。
CPU+xPU的異構(gòu)計(jì)算通常分為三類:
CPU+GPU、CPU+FPGA和CPU+DSA。
如果對(duì)通用性要求高,對(duì)覆蓋場(chǎng)景要求高,則通常選擇GPU。比如AI訓(xùn)練場(chǎng)景,雖然GPU并不是效率最高的平臺(tái),但目前AI訓(xùn)練算法更新迭代很快,比較適合GPU這樣的平臺(tái),而不是AI-DSA。
如果對(duì)性能要求高,并且算法相對(duì)確定,則比較適合DSA架構(gòu),比如一些編解碼的VPU。以及AI推理場(chǎng)景。
FPGA則介于兩者之間。
AI-DSA雖然用途很廣,并且性能敏感,但云、邊緣以及自動(dòng)駕駛等超級(jí)終端場(chǎng)景,是更加綜合性的場(chǎng)景,AI是計(jì)算加速的領(lǐng)域之一,因此,獨(dú)立的AI芯片其落地規(guī)模必然是遠(yuǎn)少于GPU這種更加靈活彈性的計(jì)算平臺(tái)的,也更少于CPU和DPU的落地場(chǎng)景規(guī)模。
HPU
HPU是超異構(gòu)處理器(Hyper-heterogeneous Processing Unit),把CPU、GPU和DPU的功能再集成在一起,是一個(gè)功能綜合的融合芯片:
Chiplet封裝技術(shù)的成熟,使得多種架構(gòu)混合的超異構(gòu)計(jì)算成為可能,為超異構(gòu)處理器HPU提供了很好的工藝和封裝基礎(chǔ)。
包括企業(yè)服務(wù)器、邊緣服務(wù)器以及存儲(chǔ)服務(wù)器等諸多場(chǎng)景,占到整個(gè)服務(wù)器規(guī)模的90%左右,這類服務(wù)器場(chǎng)景相對(duì)輕量的計(jì)算,集成的單芯片足夠。
而云計(jì)算的業(yè)務(wù)服務(wù)器,是絕對(duì)重量的場(chǎng)景,需要CPU、GPU和DPU三類獨(dú)立芯片組成大系統(tǒng)。這類場(chǎng)景只占服務(wù)器規(guī)模的10%左右。
超異構(gòu)計(jì)算需要?jiǎng)?chuàng)新的架構(gòu):需要明確的是,HPU不能是簡(jiǎn)單的CPU、GPU和DPU三者集成,而是要重新優(yōu)化整個(gè)系統(tǒng)的數(shù)據(jù)交互,讓交互更加充分并且高效(更高的帶寬,更低的延遲等)。
2 大芯片的底層邏輯
2.1 各種各樣的領(lǐng)域和場(chǎng)景,本質(zhì)都是計(jì)算
云計(jì)算IaaS層有基礎(chǔ)的四大類服務(wù):
首先是計(jì)算。這里的計(jì)算是狹義的計(jì)算,通常指的是我們提供給用戶的計(jì)算環(huán)境或平臺(tái),而網(wǎng)絡(luò)、存儲(chǔ)安全等則是用戶不可見(jiàn)的計(jì)算。
一個(gè)個(gè)的計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)連接在一起的大系統(tǒng),計(jì)算的節(jié)點(diǎn)是計(jì)算機(jī)(或服務(wù)器),網(wǎng)絡(luò)的節(jié)點(diǎn)也是計(jì)算機(jī)。計(jì)算和網(wǎng)絡(luò),通常是界限分明的。但各自走向瓶頸之后發(fā)現(xiàn),可以通過(guò)計(jì)算的方式解決網(wǎng)絡(luò)的問(wèn)題(許多網(wǎng)絡(luò)設(shè)備和系統(tǒng)在逐漸云化);計(jì)算,也越來(lái)越多的需要網(wǎng)絡(luò)設(shè)備的參與,網(wǎng)絡(luò)設(shè)備也成為計(jì)算集群的一部分。
在萬(wàn)物互聯(lián)的大系統(tǒng)里,存儲(chǔ),其實(shí)都可以看做是臨時(shí)并持久的存儲(chǔ)。比方說(shuō)內(nèi)存(memory),在計(jì)算機(jī)某個(gè)任務(wù)運(yùn)行的時(shí)候它的內(nèi)存數(shù)據(jù)和程序是持久的,當(dāng)關(guān)機(jī)的時(shí)候它又是臨時(shí)的角色。也包括本地存儲(chǔ)(local Storage),他在服務(wù)器上來(lái)說(shuō)是持久的,但在跟整個(gè)數(shù)據(jù)中心分布式存儲(chǔ)來(lái)說(shuō),他又是本地的暫存。存儲(chǔ),是計(jì)算的輸入、輸出,以及中間結(jié)果的暫存。
安全,貫穿計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)的方方面面,可以認(rèn)為,安全是一個(gè)環(huán)境和機(jī)制,在約束著計(jì)算、網(wǎng)絡(luò)和存儲(chǔ)的方方面面。
而虛擬化,則是整個(gè)架構(gòu)的組織方式,把這四大件的軟硬件更好組織起來(lái)的方式,來(lái)靈活的、方便的為大家提供各種計(jì)算、網(wǎng)絡(luò)、存儲(chǔ)和安全服務(wù)。
以數(shù)據(jù)為中心,靠數(shù)據(jù)流動(dòng)驅(qū)動(dòng)計(jì)算:
但不能把數(shù)據(jù)為中心的計(jì)算封裝到網(wǎng)絡(luò)數(shù)據(jù)流中,因?yàn)橛?jì)算依然需要暴露給用戶,用戶掌控一切;
以數(shù)據(jù)為中心的計(jì)算,依然要把數(shù)據(jù)流驅(qū)動(dòng)的計(jì)算暴露給上層的用戶應(yīng)用,為了更好的性能,需要做到“軟件定義一切,硬件加速一切”。
一切系統(tǒng)的運(yùn)行都是以計(jì)算為基礎(chǔ)的,系統(tǒng)的運(yùn)行可以簡(jiǎn)單歸結(jié)為輸入、計(jì)算,然后輸出。不管是狹義的計(jì)算,或者是虛擬化、網(wǎng)絡(luò)、存儲(chǔ)、安全等,都可以歸結(jié)到廣義計(jì)算的范疇。
一切皆計(jì)算(或一切皆為計(jì)算)!
2.2 宏觀算力由性能、規(guī)模和利用率組成
宏觀總算力 = 性能 x 數(shù)量(規(guī)模) x 利用率。
算力是由性能、規(guī)模、利用率三部分共同組成的,相輔相成,缺一不可:
有的算力芯片,可能可以做到性能狂飆,但較少考慮芯片的通用性易用性,然后芯片銷量不高落地規(guī)模小,那就無(wú)法做到宏觀算力的真正提升。
有的算力提升方案,重在規(guī)模投入,攤大餅有一定作用,但不是解決未來(lái)算力需求數(shù)量級(jí)提升的根本。
有的解決方案,通過(guò)各種資源池化和跨不同的邊界算力共享,來(lái)提升算力利用率,但改變不了目前算力芯片性能瓶頸的本質(zhì)。
性能、規(guī)模、利用率,宏觀微觀,牽一發(fā)而動(dòng)全身。管中窺豹終有偏,既要考慮多種因素協(xié)同設(shè)計(jì),更要宏觀的統(tǒng)籌算力問(wèn)題。
2.3 核心矛盾:性能和靈活性
性能和靈活性是大芯片中最核心的矛盾:
CPU靈活性很好但性能較差,在數(shù)據(jù)中心場(chǎng)景,如果性能滿足,通常的服務(wù)器主力計(jì)算芯片,仍然是CPU。很不幸的是,CPU到了性能瓶頸。
GPU,能夠兼顧好性能和靈活性,在很多異構(gòu)計(jì)算場(chǎng)景得到廣泛應(yīng)用。
ASIC受限于其非常低的靈活性,在數(shù)據(jù)中心等復(fù)雜計(jì)算場(chǎng)景,完全不可用。
DSA雖然靈活性相比ASIC有所提升,但仍然無(wú)法滿足應(yīng)用加速對(duì)靈活性的要求,例如AI訓(xùn)練場(chǎng)景,DSA落地就存在困境,這一場(chǎng)景目前還主要是GPU的天下。但DSA相比ASIC有所提升的靈活性,比較好滿足一些基礎(chǔ)設(shè)施層的算法加速,如網(wǎng)絡(luò)DSA場(chǎng)景和一些AI推理場(chǎng)景。
CASH(軟硬件融合架構(gòu)),是我們定義的一種超異構(gòu)計(jì)算架構(gòu),通過(guò)多種處理引擎混合協(xié)作,實(shí)現(xiàn)“團(tuán)隊(duì)作戰(zhàn),優(yōu)勢(shì)互補(bǔ)”,以此達(dá)到性能和靈活性的兼顧。
3 大芯片面臨的共同挑戰(zhàn)
3.1 挑戰(zhàn)一:復(fù)雜大系統(tǒng),對(duì)靈活性的要求高于對(duì)性能的要求
有一個(gè)非常經(jīng)典的問(wèn)題:終端非常流行SOC,但為什么數(shù)據(jù)中心服務(wù)器卻依然是CPU打天下?
越是復(fù)雜的場(chǎng)景,對(duì)系統(tǒng)靈活性的要求越高。CPU作為云計(jì)算場(chǎng)景的主力計(jì)算平臺(tái)有其合理性,主要體現(xiàn)在四個(gè)方面:
硬件的靈活性。軟件應(yīng)用迭代很快,支持軟件運(yùn)行的硬件處理引擎要能夠很好地支持這些迭代。CPU因?yàn)槠潇`活的基礎(chǔ)指令編程的特點(diǎn),是最適合云計(jì)算的處理引擎。
硬件的通用性。云計(jì)算廠家購(gòu)買硬件服務(wù)器,很難預(yù)測(cè)這些硬件服務(wù)器會(huì)運(yùn)行哪類工作任務(wù),最好的辦法是采用完全通用的服務(wù)器。CPU由于其絕對(duì)的通用性,成為云計(jì)算場(chǎng)景最優(yōu)的選擇。
硬件的利用率。云計(jì)算的基礎(chǔ)技術(shù)是虛擬化,通過(guò)虛擬化把資源切分,實(shí)現(xiàn)資源共享,以此提高資源利用并降低成本。只有CPU能夠?qū)崿F(xiàn)非常友好的硬件級(jí)別的虛擬化支持,從而實(shí)現(xiàn)更高的資源利用率。而其他硬件加速平臺(tái),(相對(duì)的)資源利用率很難做到很高,這就約束了其性能優(yōu)勢(shì)。
硬件的一致性。在云計(jì)算數(shù)據(jù)中心,軟件和硬件是需要相互脫離的。同一個(gè)軟件實(shí)體會(huì)在不同的硬件實(shí)體遷移,同樣的同一個(gè)硬件實(shí)體也需要運(yùn)行不同的軟件實(shí)體。這對(duì)硬件平臺(tái)的一致性提出了很高的要求。
在性能滿足要求的情況下,CPU當(dāng)仁不讓的就成了數(shù)據(jù)中心計(jì)算平臺(tái)的最佳選擇。
可惜的是,目前,CPU的性能無(wú)法滿足要求了。在CPU性能不滿足要求的情況下,就需要?jiǎng)?chuàng)新的硬件來(lái)進(jìn)行性能加速。如何在整個(gè)系統(tǒng)保持跟傳統(tǒng)CPU接近的通用性、靈活性、可編程性、易用性的約束條件下,實(shí)現(xiàn)性能顯著提升,成為了重要的挑戰(zhàn)。
3.2 挑戰(zhàn)二:如何數(shù)量級(jí)的提升綜合性能?
我們之前都講過(guò),性能和單位指令的復(fù)雜度是正相關(guān)的。指令越簡(jiǎn)單,性能相對(duì)越低;指令越復(fù)雜,性能相對(duì)越好。但指令簡(jiǎn)單,我們就可以隨心所欲組合各種各樣的場(chǎng)景的應(yīng)用程序;而指令越復(fù)雜,引擎所能覆蓋的領(lǐng)域和場(chǎng)景就會(huì)越來(lái)越小。
如上圖所示:
CPU性能最差,但幾乎可以覆蓋所有的計(jì)算場(chǎng)景,是最通用的處理器;
DSA覆蓋某個(gè)特定領(lǐng)域,性能可以做到很好。但覆蓋的領(lǐng)域如果算法更新迭代快或者領(lǐng)域的范圍較小不足以支撐大算力芯片的大范圍落地的話,這樣的DSA芯片在商業(yè)上就很難成立。
GPU介于兩者之間。
CPU軟件,是通過(guò)基礎(chǔ)的指令組合出來(lái)所需要的業(yè)務(wù)邏輯;而為了提升性能,硬件加速本質(zhì)上是將業(yè)務(wù)邏輯固化成硬件電路。而將業(yè)務(wù)邏輯固化成電路,雖然提升了性能,但會(huì)約束芯片本身的場(chǎng)景覆蓋。目前,很多算力芯片的設(shè)計(jì)陷入了一個(gè)怪圈:越優(yōu)化性能,場(chǎng)景覆蓋越狹窄;場(chǎng)景覆蓋越狹窄,芯片出貨量越低;芯片出貨量低,無(wú)法覆蓋芯片的一次性研發(fā)成本,商業(yè)邏輯不成立,后續(xù)的持續(xù)研發(fā)難以為繼。
以AI為典型場(chǎng)景,目前AI芯片落地難的本質(zhì):很多AI芯片特別強(qiáng)調(diào)深度理解算法,然后把算法融入到芯片中。但受限于AI類算法多種多樣,并且算法都在快速的迭代。這導(dǎo)致AI芯片一直無(wú)法大規(guī)模落地,芯片數(shù)以億計(jì)的研發(fā)成本難以攤薄。因此,從目前來(lái)看,AI芯片在商業(yè)邏輯上無(wú)法成立。
AI芯片已經(jīng)榨干了目前芯片所能達(dá)到的性能極限;未來(lái),L4/L5級(jí)別的自動(dòng)駕駛芯片需要算力十倍百倍的提升;而要想達(dá)到元宇宙所需的良好體驗(yàn),則需要算力千倍萬(wàn)倍的提升。如何在確保芯片的場(chǎng)景覆蓋如CPU一樣通用全面,并且還能夠十倍百倍甚至千倍萬(wàn)倍的快速性能提升,是大算力芯片需要直面的挑戰(zhàn)。
3.3 挑戰(zhàn)三:業(yè)務(wù)的橫向和縱向差異性
業(yè)務(wù)的橫向差異指的是不同客戶之間相近業(yè)務(wù)的細(xì)節(jié)差異性;而縱向差異指的是單個(gè)用戶業(yè)務(wù)的長(zhǎng)期迭代的差異性。
不同用戶的業(yè)務(wù)存在差異,即使同一大公司內(nèi)部,不同的團(tuán)隊(duì)對(duì)相同場(chǎng)景的業(yè)務(wù)需求也是不完全一致的。并且,即使同一客戶,受限于軟件的快速更新迭代,其業(yè)務(wù)邏輯更新也會(huì)很快,顯著的快于硬件芯片的更新迭代(軟件迭代通常在3-6個(gè)月,而芯片迭代則是2-3年,還要考慮芯片4-5年的生命周期)。
針對(duì)橫向和縱向的差異性,目前行業(yè)有幾種顯著的做法:
一些芯片大廠,針對(duì)自身對(duì)場(chǎng)景的理解,提供自認(rèn)為最優(yōu)的業(yè)務(wù)邏輯加速方案給到用戶。但站在用戶的視角,這樣會(huì)喪失自身的差異性和創(chuàng)造性。用戶需要修改自身的業(yè)務(wù)邏輯,這個(gè)風(fēng)險(xiǎn)也非常的高;并且,會(huì)對(duì)芯片公司形成強(qiáng)依賴關(guān)系。
一些大客戶。針對(duì)自身差異化場(chǎng)景,自研芯片。可以滿足自身差異化的競(jìng)爭(zhēng)能力,但大用戶內(nèi)部也是由許多不同的小團(tuán)隊(duì)組成,不同團(tuán)隊(duì)業(yè)務(wù)場(chǎng)景仍然存在差異性;并且,單個(gè)業(yè)務(wù)縱向的長(zhǎng)期迭代差異依然是需要考慮的。定制芯片在商業(yè)上是可行的,但需要考慮技術(shù)層面的通用芯片設(shè)計(jì)。
第三方通用的解決方案。“授人以魚(yú),不如授人以漁”,通過(guò)通用的設(shè)計(jì),確保在每個(gè)領(lǐng)域,都能夠?qū)崿F(xiàn)一定程度上的軟硬件解耦。芯片公司提供“通用”的硬件平臺(tái),讓用戶通過(guò)編程的方式實(shí)現(xiàn)業(yè)務(wù)差異化,“讓用戶掌控一切”。
3.4 挑戰(zhàn)四:芯片的一次性成本過(guò)高
在先進(jìn)工藝的設(shè)計(jì)成本方面,知名半導(dǎo)體研究機(jī)構(gòu)Semiengingeering統(tǒng)計(jì)了不同工藝下芯片所需費(fèi)用(費(fèi)用包括了):16nm節(jié)點(diǎn)則需要1億美元;7nm節(jié)點(diǎn)需要2.97億美元;到了5nm節(jié)點(diǎn),費(fèi)用高達(dá)5.42億美元;3nm節(jié)點(diǎn)的研發(fā)費(fèi)用,預(yù)計(jì)將接近10億美元。
就意味著,大芯片需要足夠通用,足夠大范圍落地,才能在商業(yè)邏輯上成立。做一個(gè)基本的估算:在數(shù)據(jù)中心場(chǎng)景,則需要50萬(wàn)以上的銷售量,才能有效攤薄研發(fā)成本。在數(shù)據(jù)中心領(lǐng)域,這個(gè)門檻非常高。
3.5 挑戰(zhàn)五:宏觀算力要求芯片能夠支撐大規(guī)模部署
性能和靈活性是一對(duì)矛盾,很多性能優(yōu)化的芯片設(shè)計(jì)方案,顯著的提升性能的同時(shí),也顯著的降低了芯片的通用性、靈活性和易用性,同時(shí)降低了芯片的場(chǎng)景和用戶覆蓋。從而導(dǎo)致芯片落地規(guī)模很小。
芯片落地規(guī)模小,單芯片再高的性能,都相當(dāng)于無(wú)源之水,沒(méi)有了意義。
因此,一個(gè)綜合性的芯片平臺(tái),需要考慮芯片性能提升的同時(shí),也要考慮如何提高芯片的宏觀規(guī)模落地:需要考慮芯片的場(chǎng)景覆蓋;需要考慮芯片的用戶覆蓋;需要考慮芯片的功能橫向和縱向的差異性覆蓋。
只有兼顧了性能和更多用戶和場(chǎng)景覆蓋,才能實(shí)現(xiàn)大芯片的規(guī)?;渴?,才能顯著的提升宏觀算力。
3.6 挑戰(zhàn)六:計(jì)算平臺(tái)的融合
算力需要池化,并且,算力不僅僅是數(shù)據(jù)中心基于x86 CPU的算力池化,算力池化,需要:
算力需要跨不同的CPU架構(gòu),比如能夠把x86、ARM、RISCv等主流架構(gòu)的算力整合到一個(gè)算力池;
算力需要跨不同類型的處理引擎。比如把CPU、GPU、FPGA、DSA的算力整合到一個(gè)算力池;
算力還需要跨不同廠家的硬件平臺(tái),算力需要把不同Vendor提供的算力資源都能夠整合到一個(gè)算力池;
算力需要跨不同位置,算力可以部署云、邊、端甚至網(wǎng)絡(luò),可以把這些算力整合到一個(gè)算力池。
云網(wǎng)邊端融合,就是把所有的算力資源整合到一起,真正實(shí)現(xiàn)跨云網(wǎng)邊端自適應(yīng)的軟件運(yùn)行。挑戰(zhàn)在于,如何構(gòu)建統(tǒng)一的開(kāi)放的硬件平臺(tái)和系統(tǒng)堆棧。
3.7 挑戰(zhàn)七:生態(tài)建設(shè)的門檻
大芯片一定需要平臺(tái)化,一定需要開(kāi)發(fā)框架并形成開(kāi)發(fā)生態(tài)。而框架和生態(tài)門檻高,且需要長(zhǎng)期積累,對(duì)小公司來(lái)說(shuō)是一件非常難的事情。
RISC-v CPU已經(jīng)如火如荼,很多公司,特別是一些初創(chuàng)小公司,大家都非常認(rèn)可RISC-v的開(kāi)源開(kāi)放的理念和價(jià)值,眾人拾柴火焰高,大家共同推動(dòng)RISC-v開(kāi)放生態(tài)的蓬勃發(fā)展。
未來(lái),計(jì)算進(jìn)一步走向異構(gòu)和超異構(gòu)計(jì)算,架構(gòu)和平臺(tái)越來(lái)越多,此時(shí),開(kāi)源開(kāi)放已經(jīng)不是可選項(xiàng),而是成為必選項(xiàng)。因?yàn)椋绻皇情_(kāi)源開(kāi)放,那就會(huì)導(dǎo)致算力資源完全的碎片化,何談算力池化,何談云網(wǎng)邊端融合。
開(kāi)源開(kāi)放,是大芯片平臺(tái)和生態(tài)建設(shè)的必然選擇。
3.8 挑戰(zhàn)八:(用戶視角)宏觀跨平臺(tái)的挑戰(zhàn),沒(méi)有平臺(tái)依賴
站在芯片廠家視角,給客戶提供芯片以及配套的驅(qū)動(dòng)軟件,然后有SDK等開(kāi)發(fā)工具包,用戶基于此開(kāi)發(fā)自己的應(yīng)用程序,這樣就萬(wàn)事大吉。但站在用戶的視角,問(wèn)題可不是這樣。用戶的軟件應(yīng)用和硬件平臺(tái)是完全脫離的。
我們以VM計(jì)算機(jī)虛擬化為例。用戶的VM需要在不同的硬件平臺(tái)上能夠?qū)崟r(shí)熱遷移,這樣就對(duì)硬件平臺(tái)的一致性就有了要求。通常,硬件一致性是通過(guò)虛擬化來(lái)完成的,虛擬化給上層的VM抽象出標(biāo)準(zhǔn)的硬件平臺(tái),使得VM可以跨不同架構(gòu)的硬件服務(wù)器運(yùn)行。隨著CPU性能的瓶頸,虛擬化相關(guān)堆棧逐漸下沉到了硬件加速,這樣,就需要把硬件接口直接暴露給業(yè)務(wù)VM,那么就需要硬件架構(gòu)/接口原生支持一致性。
硬件架構(gòu)/接口原生支持一致性,換個(gè)表述,就是不同廠家的芯片平臺(tái)提供的是相同的架構(gòu)和接口,使得軟件可以方便的跨不同廠家的硬件平臺(tái)遷移。如果某個(gè)廠家提供的是私有架構(gòu)/接口的硬件平臺(tái),那么用戶就會(huì)對(duì)平臺(tái)形成強(qiáng)依賴關(guān)系,并且如果選擇的個(gè)性化平臺(tái)越多,使得用戶自己的數(shù)據(jù)中心變成割裂的各自不同的資源池碎片,這樣云的整個(gè)運(yùn)營(yíng)管理變得非常的復(fù)雜和困難。