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.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call