TY - GEN
T1 - Fine-Grain Checkpointing with In-Cache-Line Logging
AU - Cohen, Nachshon
AU - Aksun, David T.
AU - Avni, Hillel
AU - Larus, James R.
N1 - Publisher Copyright:
© 2019 Association for Computing Machinery.
PY - 2019/4/4
Y1 - 2019/4/4
N2 - 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.
AB - 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.
KW - InCLL
KW - NVM
KW - durable data structures
KW - fine-grain checkpointing
KW - in-cache-line logging
KW - non-volatile memory
UR - http://www.scopus.com/inward/record.url?scp=85064695873&partnerID=8YFLogxK
U2 - 10.1145/3297858.3304046
DO - 10.1145/3297858.3304046
M3 - Conference contribution
AN - SCOPUS:85064695873
T3 - International Conference on Architectural Support for Programming Languages and Operating Systems - ASPLOS
SP - 441
EP - 454
BT - ASPLOS 2019 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems
PB - Association for Computing Machinery
T2 - 24th International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS 2019
Y2 - 13 April 2019 through 17 April 2019
ER -