編者按
之前跟一個(gè)客戶技術(shù)交流的時(shí)候,介紹到融合計(jì)算時(shí),客戶提到了幾個(gè)尖銳的問題。他說,融合計(jì)算的概念,他是非常贊同的,但對(duì)融合計(jì)算也有不少的疑問。
疑問一,融合計(jì)算為什么是這三個(gè)方面,而不是其他?
疑問二,融合計(jì)算為什么是三個(gè)維度,不能是兩個(gè)或四個(gè)?為什么沒有其他維度或其他方面的融合?
疑問三,融合計(jì)算的概念,和現(xiàn)在行業(yè)里經(jīng)常講的通算、智算以及超算的融合,有沒有區(qū)別和聯(lián)系?
客戶問的非常的專業(yè),也非常具有針對(duì)性。今天這篇文章,我們就來為客戶作答,詳細(xì)的介紹融合計(jì)算是如何提出來的,也回答一下為什么融合計(jì)算有且僅有三個(gè)維度的融合,以及梳理融合計(jì)算和通算、智算、超算等多算融合的關(guān)系。
1 性能和算力
1.1 性能的計(jì)算公式
定性的分析,一個(gè)芯片的性能由三個(gè)維度組成:
維度一,指令復(fù)雜度。理論上,指令復(fù)雜度越高,性能越好。但實(shí)際上,需要考慮系統(tǒng)的通用性,以及目標(biāo)工作任務(wù)的靈活性特征,來選擇合適的處理器引擎。
維度二,運(yùn)行頻率。運(yùn)行頻率提升,主要是先進(jìn)工藝,以及更復(fù)雜的流水線設(shè)計(jì)。
維度三,并行度。提高并行度比較好理解,并行也主要有同構(gòu)并行、(兩個(gè)處理器的)異構(gòu)并行和(三個(gè)以上)更多異構(gòu)融合的并行。
1.2 算力的計(jì)算公式
算力和性能的區(qū)別在哪里?性能是微觀的算力,算力是宏觀的性能。那么算力和性能之間的聯(lián)系是什么?
如上圖所示,我們定性分析,可以在性能和算力之間構(gòu)建一個(gè)關(guān)聯(lián)的公式。從上述公式可以看到,宏觀的總算力,由三個(gè)維度的參數(shù)組成:
維度一,單芯片性能。通過提升單芯片性能的方式,也就是Scale Up的方式提升整體算力。
維度二,芯片的數(shù)量。通過增加計(jì)算芯片(計(jì)算節(jié)點(diǎn))的數(shù)量,也就是Scale Out的方式,通過提升規(guī)模來提升整體算力。
維度三,算力利用率。如果僅有標(biāo)稱算力,而無法達(dá)到很好的利用率,那也是徒勞。隨著AI的發(fā)展,集群規(guī)模越來越擴(kuò)大,算力利用率越來越成為評(píng)價(jià)一個(gè)算力系統(tǒng)能力的關(guān)鍵指標(biāo)。
2 從微觀到宏觀
2.1 微觀視角的算力提升
1. 如何提升單芯片性能
融合提升單芯片的性能:
一方面是底層采用更先進(jìn)的工藝,以及通過Chiplet封裝支撐,從而實(shí)現(xiàn)更大的計(jì)算規(guī)模;
另一方面,則是系統(tǒng)架構(gòu)和微架構(gòu)方面的創(chuàng)新,來實(shí)現(xiàn)單芯片層次更高的性能,這也是算力提升最本質(zhì)的做法。
計(jì)算架構(gòu)的創(chuàng)新則最主要的就是:
從第一代基于CPU的同構(gòu)通用計(jì)算;
以及第二代基于CPU+GPU的異構(gòu)通用計(jì)算;
逐步的走向第三代基于CPUxGPUxDSAs的異構(gòu)融合通用計(jì)算。
2. 如何提升芯片的數(shù)量和落地規(guī)模
芯片的落地,不是簡單的復(fù)制。國產(chǎn)算力芯片已經(jīng)有好多家了,甚至一些公司的芯片都已經(jīng)有三到四代了,但仍然銷售不是很順利。底層的原因在于:
生態(tài)的問題。國產(chǎn)芯片(相比NVIDIA CUDA)生態(tài)不夠好。但生態(tài)問題如何解決,不在于微觀的一家公司的一個(gè)架構(gòu)和相應(yīng)的私有生態(tài)如何構(gòu)建和繁榮,而在于宏觀的很多公司很多架構(gòu)如何整合(將在加下來的宏觀視角部分介紹)。
芯片需要足夠多的通用性,需要能夠覆蓋更多的業(yè)務(wù)場(chǎng)景和更多的業(yè)務(wù)迭代。
此外,芯片需要有非常高的I/O能力,確保在更大的規(guī)模下仍能有非常高的東西向通信效率(不耽誤計(jì)算,不影響計(jì)算效率),能夠支持更大規(guī)模的集群計(jì)算。
3. 如何提升芯片的算力利用率
要想提升算力芯片的利用率,那么:
一方面,芯片需要有很好的擴(kuò)展性能力,支持資源切分、池化、和重組;
另一方面,開放架構(gòu),減少多元異構(gòu)算力的架構(gòu)數(shù)量,從而使得更多的算力能夠匯集到統(tǒng)一的算力資源池,從而實(shí)現(xiàn)更大范圍的算力共享,進(jìn)而提升整體的算力利用率。
2.2 宏觀視角的算力提升
1. 如何提升單個(gè)節(jié)點(diǎn)的性能
從宏觀角度,單節(jié)點(diǎn)的性能提升,則主要是如何把更多異構(gòu)融合架構(gòu)的計(jì)算能力充分的用起來:
首先,是需要一個(gè)更加綜合的異構(gòu)融合計(jì)算框架,既包括CPU的工具鏈,也有GPU、AI,以及其他如網(wǎng)絡(luò)、存儲(chǔ)、視頻、安全等領(lǐng)域的加速計(jì)算框架,還需要這個(gè)異構(gòu)融合計(jì)算框架,支持異構(gòu)協(xié)同和跨異構(gòu)應(yīng)用遷移。
第二,則是更復(fù)雜的計(jì)算架構(gòu)和算力調(diào)度。在通算時(shí)代,一個(gè)物理的計(jì)算機(jī),通常具有四類資源:CPU、內(nèi)存、網(wǎng)絡(luò)和存儲(chǔ);在異構(gòu)計(jì)算時(shí)代,則是CPU、內(nèi)存、網(wǎng)絡(luò)、存儲(chǔ)和加速器。而在異構(gòu)融合時(shí)代,則是CPU、內(nèi)存、網(wǎng)絡(luò)、存儲(chǔ),以及更多種不同領(lǐng)域的加速器。那么,如此復(fù)雜的計(jì)算架構(gòu)模型,如何資源切分、池化和重組,以及如何同架構(gòu)調(diào)度,以及實(shí)現(xiàn)跨架構(gòu)調(diào)度,都是需要深入考慮的事情。
2. 如何提升芯片的數(shù)量和落地的規(guī)模
宏觀視角下,芯片的數(shù)量提升,主要是如下幾個(gè)層次:
最基礎(chǔ)的就是集群規(guī)模的擴(kuò)大,這需要高性能網(wǎng)絡(luò),更高的帶寬,更低的延遲。
接下來,就是跨集群管理和跨集群調(diào)度,這就需要更復(fù)雜的網(wǎng)絡(luò)和更高層次的算力調(diào)度。
再接下來,就是要實(shí)現(xiàn)跨數(shù)據(jù)中心的算力整合,這也就是目前火熱的算力網(wǎng)絡(luò)關(guān)注的范疇,有非常大的技術(shù)挑戰(zhàn)和商業(yè)上的挑戰(zhàn)。
再接下倆,那就是要跨云邊端,實(shí)現(xiàn)云邊端融合計(jì)算,挑戰(zhàn)會(huì)更大。
3. 如何提升算力利用率
宏觀視角看算力利用率提升,主要是兩塊,承上啟下:
啟下。承載計(jì)算的芯片類型越來越多,多元異構(gòu)問題凸顯,這是目前算力整合不得不面對(duì)的現(xiàn)實(shí)困難。芯片(或引擎)的類型有很多,每一張類型還有很多不同的架構(gòu),這些不同類型不同架構(gòu)的芯片是一個(gè)個(gè)孤島,如何把這些孤島連成一體,是一個(gè)非常重要的事情。未來,開放計(jì)算架構(gòu)會(huì)是一個(gè)不得不走的選項(xiàng),逐漸的從目前各家芯片公司各自為政私有架構(gòu)的模式,過渡到開放架構(gòu)的模式,讓芯片的架構(gòu)逐漸收斂。
承上。相比芯片側(cè)的問題,計(jì)算芯片所支撐的上層業(yè)務(wù)軟件側(cè)的問題相對(duì)較少。行業(yè)存在開源軟件生態(tài),這是目前絕大部分業(yè)務(wù)客戶的共識(shí),這也減少了很多底層硬件的適配難度。但這幾年,這個(gè)問題有所惡化:隨著AI發(fā)展,NVIDIA GPU和CUDA一家獨(dú)大,大家不得不在NVIDIA的封閉體系下工作。這不利于行業(yè)的競(jìng)爭,也不利于算力成本的下降。理想的情況是:行業(yè)形成開源開放的計(jì)算軟硬件生態(tài),開源軟件定義開放硬件;算力中心,不對(duì)任何硬件平臺(tái)有依賴,不需要為生態(tài)溢價(jià)付費(fèi),僅需要為功能和性能付費(fèi)即可。
2.3 簡單小結(jié)
需要注意的是,宏觀和微觀,以及算力提升的三個(gè)維度,是彼此交叉關(guān)聯(lián)的。這里的很多策略,可能會(huì)同時(shí)影響兩個(gè)甚至三個(gè)維度,甚至“按下葫蘆浮起瓢”也是有可能的。實(shí)際的算力優(yōu)化工作,需要仔細(xì)分析應(yīng)對(duì)。
3 融合計(jì)算
隨著AI大模型以及AI+場(chǎng)景對(duì)算力的需求猛增,算力中心建設(shè)成本也水漲船高,算力網(wǎng)絡(luò)(實(shí)現(xiàn)算力共享)逐漸流行。同時(shí)許多AI+終端的場(chǎng)景,算力需求猛增,從云端和邊緣端“借”算力的云邊端融合計(jì)算模式,成為了終端算力提升的一個(gè)重要方式。
算力系統(tǒng)相當(dāng)復(fù)雜,算力提升成為了一個(gè)龐大的系統(tǒng)工程。立足于最核心的芯片硬件和相關(guān)軟件,從微觀到宏觀,基于上面分析的算力提升的背景知識(shí),我們提出了“融合計(jì)算”的概念。希望通過“融合計(jì)算”的全方位的整合優(yōu)化,來實(shí)現(xiàn)算力最優(yōu)的性能和成本。
融合計(jì)算,其實(shí)就是微觀和宏觀視角算力提升策略的總結(jié),是三個(gè)維度融合(異構(gòu)融合x軟硬件融合x云邊端融合)的統(tǒng)稱:
X軸,芯片維度,異構(gòu)融合,Scale Up,提升單芯片性能。通過異構(gòu)融合計(jì)算,把各類異構(gòu)算力的價(jià)值發(fā)揮到極致。
Y軸,計(jì)算堆棧維度,軟硬件融合,提升算力利用率。通過核心的算力調(diào)度系統(tǒng)中間件,實(shí)現(xiàn)承上啟下,向上對(duì)接開源軟件,向下對(duì)接多元異構(gòu)算力,實(shí)現(xiàn)多元異構(gòu)算力的協(xié)同和融合,從而最大化算力資源的利用率。
Z軸,集群擴(kuò)展維度,云邊端融合,Scale Out,提升芯片數(shù)量。通過增加集群規(guī)模,同時(shí)實(shí)現(xiàn)跨算力中心、跨不同云運(yùn)營商、跨云邊端融合的計(jì)算。
4 融合計(jì)算和多算融合的關(guān)系
融合計(jì)算,是從宏觀和微觀的角度,實(shí)現(xiàn)更底層更本質(zhì)的提升性能和降低成本。而通算、智算和超算,則要更上層一些,是計(jì)算面向不同業(yè)務(wù)要求所做的定向性能和成本的調(diào)整。
隨著智算中心的發(fā)展,目前行業(yè)中出現(xiàn)了通算,智算和超算的融合的發(fā)展趨勢(shì)。但實(shí)際的做法,有待商榷。把CPU通算集群、GPU智算集群,以及存儲(chǔ)集群,以及超算集群,放置到一個(gè)算力中心里,就是多算融合嗎?顯然不是。
多算融合,必然是需要一套體系,能夠統(tǒng)一通算、智算和超算,有統(tǒng)一的資源切分重組,有統(tǒng)一的資源池,有統(tǒng)一的算力調(diào)度,有統(tǒng)一的上層算力服務(wù),才能稱之為多算融合:
首先,是要構(gòu)建統(tǒng)一的計(jì)算機(jī)模型。通算一般是CPU+標(biāo)準(zhǔn)網(wǎng)卡,而智算是CPU+GPU+高性能網(wǎng)卡,而超算則是CPU+GPU+高性能網(wǎng)卡+內(nèi)存一致性加速,存儲(chǔ)則是CPU+更多的存儲(chǔ)I/O。不管咋樣,可以通過我們前面講到的計(jì)算模型來統(tǒng)一,不管是哪種計(jì)算,都是CPU+加速卡+內(nèi)存+網(wǎng)絡(luò)+存儲(chǔ)的統(tǒng)一的計(jì)算模型。
然后是資源的池化。通過云計(jì)算的虛擬化和容器的機(jī)制,實(shí)現(xiàn)資源的切分、池化和重組,可以組合出符合要求的不同類型的計(jì)算實(shí)例。
目前,計(jì)算集群已經(jīng)成為主流的計(jì)算方式。通過VPC,可以在公共算力服務(wù)的多租戶場(chǎng)景為用戶構(gòu)建專屬的通算的、智算的或超算的計(jì)算集群。
融合計(jì)算,是更底層更本地算力優(yōu)化問題,它存在于軟硬件協(xié)同層次,通過全方位的各種融合,實(shí)現(xiàn)算力的最佳效果:同算力條件下,成本更優(yōu);同成本下,算力更高。
融合計(jì)算,是云計(jì)算未來發(fā)展最大的創(chuàng)新方向,通過融合計(jì)算,夯實(shí)算力底座,支撐云計(jì)算繼續(xù)往前發(fā)展。再以云計(jì)算為基,構(gòu)建出面向通算、智算和超算等不同場(chǎng)景的算力服務(wù)。
(正文完)