NVCL: Exploiting NVRAM in Cache-Line Granularity Differential Logging

Emerging byte-addressable non-volatile memory is considered an alternative storage device for persistence guarantee with high performance. In this work, we design NVCL (NVRAM Cache-Line Granularity Logging) and develop it in Redis. The proposed NVCL exploits the cache-line flush granularity of NVRAM to maintain the write-ahead differential log and is able to flush non-continuous dirty cache lines to guarantee persistence. NVCL effectively reduces the size of persistent logs by only flushing updated data in every memory page. We measured the performance on an Intel machine with a 16 GiB non-volatile dual in-line memory module (NVDIMM). Our performance study shows that NVCL can save up to 127× NVRAM writes and shows 84% speedup comparing to Redis append-only-file logging mechanism. NVCL also reduces up to 50% NVRAM writes and achieves 15% speedup over state-of-the-art logging mechanism NVWAL.

[1]  Michael Stonebraker,et al.  The End of an Architectural Era (It's Time for a Complete Rewrite) , 2007, VLDB.

[2]  Jeffrey Katcher,et al.  PostMark: A New File System Benchmark , 1997 .

[3]  Jaemin Jung,et al.  HEAPO: Heap-Based Persistent Object Store , 2014, TOS.

[4]  Youjip Won,et al.  NVWAL: Exploiting NVRAM in Write-Ahead Logging , 2016, ASPLOS.

[5]  Werner Vogels,et al.  Dynamo: amazon's highly available key-value store , 2007, SOSP.

[6]  Subramanya Dulloor,et al.  Let's Talk About Storage & Recovery Methods for Non-Volatile Memory Database Systems , 2015, SIGMOD Conference.

[7]  Jun Yang,et al.  Fine-grained metadata journaling on NVM , 2016, 2016 32nd Symposium on Mass Storage Systems and Technologies (MSST).

[8]  Juan Julián Merelo Guervós,et al.  Is there a free lunch for cloud-based evolutionary algorithms? , 2013, 2013 IEEE Congress on Evolutionary Computation.

[9]  Kihong Kim,et al.  Differential logging: a commutative and associative logging scheme for highly parallel main memory database , 2001, Proceedings 17th International Conference on Data Engineering.

[10]  Song Jiang,et al.  Transparent, Incremental Checkpointing at Kernel Level: a Foundation for Fault Tolerance for Parallel Computers , 2005, ACM/IEEE SC 2005 Conference (SC'05).

[11]  Beng Chin Ooi,et al.  In-Memory Big Data Management and Processing: A Survey , 2015, IEEE Transactions on Knowledge and Data Engineering.

[12]  Min Song,et al.  Analyzing the Political Landscape of 2012 Korean Presidential Election in Twitter , 2014, IEEE Intelligent Systems.

[13]  Xin Yao,et al.  SIMPO , 2018, ACM Trans. Archit. Code Optim..

[14]  Hamid Pirahesh,et al.  A Transaction Model for an Open Publication Environment , 1991, Database Transaction Models for Advanced Applications.

[15]  Michael Stonebraker,et al.  Rethinking main memory OLTP recovery , 2014, 2014 IEEE 30th International Conference on Data Engineering.

[16]  Stratis Viglas,et al.  REWIND: Recovery Write-Ahead System for In-Memory Non-Volatile Data-Structures , 2015, Proc. VLDB Endow..

[17]  Wilson C. Hsieh,et al.  Bigtable: A Distributed Storage System for Structured Data , 2006, TOCS.