对 Intel Optane DC SSD 用作 IMDT 的额外 RAM 感到困惑吗?

Confused about Intel Optane DC SSD usage as extra RAM with IMDT?

我对 Intel Optane DC 有点困惑。 我希望我的 Optane DC 能够同时用作 DRAM 和存储。 一方面,我了解到只有 "Intel Optane DC Persistent Memory DIMM" 能够像 DRAM.That 那样执行,因为他有两种模式(内存模式和 App-Direct 模式)。 另一方面,在这个 link 中:https://www.intel.com/content/www/us/en/products/docs/memory-storage/solid-state-drives/optane-ssd-dc-p4800x-mdt-brief.html 我读到 "Together, DRAM and Intel® Optane™ SSDs with Intel® Memory Drive Technology emulate a single volatile memory pool"。 我很困惑,英特尔傲腾 DC SSD 是能够作为 DRAM 运行还是只能作为英特尔持久内存 DIMM 运行?

是的,您可以将 P4800x 与英特尔的 IMDT(英特尔内存驱动技术)软件一起使用,以 通过使用 Optane DC SSD 作为交换 space。这就是你想要的。 IMDT 设置了一个管理程序,让 OS 产生 DRAM + SSD 作为物理内存的错觉,而不是让 OS 通常将其用作交换 space。

显然,当您已经有足够的物理 RAM 用于大部分工作集时,这很有效,并且 IMDT 具有智能预取算法,可以尝试在需要页面之前进行分页。

在 IMDT 管理程序下 运行 OS 而不是仅将 SSD 用作交换 space 的一个优点是它会让 OS 使用一些用于页面缓存(又名磁盘缓存)的额外 space,而不是需要特殊代码来使用(部分)SSD 作为较慢磁盘的缓存。


但是不,它 不是 Optane DC 持久内存,那是另外一回事。

另请参阅 a SuperUser answer 了解更多关于 Optane 与 Optane DC PM 的信息。 Hadi Brais 添加了一些关于 Optane SSD 的 IMDT 的精彩部分。

例如,

P4800x 通过 PCI-express 连接(如您在 https://www.anandtech.com/show/11930/intel-optane-ssd-dc-p4800x-750gb-handson-review 上的图片中所见)。所以它不是 NV-DIMM;您不能将它插入 DIMM 插槽并让 CPU 通过内存总线访问它。外形规格不是 DIMM。

就硬件而言,Optane 品牌名称有 3 个:

  • 消费级“傲腾”SSD。只是使用 3D XPoint 内存而不是 NAND 闪存的快速 PCIe NVMe。

  • 企业级“傲腾 DC”SSD。只是一个使用 3D XPoint 内存的快速 PCIe NVMe。与消费类产品从根本上 不同,只是速度更快、功耗更高。 P4800x就是这个

    此处的“扩展您的 RAM”功能是纯软件,与仅在其上创建交换分区并让 OS 处理分页非常相似(也可能更糟)。特别是如果您还没有使用虚拟化。

  • Enterprise“Optane DC Persistent Memory”(简称 PM)。真正(通过硬件)映射到 物理 地址 space 的 3D XPoint 内存,以便使用普通 load/store 指令访问,而无需为每个 read/write.例如Linux mmap(MAP_SYNC) 并在 user-space 中使用 clflushclwb asm 指令将数据提交到持久存储。

    PM 仍然比 DRAM 慢,所以如果您只想要易失性内存,您仍然可以像 IMDT 一样将其用作交换 space。 DC PM 的一个关键用例是 使数据库能够在不经过 OS. 的情况下提交到持久存储,这允许在 [=89] 左右乱序执行=],以及更低的开销。

查看 https://www.techspot.com/news/79483-intel-announces-optane-dc-persistent-memory-dimms.html 等文章,在经典金字塔存储层次结构中将 Optane DC 持久内存置于 Optane DC 之上。

AFAIK,Optane DC PM 设备仅存在于 DIMM 外形尺寸中,而不是 PCIe(并使用类似 DDR4 信号的东西)。这需要 CPU 的特别支持,因为现代 CPU 集成了内存控制器。

理论上,您可以拥有一个 PCIe 设备,它在 PCIe 内存区域中公开一些持久存储。这些是物理地址 space 的一部分,可以配置为可回写缓存。 (或者它们可以吗?)所以它们可以被内存映射到用户态虚拟地址 space。但我认为不存在任何 PCIe Optane DC 持久内存设备,可能是因为 PCIe 命令延迟(远)高于 DDR4 总线。带宽也较低。因此,将其用作快速交换 space(复制整个页面)是有意义的,而不是将其用作回写式可缓存物理内存,在这种情况下,缓存未命中可能会等待很长时间。

(Margaret Bloom 也评论说:写入的块大小可能是个问题。)

即您不希望 CPU 通过 PCIe 总线访问内存的工作集的“热”部分。对于 Optane DC PM,您可能甚至不想要它。


Optane / 3D XPoint 始终是持久存储;无论您是利用它还是将其用作较慢的易失性 RAM,都取决于软件。

它不是字面上的 DRAM,它具有特定的技术含义(动态 = 数据存储在需要经常刷新的微型电容器中)。 3D XPoint 不是动态的,甚至不是易变的。但是你可以把它当作等价物来使用,因为 3D XPoint 内存具有非常好的写入耐久性(它不会像 NAND 闪存那样磨损)。如果人们谈论使用 Optane 作为更多的 DRAM,他们使用该术语只是指易失性 RAM,扮演 DRAM 传统上 扮演的相同角色。