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