Muninn: a Versioning Key-Value Store using Object-based Storage Model

Appeared in Proceedings of the 7th International Systems and Storage Conference (SYSTOR’14).

Abstract

While non-volatile memory (NVRAM) devices have the potential to alleviate the trade-off between performance, scalability, and energy in storage and memory subsystems, a block interface and storage subsystems designed for slow I/O devices make it difficult to efficiently exploit NVRAMs in a portable and extensible way. We propose an object-based storage model as a way of addressing the shortfalls of the current interfaces. Through the design of Muninn, an object-based versioning key-value store, we demonstrate that an in-device NVRAM management layer can be as efficient as that of NVRAM-aware key-value stores while not requiring host resources or host changes, and enabling tightly-coupled optimizations. As a key-value store, Muninn is designed to achieve better lifetime and low read/write amplification by eliminating internal data movements and per-object metadata updates using Bloom filters and hash functions. By doing so, it achieves as little as 1.5 flash page reads per look up and 0.26 flash page writes per insert on average with 50 million 1 KB key-value pairs without incurring data re-organization. This is close to the minimum number of flash accesses required to read and store the 1 KB key-value pairs, thus increasing performance and lifetime of flash media.

Publication date:
June 2014

Authors:
Yangwook Kang
Thomas Marlette
Ethan L. Miller
Rekha Pitchumani

Projects:
Storage Class Memories

Available media

Full paper text: PDF

Bibtex entry

@inproceedings{kang-systor14,
  author       = {Yangwook Kang and Thomas Marlette and Ethan L. Miller and Rekha Pitchumani},
  title        = {Muninn: a Versioning Key-Value Store using Object-based Storage Model},
  booktitle    = {Proceedings of the 7th International Systems and Storage Conference (SYSTOR’14)},
  month        = jun,
  year         = {2014},
}
Last modified 28 May 2019