Failure-atomic slotted paging for persistent memory

Jihye Seo, Wook Hee Kim, Woongki Baek, Beomseok Nam, Sam H. Noh

Research output: Contribution to journalArticlepeer-review

26 Scopus citations

Abstract

The slotted-page structure is a database page format commonly used for managing variable-length records. In this work, we develop a novel "failure-atomic slotted page structure" for persistent memory that leverages byte addressability and durability of persistent memory to minimize redundant write operations used to maintain consistency in traditional database systems. Failure-atomic slotted paging consists of two key elements: (i) in-place commit per page using hardware transactional memory and (ii) slot header logging that logs the commit mark of each page. The proposed scheme is implemented in SQLite and compared against NVWAL, the current state-of-the-art scheme. Our performance study shows that our failure-atomic slotted paging shows optimal performance for database transactions that insert a single record. For transactions that touch more than one database page, our proposed slot-header logging scheme minimizes the logging overhead by avoiding duplicating pages and logging only the metadata of the dirty pages. Overall, we find that our failure-atomic slotted-page management scheme reduces database logging overhead to 1/6 and improves query response time by up to 33% compared to NVWAL.

Original languageEnglish
Pages (from-to)91-104
Number of pages14
JournalACM SIGPLAN Notices
Volume52
Issue number4
DOIs
StatePublished - 4 Apr 2017
Externally publishedYes

Keywords

  • Database buffer caching
  • Database recovery
  • Non-volatile memory
  • Slotted page structure

Fingerprint

Dive into the research topics of 'Failure-atomic slotted paging for persistent memory'. Together they form a unique fingerprint.

Cite this