文章

比较 FPGA 加速卡的 DDR4 和 DDR5 内存带宽

摘要:DDR5 模块在与 DDR4 相同的空间内提供更高带宽

然而,GDDR6、HBM 和 HBM2e 提供了数量级的更高带宽

2021 年推出、 DDR5 SDRAM 带来了许多性能 增强功能,并将在 FPGA 卡上提供、 但它的速度到底有多快?与 HBM2e 和 GDDR6 等其他内存类型相比,它的性能如何?

双倍速度?

比较 DDR5 和 DDR4 的简单方法是说它的带宽是 DDR4 的两倍。然而,这种笼统的说法并不能反映现实世界中的各种因素,包括模块速度和系统中的模块数量(例如,四个 DDR4 模块的性能可能与两个 DDR5 DIMM 相似)。为了更好地比较这些 DRAM 技术,我们将首先了解 DDR5 在理论最大水平上实现带宽性能的基本因素。然后,我们将在几款 BittWare FPGA 加速卡上看到这些因素如何转化为系统级性能。我们还将与 GRRD6 和 HBM 等高端内存类型进行比较 看看它们是否仍比标准 DDR 内存具有明显优势。

计算速度

我们先来看看 DIMM 一级的带宽是如何计算的。在五代 DDR 中,模块性能通常以 MT/s(每秒百万次传输)或 GB/s(每秒千兆字节)表示。时钟速率是数据传输速率的一半,这就是 DDR 缩写中 "双倍数据速率 "的由来。这一比率在 DDR5 中没有变化。

什么 变化 改变的是传输速度(MT/s 或 GB/s)的显著提高。如今,DDR4 的ECC 模块速度已达到3200MT/s(1.6GHz 时钟频率);模块通常标明具体的模块速度,因此这就是 DDR4-3200。但对于 DDR5,已经有适合 FPGA 附加 SDRAM 的 DDR5-5600 选项 ,即 5,600 MT/s (2.8 GHz)。

随着时间的推移,这一速度优势将进一步扩大,DDR5 规格支持高达 8,400 MT/s (4.2 GHz)!但今天,我们比较的是针对 FPGA 卡的 DDR5-5600 模块

双通道与单通道

我们注意到 DDR 中的 "D "表示时钟频率是数据速率的一半,这一点在DDR5 中没有改变。由于 DDR5 DIMM 现在是双通道,因此每个模块的通道数有明显变化 。这些通道的总线宽度较小,通常会抵消你所期望的原始带宽优势。具体来说,DDR5 每个模块有两个 40 位通道,其中 8 位用于 ECC。因此,就模块而言,总位数为 80 位,而 DDR4 的单通道位数为 72 位(包括用于 ECC 的 8 位)。

请看下图,了解模块层面的布局:

因此,如果用户将这些 ECC 位转化为 "常规 "数据位,那么 80 位与 72 位相比,DDR5 确实略胜一筹。如果不将 ECC 用于常规数据,那么两者的性能基本相同:单通道 64 位或双通道 64 位。 

在下面的比较中,我们假设通道使用的位数较大,因此 DDR5 略胜一筹(模块级为 80 位,而 DDR5 为 72 位)。 我们应该注意到,在 DDR5 方面有两个通道的另一个优势是可以更有效地访问内存,这有利于延迟。 内存的访问效率更高,从而有利于延迟。

DDR5 的其他优势

虽然本文不涉及这些方面,但 DDR5 除带宽外还有其他优势。 在电源方面,DDR5 DIMM 模块上有一个电源管理集成电路,而不需要在板卡上实施电源管理。此外,DDR5 所需的电压比 DDR4 低(1.1V 对 1.2V),这有助于提高运行速度所需的功率。

案例研究 - 大型表格查询

一些重要的网络应用需要对通过 FPGA 的每个数据包进行表查询和更新。对于小表,程序员可以使用 FPGA 内部的低延迟静态存储器。但是,当表的大小超出 FPGA 的容量时,程序员就需要利用 FPGA 的外部存储器。这对性能提出了巨大挑战。这也为 BittWare 这样的板卡供应商提供了在市场上脱颖而出的机会。例如,BittWare 在许多基于 AMD FPGA 的产品中都独特地支持 QDR-II+ 静态外部存储器。这一特性为我们赢得了几项关键设计,客户希望以约 10 GbE 的数据包速率处理数据包。

XUP-VV8 提供 QDR-II+ 内存。

然而,随着数据包速率的提高,访问速率和表的大小也会随之增加。当今 100 GbE 以上速率的解决方案是提供多通道的动态存储器。我们需要比 DDR4 和 DDR5 之间通道数翻番更多的通道。这就是为什么我们的许多最新 FPGA 卡都提供 GDDR6 或 HBM2e 内存。

所有动态内存技术(DDR4/5、GDDR 和 HBM)的核心访问延迟大致相同。增加通道数可减少排队延迟带来的延迟。大量的通道还允许精心设计表查找和更新算法,以编排并行内存访问。这可以利用深度流水线在高访问率下创建确定性的表查询延迟。

FPGA 加速卡比较

现在,让我们从模块层面转到真正重要的地方:系统层面(或带内存的加速器的板卡层面)。考虑内存组数(DIMM 插槽或独立焊接内存组)和支持的速度等因素同样重要,它们会对性能产生重大影响。

在比较中,我们选择了三块 FPGA 板,共有四种配置(其中一块板有两种配置,用于比较 DDR4-2400 和 DDR4-3200)。获得带宽相对简单,但我们认为,即使是理论上的最大值,显示系统带宽也能很好地说明什么是最适合您应用的选择。

对照表

卡片内存类型通道总数 + 宽度总内存模块速度钟表总带宽1
520N-MX2x DIMM DDR4-24002x/72 位32 GB(2x 16 GB)2,400 MT/s 2.4 GB/s1.2 千兆赫19.2 GB/s
IA-840f2x DIMMS DDR4-2400 +
2x 独立 DDR4-2400
4x/72 位128 GB(4x 32 GB)2,400 MT/s 2.4 GB/s1.2 千兆赫38.4 GB/s
IA-840f2x DIMMS of DDR4-3200 +
2x 独立 DDR4-3200
4x/72 位64GB(4x 16GB)3,200 MT/s 3.2 GB/s1.6 千兆赫51.2 GB/s
FPGA 卡2x DIMM DDR5-56004x/40 位128 GB(2x 64 GB)5,600 MT/s 5.6 GB/s2.8 千兆赫44.8 GB/s
1总带宽的计算公式为(时钟速率) x (总线宽度) x (通道数)

 

对于带宽较低的 520N-MX,两个 DDR4-2400 模块可提供 19.2 GB/s 的总理论带宽。但跳到最后一行,仅有两个 DDR5 DIMM 的 FPGA 卡的带宽超过两倍:44.8 GB/s!这还是在支持 DDR5-5600 模块的显卡上。因此,在 DIMM 数量相同的情况下,DDR5 每个模块的性能确实是 DDR4 的两倍。

不过,请看图表中间的两条线(IA-840f 显卡),我们在这里显示了两种配置。一种是 DDR4-2400(就像 520N-MX),另一种是 DDR4-3200。两种配置都包括两个 DIMM 和两个焊接的独立组其配置与 DIMM 类似,因此板级大致相当于四个 DIMM。

结果如何?虽然 2,400 MT/s 内存的速度仍低于 DDR4,但提升到 3,200 MT/s 后,实际带宽达到 51.2 Gb/s,略高于 DDR5。当然,这是以目前的 DDR5 速度计算的,最终会被更高带宽的模块所取代。此外,由于 DDR5 速度更快,每个模块支持的容量更大,因此可以节省物理空间(机械和热气流方面),这可能是采用较大 FPGA 的 PCIe 卡的一个设计因素。

高带宽内存:GDDR6 和 HBM

既然我们已经比较了 DDR4 和 DDR5,那么这些 SDRAM 类型与 GDDR6 和 HBM 等高端内存类型相比如何?DDR5 是否缩小了性能差距?

SDRAM 内存带宽比较

BittWare FPGA 卡内存比较

如您所见,虽然 DDR5 与 DDR4 相比具有显著优势(随着更快的速度出现,优势还在不断扩大),但与 GDDR6、HBM 和 HBM2e 相比,仍有数量级的差距。

超高速 HBM2e(HBM2 的升级版)与 FPGA 封装在一起。IA-860m 显卡的英特尔 Agilex 7 M 系列 FPGA 上有两个 16GB 内存堆栈(共 32GB),综合峰值带宽高达 820GBps。这相当于 18x比使用 DDR5 的 FPGA 显卡高出 18 倍!

虽然速度不如 HBM2e,但 GDDR6 和 HBM 的性能仍比 DDR5 高出 10x.GDDR6 每组支持两个独立的 16 位通道,因此拥有 8 组 GDDR6 的显卡(如 BittWare 的 S7t-VG6,采用 Achronix FPGA)带宽高达 448GB/s。由于采用了 AMD Virtex UltraScale+ VU-37P 器件,我们的 XUP-VVH 获得了 HBM 内存。

总结

最后,最有帮助的也许是注意到 BittWare FPGA 卡产品组合提供的各种选择。DDR5 是一种改进,将成为获得大容量、快速内存的绝佳新方法。但先不要排除 DDR4--它是一种更成熟的技术,可广泛使用,与 DDR5 相比仍能独当一面。对于真正的内存密集型应用,可以考虑 HBM2e 和 GDDR6 等超高速选择。