中國自動化學(xué)會專家咨詢工作委員會指定宣傳媒體
文摘詳情
gkongbbs

誰能在第四代算力革命中脫穎而出?CPU?GPU?算法?數(shù)據(jù)?

http://casecurityhq.com 2022-03-03 10:56 金藍(lán)??萍加邢薰?/a>

導(dǎo)語

1.“數(shù)據(jù)、算法、算力”是數(shù)字經(jīng)濟(jì)時(shí)代的三大核心要素,其中算力是數(shù)字經(jīng)濟(jì)的物理承載。

2.目前,算力已經(jīng)成為全球戰(zhàn)略競爭的新焦點(diǎn)和國家經(jīng)濟(jì)發(fā)展的重要引擎。世界各國的算力水平與經(jīng)濟(jì)發(fā)展水平呈正相關(guān)。

3.下面通過四個(gè)模塊,從微觀到宏觀,詳細(xì)分析與性能和算力相關(guān)的因素以及算力平臺。盡可能直面當(dāng)前算力提升所面臨的挑戰(zhàn)和困難,展望未來算力的發(fā)展趨勢。

1  算力綜述

隨著數(shù)字經(jīng)濟(jì)時(shí)代的到來,各種各樣的應(yīng)用都需要強(qiáng)大的算力支持。無論從單個(gè)設(shè)備角度,還是萬千設(shè)備組成的宏觀算力角度,都需要持續(xù)的算力來支撐數(shù)字經(jīng)濟(jì)的繁榮發(fā)展。

微信圖片_20220303094118.jpg

根據(jù)馮·諾依曼架構(gòu),可以繪制出一個(gè)典型服務(wù)器模型。一個(gè)服務(wù)器,由核心的處理邏輯、分層級的寄存器、緩存、內(nèi)存、本地外存四級的暫存存儲(云服務(wù)器本地存儲也是暫存,關(guān)鍵的數(shù)據(jù)必須存儲到遠(yuǎn)程存儲集群)、以及通過網(wǎng)絡(luò)的輸入/輸出三部分組成。

站在處理器中處理邏輯部分角度,不管是從各級暫存還是從網(wǎng)絡(luò) I/O,都是數(shù)據(jù)的輸入/輸出。因此,計(jì)算模型可以簡單的分為兩部分:數(shù)據(jù)處理和數(shù)據(jù)輸入輸出。并且,系統(tǒng)性能 = 最小值(數(shù)據(jù)處理能力,數(shù)據(jù)輸入/輸出能力)。

隨著更大規(guī)模計(jì)算需求的發(fā)展,逐漸形成復(fù)雜的存儲分層結(jié)構(gòu)。計(jì)算和 I/O 之間的不匹配導(dǎo)致復(fù)雜的存儲分層結(jié)構(gòu),而復(fù)雜的存儲分層結(jié)構(gòu)一方面增加功耗,另一方面限制性能進(jìn)一步提升。

微信圖片_20220303094122.jpg

影響性能的三個(gè)主要因素

這里說的性能,指的是單位處理器的性能。衡量一個(gè)處理器的性能,通常有三個(gè)因素:

一、“指令”復(fù)雜度,類似于單位時(shí)間加工的零件數(shù)量,指的是單個(gè)指令中計(jì)算的密度。

指令是軟件和硬件的媒介,指令的復(fù)雜度(單位計(jì)算密度)決定系統(tǒng)的軟硬件解耦程度。按照指令的復(fù)雜度,典型的處理器平臺大致分為CPU、協(xié)處理器、GPU、FPGA、DSA、ASIC。任務(wù)在CPU運(yùn)行,則定義為軟件運(yùn)行;任務(wù)在協(xié)處理器、GPU、FPGA、DSA或ASIC運(yùn)行,則定義為硬件加速運(yùn)行。

魚和熊掌不可兼得,指令復(fù)雜度和編程靈活性是兩個(gè)互反的特征:指令越簡單,編程靈活性越高,因此才說軟件有更高的靈活性;指令越復(fù)雜,性能越高,因此而受到的限制越多,只能用于特定場景的應(yīng)用,其軟件靈活性越差。

微信圖片_20220303094127.jpg

二、運(yùn)行速度,即運(yùn)行頻率,類似于一個(gè)小時(shí)的單位時(shí)間數(shù)量,指的是1秒鐘時(shí)鐘周期變化的數(shù)量。

頻率越高,計(jì)算速度越快。不考慮其他因素制約,計(jì)算速度和頻率是正比關(guān)系。而頻率受電路中的關(guān)鍵路徑(延遲最大路徑)約束,兩者呈反比關(guān)系:關(guān)鍵路徑越短,頻率則越高。頻率受關(guān)鍵路徑制約,而關(guān)鍵路徑與兩個(gè)因素有關(guān):

  • 關(guān)鍵路徑所包含門的數(shù)量,即從前一級寄存器到后一級寄存器之間的最長路徑所包含的邏輯門數(shù)量

  • 單個(gè)邏輯門延遲時(shí)間,邏輯門延遲時(shí)間跟半導(dǎo)體生產(chǎn)工藝相關(guān),一般情況下,工藝尺寸越小,單個(gè)邏輯門延遲越小

因此,想要優(yōu)化頻率,就要優(yōu)化關(guān)鍵路徑:一個(gè)是優(yōu)化關(guān)鍵路徑的邏輯門數(shù)量,另一個(gè)則是優(yōu)化單個(gè)邏輯門延遲。當(dāng)邏輯門延遲越小,或兩級寄存器之間的邏輯門數(shù)量越少,則頻率越高,計(jì)算速度也越快。

微信圖片_20220303094132.jpg

三、并行度,類似于團(tuán)隊(duì)的成員數(shù)量,指的是多個(gè)并行的處理。

并行設(shè)計(jì)在硬件邏輯設(shè)計(jì)里非常常見。如:

  • 指令流水線:指令流水線是一種時(shí)間并行,在同時(shí)有多條指令處理流水線的不同階段,相當(dāng)于有多條指令在并行處理

  • 指令多發(fā)射(Multiple Issue):一條流水線,從指令緩沖區(qū)一次發(fā)送到譯碼階段就有多條指令,然后在執(zhí)行階段也是多條指令并行

  • 超線程(Hyper-Thread):在一個(gè)處理器核內(nèi)部,多組不同的指令流處理,分時(shí)共享處理器核內(nèi)部的各種硬件資源,達(dá)到更佳的資源利用率,提升整體性能

  • 多總線:如,指令、數(shù)據(jù)總線分開,多數(shù)據(jù)總線等設(shè)計(jì),進(jìn)一步增加處理器的數(shù)據(jù)處理帶寬

  • 多核技術(shù):通過一些內(nèi)部互聯(lián)總線,把多個(gè)處理器核集成到一塊芯片內(nèi),以此來提升綜合性能

  • 多處理器芯片:受限于芯片工藝、功耗水平、設(shè)計(jì)架構(gòu),單芯片內(nèi)的多核互聯(lián)不能無限制增加下去,也可以通過一些芯片間互聯(lián)技術(shù),把多個(gè) CPU Socket 連成一個(gè)NUMA系統(tǒng),當(dāng)前比較常見的是2-8個(gè) Socket 互聯(lián)架構(gòu)

  • 總線:對并行總線來說,增加數(shù)據(jù)線的寬度,對增加總線的帶寬是顯而易見的,并行總線一般用于芯片內(nèi)部邏輯通信;串行總線,例如 PCIe,相比 PCI 并行總線,一方面可以快速提升頻率,還可以通過很多組串行線組合通信來提升傳輸性能,串行總線一般用于芯片間數(shù)據(jù)通信。

  • 異構(gòu)計(jì)算單元:CPU 和 GPU、xPU 以及各種硬件加速器組成異構(gòu)多處理單元共同協(xié)作完成工作任務(wù),CPU 更多的是承擔(dān)控制和數(shù)據(jù)交互的角色。

  • 多服務(wù)器集群:現(xiàn)在大型的互聯(lián)網(wǎng)系統(tǒng)需要成百上千的服務(wù)器,分為業(yè)務(wù)處理、網(wǎng)絡(luò)處理、存儲和數(shù)據(jù)庫處理等不同功能分工的服務(wù)器,共同組成一個(gè)性能強(qiáng)大并且運(yùn)行穩(wěn)定的系統(tǒng)對外提供服務(wù)。

通過不同方向、不同層次的并行技術(shù),都可以提升硬件系統(tǒng)的性能。把不同復(fù)雜度的單位處理都當(dāng)作“指令”。那么,我們就可以通過 IPC(Instruction per Cycle)來評價(jià)并行度。對一個(gè) CPU 核來說,IPC 代表每個(gè)周期執(zhí)行的指令數(shù);對一個(gè)硬件加速模塊來說,IPC 則代表一個(gè)周期所能進(jìn)行的單位處理的數(shù)量。

簡潔明了的用公式表示性能和三者的關(guān)系:

(單個(gè)處理器)性能 = 指令的復(fù)雜度(單位計(jì)算密度) x 頻率 x 并行度

微信圖片_20220303094138.jpg

宏觀的算力

性能是微觀的概念,代表單個(gè)個(gè)體計(jì)算能力。而算力則是宏觀的概念,算力是很多個(gè)體計(jì)算能力總和。為了避免混淆,我們采用總算力的叫法。

在前面已經(jīng)介紹單個(gè)個(gè)體的性能(在泛I/O不拖后腿的情況下):

(單個(gè)處理器)性能 = 指令的復(fù)雜度(單位計(jì)算密度) x 頻率 x 并行度

那么總算力則和單個(gè)處理器性能以及處理器的數(shù)量成正比:

總算力 = (單個(gè)處理器)性能 x 處理器的數(shù)量

雖然總算力可以很高,但如果因?yàn)楦鞣矫嬖?,其利用率不高,則也不夠好。因此:

實(shí)際總算力 = 總算力 x 利用率

= 指令的復(fù)雜度(單位計(jì)算密度) x 頻率 x 并行度 x 處理器的數(shù)量 x 利用率

相關(guān)的若干因素總結(jié)一下,要提高宏觀的實(shí)際總算力,就必須要:

1.提高指令的復(fù)雜度(單位計(jì)算密度)。新的 DSA 架構(gòu)創(chuàng)新,均衡考慮不同的算力平臺,以及通過異構(gòu)和超異構(gòu)計(jì)算,融合多種平臺一起協(xié)作,完成系統(tǒng)級計(jì)算。

2.提高運(yùn)行頻率。優(yōu)化設(shè)計(jì),選擇最優(yōu)的流水線級數(shù)以及工藝等的持續(xù)進(jìn)步,優(yōu)化系統(tǒng)的運(yùn)行頻率。

3.提高并行度。更高的擴(kuò)展性(Scalibility),更高性能的各層級互聯(lián)總線,并行更多處理引擎。

4.優(yōu)化 I/O 和處理的匹配度。通過工藝和封裝優(yōu)化,實(shí)現(xiàn)更加匹配計(jì)算和 I/O 匹配。

5.實(shí)現(xiàn)處理器芯片更大規(guī)模落地。均衡芯片整體性能和靈活可編程能力,實(shí)現(xiàn)宏觀總算力最大化。

6.進(jìn)一步優(yōu)化宏觀算力利用率。算力上規(guī)模后,通過云計(jì)算、邊緣計(jì)算、超云、云網(wǎng)融合等手段,持續(xù)優(yōu)化算力利用率,降低算力成本。

簡單來說說,算力提升核心就兩個(gè)方面:

1.增大規(guī)模(Scale out),通過擴(kuò)大算力基礎(chǔ)設(shè)施建設(shè),以及“東數(shù)西算”等方式,構(gòu)建更大規(guī)模并且低能耗的現(xiàn)代化數(shù)據(jù)中心。

2.提升單個(gè)計(jì)算節(jié)點(diǎn)性能(Scale up),構(gòu)建新一代創(chuàng)新計(jì)算范式,要把算力再持續(xù)提升1-2個(gè)數(shù)量級,并且能夠提供非常好的易用編程能力,來持續(xù)應(yīng)對未來10年更加復(fù)雜系統(tǒng)的算力需求爆炸挑戰(zhàn)。

藍(lán)海大腦作為領(lǐng)先的數(shù)字基建提供商,將積極發(fā)揮產(chǎn)品和技術(shù)優(yōu)勢,提供先進(jìn)算力支持。

微信圖片_20220303094146.png

2  三大主流計(jì)算平臺CPU、GPU和DSA

CPU

在手機(jī)端已經(jīng)非常成熟的SOC實(shí)現(xiàn),為什么在數(shù)據(jù)中心端沒有大規(guī)模應(yīng)用?為什么直到現(xiàn)在,數(shù)據(jù)中心依然是以CPU為主的計(jì)算平臺?這主要源于越是復(fù)雜的場景,對軟件靈活性的要求越高,而只有CPU能夠提供云場景所需的靈活性。

超大規(guī)模復(fù)雜計(jì)算場景對硬件靈活性的要求,主要體現(xiàn)在四個(gè)方面:

  • 靈活性。硬件處理引擎要能夠很好地支持軟件快速迭代。CPU 其靈活基礎(chǔ)指令編程的特點(diǎn),可以認(rèn)為是最適合云計(jì)算的處理引擎。

  • 通用性。廠家購買服務(wù)器,很難預(yù)測服務(wù)器會運(yùn)行哪類任務(wù)。最好的辦法是采用完全通用服務(wù)器。CPU 其通用性,成為云計(jì)算場景最優(yōu)選擇。

  • 利用率。云計(jì)算通過虛擬化把資源切分,實(shí)現(xiàn)資源共享,以此提高資源利用并降低成本。而目前,只有 CPU 能夠?qū)崿F(xiàn)非常友好的硬件級別的虛擬化支持。

  • 一致性。云計(jì)算場景,軟硬件相互脫離。同一軟件實(shí)體會在不同的硬件實(shí)體遷移,同一硬件實(shí)體也需要運(yùn)行不同的軟件實(shí)體。而 CPU,是一致性最好的硬件平臺。

  • 微信圖片_20220303094151.jpg

GPU與NP

網(wǎng)絡(luò)處理器(Network Processor,簡稱NP)跟 GPU 在技術(shù)理念上有很多相似之處:都是通過特定優(yōu)化的、高效能的小 CPU 核組成的眾核系統(tǒng),并行的完成計(jì)算任務(wù)。根據(jù)“指令”復(fù)雜度,從 CPU 到 ASIC 的劃分,NP 和 GPU 處于相同的位置。

NP 具有如下的一些不足:

  • 性能。雖然相比 GPU,性能是在同一層級,但相比 ASIC/DSA 性能不夠。

  • 場景。NP主要用于網(wǎng)絡(luò)場景的處理,沒有像 GPU 那樣作為通用并行計(jì)算,GPU可以用于非常多的高性能場景。

  • 開發(fā)和生態(tài)。GPU 由于 NVIDIA CUDA 的強(qiáng)大生態(tài),框架、工具鏈、開發(fā)庫都非常成熟。而 NP 由于生態(tài)的不成熟,以及各家 NP 之間也基本互不兼容,開發(fā)者需要了解底層的硬件細(xì)節(jié),致使編程難度很大。

NP 在網(wǎng)絡(luò)領(lǐng)域有一定范圍采用,但網(wǎng)絡(luò)領(lǐng)域更主要的處理引擎是網(wǎng)絡(luò) ASIC,這些年還興起網(wǎng)絡(luò)數(shù)據(jù)面可編程的網(wǎng)絡(luò) DSA,都是相比 NP 架構(gòu)具有更極致的性能。正因?yàn)?NP相比 ASIC/DSA 的性能不足,以及相比 GPU 覆蓋的場景有限,這樣的 “高不成,低不就”,導(dǎo)致其一直沒能成為(相比 GPU 而言)主流的通用計(jì)算平臺。

微信圖片_20220303094201.jpg

DSA

DSA 針對特定應(yīng)用場景定制處理引擎甚至芯片,支持部分軟件可編程。DSA 與 ASIC 在同等晶體管資源下性能接近,兩者最大的不同在于是否可軟件編程。ASIC 由于其功能確定,軟件只能通過一些簡單的配置控制硬件運(yùn)行,其功能比較單一。而 DSA 則支持一些可編程能力,使得其功能覆蓋的領(lǐng)域范圍相比 ASIC 要大很多。

DSA,一方面可以實(shí)現(xiàn) ASIC 一樣的極致性能,另一方面,可以像通用 CPU 一樣執(zhí)行軟件程序。當(dāng)然,DSA 只會加速某些特定領(lǐng)域應(yīng)用程序。例如:用于深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)處理器以及用于 SDN 網(wǎng)絡(luò)可編程處理器。

CPU、GPU和DSA的優(yōu)劣勢分析

微信圖片_20220303094207.png

藍(lán)海大腦液冷GPU服務(wù)器搭載于 NVIDIA 4 × A100 / 3090 / P6000 / RTX6000;使用 NVLink + NVSwitch 的最高GPU通信;4個(gè)用于 GPU Direct RDMA 的 NIC(1:1 GPU比率);最高4 x NVMe 用于 GPU 系統(tǒng)盤,帶有 AIOM;雙電源冗余供電系統(tǒng)、防雷擊、防浪涌保護(hù)。

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

未來十年的新一代計(jì)算架構(gòu)的一些設(shè)計(jì)目標(biāo)——基于軟硬件融合架構(gòu)(CASH,Converged Architecture of Software and Hardware)的超異構(gòu)計(jì)算:

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

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

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

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

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

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

微信圖片_20220303094215.png

4 宏觀算力建設(shè)

數(shù)字經(jīng)濟(jì)時(shí)代,不斷增強(qiáng)算力,不斷降低算力成本。一方面,我們可以以相同的價(jià)格,可以獲得更多更豐富的算力;另一方面,是降低算力獲取門檻,實(shí)現(xiàn)算力普惠。

持續(xù)不斷的提升算力,降低成本,實(shí)現(xiàn)算力普惠

隨著數(shù)字經(jīng)濟(jì)建設(shè)逐步深入,對算力需求不斷提高。在功耗和成本不變情況下,通過架構(gòu)創(chuàng)新,提升芯片性能。如果我們能夠把芯片性能提升10倍,在同樣規(guī)模下,意味著10倍的宏觀算力提升,也意味著單位算力成本和功耗均降低到1/10。也就意味著,對用戶來說,可以以同樣價(jià)格獲得更多更豐富算力資源。

芯片一次性成本極高,芯片通用性可以確保芯片大規(guī)模復(fù)制。而大規(guī)模復(fù)制的芯片,就意味著無限攤薄芯片的研發(fā)成本。性能提升,成本降低,一里一外的優(yōu)勢,確保芯片核心競爭力。

并且,通過算力提升,以及成本和功耗降低,可以降低算力使用門檻,使得更多用戶能夠享受算力的便捷。在數(shù)字經(jīng)濟(jì)世界里,大家共享技術(shù)發(fā)展帶來價(jià)值紅利。

建設(shè)宏觀經(jīng)濟(jì),首先需要的是IT基礎(chǔ)設(shè)施。藍(lán)海大腦作為中國領(lǐng)先的IT基礎(chǔ)設(shè)施提供商,可以提供服務(wù)器、存儲、網(wǎng)絡(luò)、5G云網(wǎng)融合產(chǎn)品等IT基礎(chǔ)設(shè)施。

版權(quán)所有 中華工控網(wǎng) Copyright?2024 Gkong.com, All Rights Reserved