算力爆炸的時(shí)代,復(fù)雜計(jì)算充滿挑戰(zhàn),對硬件靈活可編程性要求也越來越高。計(jì)算架構(gòu)走到異構(gòu)的今天,矛盾也凸顯——單一處理器無法兼顧性能和靈活性。
而超大規(guī)模計(jì)算集群和復(fù)雜系統(tǒng)讓超異構(gòu)計(jì)算成為了可能,何出此言?超異構(gòu)計(jì)算又到底是什么?從芯片龍頭企業(yè)的產(chǎn)品布局上我們能發(fā)現(xiàn)什么?傳統(tǒng)的計(jì)算架構(gòu)發(fā)展又遭遇哪些瓶頸?
在12月6日芯智庫【相約芯期二】第27期的“汽車芯片智能駕艙在線研討會(huì)”上,上海矩向科技CEO黃朝波帶來主題為“從英偉達(dá) Thor,看大芯片發(fā)展趨勢”的演講。 ? 以下是黃朝波的分享: ? 我給大家分享的是“從英偉達(dá)Thor,看大芯片的發(fā)展趨勢”,當(dāng)然它有更專業(yè)點(diǎn)的名字叫“超異構(gòu)計(jì)算,新一代計(jì)算架構(gòu)”。 ? 我的介紹大概分為5個(gè)部分,第一部分對一些沒有計(jì)算機(jī)相關(guān)基礎(chǔ)的讀者做一些基本的介紹;第二部分探討下計(jì)算架構(gòu)面臨的挑戰(zhàn);第三部分就是介紹超異構(gòu)相關(guān)的趨勢案例,里面主要包含了英偉達(dá)和高通的案例;第四部分討論下為什么現(xiàn)在會(huì)出現(xiàn)這個(gè)概念,而不是過去或者以后;最后部分介紹下我們認(rèn)為未來會(huì)出現(xiàn)單芯片的整體解決方案,也就是我們稱之為超異構(gòu)處理器。 ? ? 01? ?算力提升不僅是芯片? ? ? 先簡單介紹下馮·諾依曼架構(gòu)。我們一切系統(tǒng)的運(yùn)行是可以歸一到計(jì)算的,計(jì)算系統(tǒng)是由輸入、計(jì)算和輸出三部分組成,這個(gè)架構(gòu)就是馮·諾依曼架構(gòu),非常的簡單。現(xiàn)在行業(yè)內(nèi)有很多號(hào)稱打破馮·諾依曼架構(gòu)的系統(tǒng),但背后邏輯都是遵照馮·諾依曼架構(gòu)的指導(dǎo)思想,嚴(yán)格來說不存在打破的說法。 ?
? 然后是摩爾定律。基于CPU的摩爾定律真的已經(jīng)到了極限,雖然說我們現(xiàn)在晶體管的提升也是慢慢到了一個(gè)極限,但是如果我們把摩爾定律當(dāng)做一個(gè)KPI的話,那么對行業(yè)來說它又是一個(gè)非常重要的路線圖,大家需要持續(xù)不斷地提升性能,所以說對于計(jì)算性能的追求其實(shí)是永無止境的。 ? 另外,再簡單介紹下軟件和硬件。首先,指令是軟件和硬件之間的媒介,那么指令的復(fù)雜度決定了這個(gè)軟硬件的解耦程度。ISA(指令集架構(gòu))之下,CPU、GPU等各種處理器是硬件;ISA之上,各種程序、數(shù)據(jù)集、文件等是軟件。 ?
? 按照指令的復(fù)雜度,典型的處理器平臺(tái)大致分為CPU、協(xié)處理器、GPU、FPGA、DSA、ASIC。從左往右,單位計(jì)算越來越復(fù)雜,性能越來越好,而靈活性越來越低。任務(wù)在CPU運(yùn)行,則定義為軟件運(yùn)行;任務(wù)在協(xié)處理器、GPU、FPGA、DSA或ASIC運(yùn)行,則定義為硬件加速運(yùn)行。 ? 我們現(xiàn)在是一個(gè)萬物互聯(lián)的時(shí)代,從云端的集中式超大規(guī)模服務(wù)器,然后到邊緣端的小規(guī)模數(shù)據(jù)中心,再到終端的各種豐富多彩的設(shè)備,那么整個(gè)萬物互聯(lián)大概來說就分為這三個(gè)層次。 ? 通常來說,終端是歸于我們現(xiàn)實(shí)世界的一個(gè)接入層,它是整個(gè)大系統(tǒng)的一個(gè)I/O,然后負(fù)責(zé)現(xiàn)實(shí)世界和虛擬世界的交互,那么云端是最終任務(wù)的處理,邊緣端通常來說是作為云端的一個(gè)代理,為終端去提供服務(wù)的,因此我們可以根據(jù)云邊端將計(jì)算節(jié)點(diǎn)分類。 ? 終端我們把它分為四類:IoT節(jié)點(diǎn)、IoT設(shè)備、智能終端、超級終端。云端分為三類:服務(wù)器、服務(wù)、用戶業(yè)務(wù)運(yùn)行環(huán)境。邊緣分為兩類:代理運(yùn)行平臺(tái)、近云端及近終端運(yùn)行環(huán)境。 ?
? 我們最終要宏觀地去提升這些設(shè)備共同的算力,不能簡單地只提升一個(gè)設(shè)備的性能,那是沒有意義的。因?yàn)槊恳粋€(gè)設(shè)備如果只是一個(gè)孤島的話,這些東西沒法連成一個(gè)大的資源池是沒有意義的,所以基于此,我們把這些統(tǒng)一起來,我們把微觀層次作為單芯片性能,宏觀層次就是整體的算力利用率。 ?
? 這樣的話,想提升算力,它僅僅是提升芯片的性能肯定是不夠的,那就需要各方面全方位的優(yōu)化。我們可以簡單地把它作為一個(gè)公式,實(shí)際總算力與單芯片性能、數(shù)量、利用率相關(guān),特別是后面兩個(gè)參數(shù),我們做芯片的可能不太關(guān)注,但這兩塊的作用又很關(guān)鍵。 ? ?
02? ?計(jì)算架構(gòu)面臨的挑戰(zhàn)? ? ? 計(jì)算架構(gòu)最開始是單核處理器,然后走向了多核,計(jì)算從串行走向了并行。 ? 再往后走,我們從同構(gòu)并行到了異構(gòu)并行,異構(gòu)并行通常分為三類:基于GPU、基于FPGA、基于DSA。 ? 這些異構(gòu)并行都需要外掛一個(gè)CPU來控制,所以本質(zhì)上異構(gòu)并行就是CPU+XPU的形態(tài),像最典型的就是GPU服務(wù)器。GPU并行計(jì)算性能效率比CPU高,并且場景覆蓋較多,CUDA生態(tài)成熟。但性能效率比ASIC/DSA仍有很大差距;對一些輕量級異構(gòu)加速場景,獨(dú)立GPU顯得太重。 ? 復(fù)雜計(jì)算,通俗易懂的講,就是需要支持虛擬化,支持多租戶多系統(tǒng)運(yùn)行的這些計(jì)算場景。在云計(jì)算、邊緣計(jì)算以及一些超級終端的復(fù)雜計(jì)算場景,對靈活性的要求遠(yuǎn)高于對性能的要求。 ? 也就是說通常情況下,如果CPU能夠滿足性能要求,大家一定是不希望用各種加速器。但對算力的需求不斷增加,有時(shí)候不得不通過各種異構(gòu)加速方式進(jìn)行性能優(yōu)化。實(shí)踐證明,在復(fù)雜計(jì)算場景,提升性能的同時(shí),不能損失通用靈活性。 ? 最后我們總結(jié)一下異構(gòu)計(jì)算存在的問題。系統(tǒng)越復(fù)雜,需要選擇越靈活的處理器;性能挑戰(zhàn)越大,需要選擇越偏向定制的加速處理器。 ? 本質(zhì)矛盾是:單一處理器無法兼顧性能和靈活性;即使我們拼盡全力平衡,也只“治標(biāo)不治本”。 ? CPU+XPU異構(gòu)計(jì)算中的XPU,決定了整個(gè)系統(tǒng)的性能/靈活性特征。GPU靈活性較好,但性能效率不夠極致;DSA性能好,但靈活性差,難以適應(yīng)復(fù)雜計(jì)算場景對靈活性的要求;FPGA功耗和成本高,需要一些定制開發(fā),落地案例不多;ASIC功能完全固定,難以適應(yīng)靈活多變的復(fù)雜計(jì)算場景。 ? 這就是目前的一個(gè)現(xiàn)狀。還有另外一個(gè)原因就在于計(jì)算孤島的問題。異構(gòu)計(jì)算面向某個(gè)領(lǐng)域或場景,領(lǐng)域之間的交互困難。服務(wù)器物理空間有限,無法多個(gè)物理加速卡,需要把這些加速方案整合。整合,不是簡單的拼湊,而是要架構(gòu)重構(gòu)。 ?
? 此外,我們所說的云網(wǎng)邊端融合也面臨著挑戰(zhàn)。云網(wǎng)邊端,算力需求不斷提高,系統(tǒng)復(fù)雜度不斷提高,對硬件的靈活可編程性要求也越來越高。微服務(wù)可自適應(yīng)地在云、網(wǎng)、邊、端運(yùn)行,需要云數(shù)據(jù)中心內(nèi)部,以及跨云邊端的硬件平臺(tái)一致性。需要芯片、系統(tǒng)、框架和庫、以及上層應(yīng)用的多方協(xié)同。 ? ?
03? 什么是超異構(gòu)計(jì)算? ? ?
那么下一步,我們認(rèn)為是持續(xù)往前走向超異構(gòu),為什么這件事情能夠存在? ? 我們認(rèn)為有幾個(gè)原因使得超異構(gòu)成為可能。那么首先一點(diǎn)就是超大規(guī)模的計(jì)算集群,其次是復(fù)雜宏系統(tǒng),是由分層分塊的組件(系統(tǒng))組成。單服務(wù)器的宏系統(tǒng)復(fù)雜度,以及超大規(guī)模的云和邊緣計(jì)算,使得“二八定律”在系統(tǒng)中普遍存在:把相對確定的任務(wù)沉淀到基礎(chǔ)設(shè)施層,相對彈性的沉淀到彈性加速部分,其他繼續(xù)放在CPU(CPU兜底)。 ?
? 把更多的異構(gòu)計(jì)算整合重構(gòu),各類型處理器間充分的、靈活的數(shù)據(jù)交互,形成超異構(gòu)計(jì)算。未來就會(huì)有三個(gè)和三個(gè)以上類型的處理引擎,共同組成超異構(gòu)并行。 ? 接下來我們介紹一些案例,首先是英特爾提出的超異構(gòu)相關(guān)概念。當(dāng)它提出來之后,并沒有給出來完整的一個(gè)產(chǎn)品,反而是在超異構(gòu)概念周邊做了很多工作,最終我覺得會(huì)有很完整的東西出來。 ? 2019年,英特爾提出超異構(gòu)計(jì)算相關(guān)概念:XPU是架構(gòu)組合,包括CPU、GPU、FPGA 和其他加速器;OneAPI是開源的跨平臺(tái)編程框架,底層是不同的XPU處理器,通過OneAPI提供一致性編程接口,使得應(yīng)用跨平臺(tái)復(fù)用。 ? 就是說我任何一個(gè)應(yīng)用,我既可以在CPU運(yùn)行,又可以在GPU運(yùn)行,又可以在專用的ASIC上運(yùn)行,通過OneAPI就可以跨不同的處理器平臺(tái),就可以自適應(yīng)的去在平臺(tái)上也有不同的計(jì)算資源。 ? 再說說英特爾的IPU,英特爾IPU跟現(xiàn)在市面上比較火爆的DPU是一個(gè)概念。 ?
? 我們對英特爾的超異構(gòu)計(jì)算進(jìn)行一個(gè)總結(jié),那它有CPU、GPU、FGPA,以及DSA和ASIC所組成的IPU,并且有了這個(gè)跨平臺(tái),也就是它所謂的XPU戰(zhàn)略和oneAPI框架,最終把它整合成一個(gè)大芯片, ?
(上圖為Atlan架構(gòu)示意圖,Atlan和Thor同架構(gòu)) ? 我們再來看英偉達(dá)Thor,這里很關(guān)鍵,為什么是數(shù)據(jù)中心架構(gòu)?它所使用CPU、GPU、DPU跟數(shù)據(jù)中心里面用的架構(gòu)一模一樣,區(qū)別僅僅在于規(guī)格的不同,比方說數(shù)據(jù)中心可能有50個(gè)核,在終端可能用到30個(gè)核。 ? 超級終端與傳統(tǒng)終端最大的區(qū)別在于:支持虛擬化,支持多系統(tǒng)運(yùn)行,支持微服務(wù)。手機(jī)、平板、個(gè)人電腦等傳統(tǒng)AP是一個(gè)系統(tǒng):部署好OS,上面運(yùn)行各種應(yīng)用,軟件附屬于硬件而存在。自動(dòng)駕駛等超級終端,需要通過虛擬化將硬件切分成不同規(guī)格,供不同形態(tài)的多個(gè)系統(tǒng)運(yùn)行,并且各個(gè)系統(tǒng)之間需要做到環(huán)境、應(yīng)用、數(shù)據(jù)、性能、故障、安全等方面的隔離。 ? 再然后看一下英偉達(dá)在數(shù)據(jù)中心的布局,NVIDIA Grace Hopper超級芯片是CPU+GPU,NVIDIA計(jì)劃從Bluefield DPU四代起,把DPU和GPU兩者集成單芯片。Chiplet技術(shù)逐漸成熟,未來趨勢是CPU+GPU+DPU的超異構(gòu)芯片。 ? 為什么顯而易見?這里面有英偉達(dá)自己的一個(gè)說法,我把這個(gè)進(jìn)行了一個(gè)總結(jié)。首先,計(jì)算和網(wǎng)絡(luò)不斷融合:計(jì)算面臨很多挑戰(zhàn),需要網(wǎng)絡(luò)的協(xié)同;網(wǎng)絡(luò)設(shè)備也是計(jì)算機(jī),加入計(jì)算集群,成為計(jì)算的一部分。 ?
? 數(shù)據(jù)在網(wǎng)絡(luò)中流動(dòng),計(jì)算節(jié)點(diǎn)依靠數(shù)據(jù)流動(dòng)來驅(qū)動(dòng)計(jì)算。所有系統(tǒng)的本質(zhì)是數(shù)據(jù)處理,那么所有的設(shè)備就都是DPU。以DPU為基礎(chǔ),不斷融合CPU和GPU的功能,DPU會(huì)逐漸演化成數(shù)據(jù)中心統(tǒng)一的超異構(gòu)處理器。 ?
? 我們再來看高通。高通在手機(jī)端是很厲害的存在,往汽車域控制上發(fā)展也會(huì)有先天優(yōu)勢,但如果以最終的超級單芯片來講,相對于英偉達(dá)還是有點(diǎn)劣勢的。 ? ?
04? 如何駕馭超異構(gòu)計(jì)算? ? ?
接下來討論下,為什么現(xiàn)在才提超異構(gòu)這個(gè)概念。這里面其實(shí)有很多原因,我們總結(jié)了大概4個(gè)部分,第一個(gè)首先是業(yè)務(wù)需求驅(qū)動(dòng),現(xiàn)在軟件新應(yīng)用層出不窮,兩年一個(gè)新熱點(diǎn);并且,已有的熱點(diǎn)技術(shù)仍在快速演進(jìn)。
? 第二點(diǎn),元宇宙是繼互聯(lián)網(wǎng)和移動(dòng)互聯(lián)網(wǎng)之后的下一個(gè)互聯(lián)網(wǎng)形態(tài),元宇宙需要源源不斷的“算力能源”。要想實(shí)現(xiàn)元宇宙級別的體驗(yàn),需將算力提升1000倍。受限于算力瓶頸,許多元宇宙的美好設(shè)想難以落地:沉浸感所需的16K效果,需要280.7Gbps帶寬。目前的算力基礎(chǔ)設(shè)施,還難以達(dá)到這么高數(shù)據(jù)量的傳輸、處理和存儲(chǔ);宏觀AI算力需要數(shù)量級提升:①支撐單個(gè)數(shù)字人的AI算力需求急速增長;②元宇宙快速發(fā)展,數(shù)字人的數(shù)量猛增。 ? 第三點(diǎn),就是工藝在進(jìn)步,那么這里有一個(gè)非常有優(yōu)勢的技術(shù)。Chiplet使得在單芯片層次,可以構(gòu)建規(guī)模數(shù)量級提升的超大系統(tǒng)。系統(tǒng)越大,超異構(gòu)的優(yōu)勢越明顯。 ? 第四點(diǎn),異構(gòu)編程很難,超異構(gòu)編程更是難上加難。該如何更好的駕馭超異構(gòu)?我們給出的解決方案是軟硬件融合。軟硬件融合從以下幾個(gè)方面入手: ? 性能和靈活性。單引擎平衡,多引擎兼顧。 可編程及易用性。利用系統(tǒng)的特征,軟件無縫卸載, 實(shí)現(xiàn)“軟件定義一切,硬件加速一切”。 產(chǎn)品的彈性。滿足用戶需求,還需要滿足不同用戶差異化的需求,以及用戶需求的快速迭代。 ? 通過軟硬件融合,實(shí)現(xiàn)大芯片的通用性(靈活性、可編程性、易用性以及彈性等特征的集合): 覆蓋更多的用戶、更多的場景和更長期的迭代; 適配復(fù)雜宏系統(tǒng)的快速變化; 實(shí)現(xiàn)芯片的大規(guī)模落地。 ? ? 05? ?超異構(gòu)計(jì)算的未來? ? ? 最后我們介紹一下,最終落地的到底是個(gè)什么東西? ? 在這里我們需要說一下,圖靈獎(jiǎng)獲得者John H.和David P. 2017年提出“計(jì)算機(jī)體系結(jié)構(gòu)的黃金年代”,給出的解決方案是特定領(lǐng)域架構(gòu)DSA。 ?
? 我們認(rèn)為,DSA架構(gòu)分離的趨勢導(dǎo)致平臺(tái)和生態(tài)碎片化,未來正確的趨勢應(yīng)該是從分離再回到融合。 ? 也就是將目前CPU、GPU、DPU進(jìn)行整合,我們把它叫做GP-HPU,那么可能大家就會(huì)有一個(gè)疑問,這不就是SOC嗎? ?
? 它的確是把整個(gè)系統(tǒng)放到了一個(gè)基本面上,但是他跟我們傳統(tǒng)的SOC有很多不同。 ?
? 最后展望一下,超異構(gòu)更加廣泛的應(yīng)用領(lǐng)域。 ?
? 那么通常來說一開始做的相對小一些,它用在邊緣是比較合適的,但隨著擴(kuò)展,那么未來用在這個(gè)數(shù)據(jù)中心里面,或者自動(dòng)駕駛上。跨云網(wǎng)邊端融合,需要計(jì)算架構(gòu)的統(tǒng)一。通用HPU優(yōu)勢:更多功能復(fù)用,更多場景覆蓋,跨平臺(tái)架構(gòu)統(tǒng)一。 ? ?
編輯:黃飛
?
評論
查看更多