Non-Volatile Memory offers the possibility of implementing high-performance, durable data structures. However, achieving performance comparable towell-designed data structures in non-persistent (transient) memory is difficult, primarily because of the cost of ensuring the order in which memory writes reach NVM. Often, this requires flushing data to NVM and waiting a full memory round-trip time. In this paper, we introduce two new techniques: Fine- Grained Checkpointing, which ensures a consistent, quickly recoverable data structure in NVM after a system failure, and In-Cache-Line Logging, an undo-logging technique that enables recovery of earlier state without requiring cacheline flushes in the normal case. We implemented these techniques in the Masstree data structure, making it persistent and demonstrating the ease of applying them to a highly optimized system and their low (5.9-15.4%) runtime overhead cost.
CITATION STYLE
Cohen, N., Aksun, D. T., Avni, H., & Larus, J. R. (2019). Fine-Grain Checkpointing with In-Cache-Line Logging. In International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS (pp. 441–454). Association for Computing Machinery. https://doi.org/10.1145/3297858.3304046
Mendeley helps you to discover research relevant for your work.