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