現(xiàn)在英特爾和 AMD 都推出了新的服務(wù)器平臺(tái),業(yè)界堅(jiān)定地走上了向 DDR5 過渡的道路。我們已經(jīng)稍微討論了速度的提高,但這一代發(fā)生了更多變化。例如,現(xiàn)在芯片上有兩個(gè)內(nèi)存通道。此外,即使您擁有 ECC DDR5 UDIMM,它也不再與支持 RDIMM 的平臺(tái)兼容。是時(shí)候深入探討一下 DDR5 內(nèi)存為何與眾不同。
為什么 DDR5 在現(xiàn)代服務(wù)器中絕對(duì)必要:核心數(shù)量增長(zhǎng)
這在過去的十年中,服務(wù)器市場(chǎng)已經(jīng)從 12 核/插槽發(fā)展到目前的 96 核/插槽,在我們市場(chǎng)上已有的相同平臺(tái)上,128 核/插槽的速度相對(duì)較快。
過去十年,英特爾和 AMD 主流服務(wù)器核心數(shù)量增長(zhǎng)
顯而易見的是,服務(wù)器正在將過去位于機(jī)架中的內(nèi)容整合到單個(gè)節(jié)點(diǎn)中。隨著小芯片和 CXL 的出現(xiàn),這種趨勢(shì)在未來(lái)將會(huì)加速。系統(tǒng)擴(kuò)展的最大挑戰(zhàn)之一是內(nèi)存帶寬。擁有更多內(nèi)核和更多 PCIe 設(shè)備固然很好,但如果系統(tǒng)的某些部分閑置等待數(shù)據(jù),那么它們就被浪費(fèi)了。
第 1 代 DDR DDR2 DDR3 DDR4 和 DDR5 內(nèi)存帶寬
從 DDR4-3200 到 DDR5-4800 的跳躍是巨大的。
由于內(nèi)存擴(kuò)展速度慢于核心增長(zhǎng)速度,服務(wù)器供應(yīng)商設(shè)計(jì)了一個(gè)簡(jiǎn)單的解決方案,擴(kuò)展內(nèi)存通道數(shù)量并使用更快的內(nèi)存。
Intel 和 AMD 主流服務(wù)器過去十年的理論帶寬增長(zhǎng)
增加內(nèi)存通道,同時(shí)提高內(nèi)存速度意味著隨著時(shí)間的推移,該行業(yè)至少能夠?yàn)閮?nèi)核提供類似數(shù)量的帶寬。請(qǐng)注意,我們?cè)谶@里使用的是最大內(nèi)核數(shù),但如果保持內(nèi)核數(shù)競(jìng)爭(zhēng),例如 32 個(gè)內(nèi)核,則每個(gè)內(nèi)核的內(nèi)存帶寬會(huì)增加。
Intel 和 AMD 過去十年每核 2P 服務(wù)器每核最大內(nèi)存帶寬
有了這個(gè),很多人想知道為什么人們談?wù)撓到y(tǒng)內(nèi)存帶寬受限。等式還有另一面:每個(gè)內(nèi)核的性能。在過去十年中,高核心數(shù) SKU 的每核心性能大約提高了 2-3 倍。AMD EPYC Bergamo,我們預(yù)計(jì)在 Zen 3 Milan 內(nèi)核的性能比完整的 Zen 4 Genoa 內(nèi)核更好,但話又說回來(lái),Bergamo 的內(nèi)核多了 33%。
英特爾和 AMD 主流服務(wù)器過去十年的核心數(shù)量增長(zhǎng)與 SPEC 標(biāo)注
在這種背景下,內(nèi)存帶寬方面在過去 10 年中僅擴(kuò)展了 2.6 倍,現(xiàn)在我們有了 DDR5。如果不是 DDR5,那將不到一倍。
從DDR3 1866 到 DDR5 4800的內(nèi)存帶寬增長(zhǎng)
在系統(tǒng)層面,我們還展示了Intel Xeon 和 AMD EPYC 十年來(lái)的 PCIe 通道和帶寬增長(zhǎng)。
英特爾和 AMD PCIe 通道每插槽吞吐量增長(zhǎng)過去十年的增長(zhǎng)
高速 RDMA NIC 等 PCIe 設(shè)備對(duì)內(nèi)存子系統(tǒng)施加的壓力超出了內(nèi)核單獨(dú)執(zhí)行的范圍。同樣,英特爾的 Sapphire Rapdis Xeon 板載 QAT 加速器以及其他加速器,速度高達(dá) 800Gbps。這些加速器可以訪問內(nèi)存,因此可以對(duì)內(nèi)存子系統(tǒng)施加壓力。我們甚至看到像 DPU 這樣的加速器使用多個(gè) DDR5 通道。
Marvell 的Octeon 10
因此,雖然每個(gè)內(nèi)核的內(nèi)存帶寬作為一個(gè)指標(biāo)似乎已經(jīng)通過增加內(nèi)存通道和遷移到 DDR5 來(lái)滿足,但每個(gè)內(nèi)核的性能提高正在對(duì)內(nèi)存子系統(tǒng)造成壓力。
可以肯定的是,具有八個(gè) DDR4-3200 通道的現(xiàn)代 CPU 將非常具有挑戰(zhàn)性。因此,這似乎是一個(gè)很好的機(jī)會(huì)來(lái)解釋更多關(guān)于 DDR5 過渡以及 DDR5 內(nèi)存的不同之處。
接下來(lái),讓我們?cè)诓榭?DDR5 UDIMM 和 DDR5 RDIMM 之間的模塊差異時(shí),了解為什么服務(wù)器不再支持無(wú)緩沖 ECC 內(nèi)存。
1.1V、5V、12V 以及為什么服務(wù)器不再支持無(wú)緩沖 ECC 內(nèi)存?
這是許多人仍然不知道的。在 DDR3 和 DDR4 代中,通常可以在服務(wù)器中使用無(wú)緩沖 ECC(通常是非 ECC)內(nèi)存或 RDIMM。到現(xiàn)在已不再是這樣了。為此,讓我們看一下 AMD EPYC 9004 Genoa 內(nèi)存功能幻燈片:
AMD EPYC 9004 Genoa DDR5 內(nèi)存功能
在這里我們會(huì)注意到,僅列出支持的兩種類型的內(nèi)存是 RDIMM 和 3DS RDIMM。不支持 UDIMM??焖僬f明一下,這張幻燈片中提到了 x72 DIMM。這些將用于一些非常具體的客戶,而不是我們大多數(shù)讀者會(huì)放入系統(tǒng)中的通用模塊,因此我們不打算在本文中介紹它們。
就英特爾而言,它在僅支持 RDIMM 而非 UDIMM 方面與 AMD 持相同觀點(diǎn)。
這樣做的關(guān)鍵原因是供電組件現(xiàn)在位于 DIMM 本身上。在服務(wù)器中,提供 12V 電源。在客戶端系統(tǒng)中,只有 5V。這被轉(zhuǎn)換為 1.1V 用于 DIMM 并由板載電源管理 IC 或 PMIC 管理。PMIC 將主板功能移至 DIMM,但這意味著我們?cè)谀K上增加了一個(gè)組件。
必須對(duì)電源子系統(tǒng)進(jìn)行許多更改才能處理 DDR5 旨在實(shí)現(xiàn)的更高時(shí)鐘速度。人們可以看到模塊的物理鍵控現(xiàn)在有所不同,以防止將錯(cuò)誤的模塊插入系統(tǒng)。在 DDR4 一代中,可以在支持 RDIMM 的服務(wù)器中使用 UDIMM,但DDR5 不再如此。
一個(gè) DIMM 兩個(gè)通道
也許 DDR5 一代最大的變化之一是通道架構(gòu)。DDR4 DIMM 具有 72 位總線。該總線可能被稱為 64+8,這意味著有 64 個(gè)數(shù)據(jù)位加上 8 個(gè) ECC 位。
使用 DDR5,現(xiàn)在有兩個(gè)通道,總共 80 位。每個(gè)通道是該通道的一半或 40 位,其中 32 位用于數(shù)據(jù),8 位用于 ECC。通道在 DDR5 DIMM 上是分開的,一左一右。
為了更好地利用這一點(diǎn),新的 DDR5 DIMM 具有更長(zhǎng)的突發(fā)長(zhǎng)度 16。這允許每個(gè)通道訪問 CPU 緩存行的 64 字節(jié)信息,并且獨(dú)立執(zhí)行。反過來(lái),這增加了內(nèi)存子系統(tǒng)的并行性,每個(gè) DIMM 在兩個(gè)通道上運(yùn)行,而不是一個(gè)。
接下來(lái),我們將看看 DDR5 RDIMM 上的芯片,以及這一代的不同之處。
DDR5 DIMM 上的大芯片是什么?
也許最重要的特性是 DRAM 本身。在 ECC DIMM 上,我們展示了 RDIMM 和 ECC UDIMM,兩側(cè)各有五個(gè)芯片:
在類似的消費(fèi)類非 ECC UDIMM 上,這里可能只看到四個(gè)而不是五個(gè)。這些 DRAM 封裝為模塊提供內(nèi)存容量,但它們并不是唯一的組件。
在兩側(cè)的新 DDR5 DIMM 中間。在一側(cè),您會(huì)找到 RCD 或寄存器時(shí)鐘驅(qū)動(dòng)程序。它負(fù)責(zé)為內(nèi)存模塊上的不同芯片提供時(shí)鐘分配。
這在 DDR5 DIMM 的 UDIMM 版本上不存在:
常見的 ECC 和非 ECC SODIMM 外形規(guī)格也沒有 RCD。
另一方面,您可能會(huì)看到 PMIC 或電源管理 IC。它負(fù)責(zé)管理設(shè)備上的電源。
DDR5 RDIMM 上還將有一個(gè) SPD 集線器,以支持組件之間的帶外通信。
它與 DIMM 兩側(cè)的兩個(gè)溫度傳感器一起使用,以提供更多傳感器信息。
我們已經(jīng)看到性能顯著提高的底板管理控制器,例如 ASPEED AST2500 到 AST2600 系列。造成這種情況的部分原因是,有了更多的傳感器,BMC 可以更加了解服務(wù)器中正在發(fā)生的事情,從而對(duì)風(fēng)扇速度做出更明智的調(diào)整。
我們的讀者可能聽說 DDR5 RDIMM 現(xiàn)在有更多組件。希望這有助于解釋這些組件是什么。
接下來(lái),讓我們看看 DDR5 和新的 On-Chip ECC 功能,然后進(jìn)入性能部分分析。
DDR5的片上ECC
DDR5 具有片上 ECC。這是一個(gè)經(jīng)常被誤解的。毫無(wú)疑問,這是一個(gè)很好的步驟,但這并不意味著所有 DIMM 都具有與服務(wù)器 RDIMM 傳統(tǒng)上所具有的相同的 ECC 和 RAS 功能。
人們可以將此 ECC 視為防止 DDR5 芯片翻轉(zhuǎn)的一項(xiàng)標(biāo)準(zhǔn)功能。確保端到端數(shù)據(jù)保護(hù)的邊帶功能是服務(wù)器 RDIMM 的優(yōu)勢(shì)所在。
雖然許多人一開始將此作為一項(xiàng)功能吹捧,但它也有實(shí)際用途。隨著 DRAM 密度的增加和時(shí)鐘速度的增加,設(shè)計(jì) DDR5 規(guī)范的人們意識(shí)到這種組合有可能導(dǎo)致更多的片上錯(cuò)誤。對(duì)于那些更熟悉閃存技術(shù)的人來(lái)說,NAND 已經(jīng)經(jīng)歷了很多年,現(xiàn)在我們擁有更高的位密度,而且在整個(gè) SSD 中也有更多的糾錯(cuò)。不過,固有的片上 ECC 優(yōu)勢(shì)在于,以前可能未在消費(fèi)類 UDIMM 上發(fā)現(xiàn)的問題可能會(huì)被發(fā)現(xiàn)。
除此之外,實(shí)際上在 DIMM 和主機(jī) DDR5 控制器之間發(fā)生了更多的 ECC。這是因?yàn)閷?duì)于大多數(shù) DDR5,我們從 72 位(64+8)到 80 位(兩個(gè) 32+8)通道架構(gòu)。有一些專業(yè)應(yīng)用仍將使用 72 位以節(jié)省一些成本,但這可能是例外情況而不是常態(tài)??偠灾?,我們將約 11% 到 20% 的通道位用于 ECC。
為什么這很重要的實(shí)際例子
STH 的部分測(cè)試服務(wù)器需要確定我們將使用哪些工作負(fù)載。最大的挑戰(zhàn)之一是分析工作負(fù)載以確定它們將如何擴(kuò)展。例如,我們經(jīng)常在 CPU 基準(zhǔn)測(cè)試中使用工作負(fù)載,這些工作負(fù)載主要根據(jù)每個(gè)時(shí)鐘、頻率和核心數(shù)的 CPU 指令進(jìn)行擴(kuò)展。渲染工作負(fù)載通常就是一個(gè)很好的例子。其他時(shí)候,我們發(fā)現(xiàn)工作負(fù)載受內(nèi)存容量的限制很大。
在大量服務(wù)器中,內(nèi)存容量是另一大挑戰(zhàn)。DDR5 允許更大的 DIMM 尺寸,包括 128GB UDIMM。這是一個(gè)虛擬化工作負(fù)載,我們可以在其中改變核心數(shù)量,并看到當(dāng)我們用完內(nèi)存時(shí)性能提升停止。
內(nèi)存帶寬是我們發(fā)現(xiàn)的另一個(gè)限制。
這是一個(gè)很好的工作負(fù)載示例,我們?cè)谙到y(tǒng)中以如此快的速度推送數(shù)據(jù),以至于在內(nèi)存帶寬受限后,添加內(nèi)核或什至在相同數(shù)量的內(nèi)核中增加頻率都無(wú)濟(jì)于事:
Top Bin AMD EPYC SKU 的模擬
切換到更新的平臺(tái),我們可以立即看到 DDR5 的影響。對(duì)增加的頻率或核心數(shù)量沒有反應(yīng)的工作負(fù)載,在過渡到更新的 DDR5 平臺(tái)后突然能夠利用更多的計(jì)算資源。
這是向 DDR5 過渡為何重要的主要示例。為了以另一種方式說明這一點(diǎn),以下是 2022 年 11 月添加到 500 強(qiáng)名單的新系統(tǒng):
2022 年 11 月 Top500 新系統(tǒng) CPU 內(nèi)核(按插槽)
人們很快就會(huì)注意到,部署的系統(tǒng)并未全部使用最大核心數(shù)部件。這是因?yàn)閮?nèi)存帶寬通常是 HPC 應(yīng)用程序的限制因素。我們已經(jīng)看到了許多新穎的方法,例如 Milan-X 的更大緩存到 GDDR 內(nèi)存和 HBM 內(nèi)存的共同封裝來(lái)應(yīng)對(duì)這一挑戰(zhàn)。對(duì)于通用市場(chǎng),過渡到 DDR5 是朝著正確方向邁出的一大步。
CXL Type-3 設(shè)備和 DDR5
讓我們暫時(shí)討論一下 CXL 或 Compute Express Link。CXL 允許使用替代 CXL 協(xié)議在 PCIe Gen5 物理鏈路上進(jìn)行加載/存儲(chǔ)操作。新一代服務(wù)器支持 CXL 1.1,這是我們第一次在服務(wù)器中獲得該功能。Type-3 設(shè)備是有效的內(nèi)存擴(kuò)展設(shè)備。這是 Astera Labs Leo CXL 內(nèi)存擴(kuò)展設(shè)備。
Astera Labs Leo CXL 內(nèi)存擴(kuò)展卡在 STH Studio 封面中帶有 DIMM
可以看到,板上有四個(gè) DDR5 DIMM 插槽,板底部有一個(gè) PCIe Gen5 x16 連接器。在服務(wù)器中使用此設(shè)備產(chǎn)生的帶寬大致相當(dāng)于通過 x16 插槽的兩個(gè) DDR5 內(nèi)存通道。延遲與通過一致的處理器到處理器鏈接訪問內(nèi)存大致相同(例如,CPU1 訪問連接到 CPU2 的內(nèi)存。)在系統(tǒng)中,這顯示為另一個(gè)沒有連接 CPU 內(nèi)核但連接有內(nèi)存的 NUMA 節(jié)點(diǎn)。我們將對(duì)此進(jìn)行更深入的研究。
在這一代,AMD EPYC 9004 “Genoa” 正式支持 CXL 1.1 Type-3 設(shè)備。Intel 的 Sapphire Rapids Xeons 支持所有底層協(xié)議,上面顯示的卡在 Sapphire Rapids 服務(wù)器上運(yùn)行,我們已經(jīng)看到了一段時(shí)間的演示。英特爾只是在發(fā)布時(shí)不支持 Type-3 設(shè)備。
盡管如此,最大的收獲應(yīng)該是 DDR5 不僅僅局限于 CPU 插槽旁邊的 DIMM。相反,隨著我們進(jìn)入 2023 年及以后,許多 CXL Type-3 設(shè)備都被設(shè)計(jì)為支持 DDR5 內(nèi)存。
最后的話
許多內(nèi)存供應(yīng)商提供了詳盡的營(yíng)銷材料,解釋 DDR5 的優(yōu)勢(shì)以及您應(yīng)該轉(zhuǎn)換的原因。我們則有一個(gè)簡(jiǎn)單的答案:在某些時(shí)候,您別無(wú)選擇。
AMD EPYC 9004 Genoa 和第 4 代 Intel Xeon Scalable Sapphire Rapids 部件僅支持 DDR5。如果您購(gòu)買服務(wù)器并想要新一代 x86 服務(wù)器,DDR5 是您唯一的選擇(除了僅使用板載 HBM2e 的 Xeon Max 安裝。)
總體而言,在提高每核心性能和增加核心數(shù)量之間,需要 DDR5 內(nèi)存來(lái)推動(dòng)服務(wù)器行業(yè)向前發(fā)展。