加入星計(jì)劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 面向未來十年的新一代計(jì)算架構(gòu)
    • 1.1 復(fù)雜計(jì)算場景,需要更多的靈活性
    • 1.2 靈活性,代表了宏觀的規(guī)模
    • 1.3 性能和靈活性,魚和熊掌,必須全都要
    • 2.1 性能/算力的渴求無止境
    • 2.2 極致性能需要盡可能采用DSA
    • 3.1 架構(gòu)設(shè)計(jì)概述
    • 3.2 復(fù)雜系統(tǒng),必須要軟硬件融合
    • 3.3 系統(tǒng)持續(xù)復(fù)雜,量變引起質(zhì)變,從同構(gòu)到異構(gòu)再到超異構(gòu)
    • 4.1 從硬件定義軟件到軟件定義硬件
    • 4.2 案例:Intel OneAPI,支持跨平臺的開發(fā)框架
    • 4.3 開放融合,更好地實(shí)現(xiàn)跨平臺
  • 相關(guān)推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

預(yù)見·第四代算力革命(三):面向未來十年的新一代計(jì)算架構(gòu)

2022/02/21
2330
閱讀需 30 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

編者按

新華社北京2022年2月17日電,記者了解到,國家發(fā)展改革委、中央網(wǎng)信辦、工業(yè)和信息化部、國家能源局近日聯(lián)合印發(fā)文件,同意在京津冀、長三角、粵港澳大灣區(qū)、成渝、內(nèi)蒙古、貴州、甘肅、寧夏啟動建設(shè)國家算力樞紐節(jié)點(diǎn),并規(guī)劃了張家口集群等10個(gè)國家數(shù)據(jù)中心集群。至此,全國一體化大數(shù)據(jù)中心體系完成總體布局設(shè)計(jì),“東數(shù)西算”工程正式全面啟動。

當(dāng)前,算力已成為全球戰(zhàn)略競爭新焦點(diǎn),是國民經(jīng)濟(jì)發(fā)展的重要引擎,全球各國的算力水平與經(jīng)濟(jì)發(fā)展水平呈現(xiàn)顯著的正相關(guān)。在2020年全球算力中,美國占36%,中國占31%,歐洲和日本分別占11%及6%。近年來,美國、歐洲、日本紛紛制定行動計(jì)劃,不斷運(yùn)用算力助推經(jīng)濟(jì)增長。

“數(shù)據(jù)、算法、算力”是數(shù)字經(jīng)濟(jì)時(shí)代核心的三個(gè)要素,其中算力是數(shù)字經(jīng)濟(jì)的物理承載。這里,我們通過“預(yù)見·第四代算力革命”系列文章(共四篇),從微觀到宏觀,詳細(xì)分析跟性能和算力相關(guān)的各個(gè)因素以及主流的算力平臺,盡可能地直面當(dāng)前算力提升面臨的諸多挑戰(zhàn)和困難,展望面向未來的算力發(fā)展趨勢。這四篇文章為:

預(yù)見·第四代算力革命(一):算力綜述;

預(yù)見·第四代算力革命(二):三大主流計(jì)算平臺CPU、GPU和DSA;

預(yù)見·第四代算力革命(三):面向未來十年的新一代計(jì)算架構(gòu);

預(yù)見·第四代算力革命(四):宏觀算力建設(shè)。

本文為第三篇,歡迎關(guān)注公眾號,閱讀歷史以及后續(xù)精彩文章。

面向未來十年的新一代計(jì)算架構(gòu)

算力,成為整個(gè)數(shù)字信息社會發(fā)展的關(guān)鍵。通過“東數(shù)西算”能緩解一些問題,但沒有根本解決問題:當(dāng)前要想提升算力,更多的是靠“攤大餅”的方式構(gòu)建更加規(guī)模龐大的現(xiàn)代化數(shù)據(jù)中心。

這是算力提升的Scale out(增大規(guī)模),那么,我們?nèi)绾文軌蜃龅剿懔Φ腟cale up(提升單個(gè)計(jì)算節(jié)點(diǎn)的性能)?或者說,我們?nèi)绾物@著(數(shù)量級)的提高單個(gè)處理器的性能?

1 性能,以靈活性為前提

1.1 復(fù)雜計(jì)算場景,需要更多的靈活性

云計(jì)算,是從IaaS、PaaSSaaS的豐富多彩的分層服務(wù)體系。云計(jì)算具有很多本質(zhì)的、顯著的特點(diǎn),這些特點(diǎn)決定了云計(jì)算的內(nèi)在發(fā)展規(guī)律:

超大的規(guī)模。AWS擁有超過400萬臺服務(wù)器,分布在全球22個(gè)地理區(qū)域和69個(gè)可用區(qū)。受規(guī)模的影響,數(shù)據(jù)中心需要自動化運(yùn)維;因?yàn)閂M/容器高可用,軟件實(shí)體需要在硬件平臺無縫遷移。這些需求,都需要軟硬件具有非常好的交互接口一致性。同樣,受規(guī)模的影響,任何一點(diǎn)細(xì)微的性能/成本優(yōu)化,在百萬級服務(wù)器的加持下,都會起到非常顯著的效果。例如,單個(gè)服務(wù)器系統(tǒng)優(yōu)化減少一個(gè)CPU核的消耗,對AWS來說,就意味著400萬個(gè)CPU核的成本降低,這會直接轉(zhuǎn)換成AWS的凈利潤。

大量的數(shù)據(jù)。2025年全球數(shù)據(jù)量175ZB,復(fù)合增長率27%,云端數(shù)據(jù)存儲占比超過50%。數(shù)據(jù)量爆炸式的增長,這么多數(shù)據(jù)的產(chǎn)生、傳輸、處理、存儲、分析、安全等等,都將對硬件的性能、帶寬、延時(shí)、空間、功耗、成本等構(gòu)成龐大的挑戰(zhàn)。

復(fù)雜的網(wǎng)絡(luò)。網(wǎng)絡(luò)最關(guān)鍵的參數(shù)是帶寬和延遲,但在超大規(guī)模的加持下,集中管理的快速網(wǎng)絡(luò)變更成為一個(gè)關(guān)鍵的需求。并且,域間隔離和跨域訪問等網(wǎng)絡(luò)處理,都對網(wǎng)絡(luò)處理的性能提出了更高的要求。

虛擬化和可遷移性。虛擬化是云計(jì)算的基礎(chǔ),虛擬化包括主機(jī)虛擬化、容器虛擬化以及函數(shù)虛擬化。虛擬化的本質(zhì)目的是為了更好地資源隔離,以及提高資源利用率。目前,處理器平臺只有CPU做到了足夠好的硬件虛擬化支持,GPU和DSA的虛擬化能力還比較弱。為了實(shí)現(xiàn)VM/容器/函數(shù)的高可用,系統(tǒng)需要支持可遷移性,軟件運(yùn)行實(shí)體和硬件運(yùn)行環(huán)境解耦。在性能要求極高的同時(shí),要求硬件IO設(shè)備和加速器等的接口一致性。需要“抽象層”硬件加速技術(shù)來屏蔽硬件差異,使得VM高性能的同時(shí),可在不同服務(wù)器間平滑遷移。

可擴(kuò)展性和復(fù)雜系統(tǒng)解構(gòu)。受限于單臺服務(wù)器的處理能力,云計(jì)算通常通過橫向擴(kuò)展來提升系統(tǒng)的服務(wù)能力;并且各種云服務(wù)的架構(gòu)逐漸微服務(wù)化,這些因素,都促使數(shù)據(jù)中心的東西向流量激增。云計(jì)算場景,是復(fù)雜系統(tǒng)解構(gòu)的同時(shí),多租戶的更多系統(tǒng)共存。這些服務(wù)之間、租戶之間、系統(tǒng)之間需要非常安全的隔離,避免相互干擾以及數(shù)據(jù)訪問泄露等風(fēng)險(xiǎn)。

上面列出的云計(jì)算的鮮明特點(diǎn),可以明顯看出,云計(jì)算場景對軟件系統(tǒng)運(yùn)行的硬件平臺,提出了非常多的高標(biāo)準(zhǔn)要求。總結(jié)來說,就是:越是復(fù)雜的場景,對靈活性的要求越高。而當(dāng)前,只有CPU能夠提供云場景所需的靈活性。CPU提供了靈活的軟件可編程能力、硬件級別的通用性、更好的虛擬化支持以及更好的軟硬件交互接口一致性等,這使得CPU成為了云計(jì)算等復(fù)雜計(jì)算場景的主力算力平臺。

然而,很不幸的是,算力需求依然在提升,而CPU卻遇到了摩爾定律失效。隨著CPU的性能瓶頸,我們不得不采用GPU、DSA等計(jì)算平臺,在這些計(jì)算平臺,如何提供如CPU一樣的軟件靈活性,是軟件和硬件的設(shè)計(jì)者需要核心關(guān)注的事情。

1.2 靈活性,代表了宏觀的規(guī)模

CPU是完全通用的處理器,通過最基本細(xì)分的簡單指令組成的程序,可以完成幾乎所有領(lǐng)域的任務(wù)處理。GPU,由于其并行計(jì)算的鮮明特點(diǎn),在科學(xué)計(jì)算、圖形圖形處理、AI等領(lǐng)域具有非常大的優(yōu)勢。而DSA,則是要針對性能敏感場景,去定制處理器,只能覆蓋單一的領(lǐng)域。這樣,靈活性越高的處理器,其可以覆蓋的領(lǐng)域也就越多。而覆蓋的領(lǐng)域越多,也就意味著其可以實(shí)現(xiàn)更大規(guī)模的使用。

另一方面,即使在同一領(lǐng)域,不同用戶的差異化(橫向差異)以及用戶系統(tǒng)的長期快速迭代(縱向差異),都對硬件的靈活性提出了很高的要求。而芯片的研發(fā)周期2-3年,生命周期4-5年。在長達(dá)6-8年的周期里,要想覆蓋這么多的橫向和縱向的差異化功能需求,就必然需要相對靈活可編程的平臺。反過來說,要是提供了相對靈活可編程的平臺,就可以覆蓋盡可能多的用戶需求和用戶的長期迭代,這也就意味著處理芯片可以被更多的用戶使用,從而形成更大的規(guī)模。

因此,靈活性和規(guī)模是基本正比的關(guān)系。越高的靈活性,就意味著處理芯片可以得到更大規(guī)模的商業(yè)化落地。

1.3 性能和靈活性,魚和熊掌,必須全都要

 

從“指令”復(fù)雜度的觀點(diǎn),我們可以得到:CPU最靈活但性能差,DSA相對固定但性能最好,GPU則位于兩者之間。單個(gè)處理引擎,其性能和靈活性是矛盾的兩面。獲得了性能就會失去靈活性,獲得了靈活性,就不得不損失性能。如上圖,我們進(jìn)行詳細(xì)的說明:

需要特別強(qiáng)調(diào)的是,這里說的性能指的是同等資源規(guī)模情況下的相對性能。

Baseline,最低要求。Baseline的兩條虛線代表了復(fù)雜計(jì)算場景對性能和靈活性的最低要求。這意味著,CPU能滿足靈活性的要求,但無法滿足性能的要求。而DSA/ASIC能夠滿足性能的要求,但無法滿足靈活性的要求。GPU,相對均衡的設(shè)計(jì),其性能和靈活性都無法滿足復(fù)雜計(jì)算場景的需要。

Ideal,理想化的(可以接近,但難以完全達(dá)到)要求。最理想的結(jié)果是魚和熊掌我們都要,既要CPU般極致的靈活性,又要DSA/ASIC般極致的性能。

CASH(Converged Architecture of Software and Hardware,軟硬件融合架構(gòu))。這里我們定義軟硬件融合架構(gòu)CASH,其目標(biāo)是實(shí)現(xiàn)接近于CPU一樣靈活性的同時(shí),又能夠?qū)崿F(xiàn)DSA/ASIC一樣極致的性能。其基本原理是“物盡其用”,通過把CPU、GPU、FPGA、DSA、ASIC等多種計(jì)算引擎混合集成在一起,讓“專業(yè)的人做專業(yè)的事”,分工協(xié)作,從而實(shí)現(xiàn)性能和靈活性的統(tǒng)一。

2 沿著摩爾定律的指引,持續(xù)不斷的提升性能

2.1 性能/算力的渴求無止境

算力,是數(shù)字經(jīng)濟(jì)時(shí)代的核心生產(chǎn)力,是支撐數(shù)字經(jīng)濟(jì)發(fā)展的堅(jiān)實(shí)基礎(chǔ)。算力對推動科技進(jìn)步、促進(jìn)行業(yè)數(shù)字化轉(zhuǎn)型以及支撐經(jīng)濟(jì)社會發(fā)展發(fā)揮重要的作用。算力與國家經(jīng)濟(jì)發(fā)展緊密相關(guān),《2020全球計(jì)算力指數(shù)評估報(bào)告》中指出,算力指數(shù)平均提高1個(gè)點(diǎn),數(shù)字經(jīng)濟(jì)和GDP將分布增長0.33%和0.18%。

根據(jù)IDC的報(bào)告,2018年中國產(chǎn)生的數(shù)據(jù)占全球23%,美國占21%。根據(jù)OpenAI的報(bào)告,全球AI訓(xùn)練對算力的需求擴(kuò)大了30萬倍。大數(shù)據(jù)、人工智能物聯(lián)網(wǎng)、區(qū)塊鏈、元宇宙等新興技術(shù)應(yīng)用,是未來算力發(fā)展的核心推動力。正是因?yàn)閿?shù)字經(jīng)濟(jì)時(shí)代,上層越來越豐富的應(yīng)用場景,對算力源源不斷的渴求,這樣就需要:

持續(xù)不斷的增加單個(gè)計(jì)算芯片/設(shè)備的性能(Scale up);

持續(xù)不斷地增加云計(jì)算、邊緣計(jì)算、自動駕駛車輛、智能終端等多層次計(jì)算設(shè)備的部署規(guī)模(Scale out和算力分層體系Hierarchy)。

2.2 極致性能需要盡可能采用DSA

前面我們提到,DSA的性能最好,雖然其靈活性差一些。但為了極致的性能,就不得不盡可能地選擇DSA架構(gòu)處理引擎。當(dāng)然,為了確保靈活性,我們需要針對性地把系統(tǒng)進(jìn)行拆解

復(fù)雜的系統(tǒng)通常是個(gè)分層的體系。其底層工作任務(wù)相對固定,上層工作任務(wù)相對靈活。可以把底層的工作任務(wù)盡可能的運(yùn)行在DSA,然后把上層的工作任務(wù)運(yùn)行在CPU/GPU。

不過,把一些底層任務(wù)放在DSA,需要針對性地設(shè)計(jì)DSA引擎或芯片。而數(shù)據(jù)中心等場景超大的規(guī)模,使得任何一點(diǎn)細(xì)微的優(yōu)化,在規(guī)模的影響下,都會產(chǎn)生非常大的效益。因此,這種針對性的DSA設(shè)計(jì)是值得的。

比較理想的狀況,就是通過系統(tǒng)軟硬件架構(gòu)的優(yōu)化設(shè)計(jì),把90%以上(算力占比)的基礎(chǔ)層工作任務(wù)都運(yùn)行在DSA(DSA負(fù)責(zé)性能敏感但功能確定的任務(wù)),而把應(yīng)用層少于10%的工作任務(wù)運(yùn)行在CPU/GPU(CPU負(fù)責(zé)更高價(jià)值,性能不那么敏感,但需要更多靈活可編程性的任務(wù))。這樣,整個(gè)系統(tǒng)就可以很好地實(shí)現(xiàn)性能和靈活性的兼顧。

3 系統(tǒng)架構(gòu),整合各類性能優(yōu)化措施

3.1 架構(gòu)設(shè)計(jì)概述

在《預(yù)見·第四代算力革命》的第一篇的時(shí)候,我們就已經(jīng)提到了跟性能相關(guān)的四個(gè)因素(“指令復(fù)雜度”、運(yùn)行頻率、并行度和I/O),也講到了通過工藝、存算一體、以及架構(gòu)創(chuàng)新三類主要的手段來提升性能。三類手段和四個(gè)因素是垂直交叉的關(guān)系,通過多個(gè)不同視角,綜合地闡述如何提升芯片的性能。

站在架構(gòu)設(shè)計(jì)的角度:

我們要考慮整個(gè)系統(tǒng)的輸入和輸出,通過什么樣的硬件接口,接口傳輸什么樣的內(nèi)容,以及通過什么樣的上層接口協(xié)議;

還要考慮整個(gè)系統(tǒng)的分層分塊,以及每個(gè)任務(wù)/模塊間的交互;

還要考慮每個(gè)任務(wù)/模塊的軟硬件劃分以及這些任務(wù)的運(yùn)行平臺;

并且要考慮內(nèi)部總線互聯(lián)和軟件之間的接口調(diào)用。

業(yè)務(wù)需求、系統(tǒng)架構(gòu)設(shè)計(jì)和半導(dǎo)體工藝/封裝進(jìn)步是相互驅(qū)動和影響的:

半導(dǎo)體工藝進(jìn)步的價(jià)值,需要通過架構(gòu)設(shè)計(jì)來“變現(xiàn)”。以CPU多核設(shè)計(jì)為例,一開始,多核只有2/4個(gè),通過(相對)簡單的Crossbar總線即可連接。當(dāng)工藝進(jìn)步,可以有很多的晶體管資源可以使用時(shí),我們可以集成16甚至32核的時(shí)候,這個(gè)時(shí)候,CPU芯片的內(nèi)部互聯(lián)就通過Ring或者M(jìn)esh總線。

為了滿足業(yè)務(wù)場景更高的要求,我們需要構(gòu)建更大規(guī)模的系統(tǒng)架構(gòu)設(shè)計(jì);Chiplet封裝技術(shù)的進(jìn)步,這也使得我們有能力構(gòu)建更大規(guī)模的系統(tǒng)架構(gòu)設(shè)計(jì)。我們不但要定義Chiplet之間的互聯(lián)總線,如何更好地實(shí)現(xiàn)把多個(gè)Chiplet芯粒連接成一個(gè)更大的芯片系統(tǒng),還需要重新定義全新的系統(tǒng)架構(gòu)。

因?yàn)榇鎯Ψ謱芋w系越來越冗繁,訪問數(shù)據(jù)的代價(jià)越來越高。不得不對存儲分層進(jìn)行優(yōu)化,從而產(chǎn)生了存算一體化,存算一體化通過工藝、封裝、架構(gòu)設(shè)計(jì)等方式全方位的優(yōu)化處理的性能以及處理和I/O的匹配。

等等。

總結(jié)一下,我們有很多性能優(yōu)化的手段,但大多只能優(yōu)化性能相關(guān)的部分因素。并且這些優(yōu)化手段跟我們提供給軟件開發(fā)者所可以用的更高性能的計(jì)算平臺還有很大的距離。而系統(tǒng)架構(gòu)則處于兩者之間,負(fù)責(zé)統(tǒng)籌這些措施,把各種各樣的性能優(yōu)化措施,整合成用戶可以方便使用的計(jì)算平臺,從而實(shí)現(xiàn)計(jì)算平臺的大規(guī)模化落地。

3.2 復(fù)雜系統(tǒng),必須要軟硬件融合

計(jì)算機(jī)發(fā)展到現(xiàn)在,其架構(gòu)已經(jīng)是非常的成熟。軟件和硬件基本上是完全解耦,甚至形成了清晰而穩(wěn)定的交互邊界:

  • CPU是通過ISA來解耦軟件和硬件,并且把軟硬件之間的“接口”ISA標(biāo)準(zhǔn)化,所以才有x86、ARM和RISC-v三大架構(gòu)之說;GPU通過CUDA解耦了GPU軟件開發(fā)和硬件設(shè)計(jì),并且GPU和CUDA能夠?qū)崿F(xiàn)向前兼容。因?yàn)镚PU CUDA的強(qiáng)大生態(tài),NVIDIA才有了AI時(shí)代全球市值最高IC公司的成就。而ASIC則幾乎是一個(gè)純硬件的設(shè)計(jì),只是通過控制面實(shí)現(xiàn)簡單的控制,并且這個(gè)控制面的接口還難以形成標(biāo)準(zhǔn)??梢哉J(rèn)為ASIC設(shè)計(jì)沒有做到軟硬件劃分的標(biāo)準(zhǔn)化。

有了先進(jìn)工藝和先進(jìn)封裝,有了AI對算力的極度渴求,有了元宇宙整合虛擬和現(xiàn)實(shí)的各種先進(jìn)的技術(shù),等等。隨著技術(shù)和需求的發(fā)展,使得整個(gè)系統(tǒng)變得更加的復(fù)雜,以元宇宙為例,其系統(tǒng)復(fù)雜度會是當(dāng)前系統(tǒng)的千倍萬倍。量變引起質(zhì)變,如此高復(fù)雜度的系統(tǒng),當(dāng)前已有的軟硬件體系肯定難以滿足要求。要做的,就是打破已有的體系和邊界,重新定義系統(tǒng)軟硬件,通過再一次的軟硬件相互“博弈”,形成新的架構(gòu)和軟硬件劃分。并且,形成的新的架構(gòu)和軟硬件劃分,依然有可能會快速地演進(jìn)。

這個(gè)新的系統(tǒng),一定是由很多個(gè)子系統(tǒng)構(gòu)成的宏系統(tǒng),一定是多種處理引擎混合共存。軟件里有硬件,硬件里有軟件,軟硬件組成的子系統(tǒng)再整合成一個(gè)更大的宏系統(tǒng)。我們把這種情況定義為軟硬件“融合”。

軟硬件融合,不改變系統(tǒng)層次結(jié)構(gòu)和組件交互關(guān)系,但打破軟硬件的界限,通過系統(tǒng)級的協(xié)同,達(dá)到整體最優(yōu)。

復(fù)雜的系統(tǒng)分層,越上層越靈活軟件成分越多,越下層越固定硬件成分越多。為了持續(xù)的提升性能,則需要把系統(tǒng)中的任務(wù)盡可能的從CPU軟件運(yùn)行,轉(zhuǎn)移到基于DSA更高效的硬件加速方式運(yùn)行。復(fù)雜系統(tǒng)的底層任務(wù)逐漸穩(wěn)定,并且宏觀的超大規(guī)模,使得系統(tǒng)底層的任務(wù)適合逐步轉(zhuǎn)移到硬件DSA。通過軟硬件融合的優(yōu)化設(shè)計(jì),可以使得“硬件”更加靈活,功能也更加強(qiáng)大,可以讓更多的層次功能加速向底層“硬件”轉(zhuǎn)移。

3.3 系統(tǒng)持續(xù)復(fù)雜,量變引起質(zhì)變,從同構(gòu)到異構(gòu)再到超異構(gòu)

(a) CPU組成的同構(gòu)并行

(b) CPU + GPU/FPGA/DSA的異構(gòu)并行

當(dāng)前,并行計(jì)算的主流架構(gòu)上圖所示,上圖(a)為CPU同構(gòu)并行:

常見的多核CPU和多路CPU通過板級互聯(lián)組成的服務(wù)器,即是同構(gòu)并行計(jì)算。CPU由于其靈活通用性好,是最常見的并行計(jì)算架構(gòu)。但由于單個(gè)CPU核的性能已經(jīng)到達(dá)瓶頸,并且單顆芯片所能容納的CPU核數(shù)也逐漸到頭。CPU同構(gòu)并行已經(jīng)沒有多少性能挖潛的空間。

上圖(b)為CPU+xPU的異構(gòu)加速并行架構(gòu)。一般情況下,GPU、FPGA及DSA加速器都是作為CPU的協(xié)處理加速器的形態(tài)存在,不是圖靈完備的。因此,這些加速器都需要CPU的控制,CPU+xPU成為了典型架構(gòu)。

芯片工藝帶來的資源規(guī)模越來越大,所能支撐的設(shè)計(jì)規(guī)模也越來越大,這給架構(gòu)創(chuàng)新提供了非常堅(jiān)實(shí)的基礎(chǔ)。我們可以采用多種處理引擎共存,“專業(yè)的人做專業(yè)的事情”,來共同協(xié)作的完成復(fù)雜系統(tǒng)的計(jì)算任務(wù)。并且,CPU、GPU、FPGA、一些特定的算法引擎,都可以作為IP,被集成到更大的系統(tǒng)中。這樣,構(gòu)建一個(gè)更大規(guī)模的芯片設(shè)計(jì)成為了可能。這里,我們稱之為“超異構(gòu)計(jì)算”。如上圖所示,超異構(gòu)指的是由CPU、GPU、FPGA、DSA、ASIC以及其他各種形態(tài)的處理器引擎共同組成的超大規(guī)模的復(fù)雜芯片系統(tǒng)。

超異構(gòu)計(jì)算本質(zhì)上是系統(tǒng)芯片SOC(System on Chip),但準(zhǔn)確的定義應(yīng)該是宏系統(tǒng)芯片MSOC(Macro-System on Chip)。站在系統(tǒng)的角度,傳統(tǒng)SOC是單系統(tǒng),而超異構(gòu)宏系統(tǒng),即多個(gè)系統(tǒng)整合到一起的大系統(tǒng)。傳統(tǒng)SOC和超異構(gòu)系統(tǒng)芯片的區(qū)別和聯(lián)系:

單系統(tǒng)還是多系統(tǒng)。傳統(tǒng)的SOC,有一個(gè)基于CPU的核心控制程序,來驅(qū)動CPU、GPU、外圍其他模塊以及接口數(shù)據(jù)IO等的工作,整個(gè)系統(tǒng)的運(yùn)行是集中式管理和控制的。而超異構(gòu)DPU由于其規(guī)模和復(fù)雜度,每個(gè)子系統(tǒng)其實(shí)就是一個(gè)傳統(tǒng)SOC級別的系統(tǒng),整個(gè)系統(tǒng)呈現(xiàn)出分布式的特點(diǎn)。

以計(jì)算為中心還是以數(shù)據(jù)為中心。傳統(tǒng)SOC是計(jì)算為中心,CPU是由指令流(程序)來驅(qū)動運(yùn)行的,然后CPU作為一切的“主管”再驅(qū)動外圍的GPU、其他加速模塊、IO模塊運(yùn)行。而在超異構(gòu)芯片系統(tǒng)中,由于數(shù)據(jù)處理帶寬性能的影響,必須是以數(shù)據(jù)為中心,靠數(shù)據(jù)驅(qū)動計(jì)算。

4 需要形成開放融合的軟件生態(tài)

4.1 從硬件定義軟件到軟件定義硬件

GPU和CUDA都是硬件定義軟件時(shí)代的產(chǎn)物。GPU平臺,硬件的GPGPU提供接口給CUDA,CUDA再提供接口給應(yīng)用。CUDA框架有特定的驅(qū)動和HAL屏蔽不同GPU的實(shí)現(xiàn)細(xì)節(jié);并且CUDA為了向前兼容和維護(hù)生態(tài),最終映射到標(biāo)準(zhǔn)的庫。這些標(biāo)準(zhǔn)的庫,提供了標(biāo)準(zhǔn)的接口給上層的CUDA應(yīng)用程序。

 

當(dāng)前,進(jìn)入了軟件定義硬件的時(shí)代。以云計(jì)算場景為例,許多用戶場景的服務(wù)已經(jīng)存在,只是這些服務(wù)以軟件的形式運(yùn)行在CPU。受限于CPU的性能瓶頸,使得軟件的性能無法進(jìn)一步提升,因此需要通過硬件加速的方式來繼續(xù)提升性能。

但是,服務(wù)已經(jīng)穩(wěn)定運(yùn)行很久的時(shí)間,并且已經(jīng)服務(wù)成千上萬的上層用戶。云計(jì)算提供商肯定很難把整個(gè)服務(wù)從CPU遷移到DSA等加速處理引擎。另外一方面,不同廠家的DSA呈現(xiàn)的都是不同的訪問接口,如果遷移,這也會導(dǎo)致對芯片供應(yīng)商的依賴。因此,需要硬件通過軟件(或者硬件)的方式,給云計(jì)算提供商提供一致的標(biāo)準(zhǔn)訪問接口。

4.2 案例:Intel OneAPI,支持跨平臺的開發(fā)框架

 

英特爾oneAPI是一個(gè)開放、可訪問且基于標(biāo)準(zhǔn)的編程系統(tǒng),支持開發(fā)人員跨多種硬件架構(gòu)參與和創(chuàng)新,包括 CPU、GPU、FPGA、AI 加速器等。這些處理引擎具有非常不同的屬性,因此用于各種不同的處理——oneAPI試圖通過將它們統(tǒng)一在同一個(gè)模型下來簡化這些操作。

即使在今天,開發(fā)人員面臨的一個(gè)持續(xù)問題是我們?nèi)找鏀?shù)字化的世界提供的編程環(huán)境的數(shù)量。不同的編程環(huán)境使代碼重用等節(jié)省時(shí)間的策略失效,并成為軟件開發(fā)人員的真正障礙。作為其軟件優(yōu)先戰(zhàn)略的一部分,英特爾在 2019 年的超級計(jì)算活動中推出了oneAPI。該模型標(biāo)志著英特爾的雄心是擁有統(tǒng)一的編程框架作為限制專有編程平臺的解決方案。oneAPI 使開發(fā)人員能夠在不厭倦使用不同語言、工具、庫和不同硬件的情況下工作。

Intel oneAPI可以實(shí)現(xiàn):設(shè)計(jì)一套應(yīng)用,根據(jù)需要,非常方便地把程序映射到CPU、GPU、FPGA或者AI-DSA/其他DSA等不同的處理器平臺。

4.3 開放融合,更好地實(shí)現(xiàn)跨平臺

 

我們把oneAPI模型框架再增強(qiáng)一下,如上圖所示。這樣,跨平臺,不僅僅是在CPU、GPU、FPGA和DSA的跨平臺,更在于是不同Vendor的不同處理器的跨平臺。

在終端場景,軟件通常附著在硬件之上,兩者是綁定的。我們可以通過如HAL一樣的抽象層來實(shí)現(xiàn)平臺的標(biāo)準(zhǔn)化,然后再部署操作系統(tǒng)和應(yīng)用軟件。而在云端,VM、容器和函數(shù)都是一個(gè)個(gè)軟件運(yùn)行實(shí)體,可以在不同的硬件上遷移,這就使得軟件和硬件是完全分開的。這也就需要硬件提供非常好的平臺一致性。

不同廠家,不同處理引擎,給軟件抽象出一致的接口,使得軟件可以非常方便地在不同處理引擎之間遷移。從而,大家合作,共建出標(biāo)準(zhǔn)的、開放的一整套軟硬件生態(tài)。

5 新一代算力革命的目標(biāo)

在《預(yù)見·第四代算力革命》的第二篇里,我們從性能、資源效率、靈活性和軟件生態(tài)四個(gè)方面,分析總結(jié)了CPU、GPU和DSA的優(yōu)劣勢。在本篇里,我們經(jīng)過上述各種分析之后,我們給出面向未來十年的新一代計(jì)算架構(gòu)的一些設(shè)計(jì)目標(biāo)——基于軟硬件融合架構(gòu)(CASH,Converged Architecture of Software and Hardware)的超異構(gòu)計(jì)算:

性能。讓摩爾定律繼續(xù),性能持續(xù)不斷地提升。相比GPGPU,性能再提升100+倍;相比DSA,性能再提升10+倍。

資源效率。實(shí)現(xiàn)單位晶體管資源消耗下的最極致的性能,極限接近于DSA/ASIC架構(gòu)的資源效率。

靈活性。給開發(fā)者呈現(xiàn)出的,是極限接近于CPU的靈活性、通用性及軟件可編程性。

設(shè)計(jì)規(guī)模。通過軟硬件融合的設(shè)計(jì)理念和系統(tǒng)架構(gòu),駕馭10+倍并且仍持續(xù)擴(kuò)大的更大規(guī)模設(shè)計(jì)。

架構(gòu)?;谲浻布诤系某悩?gòu)計(jì)算:CPU + GPU + DSA + 其他各類可能的處理引擎。

生態(tài)。開放的平臺及生態(tài),開放、標(biāo)準(zhǔn)的編程模型和訪問接口,融合主流開源軟件。

6 總結(jié):第四代計(jì)算架構(gòu),基于軟硬件融合的超異構(gòu)計(jì)算

計(jì)算

范式

核心

器件

算力

比較

通用性

比較

優(yōu)勢

問題

第一代

CPU

x1

100

極度靈活可編程。

效率最低,性能已經(jīng)瓶頸。

第二代

GPU

x10+

10

相比CPU的性能優(yōu)勢,相比DSA/ASIC的通用靈活性,應(yīng)用領(lǐng)域更加廣泛。

效率相比DSA/ASIC不高,性能即將到頂。

——

ASIC

x100+

1

極致性能

靈活性最低,完全定制的方案,用戶難以差異化,難以大規(guī)模。

第三代

DSA

x100+

5

接近于ASIC的極致性能,并且具有一定的可編程能力。

同一領(lǐng)域,應(yīng)用的算法依然多種多樣,并且快速迭代,應(yīng)用層(如AI)DSA難以大規(guī)模落地。

第四代

CASH

x1000+

100

l超異構(gòu):CPU+GPU+DSA+其他;更大規(guī)模,更大算力

l軟硬件融合架構(gòu):CPU軟件一樣靈活可編程,DSA/ASIC硬件一樣極致的性能。

l開放的平臺及生態(tài):開放、標(biāo)準(zhǔn)的編程模型和訪問接口,融合主流開源軟件。

(正文完)

參考文獻(xiàn):

http://www.xinhuanet.com/tech/20220218/ca65a9090bb64c1a8ab9b004f290b17d/c.html,正式啟動!“東數(shù)西算”工程全面實(shí)施

  1. 《2020全球計(jì)算力指數(shù)評估報(bào)告》,IDC & 浪潮

相關(guān)推薦

電子產(chǎn)業(yè)圖譜

公眾號:軟硬件融合;CPU靈活性好但性能較差,ASIC性能極致但靈活性差,魚和熊掌如何兼得,同時(shí)兼顧性能和靈活性,我給出的方案是“軟硬件融合”。軟硬件融合不是說要軟硬件緊耦合,相反,是要權(quán)衡在不同層次和粒度解耦之后,再更加充分的協(xié)同。