Skip to main content
QUICK REVIEW

[论文解读] High Performance Data Persistence in Non-Volatile Memory for Resilient High Performance Computing

Yingchao Huang, Kai Wu|arXiv (Cornell University)|Apr 30, 2017
Advanced Data Storage Technologies参考文献 29被引用 3
一句话总结

本文提出将非易失性内存(NVM)用作主内存,以在高性能计算(HPC)系统中实现高效率、频繁的数据持久化,从而消除传统检查点机制中昂贵的数据复制操作。通过引入原地版本控制和优化的缓存刷新机制,该方法仅带来4.4%的平均运行时开销,显著减少了重新计算,并克服了传统检查点固有的弹性与重新计算困境。

ABSTRACT

Resilience is a major design goal for HPC. Checkpoint is the most common method to enable resilient HPC. Checkpoint periodically saves critical data objects to non-volatile storage to enable data persistence. However, using checkpoint, we face dilemmas between resilience, recomputation and checkpoint cost. The reason that accounts for the dilemmas is the cost of data copying inherent in checkpoint. In this paper we explore how to build resilient HPC with non-volatile memory (NVM) as main memory and address the dilemmas. We introduce a variety of optimization techniques that leverage high performance and non-volatility of NVM to enable high performance data persistence for data objects in applications. With NVM we avoid data copying; we optimize cache flushing needed to ensure consistency between caches and NVM. We demonstrate that using NVM is feasible to establish data persistence frequently with small overhead (4.4% on average) to achieve highly resilient HPC and minimize recomputation.

研究动机与目标

  • 解决未来HPC系统中的弹性困境,即平均故障间隔时间(MTBF)缩短导致需要更频繁地进行检查点操作,但会增加运行时开销。
  • 克服重新计算困境,即频繁检查点虽可减少数据丢失,但因数据复制而带来高昂开销。
  • 利用NVM的非易失性和高性能特性,消除检查点中传统数据复制的需求。
  • 开发一种纯软件解决方案,无需操作系统的修改或硬件支持,同时确保缓存与NVM之间的数据一致性。
  • 将持久化检查点的运行时开销最小化,以实现频繁、高效的HPC执行数据持久化,提升系统弹性。

提出的方法

  • 引入原地版本控制技术,利用应用程序固有的写操作直接在NVM中创建数据对象的新版本,无需显式数据复制。
  • 推导转换规则,自动将原地版本控制应用于源代码,使程序员无需关注底层细节。
  • 实现主动缓存刷新机制,确保在版本创建后CPU缓存与NVM之间保持一致性,刷新新版本的所有数据块。
  • 使用SIMD-based非临时指令(如MOVDQU)优化缓存刷新,绕过缓存以减少缓存与内存之间的数据移动。
  • 并行化缓存刷新操作,以提升性能并降低检查点期间的延迟。
  • 采用基于纪元的模型管理持久写入,将从版本创建到缓存刷新的时间段视为一个单一纪元,在此期间允许多个并发持久写入。

实验结果

研究问题

  • RQ1基于NVM的主内存能否消除HPC检查点中的数据复制需求,从而解决弹性与重新计算困境?
  • RQ2如何自动将原地版本控制应用于应用程序,以创建持久化数据版本而无需显式数据移动?
  • RQ3哪些优化技术可将NVM持久化检查点中缓存刷新的性能开销降至最低?
  • RQ4纯软件方法能否在无需操作系统或硬件支持的情况下实现低运行时开销,同时确保数据一致性?
  • RQ5在多大程度上可利用NVM实现频繁、低开销的数据持久化,以最小化重新计算并提升HPC系统的弹性?

主要发现

  • 所提出的原地版本控制技术通过利用应用程序写操作直接在NVM中更新数据,消除了检查点中的数据复制。
  • 通过采用SIMD-based非临时指令和并行缓存刷新等优化技术,持久化检查点的平均运行时开销降低至4.4%。
  • 即使在NVM性能表现乐观的假设下,传统NVM检查点机制仍因数据复制导致高达46%的开销,凸显了避让数据复制技术的必要性。
  • 主动缓存刷新策略确保了缓存与NVM之间的数据一致性,但因缺乏对脏块的跟踪而带来一定成本。
  • 该方法通过实现频繁的数据持久化并仅带来极小的性能影响,显著提升了系统弹性,大幅减少了故障后的重新计算。
  • 该方案无需操作系统的修改或硬件支持,使其在现有HPC环境中具有实际部署可行性。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

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