Lazy Persistency: A High-Performing and Write-Efficient Software Persistency Technique

Lazy Persistency: A High-Performing and Write-Efficient Software Persistency Technique
复制标题

DOI:
10.1109/isca.2018.00044
复制
发表时间:
2018-06
期刊:
2018 ACM/IEEE 45th Annual International Symposium on Computer Architecture (ISCA)
影响因子:
--
通讯作者:
Mohammad A. Alshboul;James Tuck;Yan Solihin
Mohammad A. Alshboul;James Tuck;Yan Solihin
中科院分区:
其他
文献类型:
--
作者:
Mohammad A. Alshboul;James Tuck;Yan Solihin

文献摘要

被引文献

相似文献

新兴非易失性存储器(NVMs)有望被包括在未来的主存中,提供在主存中持久托管重要数据的机会。然而,实现持久性需要在编写程序时考虑到故障安全。已经提出了许多持久性模型和技术来帮助程序员理解故障安全。它们要求程序员急切地从缓存中刷新数据以使其持久化。急切持久性带来了很大的开销,因为它向程序中添加了许多指令来刷新缓存行,并且在等待数据变得持久的障碍上导致代价高昂的停顿。为了减少这些开销,我们提出了延迟持久化(Lazy persistence, LP),这是一种软件持久化技术,它允许缓存通过自然清除缓慢地将脏块发送到NVMM。使用LP,不会对NVMM进行额外的写操作,不会降低写持久性,也不会因为缓存线刷新和屏障而导致性能下降。使用软件错误检测(校验和)发现持久性故障,系统通过重新计算不一致的结果来恢复故障。我们描述了LP的特性和设计,并演示了如何将其应用于科学计算中广泛使用的基于循环的内核。我们评估LP,并将其与先前工作中最先进的热切持久性技术进行比较。与之相比,LP将执行时间和写入放大开销分别从9%和21%减少到1%和3%。
Emerging Non-Volatile Memories (NVMs) are expected to be included in future main memory, providing the opportunity to host important data persistently in main memory. However, achieving persistency requires that programs be written with failure-safety in mind. Many persistency models and techniques have been proposed to help the programmer reason about failure-safety. They require that the programmer eagerly flush data out of caches to make it persistent. Eager persistency comes with a large overhead because it adds many instructions to the program for flushing cache lines and incurs costly stalls at barriers to wait for data to become durable. To reduce these overheads, we propose Lazy Persistency (LP), a software persistency technique that allows caches to slowly send dirty blocks to the NVMM through natural evictions. With LP, there are no additional writes to NVMM, no decrease in write endurance, and no performance degradation from cache line flushes and barriers. Persistency failures are discovered using software error detection (checksum), and the system recovers from them by recomputing inconsistent results. We describe the properties and design of LP and demonstrate how it can be applied to loop-based kernels popularly used in scientific computing. We evaluate LP and compare it to the state-of-the-art Eager Persistency technique from prior work. Compared to it, LP reduces the execution time and write amplification overheads from 9% and 21% to only 1% and 3%, respectively.