(一)An Empirical Guide to the Behavior and Use of Scalable Persistent Memory(fast 20)
本文将 Optane DC Persistent Memory Module 叫做 Optane DIMMs。
Optane DIMMs 不只是“较慢的持久性的DRAM”,其性能更依赖于访问大小、访问类型(读与写)、模式(应该是访问模式:顺序和随机)和并发程度。此外Optane DIMMs的持久性与英特尔最新处理器提供的架构支持相结合,为软件设计师提供了更广泛的设计选择。
Optane dimm可以在两种模式下运行: Memory和App Direct。内存模式使用Optane扩展主内存容量,而无需持久性。App Direct模式提供持久性,不使用DRAM缓存。
如何构建和调优基于Optane系统的四项原则:
1.Avoid small random accesses
避免小的随机访问。
2.Use non-temporal stores for large writes
对大的写操作使用非临时存储。
3.Limit the number of concurrent threads accessing a Optane DIMM
限制访问Optane DIMM的并发线程数。
4.Avoid mixed or multi-threaded accesses to remote NUMA nodes
避免对远程NUMA节点进行混合或多线程访问。
(二)Characterizing the Performance of Intel Optane Persistent Memory– A Close Look at its On-DIMM Buffering
摘要
本文重点是探讨Optane的内存上读写缓冲的内部设计,以及它对应用程序感知的性能的影响、读写放大、不同类型持久的开销,以及持久模型之间的折中。
值得注意的是,我们发现在单独的内存读写缓冲区中读和写进行了不同的管理。这两个缓冲区的大小相当,但用于不同的目的。
读缓冲区提供了更高的并发性和有效的内存预取,从而带来了更高的读带宽和优越的顺序读性能。但是,它不能帮助隐藏中间层的访问延迟。
相反,写缓冲区提供有限的并发性,但它是DDR-T协议中支持异步写的管道中的一个关键阶段。
令人惊讶的是,除了写合并之外,无论工作集大小、写类型、访问模式或持久性模型如何,写缓冲区带来的延迟都低于读和一致写的延迟。
此外,我们发现cacheline 访问粒度与3D-Xpoint中间层访问粒度的不匹配会对CPU缓存预取的效率产生负面影响,并导致持久内存带宽的浪费。
我们的主张是在持久化程序的性能分析和优化中解耦读写。基于这一见解,我们提出了三个案例研究,并展示了相当大的性能改进。我们在两代Optane DCPMM上验证了结果。
介绍
最近的研究发现Optane DCPMM不应该被简单地视为较慢的、持久的DRAM。与DRAM相比,Optane DCPMM表现出复杂的行为,并根据访问大小、访问类型和模式大幅改变性能。
Optane DCPMM在几个方面与DRAM不同:
- (1)在Optane DCPMM中,CPU cacheline访问粒度(64字节)和3D-Xpoint媒体访问粒度(256字节XPLine)之间存在不匹配,如果数据访问大小小于256字节,就