Failure-Atomic Persistent Memory Updates via JUSTDO Logging

Failure-Atomic Persistent Memory Updates via JUSTDO Logging
复制标题

DOI:
10.1145/2954679.2872410
复制
发表时间:
2016-04-01
影响因子:
--
通讯作者:
Kolli, Aasheesh
Kolli, Aasheesh
中科院分区:
其他
文献类型:
--
作者:
Izraelevitz, Joseph;Kelly, Terence;Kolli, Aasheesh

文献摘要

被引文献

相似文献

永久内存通过加载和存储指令邀请应用程序操作永久数据。由于更新期间的故障可能会破坏瞬时数据(例如,在CPU寄存器中),因此在出现故障时保持数据完整性需要故障原子束更新。用于持久存储器的现有故障原子性方法由于日志记录和CPU高速缓存刷新而需要开销。永久缓存可以消除刷新的需要,但传统的日志记录仍然复杂且占用大量内存。给出了JUSTDO日志机制的设计与实现。JUSTDO日志机制是一种新的故障原子化机制,它大大减少了日志的内存占用,简化了日志管理,并支持故障后的快速并行恢复。崩溃注入测试证实,JUSTDO日志记录保留了应用程序数据的完整性,性能评估表明,与一系列数据密集型算法的最先进替代方案相比,它将吞吐量提高了3倍或更多。
Persistent memory invites applications to manipulate persistent data via LOAD and STORE instructions. Because failures during updates may destroy transient data (e.g., in CPU registers), preserving data integrity in the presence of failures requires failure-atomic bundles of updates. Prior failure atomicity approaches for persistent memory entail overheads due to logging and CPU cache flushing. Persistent caches can eliminate the need for flushing, but conventional logging remains complex and memory intensive. We present the design and implementation of JUSTDO logging, a new failure atomicity mechanism that greatly reduces the memory footprint of logs, simplifies log management, and enables fast parallel recovery following failure. Crash-injection tests confirm that JUSTDO logging preserves application data integrity and performance evaluations show that it improves throughput 3x or more compared with a state-of-the-art alternative for a spectrum of data-intensive algorithms.