Skip to main content
QUICK REVIEW

[论文解读] An Empirical Guide to the Behavior and Use of Scalable Persistent Memory

Jian Yang, Juno Kim|arXiv (Cornell University)|Aug 9, 2019
Parallel Computing and Optimization Techniques参考文献 56被引用 30
一句话总结

本文对英特尔3D XPoint NVDIMM进行了实证性能表征,揭示其行为与DRAM及以往的仿真方法存在显著差异。基于微基准测试,本文提出了可操作的编程指南——如避免细粒度写入和管理并发性——并证明这些实践在真实应用场景中可提升性能,且推翻了基于不准确仿真方法的先前研究假设。

ABSTRACT

After nearly a decade of anticipation, scalable nonvolatile memory DIMMs are finally commercially available with the release of Intel's 3D XPoint DIMM. This new nonvolatile DIMM supports byte-granularity accesses with access times on the order of DRAM, while also providing data storage that survives power outages. Researchers have not idly waited for real nonvolatile DIMMs (NVDIMMs) to arrive. Over the past decade, they have written a slew of papers proposing new programming models, file systems, libraries, and applications built to exploit the performance and flexibility that NVDIMMs promised to deliver. Those papers drew conclusions and made design decisions without detailed knowledge of how real NVDIMMs would behave or how industry would integrate them into computer architectures. Now that 3D XPoint NVDIMMs are actually here, we can provide detailed performance numbers, concrete guidance for programmers on these systems, reevaluate prior art for performance, and reoptimize persistent memory software for the real 3D XPoint DIMM. In this paper, we explore the performance properties and characteristics of Intel's new 3D XPoint DIMM at the micro and macro level. First, we investigate the basic characteristics of the device, taking special note of the particular ways in which its performance is peculiar relative to traditional DRAM or other past methods used to emulate NVM. From these observations, we recommend a set of best practices to maximize the performance of the device. With our improved understanding, we then explore the performance of prior art in application-level software for persistent memory, taking note of where their performance was influenced by our guidelines.

研究动机与目标

  • 对英特尔3D XPoint NVDIMM的真实性能特征进行实证评估,这些存储设备在十年期待后已实现商业化。
  • 识别并纠正以往研究中存在的误解,这些研究依赖于对持久内存行为的不准确仿真。
  • 提供基于实证数据的、具体的编程指南,以最大化真实3D XPoint硬件上的性能表现。
  • 基于真实硬件测量结果,重新评估并优化现有支持NVMM的软件系统,而非依赖仿真或模拟行为。
  • 通过识别3D XPoint中存在架构性能病态现象,为理解未来持久内存技术提供框架。

提出的方法

  • 在真实3D XPoint系统上开展广泛的微基准测试,测量不同访问大小和访问模式下的延迟、带宽及并发影响。
  • 使用应用级基准测试评估所提指南对实际软件栈(包括文件系统和数据结构)的影响。
  • 将真实3D XPoint性能与常见仿真技术(如软件仿真、基于NUMA的仿真,以及将DRAM视为持久内存)进行对比,揭示其不准确性。
  • 分析内存控制器(iMC)的写回队列(WPQ)、XPBuffer及内存交错等硬件组件在塑造性能行为中的作用。
  • 基于微基准测试结果制定最佳实践,包括写入粒度、线程并发性以及指令选择(如非临时存储指令)。
  • 将指南应用于优化现有软件系统(如文件系统和数据结构),并重新分析先前结果,以展示因错误假设导致的性能差异。

实验结果

研究问题

  • RQ13D XPoint NVDIMM的实际性能特征与DRAM以及以往研究中的假设存在哪些差异?
  • RQ2为何常见仿真技术(如软件仿真、NUMA效应,或假设DRAM是持久的)在预测真实3D XPoint行为方面表现不足?
  • RQ3哪些关键架构因素——如写入缓冲、交错和并发性——显著影响3D XPoint的性能?
  • RQ4程序员如何优化代码以避免3D XPoint上的性能陷阱?应用这些指南后可带来哪些可测量的性能提升?
  • RQ5所提出的指南在多大程度上可推广至未来的持久内存技术?

主要发现

  • 3D XPoint NVDIMM的性能对访问大小、访问模式和并发性极为敏感,这些因素的影响远超DRAM。
  • 3D XPoint内部256 B的写入粒度导致使用较小且未对齐的写入时性能显著下降,因此对齐和合并写入至关重要。
  • 多个核心并发写入会因iMC的写回队列(WPQ)和XPBuffer中的竞争而造成显著性能下降,表明减少并发线程可提升性能。
  • 现有仿真技术——包括软件仿真、基于NUMA的仿真,以及假设DRAM是持久的——均产生误导性性能结果,无法可靠预测真实硬件行为。
  • 应用所提指南(如对大块传输使用非临时存储指令、避免细粒度写入)在优化后的软件系统中带来了可测量的性能提升,验证了建议的实际有效性。
  • 这些指南对未来的持久内存技术依然适用,因为其针对的是缓冲、交错和指令级效应等基本架构病态现象,这些现象可能在不同NVM技术中持续存在。

更好的研究,从现在开始

从论文设计到论文写作,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。