close

來源:內容來自半導體行業觀察(ID:icbank)轉載自公眾號軟硬件融合,謝謝。


編者按

軟件熱點層出不窮,並且快速迭代;CPU性能瓶頸,摩爾定律失效;圖靈獎獲得者John Hennessy和David Patterson在2017年提出了「計算機體系結構的黃金年代」,給出的解決方案是特定領域架構DSA。

如今,「黃金年代」時間已經過半,我們再對這一時期的體系結構發展進行分析、總結和展望:

DSA成功嗎?DSA是體系結構的發展趨勢嗎?

在黃金年代之後,體系結構新的發展趨勢又是什麼?

1 「體系結構的黃金年代」成色不足

軟件熱點層出不窮,從以前的雲計算、大數據、AI到後來的區塊鏈、5G/6G、自動駕駛、元宇宙等,幾乎每2年左右時間,就會有一個全新的技術應用出現。並且,已有的技術應用,仍在快速地演進和迭代。比如,2012-2018年6年時間裡,人們對於算力的需求增長了超過 30萬倍;也就說,AI算力大約每3.5個月翻一倍。

2017年,圖靈獎獲得者John Hennessy和David Patterson提出「計算機體系結構的黃金年代」,並指出,由於目前通用計算的性能瓶頸,需要針對特定應用場景開發針對性優化的架構,他們給出的解決方案是DSA(Domain Specific Architecture)。

通過CPU+(集成或獨立的)GPU/FPGA/DSA處理器,把軟件業務通過異構計算加速,如網絡、存儲、虛擬化、安全、數據庫、視頻圖像、深度學習等場景。但目前,最大的問題在於,這些領域的加速,從CPU計算的整體,變成了異構計算的一個個各自為戰的「孤島」。

從目前主要的幾個領域DSA(成功或不成功)的案例,來進行分析:

AI DSA。谷歌的TPU,是第一款真正意義上的DSA芯片。很多AI芯片的架構也是類似思路下的產物,都是期望在ASIC級別性能的基礎上實現一定程度的可編程能力。但不幸的是,AI場景仍屬於應用層次:應用算法迭代迅速,並且種類繁多;這導致AI DSA的落地並不算很成功。本質原因是:DSA架構的靈活性無法達到應用層算法對靈活性的要求。

存算一體。存算一體是一個非常寬泛的概念,包括近存計算、存內計算等,甚至存內計算還可以分為內存儲計算和內存執行計算。不管是聚焦AI或其他領域,嚴格來說,存算一體是一種微架構及實現的技術;在系統架構層次,存算一體屬於DSA的範疇。存算一體也必須要面對DSA的核心問題:芯片架構靈活性和領域算法靈活性的匹配問題。

網絡DSA。Intel通過PISA架構的網絡DSA實現了ASIC級別性能的基礎上的軟件可編程,可實現絕大部分網絡協議和功能的編程。網絡DSA是DSA理念下比較成功的案例。本質的原因是,網絡任務屬於基礎設施層工作,其靈活性要求相對不高。因此可以總結:DSA架構的靈活性可以滿足基礎設施層任務對靈活性的要求。

除此之外,還需要考慮最終場景落地的問題。站在最終落地場景和解決方案的視角:

客戶不可能只需要一個DSA,客戶需要的是綜合性的解決方案,DSA實現的只是客戶場景的一小部分。

並且,在雲和邊緣數據中心,當CSP投入數以億計資金,上架數以萬計物理服務器的時候,它並不知道具體的某台服務器最終會售賣給哪個用戶,這個用戶到底會在服務器上面跑什麼應用。並且,未來,這個用戶的服務器資源回收之後再賣個下一個用戶,下一個用戶又用來幹什麼,也是不知道的。

因此,最終的落地場景需要的一定是綜合的並且相對通用的解決方案;並且,還需要在通用的基礎上儘可能地提升性能降低成本。

各種獨立DSA,使得系統越來越碎片化,這跟互聯網雲和邊緣計算、雲網邊端融合等宏觀綜合宏場景的發展趨勢是背道而馳的。

2 DSA的價值所在2.1 相比ASIC,DSA具有一定的靈活性優勢

在系統複雜度較低的時候,ASIC的極致性能和效率,是非常合適的。但隨着系統複雜度的上升,ASIC的劣勢逐漸就暴露出來了:

ASIC的迭代跟系統迭代不匹配。複雜系統的變化要遠高於簡單系統,而ASIC是緊耦合的設計,沒法隨着系統功能和業務邏輯的快速變化而變化。隨着系統複雜度的進一步上升,ASIC和系統的靈活性衝突會愈演愈烈。

ASIC性能效率不一定最高。ASIC功能確定,為了覆蓋更多的場景,勢必需要功能超集。但隨着系統功能的增多,以及每個用戶能使用到的功能比例相對減小,功能超集反而拖累了ASIC的性能和資源效率。

ASIC硬件開發難度大。硬件開發的難度遠大於軟件,ASIC由於系統緊耦合的緣故,需要把業務邏輯都細化到硬件電路設計中去,這反而顯著地增加硬件開發的難度。

ASIC難以大規模。因為上述ASIC硬件開發的難度,這反過來使得ASIC設計很難做到非常大的規模,而這就約束了其可以支撐的系統規模大小。

完全硬件ASIC,用戶對功能和業務邏輯沒有太多話語權。用戶只是「User」,而不是「Developer」,ASIC會約束用戶的業務創新。

DSA可以在ASIC級別,一定程度上實現功能和業務邏輯的可編程,實現性能和部分靈活性的兼顧,並且顯著改善ASIC的上述各種問題和挑戰。因此,DSA逐漸成為目前領域加速的主流解決方案。

例如,網絡DSA的發展。SDN之前,網絡芯片的主流實現是ASIC;SDN發展的第一步,通過Openflow實現了控制面可編程;第二步,通過P4實現了數據面的可編程,並且擁有了支持P4可編程的DSA:Barefoot的PISA架構和Tofino芯片。

2.2 DSA比較適合基礎實施層加速

系統是由分層分塊的各個組件組成的,這些組件大體上分為三類:

基礎設施層。底層的業務邏輯相對最穩定。

應用層。由於硬件平台運行具體哪些應用的不確定性,以及應用的快速升級迭代等,使得應用層的變化是最快的。

應用層可加速部分。應用層可抽離出來的一些性能敏感的算法,其靈活性介於基礎設施層和應用之間,變化相對適中。

如上表格所示,每一個處理器引擎類型都有其優勢之處,也都有其劣勢之處:

CPU靈活性最好,目前數據中心由於對靈活性的要求很高,因此服務器主要還是以CPU處理器為主。但CPU的性能是相對最低的。

GPGPU相比CPU提升了性能,靈活性雖然有了一些降低,但依然能夠滿足很多場景的要求。比如AI算法和應用性能敏感,並且更新換代很快,就比較適合GPGPU架構。

ASIC由於其最低的靈活性,導致在雲和邊緣等複雜系統中沒有用武之地。

DSA是ASIC的回調,增加了一些靈活性。實踐證明:DSA不適合變化較快對靈活性要求較高的應用級的場景,如AI加速場景;DSA適合變化較慢靈活性要求較低的場景,如網絡加速場景。

2.3 DSA,是算力的主力支撐

一方面,複雜系統都存在一個顯著的規律「二八定律」,也即是說,系統的大約80%的計算量屬於基礎設施層,屬於適合DSA加速的部分;另一方面,DSA能夠覆蓋足夠大的一個領域,並且其一定程度的可編程能力,可以滿足系統的基礎設施層特定領域任務對靈活性的要求。

DSA架構的處理器(引擎)就可以在滿足系統靈活性要求的情況下,實現最極致的性能,以及最極致的性價比。

我們再從整個系統角度分析,可以通俗地將系統要進行的工作處理當做一個塔防遊戲:

依據系統的「二八定律」,在一個系統里,DSA完成80%計算量,GPU完成16%計算量,CPU兜底完成4%計算量。

軟硬件融合技術,可以讓硬件的功能更加強大,具有一些通常軟件才有的特徵和能力,從而進一步提高系統硬件加速的比例。這樣,DSA可以完成90%的計算量,而留給CPU和GPU的只有剩下的10%。

總之,DSA架構處理器必然是整個系統中的算力中堅。

3 DSA的不足之處3.1 DSA不太適合應用層工作

應用層DSA最典型案例,非AI芯片莫屬。

AI領域對算力的極致需求,以及行業巨頭谷歌發布的全球第一款DSA架構處理器TPU,瞬間引爆了AI芯片的全行業大潮。

但5年左右時間過去了,即使是谷歌具有從芯片、框架、生態到服務的全鏈條的全球頂尖技術,以及幾乎全球第一的行業號召力,整個TPU體系仍然難算成功。谷歌的AI框架,目前在逐漸地往GPU遷移,可以說,AI平台目前的趨勢是:從DSA往GPU回調。

其他的DSA架構的AI芯片,落地的場景和數量更少。

本質原因也很簡單:AI DSA芯片提供的靈活性跟上層AI算法所需的靈活性要求,相差甚大。我們把這個表述更加泛化一些:DSA芯片提供的靈活性比較低,而應用層算法對靈活性的要求比較高,兩者相差巨大。

系統是分層分塊的系統,一般來說:越底層越確定,越適合DSA架構處理;越上層越不確定,越適合CPU這樣的通用處理器處理;而性能敏感的應用層算法,比較適合於GPU及同指令複雜度級別架構(例如Graphcore IPU)的處理器。

AI芯片未來要想落地,需要芯片和應用算法的相向而行:

芯片增加更多的靈活性能力(典型案例:Tenstorrent Wormhole,在提升靈活性的同時,提供極致的系統可擴展性);

隨着時間推移,AI算法的靈活性降低,逐漸的沉澱成基礎設施層任務。

3.2 DSA使得系統越來越碎片化,跟雲網邊端融合的大趨勢背道而馳

我們的IT設備和系統,通常是經過如下四個演進的階段,逐漸走向雲網邊端大融合:

第一個階段,孤島。所有的設備是獨立的,沒有聯網,也就沒有雲網邊端的說法。

第二個階段,互聯。也就是我們的互聯網,把設備連到一起,設備和設備之間可以通信。

第三個階段,協同。通常的C/S架構就是典型的協同,這個時候,有了雲邊端的劃分,誰更擅長於幹什麼事情就分配什麼事情,大家協同着一起把整個系統的事情做好。

第四個階段,融合。協同某種程度上代表着靜態,隨着時間的發展,可能初始任務劃分不一定能適應系統的發展;而融合代表着動態以及更多的自適應性。服務拆分成微服務,客戶端拆分成瘦客戶端和微服務。這些微服務可以完全自適應的運行在雲端、網端、邊緣端或者終端,或者各個位置端可能都有。

雲網邊端融合的時代,所有的服務器和設備的計算、網絡、存儲等資源都統統連成了唯一的一個巨大的資源池,可以非常方便的共享各種各樣的資源,軟件可以非常方便的部署在任何位置,並且可以非常方便的自適應遷移。

然而,DSA的做法,卻跟這一切是背道而馳的:

首先,一個領域DSA芯片,就意味着架構上的一個孤島。

其次,即使同一領域,也有不同公司的不同架構實現。這些不同架構處理器的算力,很難被整合到宏觀大算力池裡。

DSA作為「體系結構黃金年代」的重要理念和解決方案,意味着「百花齊放,百家爭鳴」,也意味着計算的架構越來越多,越來越碎片化,越來越難以整合成一個整體,越來越一盤散沙。從技術發展的角度,必然需要走過DSA這樣的階段。但隨着各項技術的成熟,必然會逐步走向收斂:通用的、融合的、綜合的處理器,通過更少的架構,實現覆蓋更多的用戶、更多的場景、更多的迭代。

3.3 DSA沒有解決體系結構的根本矛盾

如果不考慮性能劣勢的話,CPU是最好的處理器。其通過最基礎的加減乘除指令,實現了軟件和硬件的解耦。硬件工程師可以不用關心具體場景,只關心處理器的微架構和實現;軟件工程師不關心硬件細節,只關心自己的軟件編程,基於這些基礎的指令集,構建起了軟件龐大的生態體系。

GPGPU,依然是成功的。GPGPU相比DSA的優勢:

GPGPU可以覆蓋很多個領域,而DSA只能覆蓋一個。在芯片一次性成本越來越高的今天,覆蓋更多領域意味着更多的產品銷量以及更低的成本(大芯片成本中一次性均攤成本占比很高)。

NVIDIA GPGPU以及CUDA構建起完整的生態,而DSA架構則趨向碎片化,構建生態的難度很大。

熱點應用意味着最豐厚的價值。GPGPU的性能和靈活性均衡使其能很好地滿足目前很多熱點應用的性能和靈活性要求;而DSA則難以滿足熱點應用所需的靈活性(因為熱點應用必然快速迭代)。

體系結構最根本的矛盾是什麼?簡單地說,就是性能和靈活性的矛盾,是兩者如何平衡甚至兼顧的問題。通常情況下,兩者是反比關係,提升一個,另一個會降低。體系結構的優化和創新,本質的,就是在一個要素不變的基礎上,儘可能地提升另一要素。

DSA在ASIC基礎上,提升了一些靈活性,這是其價值所在。但與此同時,也引入了一些問題。在整個系統中,如果只需要一個特定領域的DSA加速卡,並且不需要GPU等其他加速卡的話,那麼整個系統是典型的CPU+DSA的異構計算系統,問題還不突出。

實際的雲和邊緣場景,是很多場景疊加在一起的綜合性場景,不僅僅需要AI加速,還需要虛擬化加速、網絡加速、存儲加速、安全加速、數據庫加速、視頻圖形處理加速等等。如果每一個領域加速都需要一個物理的加速卡的話:

首先服務器的物理空間和接口,就無法滿足這麼多張卡的使用。

此外這些卡之間的交互又是一筆額外的代價,在CPU性能捉襟見肘的今天,CPU根本無法承擔DSA之間的數據交互處理。

站在DSA局部的視角,DSA帶來了性能的顯著提升,並且還確保了一定程度的靈活性。但站在整個系統角度,額外增加的各個DSA之間的數據交互(類似系統解構微服務化之後急速增加的內網東西向流量)是需要CPU來處理的,這使得CPU的性能瓶頸問題變得更加嚴峻。

4 黃金年代之後,體系結構何去何從?4.1 從分離到融合

DPU目前已經成為行業一個重要的處理器類型,DPU跟智能網卡最大的區別在於:智能網卡是單領域的加速卡,而DPU是多領域加速的集成平台。DPU的出現,說明了,計算機體系結構在從DSA的分離向融合轉變:

第一階段,CPU單一通用計算平台;

第二階段,從合到分,CPU+GPU/DSA的異構計算平台;

第三階段,從分到合的起點,以DPU為中心的異構計算平台;

第四階段,從分到合,眾多異構整合重構的、更高效的超異構融合計算平台。

4.2 從單異構到超異構

不考慮物理上多芯片協同的情況下,我們只考慮計算架構。計算架構從串行到並行,從同構到異構,接下來會持續進化到超異構:

第一階段,串行計算。單核CPU和ASIC等都屬於串行計算。

第二階段,同構並行計算。CPU多核並行屬於同構並行計算。

第三階段,異構並行計算。CPU+GPU、CPU+DSA以及SOC等屬於異構並行計算。

未來,將走向第四階段,超異構並行階段。把眾多的CPU+GPU+DSAs「有機」整合起來,形成超異構。

4.3 從軟硬件協同到軟硬件融合

系統變得越來越龐大,系統可以分解成很多個子系統,子系統的規模已經達到傳統單系統的規模。於是系統變成了宏系統,子系統變成了系統。

軟硬件協同是研究單個系統軟硬件如何劃分、解耦以及再協同的,根據系統的特點,選擇CPU、GPU、DSA等硬件處理器類型,如果是DSA等需要開發的硬件,則需要仔細考慮軟硬件的工作劃分和交互的接口。

軟硬件融合是研究宏系統的軟硬件「協同」的,每一個系統都是不同層次的軟硬件協同,這些系統間還需要確定任務劃分、數據交互和工作協同,從而在整個宏系統層次,呈現出:「軟件中有硬件,硬件中有軟件,軟硬件深度地融合在一起」。

4.4 從開放到更開放

x86架構主要在PC和數據中心領域;ARM架構主要在移動領域,目前也在向PC和服務器領域拓展;加州大學伯克利分校開發了RISC-V,RISC-V已成為行業標準的開放ISA。理想情況,如果形成RISC-V的開放生態,沒有了跨平台的損耗和風險,大家可以把精力專注於CPU微架構及上層軟件的創新。

RISC-V的優勢體現在:

免費。指令集架構免費獲取,不需要授權,沒有商業上掣肘。

開放性。任何廠家都可以設計自己的RISC-v CPU,共建一套開放的生態,共榮共生。

標準化。最關鍵的價值。RISC-v的開放性,使得其生態會更加強大;RISC-v如果變成主流架構,就沒有了跨平台成本。

簡潔高效。沒有歷史包袱,ISA更高效。

如果說CPU選擇開放的RISC-v是「選擇」(因為還有x86和ARM可以選)的話,那麼在未來的超異構計算時代,開放則是「不得不選的唯一選項」。

當一個平台需要支持的處理器類型和架構越來越多,勢必意味着在其上運行程序越來越困難,處理器資源利用越來越低,構建生態的難度越來越高。這樣,我們就需要:

一方面,需要從硬件定義軟件,逐步轉向軟件定義硬件。並且,軟件需要原生支持硬件加速。

另外,一定需要構建高效的、標準的、開放的生態體系(儘可能減少各種類型架構的數量,讓架構的數量逐漸收斂)。

最後,還需要開放的、不同類型架構處理器(引擎)的,以及跨同類型處理器的不同架構的應用開發框架。

(全文完)


*免責聲明:本文由作者原創。文章內容系作者個人觀點,半導體行業觀察轉載僅為了傳達一種不同的觀點,不代表半導體行業觀察對該觀點讚同或支持,如果有任何異議,歡迎聯繫半導體行業觀察。

今天是《半導體行業觀察》為您分享的第3151內容,歡迎關注。

推薦閱讀

★「風口浪尖」的Chiplet,有人瘋狂湧入,有人劃清界限

★有望成為「最佳半導體」的材料

★汽車芯片巨頭的新競賽

半導體行業觀察


『半導體第一垂直媒體』

實時 專業 原創 深度

識別二維碼,回復下方關鍵詞,閱讀更多

晶圓|集成電路|設備|汽車芯片|存儲|台積電|AI|封裝

回復 投稿,看《如何成為「半導體行業觀察」的一員 》

回復 搜索,還能輕鬆找到其他你感興趣的文章!

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()