读Intel Optane DC持久内存模块的基本性能测量有感
读Intel Optane DC持久内存模块的基本性能测量有感
导论
为什么为写这篇博文呢,主要是受现在工业界一种真实的NVM产品即Intel optane DC PMM今年4月份发布以来,学术界和工业界持续广泛关注,给NVM研究和实践带来了不一样的冲击。最显耀的区别是真实的Optane DC PMM的读延迟要显著高于DRAM,而我们传统用DRAM来模拟NVM都是认为NVM的读延迟和DRAM相当,NVM写延迟高于DRAM。受NVM界大拿加州大学圣地亚哥分校steven swanson团队的影响,他们率先对optane DC PMM进行了测试,并写了 basic Performance Measurements of the Intel Optane DC Persistent Memory Module一文,我不会详细翻译该文的很多细节,只会对自己比较感兴趣的内容进行一定的阐述,所以其他对此文感兴趣的读者可以自行下载阅读。
optane DC PMM基本介绍
Optane DC PMM的内部介质据说是3D Xpoint,19年4月发布产品;
采用DDR-T接口;
每个模块容量有3类:分别为128GB、256GB和512GB;
对单一optane DC PMM,最大读带宽为6.6GB/s,而最大写带宽为2.3GB/s;
使用有2种模式:memory mode和 app direct mode;
Memory mode:当Optane DC PMM当作内存模式使用时,Optane DC内存对内存占用量较小的应用程序影响很小; 相对于DRAM,具有较大内存占用空间的应用程序可能会出现速度变慢的情况。特点是容易采纳,无需对应用程序进行修改。
App direct mode:应用程序直接对optane进行读写访问;这种方式的持久内存更新操作直接绕过了内核和文件系统,可以使应用程序编程人员获得更大的性能提升。
以下slides来自清华大学舒继武教授,舒老师的slides写的比较简明扼要,容易读懂。
optane读延迟
图标相关符号说明:
PM-LDRAM:是采用本地DRAM进行PM模拟;
PM-RDRAM:是采用远端DRAM进行PM模拟;
PM-Optane 或PM-3DXP:采用真实的optane DC持久内存;
参数具体说明英文版解释可以参考舒老师的slides,如下所示
如下图所示,对于随机读来说,optane DC PMM比DRAM慢3倍;对于顺序读延迟来说,optane DC PMM比DRAM慢2倍。
optane DC PMM内存指令延迟
对于存储指令和随后的刷新操作,PM-LDRAM和PM-Optane之间几乎没有性能差异,而DRAM在加载顺序方面优于Optane DC存储器,如下图所示,其中(L: Load, S: Store, N: non-temporal, F: clflush, O: clflushopt, W: clwb)。
Optane DC PMM内存带宽
顺序内存带宽随着线程数的不同而有所变化。如下图所示,显示了执行读取(左)或非临时存储(右)的线程数量不同时的内存性能。 请注意,Optane DC读取与线程数的扩展很好,而写入大概4个线程时就饱和了。远程DRAM具有有趣的访问模式,由于总线带宽的存在,峰值访问速度约为35 GB /秒。
写在末尾
相信随着optane DC PMM的产品发布,可以说是NVM或PM产品的元年;对于我们NVM或PM的研究者来说,者仅仅是个开始,而不是结束,还有太多的东西需要去探究。目前该产品还是比较贵的,随着工艺的改进和大批量的生产,相信未来价格肯定会有所下调。目前对于真实的NVM产品研究来说,还是比较烧钱的,没有项目的支撑,用DRAM模拟也不乏是条康庄大道。我们以往都把NVM的读延迟认为与DRAM相当,而写延迟较差,然而optane DC PMM的读延迟却比DRAM差了2-3倍,这是需要注意的方面。本人也有一个问题提出来和大家一起交流下,Optane DC PMM的读延迟没有那么好,能代表其他NVM介质的读延迟也没有DRAM那么好吗?
时间仓促,先写这么多,后面有时间再补充。该文还有23个比较有趣的发现,读者感兴趣的话可以品读原文。
另外推荐阅读****的另一篇关于optane DC PMM的博文 Intel Optane DC Persistent Memory Module (PMM)详解。
安装文档见Quick Start Guide: Provision Intel® Optane™ DC Persistent Memory