Fine-Grain Checkpointing with In-Cache-Line Logging

Non-Volatile Memory offers the possibility of implementing high-performance, durable data structures. However, achieving performance comparable to well-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 cache- line 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 op- timized system and their low (5.9-15.4%) runtime overhead cost.


Publié dans:
Proceedings 2019 Architectural Support for Programming Languages and Operating Systems (ASPLOS ’19),
Présenté à:
2019 Architectural Support for Programming Languages and Operating Systems (ASPLOS ’19),, Providence, RI USA, April 13-17
Année
Apr 13 2019
Publisher:
New York, NY USA, ACM
Mots-clefs:
Laboratoires:




 Notice créée le 2019-02-05, modifiée le 2019-06-19

Fichiers:
Télécharger le document
PDF

Évaluer ce document:

Rate this document:
1
2
3
 
(Pas encore évalué)