Copy-on-Write with Adaptive Differential Logging for Persistent Memory

Taeho HWANG  Youjip WON  

Publication
IEICE TRANSACTIONS on Information and Systems   Vol.E102-D   No.12   pp.2451-2460
Publication Date: 2019/12/01
Online ISSN: 1745-1361
DOI: 10.1587/transinf.2019EDP7002
Type of Manuscript: PAPER
Category: Software System
Keyword: 
file system,  persistent memory,  consistency,  COW,  logging,  

Full Text: PDF(593.2KB)>>
Buy this Article




Summary: 
File systems based on persistent memory deploy Copy-on-Write (COW) or logging to guarantee data consistency. However, COW has a write amplification problem and logging has a double write problem. Both COW and logging increase write traffic on persistent memory. In this work, we present adaptive differential logging and zero-copy logging for persistent memory. Adaptive differential logging applies COW or logging selectively to each block. If the updated size of a block is smaller than or equal to half of the block size, we apply logging to the block. If the updated size of a block is larger than half of the block size, we apply COW to the block. Zero-copy logging treats an user buffer on persistent memory as a redo log. Zero-copy logging does not incur any additional data copy. We implement adaptive differential logging and zero-copy logging on both NOVA and PMFS file systems. Our measurement on real workloads shows that adaptive differential logging and zero-copy logging get 150.6% and 149.2% performance improvement over COW, respectively.