NVHT: an efficient key-value storage library for non-volatile memory.

Jie Zhou,Yanyan Shen,Sumin Li,Linpeng Huang
DOI: https://doi.org/10.1145/3006299.3006318
2016-01-01
Abstract:Modern Non-Volatile Memory (NVM) promises persistence, byte-addressability and DRAM-like read and write latency, which offers great opportunities for big data storage architecture. These excellent properties indicate that NVM has the potential to be incorporated with key-value stores to achieve high performance and durability simultaneously. In this paper, we propose an efficient key-value storage library named NVHT for NVM. NVHT provides APIs to facilitate the development of NVM-based key-value stores where data can be stored and processed in NVM inherently. The core structure of NVHT is a hash table with NVM-optimized metadata design. In NVHT, we introduce non-volatile pointer to solve the dynamic address mapping problem and develop a simple yet efficient memory allocator called pointer-free buddy allocator. NVHT guarantees consistency using a log-based mechanism. The experimental results show that NVHT achieves 1.3x-4x speedup for insert operation and 4x-5x speedup for search operation, compared with two advanced key-value stores, LevelDB and Berke-leyDB running on DRAM-based file system.
What problem does this paper attempt to address?