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

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴(kuò)散
  • 作品版權(quán)保護(hù)
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長(zhǎng)期合作伙伴
立即加入
  • 正文
    • 2.1 AWS EC2虛擬化技術(shù)的演進(jìn)
    • 2.2 Nitro DPU芯片的演進(jìn)
    • 2.3 AWS Nitro與NVIDIA DPU的本質(zhì)區(qū)別
    • 3.1 Graviton CPU的演進(jìn)
    • 3.2 Graviton CPU和Nitro DPU的淵源
    • 4.1 CPU、DPU和GPU/FPGA/DSA
    • 4.2 為什么要為特定場(chǎng)景定制芯片
    • 4.3 AI-DSA推理芯片Inferentia
    • 4.4 AI-DSA訓(xùn)練芯片Trainium
  • 相關(guān)推薦
申請(qǐng)入駐 產(chǎn)業(yè)圖譜

亞馬遜AWS自研芯片深度分析

2022/07/11
1242
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

去年的AWS re:Invent 2021有很多跟芯片相關(guān)的內(nèi)容值得展開來說的事情。但網(wǎng)上已經(jīng)有很多專業(yè)的文章了,我就不再班門弄斧一一介紹了。

只好另辟蹊徑,嘗試從整體和發(fā)展的角度,和一些“可能存在”的“向左(定制)還是向右(通用)”的權(quán)衡,來分析一下AWS為什么過去和現(xiàn)在要做芯片和硬件自研這些事情,以及未來要往何處去。

再次強(qiáng)調(diào)一下,芯片定制分為兩個(gè)方面:芯片功能的定制還是通用,是個(gè)技術(shù)路徑的問題;巨頭通過定制芯片,滿足自身需求,這是一個(gè)商業(yè)選擇的問題。這兩者不能混淆。

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ī)?;牟渴穑瑏磉_(dá)到降低成本的目的。例如,OCP倡導(dǎo)的各種OCP兼容的服務(wù)器、交換機(jī)及其他硬件設(shè)計(jì)

由內(nèi)而外。從內(nèi)在的業(yè)務(wù)場(chǎng)景需求出發(fā),通過軟硬件深層次的協(xié)同優(yōu)化設(shè)計(jì),落地到個(gè)性化的硬件定制。各家互聯(lián)網(wǎng)云計(jì)算公司,如AWS、微軟和阿里云等,主要用于自身業(yè)務(wù)的各種硬件定制產(chǎn)品。

對(duì)于互聯(lián)網(wǎng)巨頭來說,設(shè)計(jì)并制造自己的硬件,以此來提高效率并建立競(jìng)爭(zhēng)優(yōu)勢(shì)已經(jīng)是顯而易見的事情。亞馬遜AWS不僅設(shè)計(jì)自己的計(jì)算服務(wù)器、存儲(chǔ)服務(wù)器、路由器以及相關(guān)的核心芯片,還設(shè)計(jì)自己的連接全球以及數(shù)據(jù)中心內(nèi)的高速網(wǎng)絡(luò)。

(a) AWS定制交換機(jī)

 

(b) AWS定制SDN網(wǎng)卡

圖1 AWS定制網(wǎng)絡(luò)設(shè)備

如果采用標(biāo)準(zhǔn)的商用路由器,出現(xiàn)問題,供應(yīng)商最快需要花費(fèi)六個(gè)月時(shí)間來修復(fù)問題。如圖1(a),AWS根據(jù)自己的軟硬件規(guī)格定義定制路由器,并且擁有自己的協(xié)議開發(fā)團(tuán)隊(duì)。雖然一開始的訴求主要是降低成本,但實(shí)際上最終的結(jié)果是,定制的網(wǎng)絡(luò)設(shè)備不僅僅降低了成本,最大的收獲是網(wǎng)絡(luò)可靠性。AWS路由器采用的是AWS和博通(Broadcom)聯(lián)合定制的具有70億晶體管規(guī)模的ASIC芯片,總的處理帶寬為3.2Tbit/s(數(shù)據(jù)來自AWS Re:Invent 2016)。AWS網(wǎng)絡(luò)策略的另一個(gè)關(guān)鍵部分是SDN,AWS將SDN的其中一部分工作從軟件卸載到硬件。如圖1(b),通過硬件卸載網(wǎng)絡(luò)功能,降低了CPU的資源消耗,并且降低了網(wǎng)絡(luò)延遲以及網(wǎng)絡(luò)的性能抖動(dòng)。

(a) AWS定制芯片

(b) AWS定制計(jì)算服務(wù)器

 

(c) AWS定制存儲(chǔ)服務(wù)器

圖2 AWS定制芯片及服務(wù)器

如圖2(a),2015年AWS收購(gòu)了Annapurna labs公司,之后Annapurna labs設(shè)計(jì)并生產(chǎn)了AWS定制芯片,可用于AWS各類定制服務(wù)器。AWS不僅僅定制硬件(板卡及服務(wù)器),也定制自己的芯片。通過芯片定制,可以更好地實(shí)現(xiàn)AWS對(duì)數(shù)據(jù)中心的各種創(chuàng)新。如圖2(b),AWS定制1U的服務(wù)器,因此其在機(jī)架上會(huì)占滿1U的槽位。沒有采用更密集的在1U的槽位集成更多的服務(wù)器節(jié)點(diǎn)的做法,這樣做是為了提高熱效率和功率效率。如圖2(c),AWS自定義的存儲(chǔ)服務(wù)器在一個(gè)42U標(biāo)準(zhǔn)的機(jī)架上部署880塊磁盤,升級(jí)后的存儲(chǔ)服務(wù)器可以容納1110塊磁盤,存儲(chǔ)容量為11 PB(數(shù)據(jù)來自AWS的Re:Invent 2016)。

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通過修改內(nèi)核和驅(qū)動(dòng),調(diào)用Hypervisor提供的hypercall,客戶機(jī)和Hypervisor共同合作,讓模擬更高效。類虛擬化性能消耗大概為10%-50%。

 

完全硬件虛擬化(Virt. in Hardware, VH):硬件支持虛擬化,性能接近裸機(jī),只有0.1%-1.5%的虛擬化消耗。

圖3 AWS EC2虛擬化技術(shù)演進(jìn)

圖3是AWS“教科書”般的虛擬化迭代優(yōu)化的演進(jìn)示意圖。我們只關(guān)注與性能最相關(guān)的CPU/Mem、網(wǎng)絡(luò)I/O、本地存儲(chǔ)I/O、遠(yuǎn)程存儲(chǔ)I/O四類計(jì)算機(jī)資源。大致的演進(jìn)介紹如下:

最開始,所有的計(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,沒有優(yōu)化四個(gè)主要的資源,性能提升不算明顯。

Xen AWS 2013,通過PCIe SR-IOV技術(shù),正式引入了網(wǎng)絡(luò)I/O硬件虛擬化。

Xen AWS 2017,通過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開始,云計(jì)算架構(gòu)就走上了業(yè)務(wù)和基礎(chǔ)設(shè)施在物理上完全隔離的路子。

AWS Bare Metal 2017。裸金屬機(jī)器和用于EC2虛擬機(jī)的Nitro 2017最大的區(qū)別在于有沒有一層Lite Hypervisor。

2.2 Nitro DPU芯片的演進(jìn)

嚴(yán)格來說,2017年底AWS宣布的Nitro系統(tǒng)是全球第一家真正商業(yè)落地的DPU芯片。AWS引領(lǐng)了DPU的潮流,隨后DPU這個(gè)方向才逐漸火熱了起來。

圖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安全芯片。

為什么需要這么多張卡?原因很簡(jiǎn)單,因?yàn)樽铋_始的Nitro芯片其實(shí)是一張CPU卡:

CPU性能弱,一張不夠,就多張卡整合到一起完成想要的功能;

CPU完全可編程,同樣的芯片,同樣的板卡,只需要后期運(yùn)行不同的軟件,就可以非常方便的實(shí)現(xiàn)不同的功能。

 

雖然,Nitro計(jì)算的主要載體是CPU,導(dǎo)致許多工作任務(wù)從Host CPU卸載到Nitro的嵌入式CPU上之后,性能并沒有得到提升,有點(diǎn)“多此一舉”。但實(shí)際上已經(jīng)提供了很多價(jià)值:

做到了把VM的業(yè)務(wù)和宿主機(jī)側(cè)的管理任務(wù)完全隔離,這樣提供了很多安全方面的好處,并且可以打平虛擬機(jī)和物理機(jī)環(huán)境。業(yè)務(wù)和管理分離,還有很多其他好處,這里不一一展開了。

 

因?yàn)槭乔度胧降腃PU,所以,可以快速地開發(fā)新功能。例如基于Nitro嵌入式CPU,開發(fā)了SRD和EFA,為高性能的HPC提供解決方案??焖俚貫闃I(yè)務(wù)提供更強(qiáng)大的功能和服務(wù)價(jià)值,給客戶提供更加快速而積極的功能支持,是云計(jì)算的核心競(jìng)爭(zhēng)力。雖然消耗Nitro卡的資源多一些,但這些可以留待后續(xù)持續(xù)優(yōu)化。

 

隨著時(shí)間的推移,Nitro芯片勢(shì)必會(huì)逐步的增加了各種加速引擎,整體性能也會(huì)得到增強(qiáng)。最新版的Nitro系統(tǒng),則完全整合成了單芯片板卡。相比前面幾代Nitro,功能更加的強(qiáng)大,而成本卻得到了大大地降低。

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è)類似的問題,在手機(jī)端,集成各種專用硬件加速引擎的手機(jī)SOC芯片已經(jīng)非常成熟,但為什么數(shù)據(jù)中心的計(jì)算平臺(tái)依然是以CPU為主?原因只有一個(gè):數(shù)據(jù)中心場(chǎng)景,對(duì)軟件靈活性的要求,遠(yuǎn)高于對(duì)性能的要求。如果不能提供靈活性(或者說易用性、可編程性),提供再多的性能都是“無本之木”。

圖4 Nitro和NVIDIA DPU的演進(jìn)對(duì)比

 

互聯(lián)網(wǎng)云計(jì)算廠家的上層軟件業(yè)務(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)開發(fā)出差異化的創(chuàng)新功能。并且,定制的設(shè)計(jì),限制了云廠家的創(chuàng)新能力,并且使得云場(chǎng)景不得不跟硬件平臺(tái)廠家深度綁定,這些對(duì)云廠家來說,并不是一件好事。

如圖4所示,AWS Nitro和NVIDIA DPU是兩種不同方向的演進(jìn):

NVIDIA DPU演進(jìn):從硬到軟,NIC -> SNIC -> DPU(DPU = SNIC+嵌入式CPU);定制設(shè)計(jì),客戶無法差異化,與云系統(tǒng)發(fā)展規(guī)律相悖。

 

AWS Nitro演進(jìn):從軟到硬,CPU基礎(chǔ)上,逐步增加足夠彈性的加速引擎;通用的設(shè)計(jì),符合云系統(tǒng)發(fā)展規(guī)律。

 

NVIDIA,一開始就是完全ASIC的設(shè)計(jì)。雖然性能足夠好,但卻很難覆蓋客戶五花八門的各種差異化場(chǎng)景以及各種場(chǎng)景未來2-3年的中長(zhǎng)期迭代。即使非常熟悉自身的場(chǎng)景需求,AWS所做的硬件優(yōu)化,依然是非常審慎的。AWS并沒有貿(mào)然的做ASIC,而是做足夠靈活彈性的硬件加速。這使得,整個(gè)Nitro芯片,具有非常強(qiáng)大的靈活可編程能力。

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)。

話不多說,直接上圖。如圖5所示,Winnie Shao博士是CPU領(lǐng)域的專家,她總結(jié)的這個(gè)表格已經(jīng)非常完善了,我就不再班門弄斧了。

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可以說“同宗同源,師出同門”,但卻因?yàn)榉止ず投ㄎ坏牟煌?,逐漸走向了兩個(gè)不同的方向:

Graviton的Scale Out模式。Graviton定位為主CPU。勢(shì)必需要提供更加強(qiáng)大的單核性能以及提供更高的水平擴(kuò)展性,也就是說單芯片要集成更多的CPU核,以及要支持多CPU的跨芯片緩沖一致性互聯(lián)。

Nitro的Scale Up模式。Nitro的主要工作是卸載、隔離和加速。只隔離和卸載,不解決本質(zhì)問題,只有通過硬件加速才真正實(shí)現(xiàn)性能提升和成本降低。所以,Nitro的演進(jìn),勢(shì)必走向通過硬件加速,瘋狂地提升單芯片的處理性能的路子上。

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ī)處理。

當(dāng)然,DPU有個(gè)優(yōu)勢(shì)是DPU是所有數(shù)據(jù)的入口/出口。按照互聯(lián)網(wǎng)“得入口者得天下”的說法,DPU會(huì)成為云計(jì)算各類服務(wù)承載的核心。

GPU/FPGA/DSA主要用于應(yīng)用加速。顧名思義,應(yīng)用加速是提供給用戶業(yè)務(wù)應(yīng)用的服務(wù),針對(duì)用戶性能敏感的業(yè)務(wù)場(chǎng)景,針對(duì)特定應(yīng)用提供硬件加速平臺(tái)。應(yīng)用加速所使用的加速平臺(tái)則是暴露給用戶使用的,用戶可以感知到并且用戶根據(jù)自己的想法來使用硬件加速平臺(tái)。與之對(duì)應(yīng)的,VPC、EBS等基礎(chǔ)服務(wù),即使云計(jì)算廠家通過專有的硬件加速,這些加速用戶也是無法感知的。

應(yīng)用加速平臺(tái)常見有三種類型:

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í)推理,為什么還要開發(fā)特定工作負(fù)載的專用處理器?

的確,通用CPU處理器多年來一直承擔(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ù)路由器,無論來源如何,基本都是建立在專門的ASIC之上的。

雖然,定制ASIC硬件可以將延遲、性能價(jià)格比以及性能功耗比提高高達(dá)十倍。但是,這么多年以來,大多數(shù)的計(jì)算工作負(fù)載仍“頑強(qiáng)”地停留在通用CPU處理器上。通常,每個(gè)客戶服務(wù)器數(shù)量不多,芯片定制通常意義不大。但是,云計(jì)算改變了這一切。在成功且廣泛使用的云中,即使是“稀有”工作負(fù)載,其數(shù)量也可能達(dá)到數(shù)千甚至數(shù)萬。

過去,作為企業(yè),幾乎不可能證明芯片定制,針對(duì)特定工作負(fù)載的加速處理,是足夠經(jīng)濟(jì)的。但在云中,有成千上萬足夠罕見的工作負(fù)載。突然之間,不僅可以針對(duì)特定工作負(fù)載類型進(jìn)行硬件的優(yōu)化,而且如果不這樣做,反而顯得有點(diǎn)“不夠積極”。在很多情況下,芯片定制不僅僅可以把成本降低一個(gè)數(shù)量級(jí),電量消耗減少到1/10,并且這些定制化的方案可以給客戶以更低的延遲提供更好的服務(wù)。

定制的芯片將成為未來服務(wù)器端計(jì)算的重要組成部分,亞馬遜自2015年初以來就有一個(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每年安裝的此類定制芯片超過一百萬,而且這個(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è)來說就是一種賽跑。那些最先深入應(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)力量。未來,在大型數(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í)別、語音識(shí)別、自然語言處理、個(gè)性化和欺詐檢測(cè)。

圖9 AWS inferentia AI推理芯片

Inferentia的高性能。每個(gè)芯片具有4個(gè)神經(jīng)元核心,可以執(zhí)行高達(dá)128 TOPS(每秒數(shù)萬億次操作)。它支持BF16、INT8和FP16數(shù)據(jù)類型。并且,Inferentia可以采用32位訓(xùn)練模型,并使用BF16的16位模型的速度運(yùn)行它。

亞馬遜推理,低延遲的實(shí)時(shí)輸出。隨著ML變得越來越復(fù)雜,模型不斷增長(zhǎng),將模型傳入和傳出內(nèi)存成為最關(guān)鍵的任務(wù),這帶來了高延遲并放大了計(jì)算問題。Inferentia芯片具有在更大程度上解決延遲問題的能力。多芯片互聯(lián):首先可以將模型跨多個(gè)內(nèi)核進(jìn)行分區(qū),并使用100%的片內(nèi)內(nèi)存——通過內(nèi)核流水線全速傳輸數(shù)據(jù),防止片外內(nèi)存訪問引起的延遲。

支持所有框架。機(jī)器學(xué)習(xí)愛好者可以輕松地將幾乎所有可用的框架上運(yùn)行在Inferentia。要運(yùn)行Inferentia,需要將模型編譯為硬件優(yōu)化表示??梢酝ㄟ^AWS Neuron SDK中提供的命令行工具或通過框架API執(zhí)行操作。

4.4 AI-DSA訓(xùn)練芯片Trainium

圖10 AWS Trainium AI訓(xùn)練芯片

 

如圖10所示,在AWS re:Invent 2020開發(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芯片還專門針對(duì)深度學(xué)習(xí)訓(xùn)練工作負(fù)載進(jìn)行了優(yōu)化,包括圖像分類、語義搜索、翻譯、語音識(shí)別、自然語言處理和推薦引擎等。它將以EC2(亞馬遜彈性計(jì)算云)實(shí)例的形式出現(xiàn)在亞馬遜的機(jī)器學(xué)習(xí)平臺(tái)SageMaker中。

Trainium與Inferentia有著相同的AWS Neuron SDK,這使得使用Inferentia的開發(fā)者可以很容易地開始使用Trainium。因?yàn)镹euron SDK集成了流行的機(jī)器學(xué)習(xí)框架,包括TensorFlow、PyTorch和MXNet,開發(fā)人員可以輕松地從基于GPU的實(shí)例遷移到Trainium,代碼更改很少。

5 Nitro SSD

圖11 Nitro SSD的位置

 

Nitro SSD是一張獨(dú)立的SSD盤,使用了專用的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,未來許多新的EC2實(shí)例也將使用Nitro SSD。

AWS Nitro SSD每個(gè)設(shè)備內(nèi)部的固件負(fù)責(zé)實(shí)現(xiàn)許多較低級(jí)別的功能。當(dāng)客戶將設(shè)備推向極限運(yùn)行時(shí),客戶希望我們能夠診斷并解決他們觀察到的任何性能不一致問題。構(gòu)建AWS自己的設(shè)備使AWS能夠設(shè)計(jì)操作遙測(cè)和診斷,以及使AWS能夠以云規(guī)模和云速度安裝固件更新的機(jī)制。更進(jìn)一步的,AWS開發(fā)了自己的代碼來管理實(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è)單元只能被寫入、擦除和重寫有限的次數(shù)。為了使設(shè)備的使用壽命盡可能長(zhǎng),固件負(fù)責(zé)一個(gè)稱為磨損均衡的過程。這個(gè)過程涉及一些內(nèi)務(wù)管理(一種垃圾收集形式),在處理大量寫入時(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ī)開始,再逐步深入到定制芯片,然后慢慢地把上層的軟件、芯片以及硬件整機(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ī)芯片。未來AWS應(yīng)該要做的是:數(shù)據(jù)中心關(guān)鍵芯片還沒有的會(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 重要性:★★★★★在AI的算法模型還沒有穩(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ì)未來AWS會(huì)自研GPGPU芯片,并加入EC2家族對(duì)外提供服務(wù)。
FPGA 重要性:★★☆☆☆FPGA作為FaaS平臺(tái),對(duì)云計(jì)算上層服務(wù)來說,沒有那么直接,需要客戶或第三方ISV開發(fā)加速硬件和配套的軟件。FaaS不是主流的云服務(wù),并且Xilinx和Intel的FPGA都相對(duì)成熟穩(wěn)定,F(xiàn)PGA應(yīng)該不是AWS發(fā)展的重心。
DSA-AI-推理 Inferentia 重要性:★★★★☆A(yù)I推理和訓(xùn)練我們放到一起。AI是應(yīng)用的王者,并且是算力的吞金獸,必須要做各種定制加速DSA。并且,云計(jì)算的模式也可以先天抵消DSA-AI的許多使用門檻。通過云的封裝,可以提供各種框架服務(wù)甚至SaaS層AI服務(wù),使得AI-DSA芯片能大范圍地用起來。對(duì)AWS來說,AI相關(guān)的定制芯片,是必須要持續(xù)投入,持續(xù)優(yōu)化和增強(qiáng)的。
DSA-AI-訓(xùn)練 Trainium
DSA-其他 重要性:★★★☆☆除了AI,也有很多其他算力需求高的工作任務(wù)。隨著發(fā)展,也會(huì)出現(xiàn)新的需要高算力的工作任務(wù),比如元宇宙,就對(duì)圖形圖形處理、網(wǎng)絡(luò)等提出了更高的要求。GPGPU的效率有所欠缺,并且可見的未來也會(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中??梢哉f,DPU是云計(jì)算最戰(zhàn)略級(jí)的芯片,沒有之一。給六顆星,不為過。
CPU、GPU、DPU的整合 重要性:★★★★★NVIDIA有CPU+GPU的處理器,也有CPU+GPU+DPU的Atlan,未來CPU、GPU、DPU兩兩整合,或者三者整合成獨(dú)立的單芯片加速平臺(tái)是一個(gè)越來越明顯的趨勢(shì)。集成大芯片,會(huì)在性能和成本方面帶來很多的好處。隨著數(shù)據(jù)中心規(guī)模的增大,以及一些場(chǎng)景逐漸穩(wěn)定成熟,把CPU、GPU、GPU重新整合重構(gòu),是一個(gè)必然的趨勢(shì)。
存儲(chǔ)盤 SSD Nitro SSD 重要性:★★★☆☆存儲(chǔ)控制器廠家,很容易“只見樹木,不見森林”,導(dǎo)致無法站在數(shù)據(jù)中心超大規(guī)模的全局去思考問題,這也會(huì)導(dǎo)致存儲(chǔ)卡會(huì)成為性能穩(wěn)定性和數(shù)據(jù)安全的潛在風(fēng)險(xiǎn)。類似ZNS技術(shù),AWS通過自研Nitro SSD跟Nitro DPU芯片更好地協(xié)同,給客戶提供更穩(wěn)定更安全的存儲(chǔ)服務(wù)。只是,與整個(gè)數(shù)據(jù)中心計(jì)算相比,這塊相對(duì)來說屬于“枝葉”,一旦穩(wěn)定,后期應(yīng)該不需要投入太多。
交換機(jī)側(cè) Switch Switch 重要性:★★★★★更簡(jiǎn)單的網(wǎng)絡(luò),還是更復(fù)雜的網(wǎng)絡(luò)?網(wǎng)絡(luò)到底要不要分擔(dān)計(jì)算的壓力,足夠Smart來處理一些計(jì)算的任務(wù)?還是提供極致簡(jiǎn)單且極致性能的網(wǎng)絡(luò),把可能的計(jì)算都交給用戶,讓用戶掌控一切?上面說的這些話,如何選擇都沒關(guān)系。重要的是,交換機(jī)是網(wǎng)絡(luò)的核心,網(wǎng)絡(luò)又是云計(jì)算的前提。沒有網(wǎng)絡(luò),計(jì)算和存儲(chǔ)什么都不是。這一條就夠了!交換機(jī)側(cè),AWS這種體量的云計(jì)算公司一定不會(huì)放過。期待AWS在交換機(jī)側(cè)的創(chuàng)新!

參考文獻(xiàn)

  1. AWS Innovation Scale, James Hamilton, Re: Invent 2016, https://mvdirona.com/jrh/talksandpapers/ReInvent2016_James%20Hamilton.pdf
  2. AWS EC2 Virtualization 2017: Introducing Nitro, https://www.brendangregg.com/blog/2017-11-29/aws-ec2-virtualization-2017.html
  3. AWS Nitro System, James Hamilton, https://perspectives.mvdirona.com/2019/02/aws-nitro-system/
  4. AWS Graviton3:遵循摩爾定律又有自己節(jié)奏,Winnie shao,“企業(yè)存儲(chǔ)技術(shù)”公眾號(hào),https://mp.weixin.qq.com/s/IFIIJ5sF4yvyGkrcsTPnLw
  5. AWS Inferentia Machine Learning Processor, James Hamilton, https://perspectives.mvdirona.com/2018/11/aws-inferentia-machine-learning-processor/
  6. Deep dive into Amazon Inferentia: A custom-built chip to enhance ML and AI, https://www.cloudmanagementinsider.com/amazon-inferentia-for-machine-learning-and-artificial-intelligence/
  7. MacOS上云了!AWS還推出機(jī)器學(xué)習(xí)Trainium芯片:萬億次浮點(diǎn)運(yùn)算,推理成本再降45%,新智元,https://mp.weixin.qq.com/s/4xkLq4S1ZaZLuqQSNHI0_Q
  8. AWS Nitro SSD – High Performance Storage for your I/O-Intensive Applications, https://aws.amazon.com/cn/blogs/aws/aws-nitro-ssd-high-performance-storage-for-your-i-o-intensive-applications/

(正文完)

亞馬遜

亞馬遜

亞馬遜公司(Amazon,簡(jiǎn)稱亞馬遜;NASDAQ:AMZN),是美國(guó)最大的一家網(wǎng)絡(luò)電子商務(wù)公司,位于華盛頓州的西雅圖。是網(wǎng)絡(luò)上最早開始經(jīng)營(yíng)電子商務(wù)的公司之一,亞馬遜成立于1994年,一開始只經(jīng)營(yíng)網(wǎng)絡(luò)的書籍銷售業(yè)務(wù),現(xiàn)在則擴(kuò)及了范圍相當(dāng)廣的其他產(chǎn)品,已成為全球商品品種最多的網(wǎng)上零售商和全球第二大互聯(lián)網(wǎng)企業(yè),在公司名下,也包括了AlexaInternet、a9、lab126、和互聯(lián)網(wǎng)電影數(shù)據(jù)庫(kù)(Internet Movie Database,IMDB)等子公司。

亞馬遜公司(Amazon,簡(jiǎn)稱亞馬遜;NASDAQ:AMZN),是美國(guó)最大的一家網(wǎng)絡(luò)電子商務(wù)公司,位于華盛頓州的西雅圖。是網(wǎng)絡(luò)上最早開始經(jīng)營(yíng)電子商務(wù)的公司之一,亞馬遜成立于1994年,一開始只經(jīng)營(yíng)網(wǎng)絡(luò)的書籍銷售業(yè)務(wù),現(xiàn)在則擴(kuò)及了范圍相當(dāng)廣的其他產(chǎn)品,已成為全球商品品種最多的網(wǎng)上零售商和全球第二大互聯(lián)網(wǎng)企業(yè),在公司名下,也包括了AlexaInternet、a9、lab126、和互聯(lián)網(wǎng)電影數(shù)據(jù)庫(kù)(Internet Movie Database,IMDB)等子公司。收起

查看更多

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

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