編者按去年的AWS re:Invent 2021有很多跟芯片相關(guān)的內(nèi)容值得展開(kāi)來(lái)說(shuō)的事情。但網(wǎng)上已經(jīng)有很多專業(yè)的文章了,我就不再班門(mén)弄斧一一介紹了。只好另辟蹊徑,嘗試從整體和發(fā)展的角度,和一些“可能存在”的“向左(定制)還是向右(通用)”的權(quán)衡,來(lái)分析一下AWS為什么過(guò)去和現(xiàn)在要做芯片和硬件自研這些事情,以及未來(lái)要往何處去。再次強(qiáng)調(diào)一下,芯片定制分為兩個(gè)方面:芯片功能的定制還是通用,是個(gè)技術(shù)路徑的問(wèn)題;巨頭通過(guò)定制芯片,滿足自身需求,這是一個(gè)商業(yè)選擇的問(wèn)題。這兩者不能混淆。
1 硬件定制
硬件定制可以簡(jiǎn)單地分為兩種模式:-
由外而內(nèi)。從通用的服務(wù)器等硬件出發(fā),進(jìn)一步優(yōu)化(裁剪和增強(qiáng))數(shù)據(jù)中心各種硬件產(chǎn)品,落地成標(biāo)準(zhǔn)化的硬件和系統(tǒng)設(shè)計(jì),再通過(guò)規(guī)模化的部署,來(lái)達(dá)到降低成本的目的。例如,OCP倡導(dǎo)的各種OCP兼容的服務(wù)器、交換機(jī)及其他硬件設(shè)計(jì)。
-
由內(nèi)而外。從內(nèi)在的業(yè)務(wù)場(chǎng)景需求出發(fā),通過(guò)軟硬件深層次的協(xié)同優(yōu)化設(shè)計(jì),落地到個(gè)性化的硬件定制。各家互聯(lián)網(wǎng)云計(jì)算公司,如AWS、微軟和阿里云等,主要用于自身業(yè)務(wù)的各種硬件定制產(chǎn)品。
2 虛擬化卸載和Nitro DPU芯片
2.1 AWS EC2虛擬化技術(shù)的演進(jìn)
在介紹虛擬化演進(jìn)之前,我們先介紹下虛擬化的三種方式:-
完全軟件虛擬化(Virt. in Software, VS):支持不需要修改的客戶機(jī)OS,所有的操作都被軟件模擬,但性能消耗高達(dá)50%-90%。
-
類虛擬化(Para-Virt., PV):客戶機(jī)OS通過(guò)修改內(nèi)核和驅(qū)動(dòng),調(diào)用Hypervisor提供的hypercall,客戶機(jī)和Hypervisor共同合作,讓模擬更高效。類虛擬化性能消耗大概為10%-50%。
-
完全硬件虛擬化(Virt. in Hardware, VH):硬件支持虛擬化,性能接近裸機(jī),只有0.1%-1.5%的虛擬化消耗。
-
最開(kāi)始,所有的計(jì)算機(jī)資源都是純軟件模擬的。
-
Xen PV 3.0引入了PV,部分提升了性能。
-
Xen HVM 3.0引入了CPU和內(nèi)存的硬件虛擬化(基于Intel VT-x和AMD-v技術(shù)),大幅度提升了性能;這一時(shí)期,網(wǎng)絡(luò)和存儲(chǔ)I/O對(duì)處理帶寬的要求還不高,PV的I/O虛擬化還是滿足要求的。
-
Xen HVM 4.0.1,沒(méi)有優(yōu)化四個(gè)主要的資源,性能提升不算明顯。
-
Xen AWS 2013,通過(guò)PCIe SR-IOV技術(shù),正式引入了網(wǎng)絡(luò)I/O硬件虛擬化。
-
Xen AWS 2017,通過(guò)PCIe SR-IOV技術(shù),正式引入了本地存儲(chǔ)I/O硬件虛擬化。
-
2017年,AWS Nitro 2017。Nitro項(xiàng)目正式登場(chǎng)。站在I/O虛擬化的角度,NITRO項(xiàng)目的創(chuàng)新有限。NITRO最有價(jià)值的創(chuàng)新在于把Backend的網(wǎng)絡(luò)和遠(yuǎn)程存儲(chǔ)的Workload卸載到了NITRO卡上。從Nitro開(kāi)始,云計(jì)算架構(gòu)就走上了業(yè)務(wù)和基礎(chǔ)設(shè)施在物理上完全隔離的路子。
-
AWS Bare Metal 2017。裸金屬機(jī)器和用于EC2虛擬機(jī)的Nitro 2017最大的區(qū)別在于有沒(méi)有一層Lite Hypervisor。
2.2 Nitro DPU芯片的演進(jìn)
嚴(yán)格來(lái)說(shuō),2017年底AWS宣布的Nitro系統(tǒng)是全球第一家真正商業(yè)落地的DPU芯片。AWS引領(lǐng)了DPU的潮流,隨后DPU這個(gè)方向才逐漸火熱了起來(lái)。圖4 AWS Nitro系統(tǒng)如圖4所示,不同的EC2服務(wù)器實(shí)例類型包括不同的Nitro系統(tǒng)特性,一些服務(wù)器類型有許多Nitro系統(tǒng)卡,實(shí)現(xiàn)AWS Nitro系統(tǒng)的五大主要特性:-
Nitro VPC(虛擬私有云)卡;
-
Nitro EBS(彈性塊存儲(chǔ))卡;
-
Nitro本地存儲(chǔ)卡;
-
Nitro控制器卡;
-
Nitro安全芯片。
-
CPU性能弱,一張不夠,就多張卡整合到一起完成想要的功能;
-
CPU完全可編程,同樣的芯片,同樣的板卡,只需要后期運(yùn)行不同的軟件,就可以非常方便的實(shí)現(xiàn)不同的功能。
-
做到了把VM的業(yè)務(wù)和宿主機(jī)側(cè)的管理任務(wù)完全隔離,這樣提供了很多安全方面的好處,并且可以打平虛擬機(jī)和物理機(jī)環(huán)境。業(yè)務(wù)和管理分離,還有很多其他好處,這里不一一展開(kāi)了。
-
因?yàn)槭乔度胧降腃PU,所以,可以快速地開(kāi)發(fā)新功能。例如基于Nitro嵌入式CPU,開(kāi)發(fā)了SRD和EFA,為高性能的HPC提供解決方案。快速地為業(yè)務(wù)提供更強(qiáng)大的功能和服務(wù)價(jià)值,給客戶提供更加快速而積極的功能支持,是云計(jì)算的核心競(jìng)爭(zhēng)力。雖然消耗Nitro卡的資源多一些,但這些可以留待后續(xù)持續(xù)優(yōu)化。
2.3 AWS Nitro與NVIDIA DPU的本質(zhì)區(qū)別
看2.2節(jié)的內(nèi)容,很多人可能會(huì)認(rèn)為,Nitro采用CPU設(shè)計(jì),AWS的設(shè)計(jì)水平有限。為什么不像NVIDIA一樣,集成各種ASIC的加速引擎呢?還有一個(gè)類似的問(wèn)題,在手機(jī)端,集成各種專用硬件加速引擎的手機(jī)SOC芯片已經(jīng)非常成熟,但為什么數(shù)據(jù)中心的計(jì)算平臺(tái)依然是以CPU為主?原因只有一個(gè):數(shù)據(jù)中心場(chǎng)景,對(duì)軟件靈活性的要求,遠(yuǎn)高于對(duì)性能的要求。如果不能提供靈活性(或者說(shuō)易用性、可編程性),提供再多的性能都是“無(wú)本之木”。圖4 Nitro和NVIDIA DPU的演進(jìn)對(duì)比互聯(lián)網(wǎng)云計(jì)算廠家的上層軟件業(yè)務(wù)邏輯各不相同并且快速迭代,這幾乎無(wú)法采用定制的ASIC設(shè)計(jì)。簡(jiǎn)而言之:定制的ASIC很難適合靈活多變的云場(chǎng)景。如圖4所示,芯片公司(NVIDIA)根據(jù)自身對(duì)業(yè)務(wù)的理解,做定制ASIC。但這些ASIC實(shí)現(xiàn)的加速功能是芯片公司對(duì)業(yè)務(wù)場(chǎng)景的理解,并把業(yè)務(wù)邏輯固化到定制的設(shè)計(jì)中,使得云廠家很難基于此硬件平臺(tái)開(kāi)發(fā)出差異化的創(chuàng)新功能。并且,定制的設(shè)計(jì),限制了云廠家的創(chuàng)新能力,并且使得云場(chǎng)景不得不跟硬件平臺(tái)廠家深度綁定,這些對(duì)云廠家來(lái)說(shuō),并不是一件好事。如圖4所示,AWS Nitro和NVIDIA DPU是兩種不同方向的演進(jìn):-
NVIDIA DPU演進(jìn):從硬到軟,NIC -> SNIC -> DPU(DPU = SNIC+嵌入式CPU);定制設(shè)計(jì),客戶無(wú)法差異化,與云系統(tǒng)發(fā)展規(guī)律相悖。
-
AWS Nitro演進(jìn):從軟到硬,CPU基礎(chǔ)上,逐步增加足夠彈性的加速引擎;通用的設(shè)計(jì),符合云系統(tǒng)發(fā)展規(guī)律。
3 Graviton CPU,跟Nitro走向不同的方向
3.1 Graviton CPU的演進(jìn)
圖5 Winnie Shao博士總結(jié)的Graviton CPU的3代演進(jìn)在AWS re:Invent 2021大會(huì)上,AWS發(fā)布了最新一代的ARM CPU芯片Graviton 3。相比2018年發(fā)布的Graviton 1和2019年發(fā)布Graviton 2,有了很大的改進(jìn)。話不多說(shuō),直接上圖。如圖5所示,Winnie Shao博士是CPU領(lǐng)域的專家,她總結(jié)的這個(gè)表格已經(jīng)非常完善了,我就不再班門(mén)弄斧了。3.2 Graviton CPU和Nitro DPU的淵源
第一代Nitro是在AWS re:Invent 2017上發(fā)布的,初代Nitro本質(zhì)是一款CPU芯片。隨后一年,re:Invent 2018發(fā)布了Nitro 2代以及Graviton 1代ARM CPU芯片。我們大約可以推斷,Nitro 2主要升級(jí)了CPU的性能,Nitro 2代和Graviton CPU 1代是比較接近同一款芯片的設(shè)計(jì)。圖6 推測(cè)的AWS ARM服務(wù)器架構(gòu)示意圖由于ARM CPU核的單核性能相比x86 CPU核仍有差距,要想更好地實(shí)現(xiàn)降成本的目標(biāo),勢(shì)必需要在ARM服務(wù)器的高計(jì)算密度方面做文章。如圖6所示,這是我們推測(cè)的ARM服務(wù)器內(nèi)部架構(gòu),也只有這樣,Nitro System組成一個(gè)平臺(tái)化的系統(tǒng),提供Multi-Host的機(jī)制給到CPU,可以支持4-8塊CPU計(jì)算節(jié)點(diǎn)。這樣,可以在單臺(tái)服務(wù)器規(guī)模,最多容納16顆ARM CPU。更極端的推測(cè),如果Graviton和Nitro是同一顆芯片的話,AWS ARM服務(wù)器相當(dāng)于包含了21顆CPU芯片。圖7 Graviton和Nitro的演進(jìn)區(qū)別如圖7所示,Graviton和Nitro可以說(shuō)“同宗同源,師出同門(mén)”,但卻因?yàn)榉止ず投ㄎ坏牟煌饾u走向了兩個(gè)不同的方向:-
Graviton的Scale Out模式。Graviton定位為主CPU。勢(shì)必需要提供更加強(qiáng)大的單核性能以及提供更高的水平擴(kuò)展性,也就是說(shuō)單芯片要集成更多的CPU核,以及要支持多CPU的跨芯片緩沖一致性互聯(lián)。
-
Nitro的Scale Up模式。Nitro的主要工作是卸載、隔離和加速。只隔離和卸載,不解決本質(zhì)問(wèn)題,只有通過(guò)硬件加速才真正實(shí)現(xiàn)性能提升和成本降低。所以,Nitro的演進(jìn),勢(shì)必走向通過(guò)硬件加速,瘋狂地提升單芯片的處理性能的路子上。
4 應(yīng)用加速芯片
4.1 CPU、DPU和GPU/FPGA/DSA
圖8 CPU、GPU/FPGA/DSA以及DPU的關(guān)系如圖CPU、GPU/FPGA/DSA和DPU,三者的關(guān)系就像《三體》描述的那樣,既相互協(xié)作,又相互競(jìng)爭(zhēng),最終達(dá)到一個(gè)相對(duì)穩(wěn)定的狀態(tài):-
DPU主要定位基礎(chǔ)設(shè)施層的加速和處理;
-
GPU/FPGA/DSA主要負(fù)責(zé)應(yīng)用層的加速;
-
CPU負(fù)責(zé)應(yīng)用層的常規(guī)處理。
-
GPU加速的云主機(jī)。例如,AWS EC2 P3實(shí)例可以提供高性能的計(jì)算,可支持高達(dá)8個(gè) NVIDIA V100 GPU,可為機(jī)器學(xué)習(xí)、HPC等應(yīng)用提供高達(dá)100Gbps的網(wǎng)絡(luò)吞吐量。
-
FPGA加速的云主機(jī)。例如,AWS EC2 F1實(shí)例使用FPGA實(shí)現(xiàn)自定義硬件加速交付。
-
DSA/ASIC加速的云主機(jī)。例如,AWS EC2 Inf1實(shí)例可在云端提供高性能和最低成本的機(jī)器學(xué)習(xí)推理。這些實(shí)例具有多達(dá)16個(gè)AWS Inferentia芯片,這是由AWS設(shè)計(jì)和打造的高性能機(jī)器學(xué)習(xí)推理芯片。
4.2 為什么要為特定場(chǎng)景定制芯片
AWS發(fā)布了Inferentia定制芯片,它不像Graviton這樣的通用CPU處理器什么都能干,而是專注于機(jī)器學(xué)習(xí)推理。通用CPU處理器可以支持足夠廣泛的各種工作負(fù)載類別,當(dāng)然也包括機(jī)器學(xué)習(xí)推理,為什么還要開(kāi)發(fā)特定工作負(fù)載的專用處理器?的確,通用CPU處理器多年來(lái)一直承擔(dān)著絕大部分的工作負(fù)載,CPU數(shù)量非常龐大,因此單位的成本可以做到比較低。低成本的優(yōu)勢(shì)可以抵消為特定工作負(fù)載芯片定制的優(yōu)勢(shì)。當(dāng)只有少量服務(wù)器運(yùn)行特定工作負(fù)載時(shí),很難從經(jīng)濟(jì)上證明芯片定制優(yōu)化是合算的。在計(jì)算領(lǐng)域之外,芯片定制在網(wǎng)絡(luò)領(lǐng)域大放異彩。網(wǎng)絡(luò)數(shù)據(jù)包處理是高度專業(yè)化的,網(wǎng)絡(luò)協(xié)議很少更改。數(shù)量足夠大,定制就非常的經(jīng)濟(jì)。因此,大多數(shù)網(wǎng)絡(luò)數(shù)據(jù)包處理是使用ASIC芯片完成的。大多數(shù)路由器,無(wú)論來(lái)源如何,基本都是建立在專門(mén)的ASIC之上的。雖然,定制ASIC硬件可以將延遲、性能價(jià)格比以及性能功耗比提高高達(dá)十倍。但是,這么多年以來(lái),大多數(shù)的計(jì)算工作負(fù)載仍“頑強(qiáng)”地停留在通用CPU處理器上。通常,每個(gè)客戶服務(wù)器數(shù)量不多,芯片定制通常意義不大。但是,云計(jì)算改變了這一切。在成功且廣泛使用的云中,即使是“稀有”工作負(fù)載,其數(shù)量也可能達(dá)到數(shù)千甚至數(shù)萬(wàn)。過(guò)去,作為企業(yè),幾乎不可能證明芯片定制,針對(duì)特定工作負(fù)載的加速處理,是足夠經(jīng)濟(jì)的。但在云中,有成千上萬(wàn)足夠罕見(jiàn)的工作負(fù)載。突然之間,不僅可以針對(duì)特定工作負(fù)載類型進(jìn)行硬件的優(yōu)化,而且如果不這樣做,反而顯得有點(diǎn)“不夠積極”。在很多情況下,芯片定制不僅僅可以把成本降低一個(gè)數(shù)量級(jí),電量消耗減少到1/10,并且這些定制化的方案可以給客戶以更低的延遲提供更好的服務(wù)。定制的芯片將成為未來(lái)服務(wù)器端計(jì)算的重要組成部分,亞馬遜自2015年初以來(lái)就有一個(gè)專注于AWS的芯片定制團(tuán)隊(duì),在此之前,AWS與合作伙伴合作構(gòu)建專業(yè)化解決方案。在re:Invent 2016大會(huì)上,AWS發(fā)布了一款安裝在所有服務(wù)器中的定制芯片(James Hamilton的星期二夜現(xiàn)場(chǎng),Nitro的前身)。盡管這是一個(gè)非常專業(yè)的定制芯片,但AWS每年安裝的此類定制芯片超過(guò)一百萬(wàn),而且這個(gè)數(shù)字還在繼續(xù)增加。在服務(wù)器領(lǐng)域,它實(shí)際上是一個(gè)銷量非常大的芯片了。機(jī)器學(xué)習(xí)工作負(fù)載需要的服務(wù)器資源將比當(dāng)前所有形式的服務(wù)器計(jì)算的總和還要多。機(jī)器學(xué)習(xí)的客戶價(jià)值幾乎適用于每個(gè)領(lǐng)域,潛在收益非常巨大。機(jī)器學(xué)習(xí)幾乎可以立即適用于所有業(yè)務(wù),包括客戶服務(wù)、保險(xiǎn)、金融、供暖/制冷以及制造。一項(xiàng)技術(shù)很少有像機(jī)器學(xué)習(xí)一樣如此廣泛的應(yīng)用,當(dāng)收益如此之大時(shí),這對(duì)大多數(shù)企業(yè)來(lái)說(shuō)就是一種賽跑。那些最先深入應(yīng)用機(jī)器學(xué)習(xí)的人或組織可以更有效、更經(jīng)濟(jì)地為客戶服務(wù)。AWS專注于讓機(jī)器學(xué)習(xí)的快速部署變得更加容易,同時(shí)降低成本,讓更多的工作負(fù)載可以更經(jīng)濟(jì)地使用機(jī)器學(xué)習(xí)。規(guī)模和針對(duì)特定場(chǎng)景的優(yōu)化,是Inferentia等工作負(fù)載專用加速芯片發(fā)展的最本質(zhì)的驅(qū)動(dòng)力量。未來(lái),在大型數(shù)據(jù)中心,除了AI訓(xùn)練和推理芯片,也會(huì)出現(xiàn)很多面向其他工作負(fù)載,如視頻圖像處理、大數(shù)據(jù)分析、基因組學(xué)、電子設(shè)計(jì)自動(dòng)化 (EDA)等,的特定加速芯片。4.3 AI-DSA推理芯片Inferentia
Inferentia是AWS第一款A(yù)I推理芯片,而基于Inferentia的Inf1實(shí)例針對(duì)ML推理進(jìn)行了優(yōu)化,與基于GPU的同類EC2實(shí)例相比,Inferentia的推理成本下降80%,吞吐量提高2.3倍。使用Inf1實(shí)例,客戶可以在云端低成本運(yùn)行大規(guī)模ML推理應(yīng)用程序,例如圖像識(shí)別、語(yǔ)音識(shí)別、自然語(yǔ)言處理、個(gè)性化和欺詐檢測(cè)。圖9 AWS inferentia AI推理芯片Inferentia的高性能。每個(gè)芯片具有4個(gè)神經(jīng)元核心,可以執(zhí)行高達(dá)128 TOPS(每秒數(shù)萬(wàn)億次操作)。它支持BF16、INT8和FP16數(shù)據(jù)類型。并且,Inferentia可以采用32位訓(xùn)練模型,并使用BF16的16位模型的速度運(yùn)行它。亞馬遜推理,低延遲的實(shí)時(shí)輸出。隨著ML變得越來(lái)越復(fù)雜,模型不斷增長(zhǎng),將模型傳入和傳出內(nèi)存成為最關(guān)鍵的任務(wù),這帶來(lái)了高延遲并放大了計(jì)算問(wèn)題。Inferentia芯片具有在更大程度上解決延遲問(wèn)題的能力。多芯片互聯(lián):首先可以將模型跨多個(gè)內(nèi)核進(jìn)行分區(qū),并使用100%的片內(nèi)內(nèi)存——通過(guò)內(nèi)核流水線全速傳輸數(shù)據(jù),防止片外內(nèi)存訪問(wèn)引起的延遲。支持所有框架。機(jī)器學(xué)習(xí)愛(ài)好者可以輕松地將幾乎所有可用的框架上運(yùn)行在Inferentia。要運(yùn)行Inferentia,需要將模型編譯為硬件優(yōu)化表示。可以通過(guò)AWS Neuron SDK中提供的命令行工具或通過(guò)框架API執(zhí)行操作。4.4 AI-DSA訓(xùn)練芯片Trainium
圖10 AWS Trainium AI訓(xùn)練芯片如圖10所示,在AWS re:Invent 2020開(kāi)發(fā)者大會(huì)上,AWS發(fā)布了其設(shè)計(jì)的主要用于機(jī)器學(xué)習(xí)訓(xùn)練的第二款定制的AI芯片--AWS Trainium。它提供比云端任何競(jìng)爭(zhēng)對(duì)手更高的性能,同時(shí)支持TensorFlow、PyTorch和MXNet等。這款定制芯片的主要優(yōu)勢(shì)是速度和成本,AWS承諾與標(biāo)準(zhǔn)AWS GPU實(shí)例相比,吞吐量提高30%,每次推斷的成本降低45%。Trainium芯片還專門(mén)針對(duì)深度學(xué)習(xí)訓(xùn)練工作負(fù)載進(jìn)行了優(yōu)化,包括圖像分類、語(yǔ)義搜索、翻譯、語(yǔ)音識(shí)別、自然語(yǔ)言處理和推薦引擎等。它將以EC2(亞馬遜彈性計(jì)算云)實(shí)例的形式出現(xiàn)在亞馬遜的機(jī)器學(xué)習(xí)平臺(tái)SageMaker中。Trainium與Inferentia有著相同的AWS Neuron SDK,這使得使用Inferentia的開(kāi)發(fā)者可以很容易地開(kāi)始使用Trainium。因?yàn)镹euron SDK集成了流行的機(jī)器學(xué)習(xí)框架,包括TensorFlow、PyTorch和MXNet,開(kāi)發(fā)人員可以輕松地從基于GPU的實(shí)例遷移到Trainium,代碼更改很少。5 Nitro SSD
圖11 Nitro SSD的位置Nitro SSD是一張獨(dú)立的SSD盤(pán),使用了專用的SSD控制器芯片,我們姑且稱之為Nitro SSD Controller。為什么叫“Nitro” SSD?我理解是因?yàn)檫@個(gè)SSD是掛在Nitro卡之下,并且為了整個(gè)系統(tǒng)極致的優(yōu)化,內(nèi)部的一些協(xié)議或算法跟Nitro卡內(nèi)部有一定的協(xié)同,不管是用于本地存儲(chǔ)或者是EBS遠(yuǎn)程存儲(chǔ)。AWS Nitro SSD,使AWS能夠?yàn)榭蛻籼峁┚哂写罅縄OPS、大量吞吐量和 64 TiB 的最大卷大小的EBS卷。Im4gn和Is4gen實(shí)例使用第二代AWS Nitro SSD,未來(lái)許多新的EC2實(shí)例也將使用Nitro SSD。AWS Nitro SSD每個(gè)設(shè)備內(nèi)部的固件負(fù)責(zé)實(shí)現(xiàn)許多較低級(jí)別的功能。當(dāng)客戶將設(shè)備推向極限運(yùn)行時(shí),客戶希望我們能夠診斷并解決他們觀察到的任何性能不一致問(wèn)題。構(gòu)建AWS自己的設(shè)備使AWS能夠設(shè)計(jì)操作遙測(cè)和診斷,以及使AWS能夠以云規(guī)模和云速度安裝固件更新的機(jī)制。更進(jìn)一步的,AWS開(kāi)發(fā)了自己的代碼來(lái)管理實(shí)例級(jí)存儲(chǔ),以進(jìn)一步提高可靠性和調(diào)試能力。在性能方面,對(duì)云工作負(fù)載的深入了解促使AWS對(duì)設(shè)備進(jìn)行設(shè)計(jì),以便它們能夠在持續(xù)的負(fù)載下提供最高性能。SSD由快速、密集的閃存構(gòu)成。由于這種半導(dǎo)體存儲(chǔ)器的特性,每個(gè)單元只能被寫(xiě)入、擦除和重寫(xiě)有限的次數(shù)。為了使設(shè)備的使用壽命盡可能長(zhǎng),固件負(fù)責(zé)一個(gè)稱為磨損均衡的過(guò)程。這個(gè)過(guò)程涉及一些內(nèi)務(wù)管理(一種垃圾收集形式),在處理大量寫(xiě)入時(shí),各種類型的SSD可能會(huì)在不可預(yù)測(cè)的時(shí)間變慢(產(chǎn)生延遲峰值)。AWS還利用數(shù)據(jù)庫(kù)的專業(yè)知識(shí),在SSD固件中構(gòu)建了一個(gè)非常復(fù)雜、斷電安全的基于日志的數(shù)據(jù)庫(kù)。第二代AWS Nitro SSD旨在避免延遲峰值并在實(shí)際工作負(fù)載上提供出色的I/O性能。基準(zhǔn)測(cè)試顯示,使用AWS Nitro SSD的實(shí)例(例如新的 Im4gn 和 Is4gen)的延遲可變性比I3實(shí)例低75%,從而為客戶提供更加一致的SSD性能。6 綜合分析
從定制硬件整機(jī)開(kāi)始,再逐步深入到定制芯片,然后慢慢地把上層的軟件、芯片以及硬件整機(jī)全方位協(xié)同并整合到一起,亞馬遜AWS逐漸構(gòu)筑起自己特有的、最強(qiáng)大的競(jìng)爭(zhēng)優(yōu)勢(shì)。圖12 以AWS為例的數(shù)據(jù)中心核心芯片示意圖聚焦到芯片,簡(jiǎn)單總結(jié)一下。如圖12所示,整個(gè)數(shù)據(jù)中心核心的芯片有如下類型:CPU、GPU/FPGA/各種DSA加速芯片、DPU、SSD等高性能存儲(chǔ)控制芯片以及交換機(jī)芯片。未來(lái)AWS應(yīng)該要做的是:數(shù)據(jù)中心關(guān)鍵芯片還沒(méi)有的會(huì)逐漸補(bǔ)齊,已有的芯片類型后續(xù)會(huì)持續(xù)增強(qiáng)。詳細(xì)的綜合分析如表1所示。表1 AWS芯片自研綜合分析位置 | 類型 | 子類型 | 代號(hào) | 分析&推測(cè) |
服務(wù)器側(cè) | CPU | CPU | Graviton | 重要性:★★★★★CPU是數(shù)據(jù)中心算力的最核心器件,ARM服務(wù)器CPU反響不錯(cuò),AWS應(yīng)該會(huì)持續(xù)重金投入,加大ARM服務(wù)器CPU的使用量,提升ARM服務(wù)器的整體占比。 |
應(yīng)用加速 | GPU | 無(wú) | 重要性:★★★★★在AI的算法模型還沒(méi)有穩(wěn)定之前,GPU都是AI算力的重要承擔(dān)者,NVIDIA如日中天。AWS因?yàn)槠渖蠈榆浖鷳B(tài)的優(yōu)勢(shì),以及云計(jì)算的運(yùn)營(yíng)模式,有能力抵消其在GPU生態(tài)上的劣勢(shì)。預(yù)計(jì)未來(lái)AWS會(huì)自研GPGPU芯片,并加入EC2家族對(duì)外提供服務(wù)。 | |
FPGA | 無(wú) | 重要性:★★☆☆☆FPGA作為FaaS平臺(tái),對(duì)云計(jì)算上層服務(wù)來(lái)說(shuō),沒(méi)有那么直接,需要客戶或第三方ISV開(kāi)發(fā)加速硬件和配套的軟件。FaaS不是主流的云服務(wù),并且Xilinx和Intel的FPGA都相對(duì)成熟穩(wěn)定,F(xiàn)PGA應(yīng)該不是AWS發(fā)展的重心。 | ||
DSA-AI-推理 | Inferentia | 重要性:★★★★☆AI推理和訓(xùn)練我們放到一起。AI是應(yīng)用的王者,并且是算力的吞金獸,必須要做各種定制加速DSA。并且,云計(jì)算的模式也可以先天抵消DSA-AI的許多使用門(mén)檻。通過(guò)云的封裝,可以提供各種框架服務(wù)甚至SaaS層AI服務(wù),使得AI-DSA芯片能大范圍地用起來(lái)。對(duì)AWS來(lái)說(shuō),AI相關(guān)的定制芯片,是必須要持續(xù)投入,持續(xù)優(yōu)化和增強(qiáng)的。 | ||
DSA-AI-訓(xùn)練 | Trainium | |||
DSA-其他 | 無(wú) | 重要性:★★★☆☆除了AI,也有很多其他算力需求高的工作任務(wù)。隨著發(fā)展,也會(huì)出現(xiàn)新的需要高算力的工作任務(wù),比如元宇宙,就對(duì)圖形圖形處理、網(wǎng)絡(luò)等提出了更高的要求。GPGPU的效率有所欠缺,并且可見(jiàn)的未來(lái)也會(huì)像CPU一樣達(dá)到性能瓶頸。專用的圖形GPU或者VPU可能會(huì)成為AWS下一個(gè)定制的DSA芯片。 | ||
DPU | DPU | Nitro | 重要性:★★★★★(★)因?yàn)檐浖鷳B(tài)的強(qiáng)大,CPU是數(shù)據(jù)中心最核心的芯片。但CPU芯片的功能定義已經(jīng)足夠成熟,只需要持續(xù)優(yōu)化升級(jí)改進(jìn)即可。而DPU的挑戰(zhàn)在于,DPU是整個(gè)云計(jì)算服務(wù)承載的核心,不僅僅是要提供足夠的性能,更是要把現(xiàn)有的許多服務(wù),不僅僅是IaaS層服務(wù),也包括PaaS甚至SaaS的服務(wù),要融入DPU中。可以說(shuō),DPU是云計(jì)算最戰(zhàn)略級(jí)的芯片,沒(méi)有之一。給六顆星,不為過(guò)。 | |
CPU、GPU、DPU的整合 | 無(wú) | 重要性:★★★★★NVIDIA有CPU+GPU的處理器,也有CPU+GPU+DPU的Atlan,未來(lái)CPU、GPU、DPU兩兩整合,或者三者整合成獨(dú)立的單芯片加速平臺(tái)是一個(gè)越來(lái)越明顯的趨勢(shì)。集成大芯片,會(huì)在性能和成本方面帶來(lái)很多的好處。隨著數(shù)據(jù)中心規(guī)模的增大,以及一些場(chǎng)景逐漸穩(wěn)定成熟,把CPU、GPU、GPU重新整合重構(gòu),是一個(gè)必然的趨勢(shì)。 | ||
存儲(chǔ)盤(pán) | SSD | Nitro SSD | 重要性:★★★☆☆存儲(chǔ)控制器廠家,很容易“只見(jiàn)樹(shù)木,不見(jiàn)森林”,導(dǎo)致無(wú)法站在數(shù)據(jù)中心超大規(guī)模的全局去思考問(wèn)題,這也會(huì)導(dǎo)致存儲(chǔ)卡會(huì)成為性能穩(wěn)定性和數(shù)據(jù)安全的潛在風(fēng)險(xiǎn)。類似ZNS技術(shù),AWS通過(guò)自研Nitro SSD跟Nitro DPU芯片更好地協(xié)同,給客戶提供更穩(wěn)定更安全的存儲(chǔ)服務(wù)。只是,與整個(gè)數(shù)據(jù)中心計(jì)算相比,這塊相對(duì)來(lái)說(shuō)屬于“枝葉”,一旦穩(wěn)定,后期應(yīng)該不需要投入太多。 | |
交換機(jī)側(cè) | Switch | Switch | 無(wú) | 重要性:★★★★★更簡(jiǎn)單的網(wǎng)絡(luò),還是更復(fù)雜的網(wǎng)絡(luò)?網(wǎng)絡(luò)到底要不要分擔(dān)計(jì)算的壓力,足夠Smart來(lái)處理一些計(jì)算的任務(wù)?還是提供極致簡(jiǎn)單且極致性能的網(wǎng)絡(luò),把可能的計(jì)算都交給用戶,讓用戶掌控一切?上面說(shuō)的這些話,如何選擇都沒(méi)關(guān)系。重要的是,交換機(jī)是網(wǎng)絡(luò)的核心,網(wǎng)絡(luò)又是云計(jì)算的前提。沒(méi)有網(wǎng)絡(luò),計(jì)算和存儲(chǔ)什么都不是。這一條就夠了!交換機(jī)側(cè),AWS這種體量的云計(jì)算公司一定不會(huì)放過(guò)。期待AWS在交換機(jī)側(cè)的創(chuàng)新! |
-
AWSInnovationScale,JamesHamilton,Re:Invent2016,https://mvdirona.com/jrh/talksandpapers/ReInvent2016_James%20Hamilton.pdf
-
AWSEC2Virtualization2017:IntroducingNitro,https://www.brendangregg.com/blog/2017-11-29/aws-ec2-virtualization-2017.html
-
AWSNitroSystem,JamesHamilton,https://perspectives.mvdirona.com/2019/02/aws-nitro-system/
-
AWS Graviton3:遵循摩爾定律又有自己節(jié)奏,Winnie shao,“企業(yè)存儲(chǔ)技術(shù)”公眾號(hào),https://mp.weixin.qq.com/s/IFIIJ5sF4yvyGkrcsTPnLw
-
AWSInferentiaMachineLearningProcessor,JamesHamilton,https://perspectives.mvdirona.com/2018/11/aws-inferentia-machine-learning-processor/
-
DeepdiveintoAmazonInferentia:Acustom-builtchiptoenhanceMLandAI,https://www.cloudmanagementinsider.com/amazon-inferentia-for-machine-learning-and-artificial-intelligence/
-
MacOS上云了!AWS還推出機(jī)器學(xué)習(xí)Trainium芯片:萬(wàn)億次浮點(diǎn)運(yùn)算,推理成本再降45%,新智元,https://mp.weixin.qq.com/s/4xkLq4S1ZaZLuqQSNHI0_Q
-
AWSNitroSSD–HighPerformanceStorageforyourI/O-IntensiveApplications,https://aws.amazon.com/cn/blogs/aws/aws-nitro-ssd-high-performance-storage-for-your-i-o-intensive-applications/
審核編輯 :李倩
-
芯片
+關(guān)注
關(guān)注
456文章
50950瀏覽量
424763 -
硬件
+關(guān)注
關(guān)注
11文章
3348瀏覽量
66305 -
AWS
+關(guān)注
關(guān)注
0文章
432瀏覽量
24404
原文標(biāo)題:亞馬遜AWS自研芯片深度分析
文章出處:【微信號(hào):Rocker-IC,微信公眾號(hào):路科驗(yàn)證】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論