Title
Blurred Persistence: Efficient Transactions in Persistent Memory
Abstract
Persistent memory provides data durability in main memory and enables memory-level storage systems. To ensure consistency of such storage systems, memory writes need to be transactional and are carefully moved across the boundary between the volatile CPU cache and the persistent main memory. Unfortunately, cache management in the CPU cache is hardware-controlled. Legacy transaction mechanisms, which are designed for disk-based storage systems, are inefficient in ordered data persistence of transactions in persistent memory. In this article, we propose the Blurred Persistence mechanism to reduce the transaction overhead of persistent memory by blurring the volatility-persistence boundary. Blurred Persistence consists of two techniques. First, Execution in Log executes a transaction in the log to eliminate duplicated data copies for execution. It allows persistence of the volatile uncommitted data, which are detectable with reorganized log structure. Second, Volatile Checkpoint with Bulk Persistence allows the committed data to aggressively stay volatile by leveraging the data durability in the log, as long as the commit order across threads is kept. By doing so, it reduces the frequency of forced persistence and improves cache efficiency. Evaluations show that our mechanism improves system performance by 56.3% to 143.7% for a variety of workloads.
Year
DOI
Venue
2016
10.1145/2851504
ACM Transactions on Storage
Keywords
Field
DocType
Design,Performance,Persistent memory,transaction consistency,persistence
Persistent data structure,Central processing unit,Cache pollution,Cache,Computer science,Commit,CPU cache,Parallel computing,Real-time computing,Cache coloring,Database transaction
Journal
Volume
Issue
ISSN
12
1
1553-3077
Citations 
PageRank 
References 
8
0.52
32
Authors
3
Name
Order
Citations
PageRank
Youyou Lu135630.81
Jiwu Shu270972.71
Long Sun3933.49