Optane DIMM写速度比SSD慢?内存接口可能并非完美

Optane DIMM写速度比SSD慢?内存接口可能并非完美

昨天看到唐杰总的新作《Intel Data-Centric Innovation Day的启示(2)-Intel AEP》,无论底层技术理解还是全面的视角都挺赞,我只是觉得还有些值得深入分析之处。



本文讨论的主要是Optane Persistent Memory的App Direct使用模式,特别是模拟块存储设备。

以下个人观点仅供读者朋友参考,如有不妥之处还望大家指正和谅解。

Optane持久化内存写IOPS有多快?




首先,这份数据我之前看到过Optane DIMM和DRAM内存的部分。唐总文章中说的比NAND Flash快470倍是顺序读延时一项,用于对比的SN200 NVMe SSD参考值为80µs而Optane DIMM只有约170ns(I/O大小不完全确定)。

不过带宽/IOPS性能差距就没有那么大了。顺序读7.6GB/s比我看到的PCIe 3.0 x8接口SSD都要跑的快;2.4GB/s随机读假设按4KB IOPS折算约合60万左右(不一定对哦,请往后面看),这个数值加上顺序写带宽,和之前的同样使用3D XPoint Memory的Optane DC SSD P4800X并没有显著差距(参考下方链接);至于随机写0.5GB/s,如果是4K IOPS的话只有大约13万?要知道Optane P4800X的标称值可是50万写IOPS!

Intel Optane P4800X评测(1):好钢如何用在刀刃上?

Intel Optane P4800X评测(3):Windows绑核优化篇

下图就源自上面这篇评测的结果:




我们知道,使用NAND闪存介质的SSD,主要的一个缺点就是随机写性能和寿命。而Optane SSD的主要卖点除了低延时之外,还有读/写性能没有明显差距。不过之前的P4800X是按照块存储设备来设计的,并且受到PCIex4接口限制,Optane DIMM就不同了。

测试4KB随机读IOPS超过100万,随机写只有8万?




这2张图表引用自StorageReview网站的评测文章,测试工具使用的是vdbench。


如上图,当Intel PMEM(Optane持久化内存)配置为App Direct块设备时,12条128GB跑出了超过1300万4KB随机读IOPS(延时也比较诱人只有12.1µs),也就是平均每个Optane DIMM超过100万。




随机写IOPS就没这么乐观了。同样12条Optane DIMM只跑出98万IOPS,每条贡献8万多。随着队列深度加大Optane持久化内存的延时反超Intel SSD P4510(估计也没长时间压测)达到60µs。

可见由于读写性能不对等,导致Optane DIMM有些方面的测试性能明显低于Optane SSD。不过按道理说,换成性能更好的DDR4(DDR-T)内存接口之后,读性能提高容易理解,写下降的原因又是什么呢?

4 Cacheline粒度最优?没有十全十美的设计





我们知道,DRAM内存的访问粒度是64字节cacheline,Optane DIMM为了支持同样接口也要模拟这个。

这张图也是我从网上看到的,应该源自Intel官方资料。其中对于256Byte(4个cacheline粒度)和64Byte(单一随机cacheline粒度)访问性能进行了对比。其中256B的读和写带宽比较接近于本文开头第一个图表,而64B I/O带宽则接近前面列出的随机读写性能。稍有遗憾的是,上面表格中没有看到256B和64B的延时对比。

不知大家是否注意到,64B性能大约为256B性能的1/4,这说明了什么?

另外,是不是模拟块设备的随机写都会转化为64B访问,还是说要注意对齐I/O呢?按照上文中引用的测试数据,4KB写测试带宽仍然不够理想。

由此我尝试初步给出以下推论:

1、3D XPoint Memory这种SCM介质的写性能仍然低于读性能,这一点上与NAND闪存性质接近而达不到DRAM内存的水平,也符合之前人们对其PRAM(相变内存)分类的判断;

扩展阅读:《从技术到应用:揭开3D XPoint Memory迷雾

2、成品Optane DIMM支持内存接口的64byte cacheline粒度访问,但可能不代表其底层介质的基本I/O单元就是这么小。或者说,我个人判断有些情况下是有写放大和读惩罚的。

3、如果是想将Optane持久化内存用于存储阵列、分布式存储(ServerSAN)中的写缓存或者热数据分层,可能需要注意一下,在有些情况下DIMM的表现不一定有Optane SSD好。

补充一点:我之前测试Optane SSD P4800X时发现,其支持512byte扇区块设备,但最佳性能的随机I/O尺寸为4KB。

写寿命:770 DWPD可能不总是那么理想



关于写寿命这一点,唐总在文章中的计算没有错,Optane DIMM的360PBW相当于5年770 DWPD。不过在上图中我注意到,这个耐久度也是在4 CacheLine(256Byte)情况下,如果全换成64Byte访问会不会只有1/4的写寿命——即大约192 DWPD?当然这个数字仍然显著优于Optane SSDP4800X的30 DWPD,并且秒杀一切NAND闪存产品。

小结:合适的应用场景是关键

本文到此先告一段落,我仍然认为Optane持久化内存会比之前的NVMe SSD形态更有助于3D XPoint的普及。因为这种SCM最初目标更多在于抢夺一部分DRAM内存的市场。根据这两天看到的新闻:“市调机构预计,到2023年,服务器和数据中心将取代PC和手机,成为最大的DRAM内存芯片市场。”

扩展阅读:《Intel Optane DC持久化内存性能测试、数据库应用优化

当3D XPoint遇上SAP HANA:机遇与挑战

理论的东西讲再多,还要看实际应用中的表现和性价比。



:本文只代表作者个人观点,与任何组织机构无关,如有错误和不足之处欢迎在留言中批评指正。进一步交流技术,可以加我的QQ/微信:490834312。如果您想在这个公众号上分享自己的技术干货,也欢迎联系我:)


尊重知识,转载时请保留全文,并包括本行及如下二维码。感谢您的阅读和支持!《企业存储技术》微信公众号:HL_Storage


历史文章汇总chuansong.me/account/hu

发布于 2019-04-12

文章被以下专栏收录