編者按
我記得之前看過(guò)專(zhuān)門(mén)介紹各種PU List的文章,最大的感受是:處理器類(lèi)型很多很多,從APU到ZPU,26個(gè)字母都已經(jīng)被用光了。大家可能對(duì)這些PU都耳熟能詳,但要說(shuō)到各個(gè)PU之間的關(guān)系和協(xié)作,可能大家了解甚少。今天我們會(huì)進(jìn)行基本的介紹。
本文章主要介紹綜合的、融合的基于超異構(gòu)計(jì)算的通用處理器GP-HPU(General Purpose Hyper-heterogeneous Processing Unit)。
1 不同處理器類(lèi)型的分類(lèi)和協(xié)同
我目前有個(gè)基本的思考框架,來(lái)把各種PU進(jìn)行劃分:系統(tǒng)是由分層分塊的模塊組成的,這樣我們可以大致上把系統(tǒng)分為三部分,如上圖所示。
各類(lèi)PU分析如下:
CPU,中央處理器,是最核心的處理器。目前其他各種處理器,號(hào)稱(chēng)取代CPU的核心地位,這些表述是不對(duì)的:你只是代替CPU干臟活累活,一切的控制和管理依然是CPU來(lái)完成。
各類(lèi)加速器芯片。通過(guò)CPU+xPU的異構(gòu)計(jì)算架構(gòu),如GPU、FPGA加速器、各類(lèi)AI芯片(谷歌TPU、graphcore IPU、NPU、BPU等)以及其他各種加速芯片,這類(lèi)芯片沒(méi)法單獨(dú)運(yùn)行,需要有CPU的協(xié)作,構(gòu)成CPU+xPU的異構(gòu)計(jì)算的方式運(yùn)行。
DPU。目前,大家對(duì)DPU的理解是,DPU主要負(fù)責(zé)系統(tǒng)I/O的處理。不管是網(wǎng)絡(luò)I/O還是遠(yuǎn)程存儲(chǔ)I/O,都需要走網(wǎng)絡(luò),因?yàn)镈PU被不少人認(rèn)為是I/O加速的處理器。更深一層的理解,是DPU是作為基礎(chǔ)設(shè)施處理器的存在,負(fù)責(zé)整個(gè)系統(tǒng)底層工作的處理。
SOC,系統(tǒng)級(jí)芯片。把整個(gè)系統(tǒng)的所有處理放在一個(gè)芯片里,有各種加速引擎負(fù)責(zé)性能敏感的工作任務(wù),CPU負(fù)責(zé)一些基本任務(wù)的處理和整個(gè)系統(tǒng)的控制和管理。
不管叫什么PU,逃不開(kāi)這四個(gè)類(lèi)型。
2 場(chǎng)景特點(diǎn):綜合、通用以及資源預(yù)備
許多AI芯片或系統(tǒng)落地面臨的一個(gè)主要問(wèn)題是“我好不容易做了一盤(pán)餃子,可用戶需要的是一桌菜肴”。也即是說(shuō),客戶需要的是綜合性的系統(tǒng)解決方案,而AI只是其中的一部分,甚至非常小的一部分。
具體的終端應(yīng)用場(chǎng)景包羅萬(wàn)象,但云端和邊緣端,卻都是清一色的服務(wù)器來(lái)提供服務(wù)端的運(yùn)行以及和終端的協(xié)同。這些服務(wù)器,可以服務(wù)各行各業(yè)、各種不同類(lèi)型的場(chǎng)景的服務(wù)端工作任務(wù)的處理。云和邊緣服務(wù)器場(chǎng)景,需要考慮服務(wù)端系統(tǒng)的特點(diǎn)(微服務(wù)化功能持續(xù)解構(gòu),并且還和多租戶、多系統(tǒng)共存),對(duì)系統(tǒng)的靈活性的要求遠(yuǎn)高于對(duì)性能的要求,需要提供的是綜合性的通用解決方案。
在云和邊緣數(shù)據(jù)中心,當(dāng)CSP投入數(shù)以?xún)|計(jì)資金,上架數(shù)以萬(wàn)計(jì)的各種型號(hào)、各種配置的服務(wù)器的時(shí)候,嚴(yán)格來(lái)說(shuō),它并不知道,具體的某臺(tái)服務(wù)器最終會(huì)售賣(mài)給哪個(gè)用戶,這個(gè)用戶到底會(huì)在服務(wù)器上面跑什么應(yīng)用。并且,未來(lái),這個(gè)用戶的服務(wù)器資源回收之后再賣(mài)個(gè)下一個(gè)用戶,下一個(gè)用戶又用來(lái)干什么,也是不知道的。因此,對(duì)CSP來(lái)說(shuō),最理想的狀態(tài)是,存在一種服務(wù)器,足夠通用,即不管是哪種用戶哪種應(yīng)用運(yùn)行其上,都足夠高效快捷并且低成本。只有這樣,系統(tǒng)才夠簡(jiǎn)單而穩(wěn)定,運(yùn)維才能簡(jiǎn)單并且高效。然后要做的,就是把這種服務(wù)器大規(guī)模復(fù)制(大規(guī)模復(fù)制意味著單服務(wù)器成本的更快速下降)。
服務(wù)器都是相對(duì)通用,服務(wù)器上目前大芯片就三個(gè)位置,也就是我們通常所說(shuō)的數(shù)據(jù)中心三大芯片的位置:CPU、業(yè)務(wù)加速的GPU以及基礎(chǔ)設(shè)施加速的DPU。大家要做的,就是自己芯片的定位,以及同其他各種廠家的各種芯片來(lái)競(jìng)爭(zhēng)這三個(gè)位置。
有些專(zhuān)用的芯片,用在特定領(lǐng)域,需要設(shè)計(jì)專(zhuān)門(mén)的服務(wù)器,這種方案都流離在整個(gè)云和邊緣計(jì)算主流體系之外的,落地門(mén)檻很高,也很難大規(guī)模落地。
3 超異構(gòu)處理器是什么?
系統(tǒng)持續(xù)演進(jìn):
第一階段,性能要求不高,CPU能夠滿足要求。目前數(shù)據(jù)中心大量服務(wù)器依然是只有CPU處理器。
第二階段,性能敏感類(lèi)任務(wù)大量出現(xiàn),不得不進(jìn)行異構(gòu)加速。如AI訓(xùn)練、視頻圖像處理,HPC等場(chǎng)景。這類(lèi)場(chǎng)景,目前的狀況主要:NVIDIA GPU+CUDA為主流,F(xiàn)PGA FaaS非主流,AI類(lèi)的DSA落地較少(包括谷歌TPU,也不算成功)。
第三階段。DPU的出現(xiàn),CPU、GPU和DPU共同構(gòu)成數(shù)據(jù)中心的三大處理芯片。
第四階段,再融合。
為什么不是獨(dú)立多芯片?為什么需要融合單芯片?融合單芯片是有諸多優(yōu)勢(shì)的:
融合有利于計(jì)算的充分整合,進(jìn)一步提升數(shù)據(jù)計(jì)算效率;
系統(tǒng)成本跟主要芯片的數(shù)量是直接相關(guān)的,融合型單芯片可以進(jìn)一步降低成本;
融合系統(tǒng),內(nèi)部功能劃分和交互統(tǒng)一構(gòu)建,相比三芯片方案,可以顯著降低彼此功能和交互的各種掣肘(相互拖累);
大部分(80%-90%)場(chǎng)景是相對(duì)輕量級(jí)場(chǎng)景,通過(guò)超異構(gòu)的單芯片可以覆蓋其復(fù)雜度和系統(tǒng)規(guī)模;
Chiplet加持,可以通過(guò)多DIE單芯片的方式,實(shí)現(xiàn)重量級(jí)場(chǎng)景的覆蓋。
超異構(gòu)處理器,可以認(rèn)為是由CPU、GPU、各類(lèi)DSA以及其他各類(lèi)處理器引擎共同組成的,CPU、GPU和DPU整合重構(gòu)的一種全系統(tǒng)功能融合的單芯片解決方案。
3.1 為什么叫超異構(gòu)處理器?
首先,不能叫超融合處理器。超融合的概念是云計(jì)算領(lǐng)域一個(gè)非常重要的概念,大致意思是說(shuō)在小規(guī)模集群能夠把云計(jì)算的IaaS層的服務(wù)以及云堆棧OS完整部署,可以提供給企業(yè)和私有云場(chǎng)景的云計(jì)算解決方案,并且因?yàn)楹凸迷贫褩S是同一的體系,可以實(shí)現(xiàn)混合云的充分協(xié)同。超異構(gòu)處理器和超融合沒(méi)有必然聯(lián)系,可以支持小集群的超融合,也可以支持大集群的不“融合”。
NVIDIA對(duì)DPU的未來(lái)愿景:數(shù)據(jù)量越來(lái)越大,而數(shù)據(jù)在網(wǎng)絡(luò)中流動(dòng),計(jì)算節(jié)點(diǎn)也是靠數(shù)據(jù)的流動(dòng)來(lái)驅(qū)動(dòng)計(jì)算,計(jì)算的架構(gòu)從以計(jì)算為中心轉(zhuǎn)向了以數(shù)據(jù)為中心。所有的系統(tǒng)本質(zhì)上就是數(shù)據(jù)處理,那么所有的設(shè)備就都可以是Data Processing Unit。所以,未來(lái)以DPU為基礎(chǔ),不斷地融合CPU和GPU的功能,DPU會(huì)逐漸演化成數(shù)據(jù)中心統(tǒng)一的處理器(只是,目前沒(méi)有叫超異構(gòu)HPU這個(gè)名字罷了)。
不管名稱(chēng)具體叫什么,這個(gè)處理器,一定是基于多種處理引擎混合的(超異構(gòu)計(jì)算)、面向宏系統(tǒng)場(chǎng)景的(MSOC,Micro-SOC)、數(shù)據(jù)驅(qū)動(dòng)的(DPU,Data Processing),一個(gè)全新的處理器類(lèi)型。
4 超異構(gòu)處理器和傳統(tǒng)SOC的區(qū)別
嚴(yán)格來(lái)說(shuō),超異構(gòu)處理器也是屬于SOC的范疇。但如果只是稱(chēng)之為SOC,那無(wú)法體現(xiàn)超異構(gòu)處理器和傳統(tǒng)SOC的本質(zhì)區(qū)別。這樣,不利于我們深刻認(rèn)識(shí)超異構(gòu)處理器的創(chuàng)新價(jià)值所在,以及在支撐超異構(gòu)處理器需要的創(chuàng)新技術(shù)和架構(gòu)方面積極投入。
如下表格為超異構(gòu)處理器和傳統(tǒng)SOC的對(duì)比:
5 超異構(gòu)處理器,是否可以極致性能的同時(shí),還足夠“通用”?
每一種處理器(引擎)都有其優(yōu)勢(shì),也都有其劣勢(shì):
CPU非常通用,能夠干幾乎所有事情。但劣勢(shì)在于,其性能效率是最低的。
DSA的性能足夠好,劣勢(shì)在于只能覆蓋特定的領(lǐng)域場(chǎng)景,其它領(lǐng)域場(chǎng)景完全沒(méi)法用。
GPU,介于兩者之間。能夠覆蓋的領(lǐng)域場(chǎng)景比DSA多、比CPU少,性能比CPU好但比DSA差。
復(fù)雜的宏系統(tǒng),存在“二八定律”。比如,在服務(wù)器上,永遠(yuǎn)少不了的虛擬化、網(wǎng)絡(luò)、存儲(chǔ)、安全類(lèi)的任務(wù),以及很多服務(wù)器都需要的文件系統(tǒng)、數(shù)據(jù)庫(kù)、AI推理等。因此,我們可以把系統(tǒng)計(jì)算當(dāng)做一個(gè)塔防游戲:
在最前端,主要是各類(lèi)DSA。他們的性能很好,負(fù)責(zé)處理算力需求強(qiáng)勁的任務(wù)。這些任務(wù)占整個(gè)計(jì)算量的80%。
中間是GPU,性能也不錯(cuò),覆蓋面也不錯(cuò)。則負(fù)責(zé)處理剩余20%中的80%的計(jì)算量。
而CPU的任務(wù),就是兜底。所有“漏網(wǎng)之魚(yú)”都由CPU負(fù)責(zé)處理。
這個(gè)思路,也對(duì)應(yīng)我們第一部分介紹的系統(tǒng)的三類(lèi)任務(wù)劃分。
按照這個(gè)思路,我們?cè)偻ㄟ^(guò)一些軟硬件融合的系統(tǒng)設(shè)計(jì),提供更多的通用性、靈活性、可編程性、易用性等能力,然后再不斷的集成新的性能敏感任務(wù)的加速?;旧?,這樣的通用超異構(gòu)處理器,可以在提供極致性能兼極致靈活性的同時(shí),可以覆蓋大部分云、邊緣和超級(jí)終端的場(chǎng)景。
6 超異構(gòu)處理器可以用在哪里?
超異構(gòu)處理器HPU相比傳統(tǒng)SOC,最核心的特點(diǎn)是宏系統(tǒng),需要支持虛擬化和多租戶多系統(tǒng)共存,需要支持資源、數(shù)據(jù)和性能隔離。因此,超異構(gòu)處理器主要用在云計(jì)算、邊緣計(jì)算以及自動(dòng)駕駛超級(jí)終端等復(fù)雜計(jì)算場(chǎng)景:
云端重量級(jí)服務(wù)器。首先,HPU可以當(dāng)做DPU來(lái)使用;更長(zhǎng)遠(yuǎn)的,可以通過(guò)Chiplet方式實(shí)現(xiàn)HPU對(duì)重量級(jí)場(chǎng)景的覆蓋。
云端輕量級(jí)服務(wù)器??梢詫?shí)現(xiàn)HPU單芯片對(duì)目前以CPU為主的多個(gè)芯片的集成,并且性能顯著提升。
邊緣計(jì)算服務(wù)器。類(lèi)似云端輕量服務(wù)器,可以通過(guò)單芯片集成的HPU實(shí)現(xiàn)所有計(jì)算的全覆蓋。
超級(jí)終端。以自動(dòng)駕駛為典型場(chǎng)景,目前也是逐漸地從分布式的ECU、DCU向集中式的超級(jí)終端單芯片轉(zhuǎn)變。這將是HPU在終端場(chǎng)景的典型應(yīng)用。
總結(jié)一下,超異構(gòu)處理器的核心價(jià)值在于確保整個(gè)系統(tǒng)如CPU一樣極致靈活性的同時(shí),還可以提供相比目前主流芯片數(shù)量級(jí)的算力提升??梢杂迷谠朴?jì)算、邊緣計(jì)算、超級(jí)終端等各類(lèi)復(fù)雜計(jì)算場(chǎng)景。
系統(tǒng)越復(fù)雜,超異構(gòu)處理器的價(jià)值越凸顯!
審核編輯:劉清
評(píng)論
查看更多