4篇Optane DC Persistent Memory Module 测试与评估报告

(一)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字节,就
### PMEM 的定义及用途 #### 什么是 PMEM? 持久内存(Persistent Memory, PMEM)是一种新型存储技术,它结合了传统易失性内存(RAM)的速度和非易失性存储设备(如硬盘或 SSD)的数据持久化特性[^4]。PMEM 能够提供接近 DRAM 的访问速度,同时具备断电后数据不丢失的能力。 #### PMEM 的实现方式 PMEM 主要通过特定的硬件支持来实现,例如 Intel Optane DC Persistent Memory 和其他基于 NVDIMM(Non-Volatile Dual In-line Memory Module)的技术。这些模块可以直接安装到服务器主板上的 DIMM 插槽中,并由操作系统识别为一种特殊的内存资源[^5]。 #### PMEM 的用途 1. **高性能数据库** PMEM 可用于加速数据库操作,尤其是那些需要频繁读写大量数据的应用场景。由于其低延迟特性和数据持久化能力,可以显著提升事务处理性能并减少恢复时间[^6]。 2. **虚拟化环境优化** 在虚拟机环境中,PMEM 提供了一种高效的存储解决方案,能够降低磁盘 I/O 开销,从而提高整体系统的响应速度[^7]。 3. **大数据分析** 对于大规模数据分析任务来说,使用 PMEM 存储中间计算结果或者缓存热数据集是非常有效的策略之一[^8]。 4. **文件系统增强** 利用 PMEM 构建专门针对快速随机访问设计的新一代文件系统 (DAX Direct Access),可以让应用程序绕过传统的缓冲机制直接底层介质交互,进一步缩短路径长度以获得更优表现[^9]。 ```python import os from pymem import Pymem def read_pmem(address, size): pm = Pymem() data = pm.read_bytes(address, size) return data # Example usage of reading from a specific address in PMEM space. data_chunk = read_pmem(0x1A2B3C4D, 1024) print(data_chunk[:16]) # Print first 16 bytes as an example. ``` 上述代码片段展示了如何利用 `pymem` 库从指定地址范围内的 PMEM 中提取字节流信息。 --- ####
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值