應(yīng)用

技術(shù)

物聯(lián)網(wǎng)世界 >> 物聯(lián)網(wǎng)新聞 >> 物聯(lián)網(wǎng)熱點(diǎn)新聞
企業(yè)注冊(cè)個(gè)人注冊(cè)登錄

深入剖析亞馬遜最新Arm服務(wù)器芯片

2022-01-06 11:20 半導(dǎo)體行業(yè)觀察
關(guān)鍵詞:AWS芯片云平臺(tái)

導(dǎo)讀: 由 Amazon Web Services 的 Annapurna Labs 部門設(shè)計(jì)的 Graviton 系列 Arm 服務(wù)器芯片可以說(shuō)是當(dāng)今數(shù)據(jù)中心市場(chǎng)上產(chǎn)量最大的 Arm 服務(wù)器芯片,并且它們恰好擁有一個(gè)且只有一個(gè)客戶,也是直接客戶AWS。

  由 Amazon Web Services 的 Annapurna Labs 部門設(shè)計(jì)的 Graviton 系列 Arm 服務(wù)器芯片可以說(shuō)是當(dāng)今數(shù)據(jù)中心市場(chǎng)上產(chǎn)量最大的 Arm 服務(wù)器芯片,并且它們恰好擁有一個(gè)且只有一個(gè)客戶,也是直接客戶——AWS。

  這兩個(gè)事實(shí)說(shuō)明了Annapurna Labs 為創(chuàng)建更強(qiáng)大的 Arm 服務(wù)器處理器所做的設(shè)計(jì)選擇,并且它們區(qū)別于其他兩種針對(duì)當(dāng)今市場(chǎng)上服務(wù)器的合理大容量 Arm 服務(wù)器 CPU,即富士通的 A64FX 處理器和Ampere Computing 的 Altra 家族。還有其他針對(duì)特定地區(qū)和用例的 Arm 服務(wù)器芯片正在開發(fā)中,這似乎總是存在,但它們看起來(lái)都不會(huì)像 Graviton 和 Altra 系列那樣成為批量產(chǎn)品;富士通 A64FX 是量產(chǎn)產(chǎn)品,因?yàn)橛惺褂盟闹鳈C(jī)——日本理研實(shí)驗(yàn)室的“Fugaku”超級(jí)計(jì)算機(jī)。

  AWS 在拉斯維加斯的 re:Invent 大會(huì)上推出了第三代 Graviton3 服務(wù)器芯片,我們未能參加,我們?cè)?12 月根據(jù)當(dāng)時(shí)可用的摘要信息對(duì)處理器進(jìn)行了概述,承諾在提供更多來(lái)自技術(shù)會(huì)議的信息時(shí)回過(guò)頭來(lái)進(jìn)行更深入的研究。該信息現(xiàn)在可以從云巨頭負(fù)責(zé) Graviton 實(shí)例的高級(jí)首席工程師 Ali Saidi 的演示中看到。Saidi 更詳細(xì)地介紹了預(yù)覽中的 64 核、550 億晶體管 Graviton3 與其前身——2018 年 11 月預(yù)覽的 16 核、50 億晶體管 Graviton 和 2019 年 11 月預(yù)覽的64 核、300 億晶體管 Graviton2 的不同之處。AWS 需要幾個(gè)月的時(shí)間才能使 Graviton 芯片全面生產(chǎn),一旦使用 Graviton3 芯片的 EC2 服務(wù)上的 C7g 實(shí)例全面生產(chǎn)并停止預(yù)覽,我們就會(huì)知道更多。

  首先,Saidi 談到了為什么 AWS 甚至費(fèi)心制造自己的服務(wù)器 CPU,也許制造自己的“Nitro”DPU 來(lái)卸載 X86 服務(wù)器處理器的管理程序以及安全處理和存儲(chǔ)以及網(wǎng)絡(luò)虛擬化似乎就足夠了。

  “構(gòu)建我們自己的芯片確實(shí)讓我們能夠在各種層次上進(jìn)行創(chuàng)新,更快地創(chuàng)新,提高安全性,并提供更多價(jià)值,”Saidi解釋道?!霸趧?chuàng)新方面,能夠構(gòu)建芯片和服務(wù)器,并讓編寫軟件的團(tuán)隊(duì)在一個(gè)屋檐下進(jìn)行,這意味著創(chuàng)新速度更快,我們可以跨越傳統(tǒng)界限。我們也可以為我們的需要制造芯片。我們可以將它們專門用于我們正在嘗試做的事情,而不必添加其他人想要的功能。我們可以只為我們認(rèn)為將為我們的客戶提供最大價(jià)值的東西構(gòu)建它們,而忽略那些實(shí)際上不是的東西。我們得到的第三件事是速度。我們可以控制項(xiàng)目的開始、進(jìn)度和交付。我們可以并行化硬件和軟件開發(fā),并使用大規(guī)模的云來(lái)進(jìn)行構(gòu)建芯片所需的所有模擬。最后,操作。通過(guò)運(yùn)行 EC2,我們可以深入了解操作,我們可以將功能放入芯片中,以執(zhí)行諸如刷新固件以解決問題或增強(qiáng)功能等操作,而不會(huì)打擾在機(jī)器上運(yùn)行的客戶?!?/p>

  顯然,Graviton 的努力不僅僅是從英特爾和 AMD 那里獲得更便宜的 X86 服務(wù)器芯片價(jià)格——盡管它也是如此,即使Saidi沒有提到它。但只要 AWS 在其云中托管大量 X86 客戶,它就會(huì)為其云客戶購(gòu)買 Xeon SP 和 Epyc 處理器,用于他們創(chuàng)建的那些不易移植到 Arm 架構(gòu)并因此從 20 Graviton 系列在 EC2 上的 X86 實(shí)例上顯示了 1% 到 40% 的性價(jià)比優(yōu)勢(shì),涵蓋了廣泛的工作負(fù)載和場(chǎng)景。

  沒有人確切知道 AWS 隊(duì)列中有多少 Graviton 處理器,但我們所知道的是 Graviton 處理器以某種方式在 23 個(gè)不同的 AWS 區(qū)域和十幾種不同的 EC2 實(shí)例類型中可用。

  AWS擁有超過(guò)475不同的EC2實(shí)例類型,其在CPU,內(nèi)存,存儲(chǔ),網(wǎng)絡(luò)和加速器配置方面運(yùn)行域,以及Graviton實(shí)例是明顯的一個(gè)很小的部分品種EC2 實(shí)例。24 個(gè)地區(qū)中有 23 個(gè)至少擁有一些 Graviton 處理器,這或許更能說(shuō)明 Graviton 在 AWS 機(jī)群中的流行——但不一定。我們認(rèn)為可以誠(chéng)實(shí)地說(shuō),與運(yùn)行 Web 式工作負(fù)載的 X86 處理器相比,性價(jià)比提高了 30% 到 40%,并且隨著產(chǎn)品線的發(fā)展,Graviton 芯片的功能越來(lái)越強(qiáng)大,我們認(rèn)為 AWS 軟件工作負(fù)載的一部分越來(lái)越大與在運(yùn)行 Windows Server 或 Linux 的 X86 處理器上運(yùn)行其他人的應(yīng)用程序無(wú)關(guān)——比如無(wú)數(shù)的數(shù)據(jù)庫(kù)和 SageMaker AI 服務(wù)——最終將使用 Graviton,從而降低這些服務(wù)的總體成本,同時(shí)保持 AWS 的利潤(rùn)。

  事實(shí)上,Saidi 表示,對(duì)于 AWS 兜售的 PaaS 和 SaaS 服務(wù),如果客戶在注冊(cè)服務(wù)時(shí)沒有特別指定實(shí)例類型,他們將在該服務(wù)下獲得一個(gè) Graviton 實(shí)例。這表明 AWS 隊(duì)列中有相當(dāng)多的 Graviton 服務(wù)器。事實(shí)上,在今年的 Prime 會(huì)員日,安裝在 EC2 服務(wù)下的 Graviton2 實(shí)例支持了亞馬遜在線零售業(yè)務(wù)使用的十幾個(gè)核心零售服務(wù)。曾經(jīng)支持跨 Amazon 內(nèi)部零售數(shù)據(jù)服務(wù)的查找、查詢和聯(lián)接的關(guān)鍵服務(wù) Datapath 從 X86 服務(wù)器移植到由超過(guò) 53,000 個(gè)基于 Graviton2 的 C6g 實(shí)例組成的三區(qū)域集群。

  這就是事實(shí),這可能也是為什么英特爾和 AMD 需要在 15 年前構(gòu)建自己的云,而不是讓戴爾、惠普企業(yè)和 VMware 嘗試并失敗的原因。在不久的將來(lái),CPU 將成為數(shù)據(jù)中心的弱勢(shì)群體。

  這也是英偉達(dá)今年與 AWS 合作使其 HPC SDK 在其基于 Graviton 處理器的 ParallelCluster 超級(jí)計(jì)算服務(wù)上運(yùn)行的原因,這將允許使用 OpenMP 的 C、C++ 和 Fortran 程序并行化應(yīng)用程序以在 Graviton 實(shí)例上運(yùn)行,并且這也是 SAP 與 AWS 合作將其 HANA 內(nèi)存數(shù)據(jù)庫(kù)移植到 Graviton 實(shí)例并將這些實(shí)例用作 SAP 自己的托管在 AWS 上的 HANA 云服務(wù)的基礎(chǔ)的原因。

  探索Graviton3內(nèi)部

  Saidi 的演講比 re:Invent 主題演講詳細(xì)得多,實(shí)際上展示了 Graviton3 封裝的一個(gè)鏡頭,這是我們聽說(shuō)的小芯片(chiplet)設(shè)計(jì)。這是顯示 Graviton3 封裝的幻燈片:

  這個(gè)die頂部的特寫圖像放大了一點(diǎn),但原始圖像是模糊的——所以不要怪我們。這與 Graviton3 封裝的圖像一樣好。

  下面的示意圖讓 Graviton3 上的小芯片如何分解其功能更加清晰:

  Annapurna Labs 團(tuán)隊(duì)沒有像 AMD 使用“Rome”Epyc 7002 和“Milan”Epyc 7003 X86 服務(wù)器芯片那樣擁有中央 I/O 和內(nèi)存芯片,然后圍繞它的小芯片內(nèi)核,而是保留了所有 64 個(gè)內(nèi)核在中心的 Graviton3 上,然后斷開與這些內(nèi)核分離的 DDR5 內(nèi)存控制器(具有內(nèi)存加密)和 PCI-Express 5.0 外圍控制器。封裝底部有兩個(gè) PCI-Express 5.0 控制器和四個(gè) DDR5 內(nèi)存控制器,封裝兩側(cè)也各有兩個(gè)。(這是第一個(gè)支持 DDR5 內(nèi)存的服務(wù)器芯片,其帶寬比當(dāng)今服務(wù)器中常用的 DDR4 內(nèi)存高 50%。當(dāng)然,今年其他芯片也會(huì)跟進(jìn)。)

  與 Graviton2 相比,Graviton3 增加了 250 億個(gè)晶體管,其中大部分,據(jù)Saidi 說(shuō),是為了加強(qiáng)內(nèi)核,正如 AWS 公用事業(yè)計(jì)算高級(jí)總裁 Peter DeSantis已經(jīng)在他的主題演講中解釋的那樣,這個(gè)想法是通過(guò)加強(qiáng)pipeline讓內(nèi)核做更多種類的工作以及更多的工作。像這樣:

  Graviton2 基于 Arm Holding 的 Neoverse “Ares”N1 內(nèi)核設(shè)計(jì)的,他們?cè)?strong>去年 4 月又發(fā)布了“Perseus”V1 和“Zeus”N2 內(nèi)核。正如我們已經(jīng)指出的,與一些人的看法相反,我們認(rèn)為 Graviton3 是基于 N2 核心,而不是 V1 核心。AWS 尚未確認(rèn)正在使用什么核心。我們做了大量嘗試,試圖去確認(rèn) Annapurna Labs 在 Graviton3 中的確使了 N2 核心。我們公開承認(rèn),這是一個(gè)瘋狂的猜測(cè),因?yàn)榧t色粗體顯示的項(xiàng)目是:

  無(wú)論.jpg

  無(wú)論如何,回到pipeline方面。Saidi 解釋說(shuō),與 Graviton2 的 N1 內(nèi)核相比,Graviton3 內(nèi)核的性能提高了 25%——我們認(rèn)為這意味著更高的每時(shí)鐘指令數(shù)或 IPC。Graviton3 以稍高的時(shí)鐘速度運(yùn)行(2.6 GHz,而 Graviton2 為 2.5 GHz)。據(jù)Saidi 說(shuō),核心的前端寬度是原來(lái)的兩倍,而且還有一個(gè)更大的分支預(yù)測(cè)器。指令調(diào)度幾乎是兩倍寬,指令窗口是兩倍寬,SIMD向量單元具有兩倍的性能并支持SVE(富士通和Arm為富岳超級(jí)計(jì)算機(jī)的A64FX處理器發(fā)明的可變長(zhǎng)度可伸縮向量擴(kuò)展在 RIKEN)和 BFloat16(由 Google Brain 人工智能團(tuán)隊(duì)創(chuàng)建的創(chuàng)新格式)。每個(gè)時(shí)鐘有兩倍的內(nèi)存操作來(lái)平衡這一切,還有一些增強(qiáng)的預(yù)取器,可以將兩倍的未完成事務(wù)泵送到那些增強(qiáng)的 Gravition3 內(nèi)核。核心的乘法器更寬,數(shù)量是其兩倍。

  與之前的 Graviton 和 Graviton2 內(nèi)核以及 Ampere Computing Altra 系列中使用的內(nèi)核一樣,Graviton3 內(nèi)核中沒有試圖提高吞吐量的超線程。不安全和更復(fù)雜的權(quán)衡不值得提高性能 - 至少對(duì)于 AWS 對(duì)其應(yīng)用程序進(jìn)行編碼的方式。

  AWS 沒有做的另一件事是添加 NUMA 電子設(shè)備以將多個(gè) Graviton3 CPU 連接到一個(gè)共享內(nèi)存系統(tǒng)中,并且它也沒有像英特爾通過(guò)電路和 AMD 使用其至強(qiáng) SP 那樣將核心塊分解為 NUMA 區(qū)域,在羅馬或米蘭 Epyc 封裝上使用八個(gè)核心tiles。內(nèi)核與運(yùn)行頻率超過(guò) 2 GHz 且對(duì)分帶寬超過(guò) 2 TB/秒的網(wǎng)格互連。

  Graviton3 的一個(gè)優(yōu)點(diǎn)是服務(wù)器,我們?cè)缭?12 月就談到了這一點(diǎn),AWS 正在創(chuàng)建一個(gè)自產(chǎn)的三節(jié)點(diǎn)、三插槽服務(wù)器,它有一個(gè)共享的 Nitro DPU,將它們連接到外部世界。像這樣:

  通過(guò)將大量 CPU 功能卸載到 Nitro DPU 并將一堆單插槽 Graviton3 節(jié)點(diǎn)塞到卡上,AWS 表示它可以將每個(gè)機(jī)架的插槽增加 50%——這大概意味著不會(huì)犧牲任何相關(guān)的性能來(lái)自 AMD 的 X86 處理器也處于合理的散熱范圍內(nèi)。

  我們已經(jīng)在之前的 Graviton3 報(bào)道中討論了一系列性能指標(biāo),但是這個(gè)顯示 SPEC 2017 整數(shù)和浮點(diǎn)測(cè)試很有趣:

  C7g 實(shí)例使用 Graviton3,C6g 使用 Graviton2,這表明前者的整數(shù)性能比后者高約 30%,浮點(diǎn)性能比后者高約 60%。C5 實(shí)例基于英特爾定制的“Cascade Lake”Xeon SP 處理器,而 C5a 實(shí)例基于 AMD 的 Rome Epyc 處理器。C6i 實(shí)例基于“Ice Lake”Xeon SP。我們更希望擁有這些實(shí)例的實(shí)際核心數(shù)和時(shí)鐘速度以進(jìn)行更好的比較,但很明顯 AWS 想要給人的印象是 Graviton2 已經(jīng)擊敗了競(jìng)爭(zhēng)對(duì)手,而 Graviton3 確實(shí)做到了。

  任何真正的比較都將著眼于整數(shù)和浮點(diǎn)工作的核心數(shù)、成本、散熱和性能,然后權(quán)衡所有這些因素,以選擇芯片以在實(shí)際應(yīng)用中進(jìn)行實(shí)際基準(zhǔn)測(cè)試。SPEC 測(cè)試只是玩游戲的賭注。但他們不是游戲。