英特尔傲腾内存可以补偿更少的RAM吗?


76

我目前有一台大约两岁的笔记本电脑,并具有8 GB的RAM。我将笔记本电脑用于Internet浏览,生产力应用程序和编程,包括Spyder或RStudio中的数据科学。我正在运行Windows 10。

我通常使用大约65%的内存使用量,或大约5 GB。

我最近购买了但尚未收到的笔记本电脑,该笔记本电脑具有4 GB的标准RAM和16 GB的Intel Optane内存。这款笔记本电脑的内存为20 GB,但是在阅读了有关Optane内存的更多信息之后,看来它更多地充当了低延迟缓存,而不是RAM。

为了同时运行多个内存密集型程序(例如带有许多选项卡的浏览器,数据科学IDE),这些程序平均使用5 GB RAM,会将RAM从8 GB减少到4 GB,但增加16 GB的Optane内存会导致性能下降?

如果有帮助,这是我当前内存配置文件的快照:

内存配置文件

更新:如果您感到好奇,我可以毫无问题地取消订单。答案使我意识到,购买新产品的速度很可能会比当前笔记本电脑慢。


您的笔记本电脑配有哪种硬盘驱动器,SSD?Optane对于较旧的驱动器确实产生了奇迹,但对于SSD系统却少得多。
桅杆

@桅杆,笔记本电脑有一个硬盘。
N4v

Answers:


106

英特尔Optane“内存”是一个错误的称呼。它只是一个高速缓存存储卡,通过添加可以以SSD磁盘速度工作的RAM高速缓存,可以将简单的硬盘变成混合磁盘。

Optane内存不是随机存取的计算机内存或RAM。相反,它旨在充当RAM和存储之间的缓存内存桥梁,从而允许更快地在内存,存储和处理器之间传输数据。这样,它的速度要比旋转硬盘驱动器快得多,并且可以以预算固态硬盘的速度工作。与SSD一样,断电时不会擦除自身。

结论:您确实因犯下商业炒作而犯了一个错误。另外,在我们当前的硬件和软件状态下,4 GB的RAM太低了。如果可以,我建议取消此笔记本电脑的订单。


7
好答案。+1。另外,我想建议这篇文章,它将访问速度与人类参考比例进行比较,从1个时钟周期-> 1秒,RAM-> 4分钟和Optane-> 7小时开始。这确实表明,例如L1高速缓存和磁盘访问速度之间有多少比例差异……
agtoever

9
这实际上不是一个用词不当,因为那里是一个使用DDR4接口,并取代实际RAM版本arstechnica.com/gadgets/2018/05/...
phuclv

5
的RAM 4吉布不可笑低,但它是相当落后的平均水平。
iBug

7
@iBug是的。对于新设备,这就是这个问题。尤其是在这种情况下,如果旧笔记本电脑具有两倍的RAM。
Kakturus

42
宣传具有20GB RAM的笔记本电脑并不是“商业炒作”,而是一个公然的谎言。
19:39 patstew

30

其他答案涵盖了情况的要点,但我想补充一些背景信息。

长期以来,在针对外行的笔记本电脑中,RAM通常被称为“内存”。直到最近,这通常是有帮助的,并且没有引起问题。那些开始采用这种做法的公司现在将Optane高速缓存和RAM以相同的名称“内存”组合在一起,目的是欺骗您以为笔记本电脑的RAM比实际更多。Optane技术仍是相对较新且未知的技术,因此这种欺骗非常容易实现。深入了解产品列表通常可以揭示事实。

Optane高速缓存不会(也不是要替换)RAM。它们都有助于加速计算机,但是在不同情况下的运行方式不同。当正常使用至少需要5GB内存时,拥有Optane不会减轻仅拥有4GB RAM的沉重速度。

您已经成为故意欺骗性营销的受害者。我建议购买另一台笔记本电脑(具有8GB或更多的RAM)以满足您的用例。也许是来自更早期制造商的产品。


9

只有4 GB?我不愿意将它透露给您,但是就我所知(不多),英特尔Optane并不像内存又称RAM。就像SSD可以将您最常用的应用程序带到更快的驱动器上,从而使它们加载得更快。

因此,Intel Optane驱动器可能不需要SSD(请对此进行纠正)。您的制造商可能在笔记本电脑中安装了Optane驱动器并将其作为RAM进行销售,因为20 GB的Intel Optane比20 GB的RAM *便宜,但是也许您可以手动将RAM更改为8 GB,价格约为80美元。

* 24 GB笔记本电脑RAM $ 182
24 GB笔记本电脑RAM

4 GB笔记本电脑RAM和16 GB Intel Optane内存$ 87
笔记本电脑RAM
Intel Optane内存


8

这种情况下(预算消费者设备),Optane显然是指使用3D XPoint内存(而不是NAND闪存)的小型/快速NVMe连接SSD,从而具有很高的写入耐久性。(因此,如果用作交换空间,它不会磨损)。

对于许多工作负载来说,这仍然很糟糕,因为它仍然需要页面错误和许多微秒的访问时间,而DRAM访问(缓存未命中)则约为70纳秒;它不是直接映射到CPU的内存总线上。同样,无序执行/硬件预取/其他内存并行性可以使每个物理内核在运行中保持约10个高速缓存未命中,但是页面错误正在序列化。当操作系统正在处理页面错误时,无法进行任何有用的工作(在此线程中),因此OoO执行人员没有机会隐藏任何该硬页面错误延迟。(但是,即使70ns也太长了,无论如何也无法完全隐藏。不过,在不同线路上多次失误对于减轻某些工作负载的距离还有很长的路要走。)


使用少量的RAM并依靠快速的SSD交换空间/页面文件并不是这种Optane的唯一用例。(而且可能甚至不是一个好的用例)。如https://www.tweaktown.com/articles/8119/intel-optane-memory-matters/index.html所述,它的主要用例是用作磁性硬盘驱动器的透明缓存。我认为英特尔提供了Windows驱动程序来实现这一目标。您可以购买具有旋转磁存储功能的SATA硬盘驱动器,并内置一些闪存作为磁盘频繁访问部分的缓冲区/缓存。Optane HW +驱动程序可以对任何磁盘执行此操作。

Optane NVMe显然在低队列深度下具有很好的随机读取性能(等待一个读取完成之后再开始另一个读取,不幸的是,当程序必须先读取一个块才能确定下一步要做什么时,这种情况确实发生了,并且软件预取功能很差。没有帮助)。因此,在加快程序启动时间和启动方面应该很棒。

对于大的连续大文件写入而言,这并不是特别令人惊讶。希望驱动程序软件知道绕过Optane高速缓存并直接进入底层磁盘。英特尔的Optane主页链接到https://www.intel.ca/content/www/ca/en/products/memory-storage/optane-memory/optane-16gb-m-2-80mm.html,其中显示了其16GB M .2 Optane具有900MB / s的顺序读取,但只有145MB / s的顺序写入。32GB版本更快,读取速度为1350 MB / s,写入速度为290 MB / s。但是,这并不是Optane最擅长的。它的顺序读取IOPS和随机读取IOPS均为240k IOPS,读取延迟为7 µs。


英特尔有一种叫做IMDT (英特尔内存驱动技术)的东西这是一个虚拟机管理程序,会给操作系统带来更大的主内存地址空间的错觉。有些页面将映射到实际的DRAM主内存,而另一些页面将映射到SSD内存。访问映射到SSD的页面时,将发生IMDT捕获的页面错误,这将导致页面从SSD进入主内存(可能将页面从内存移出到SSD)。IMDT将尝试将页面预取到DRAM中,以减轻SSD的次带宽和延迟。它还将尝试将最热的页面保留在主内存中,以便可以以最小的代价访问它们(唯一的代价可能是由于虚拟化而产生的额外分页层。)OS基本上不考虑此映射,并且可以正常工作。这种内存系统称为软件定义内存(SDM)。不错论文题为“英特尔存储驱动技术表现为科学应用的评价”提供IMDT的性能评估,并确定它有DRAM主内存相同数量的系统。我尚未完全阅读本文,但是IMDT似乎可以在NUMA节点之间迁移页面,以使页面更靠近最需要它们的节点。

就是说,IMDT仅在服务器级Intel处理器上受支持。它旨在创建具有成本效益,高能效的服务器,而对性能的影响可能很小。

http://www.lmdb.tech/bench/optanessd/imdt.html在Optane DC P4800X SSD上具有一些基准。(高端数据中心版本,而不是消费类产品。更高的持续写入能力。)

我没有对此进行研究,所以我不确定它与Windows如何利用消费类Optane SSD完全相关。


Optane品牌名称(有些令人困惑)还用于更有趣的奇特事物:

3D XPoint非易失性DIMM,也称为“ Optane DC持久性内存”。 https://www.anandtech.com/show/12828/intel-launches-optane-dimms-up-to-512gb-apache-pass-is-here。Apache Pass是第一代Optane DC PM的名称。请参阅以获取有关子孙后代的信息。

英特尔在此处拥有自己的主要营销页面,其中包含一些指向技术细节的链接。显然,“ DC”代表以数据为中心。

这是插入DDR4 DIMM插槽的非易失性存储,显示为实际的物理内存。 显然,只有下一代Xeon(而不是当前的Skylake-X,又名Skylake可扩展处理器系列)才完全支持它。

还有其他类型的NVDIMM,例如电池供电的常规DRAM(可选地具有闪存,用于将数据转储以长期关闭电源,因此它们仅需要超级电容器而不是化学电池)。 https://en.wikipedia.org/wiki/NVDIMM有一些详细信息。

https://www.electronicdesign.com/industrial-automation/why-are-nvdimms-suddenly-hot提供了有关NVDIMM的更多常规信息(以及它们的JEDEC标准化,以及OS +应用程序如何合作以使应用程序直接与之通信)内存映射的NV存储区,以确保提交顺序等)。要点是,它们实际上模糊了RAM和存储之间的界限(从计算机体系结构的角度,而不是严格意义上的欺骗性笔记本电脑广告的严格营销意义上,该广告声称具有4 + 16GB的存储空间。)


操作系统可以让进程将此非易失性物理内存映射到其自己的虚拟地址空间,以便他们可以直接通过用户空间负载访问存储并将其存储到内存地址,而无需任何系统调用,从而使CPU硬件可以继续运行。在有出色的读/写操作时执行订单。(有一些软件库可让开发人员利用此功能,包括flush()确保数据实际写入持久性存储的能力。

该映射甚至可以写回可缓存,因此数据的使用将充分受益于L3 / L2 / L1d缓存,直到需要将其写回(如果已修改)为止。对于大多数读数据,这种 Optane实际上可以合理地称为4 + 16GB RAM。(当然,目前的数据中心用例为Optane NVDIMMs将使用多少更大的DIMM,如512GB)。

(这mmap与普通磁盘上的ed文件不同,您只需要在该文件上映射操作系统的页面缓存,操作系统就会在后台执行I / O操作以将脏RAM页面与存储设备同步。)

确保某些数据先到达其他存储才真正到达NV存储(以进行文件系统或数据库日志之类的崩溃恢复)至关重要。对于系统调用,这是您使用POSIX fsync或的地方fdatasync。但是,由于应用程序具有真正的内存映射存储,因此可以进行库函数调用。

在x86 asm中,我们正在以正常的加载/存储访问存储,但是我们关心的是何时将数据实际写回到NVDIMM(可以防止掉电),而不是何时对其他内核或缓存一致性DMA可见(一旦它从存储缓冲区提交到L1d缓存),因此x86的常规内存排序规则不能完全解决所有问题。我们需要特殊的指令来从CPU的缓存中清除所选的缓存行。(供NV存储库使用。)

clflush汇编指令已经存在了一段时间,但NV存储就是为什么Intel增加的一个重要原因clflushopt在SKYLAKE微架构(虽然它有其他使用情况,也是如此),并增加clwb在冰湖(回写不驱逐)。

丹·卢(Dan Luu)前段时间写了一篇有趣的文章,内容涉及使操作系统脱离访问存储的方式的好处,并详细介绍了当时英特尔针对clflush/ 的计划clwb及其内存排序语义。它是在Intel仍计划在pcommit此过程中要求一条称为(持久提交)的指令时编写的,但是Intel后来决定删除该指令:弃用PCOMMIT指令具有一些有趣的信息,说明其原因以及幕后工作方式。

(这不在x86 NV存储低级详细信息中讨论话题了。我应该在其他地方发布本节的大部分内容,但我认为是)


还有Optane DC SSD,如PCIe x4卡或2.5英寸。750GB版本可进行高达2500 MB / s的顺序读取,2200 MB / s的顺序写入和550000 IOPS的随机读取或写入。读取延迟稍差于M.2 NVMe,10 µs。

这是您想要的数据库服务器之类的东西(如果您不能使用NVDIMM),但是这并不能使您的4GB笔记本电脑(对于大多数典型用例)比他们出售的16GB Optane更快。交换空间颠簸通常会产生大量相关读取,因为必须先进入页面并对其进行访问,然后页面错误的代码才能继续执行下一步操作。如果内存确实很紧张,那么操作系统将没有多余的页面可以主动地预取到其中,因此您可以期望队列深度较低,这是消费者Optane进行了优化的。(低延迟。)


英特尔Optane SSD提供了不错的性能-功耗-成本折衷。固态硬盘在不访问时基本上不消耗功率。相反,DRAM芯片中的静态功耗(主要是由于刷新)是很大的。因此,理想情况下,系统中的DRAM数量应与典型工作负载的工作集相匹配。您购买的系统是为典型的工作负载而设计的,该工作负载需要大约4GB或更少的主内存。在这种情况下,如果系统具有8GB的主内存,则将不必要地消耗更多的电量,这会减少电池寿命。但是,通过Optane SSD,您可以偶尔运行需要稍微多些主内存的工作负载,而性能却降到最低(与基于NAND的SSD或HDD相比)。

DRAM内存当前每1GB成本约4.5美元,而英特尔Optane SSD每1GB成本约2美元。因此,16GB Optane SSD比4GB DRAM模块贵,但比8GB DRAM模块便宜。因此,如果您取出Optane SSD并增加4GB内存,您将获得一个更便宜的系统,对于工作量大于4GB的典型工作负载,平均速度也更快。但是硬硬盘故障处理,页面预取和页面交换将比HDD慢。因此,如果典型的工作负载需要少于(或大约)4GB的内存,那么8GB的系统可能会比4GB DRAM + 16GB Optane SSD系统慢。

如果您仅打算将笔记本电脑用于Internet浏览或文本编辑,则它非常棒。Optane SSD有助于启动,可以快速访问最常访问的文件,并且可以用作其他辅助存储。因此,尽管您购买的16GB Optane SSD比4GB的DRAM多,但您将获得一定的独特优势。但是您提到的其他一些应用程序(例如RStudio)至少需要 4GB的内存。如果您通常会同时使用浏览器和RStudio(可能还有其他应用程序),那么您应该拥有至少8GB内存的系统。Optane SSD一直很好。


3

其他人已经很好地涵盖了许多方面,我想您已经知道Intel Optane绝对无法与RAM相提并论。

在冯·诺依曼体系结构中,“ RAM”是指计算机中的主存储,可由处理器直接访问。Intel Optane驱动器属于“辅助存储”类别,因为它更像磁盘而不是RAM。

严格来说,在现代计算机中,RAM是唯一的主存储,因为它是唯一直接连接到处理器的东西。我们将Intel Optane磁盘归类,因为它不是直接连接到处理器,而是直接连接到I / O总线(或磁盘控制器)。这极大地限制了Optane驱动器的潜力,并最终使其无法与RAM相提并论。

如果您有Optane磁盘,最好将其拾起并出售,购买通常更快的真正NVMe SSD。我在HP EX920上运行,其所有I / O规格(顺序/ 4K)都比Optane驱动器高。


Optane的主要优势是低队列深度随机读取IOPS。例如,这是台式机启动程序时非常常见的工作量。这就是Optane的目的。 tweaktown.com/articles/8119/intel-optane-memory-matters/...有一个图表(但他们没有表现出什么,他们正在对比较SATA或固态硬盘NVMe)通常写进行缓冲,但计划往往要等待读取。(有时,下一次读取要等到第一次读取完成后才会发生,例如,加载直到加载后才能运行的新代码,或者软件中缺少I / O并行性。)
Peter Cordes

@PeterCordes我的EX920(1TB)可以在4 KiB Q1T1读取时运行高达16k IOPS,而在4 KiB Q1T1写入时运行高达40k IOPS,略低于我在网上找到的结果(读取40k)的一半。但是我仍然是真正的固态硬盘的坚定拥护者(我最喜欢970 EVO,但是当我购买这款EX920时我负担不起)。
iBug

2

我最近购买了但尚未收到的笔记本电脑,该笔记本电脑具有4 GB的标准RAM和16 GB的Intel Optane内存。这款笔记本电脑的内存为20 GB

如果是这样,您应该要求退款,因为您已经被骗了。

Optane是Intel的营销词汇,它是将固态驱动器与3D XPoint内存(其速度快于NAND的两倍,但价格也要高得多)的组合,以及或多或少的干扰驱动程序/工具的组合,从而干扰您的操作系统的正常操作模式-很像三星多年来使用其Evo磁盘分发的非常相似的东西(通过Samsung Magician进行可选安装)。

绝不是 RAM的替代品,这不仅是因为内存本身要慢得多,而且还因为当用于虚拟内存时,您会遇到中断等待时间和页面错误的处理成本(使用实际处理器周期)。此外,数据必须通过总线传输,尽管速度非常快,但与普通RAM相比,它仍然慢得多,并且延迟要大得多,而且还要与总线上的其他传输共享带宽。

因此...如果您的硬盘较差,Optane(或与此相关的任何SSD)可能是一种可行的缓存数据策略。但是,作为真正的RAM的直接替代或扩展,是不可能的。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.