Steal but no force: Efficient hardware undo+ redo logging for persistent memory systems

MA Ogleari, EL Miller, J Zhao - 2018 IEEE International …, 2018 - ieeexplore.ieee.org
MA Ogleari, EL Miller, J Zhao
2018 IEEE International Symposium on High Performance Computer …, 2018ieeexplore.ieee.org
Persistent memory is a new tier of memory that functions as a hybrid of traditional storage
systems and main memory. It combines the benefits of both: the data persistence of storage
with the fast load/store interface of memory. Most previous persistent memory designs place
careful control over the order of writes arriving at persistent memory. This can prevent
caches and memory controllers from optimizing system performance through write
coalescing and reordering. We identify that such write-order control can be relaxed by …
Persistent memory is a new tier of memory that functions as a hybrid of traditional storage systems and main memory. It combines the benefits of both: the data persistence of storage with the fast load/store interface of memory. Most previous persistent memory designs place careful control over the order of writes arriving at persistent memory. This can prevent caches and memory controllers from optimizing system performance through write coalescing and reordering. We identify that such write-order control can be relaxed by employing undo+redo logging for data in persistent memory systems. However, traditional software logging mechanisms are expensive to adopt in persistent memory due to performance and energy overheads. Previously proposed hardware logging schemes are inefficient and do not fully address the issues in software. To address these challenges, we propose a hardware undo+redo logging scheme which maintains data persistence by leveraging the write-back, write-allocate policies used in commodity caches. Furthermore, we develop a cache force-write-back mechanism in hardware to significantly reduce the performance and energy overheads from forcing data into persistent memory. Our evaluation across persistent memory microbenchmarks and real workloads demonstrates that our design significantly improves system throughput and reduces both dynamic energy and memory traffic. It also provides strong consistency guarantees compared to software approaches.
ieeexplore.ieee.org