skip to main content
10.1145/3006299.3006318acmconferencesArticle/Chapter ViewAbstractPublication PagesbdcatConference Proceedingsconference-collections
research-article

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

Published: 06 December 2016 Publication History

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.

References

[1]
"Memcached: A distributed memory object caching system," https://memcached.org/.
[2]
"Redis," http://redis.io.
[3]
"Memcachedb: A distributed key-value storage system designed for persistent," http://memcachedb.org/.
[4]
"Redis persistence," http://redis.io/topics/persistence.
[5]
M. Hosomi, H. Yamagishi, T. Yamamoto, K. Bessho, Y. Higo, K. Yamane, H. Yamada, M. Shoji, H. Hachino, C. Fukumoto et al., "A novel nonvolatile memory with spin torque transfer magnetization switching: Spin-ram," in International Electron Devices Meeting, 2005, pp. 459--462.
[6]
X. Dong, X. Wu, G. Sun, Y. Xie, H. Li, and Y. Chen, "Circuit and microarchitecture evaluation of 3d stacking magnetic ram (mram) as a universal memory replacement," in Design Automation Conference, 2008. DAC 2008. 45th ACM/IEEE. IEEE, 2008, pp. 554--559.
[7]
S. R. Williams, "How we found the missing memristor," Spectrum, IEEE, vol. 45, no. 12, pp. 28--35, 2008.
[8]
B. C. Lee, P. Zhou, J. Yang, Y. Zhang, B. Zhao, E. Ipek, O. Mutlu, and D. Burger, "Phase-change technology and the future of main memory," IEEE micro, no. 1, pp. 143--143, 2010.
[9]
"Intel, micron reveal xpoint, a new memory architecture that could outclass ddr4 and nand," http://www.extremetech.com/extreme/211087-intel-micron-reveal-xpoint-a-new-memory-architecture-that-claims-to-outclass-both-ddr4-and-nand.
[10]
S. Venkataraman, N. Tolia, P. Ranganathan, R. H. Campbell et al., "Consistent and durable data structures for non-volatile byte-addressable memory." in FAST, vol. 11, 2011, pp. 61--75.
[11]
S. Chen and Q. Jin, "Persistent b+-trees in non-volatile main memory," Proceedings of the VLDB Endowment, vol. 8, no. 7, pp. 786--797, 2015.
[12]
P. Chi, W.-C. Lee, and Y. Xie, "Making b+-tree efficient in pcm-based main memory," in Proceedings of the 2014 international symposium on Low power electronics and design. ACM, 2014, pp. 69--74.
[13]
S. R. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, and J. Jackson, "System software for persistent memory," in Proceedings of the Ninth European Conference on Computer Systems. ACM, 2014, p. 15.
[14]
X. Wu and A. Reddy, "Scmfs: a file system for storage class memory," in Proceedings of 2011 International Conference for High Performance Computing, Networking, Storage and Analysis. ACM, 2011, p. 39.
[15]
J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee, "Better i/o through byte-addressable, persistent memory," in Proceedings of the ACM SIGOPS 22nd symposium on Operating systems principles. ACM, 2009, pp. 133--146.
[16]
G. Graefe, "Hierarchical locking in b-tree indexes." in BTW. Citeseer, 2007, pp. 18--42.
[17]
B. Debnath, A. Haghdoost, A. Kadav, M. G. Khatib, and C. Ungureanu, "Revisiting hash table design for phase change memory," ACM SIGOPS Operating Systems Review, vol. 49, no. 2, pp. 18--26, 2016.
[18]
D. Schwalb, M. Dreseler, M. Uflacker, and H. Plattner, "Nvc-hashmap: A persistent and concurrent hashmap for non-volatile memories," in Proceedings of the 3rd VLDB Workshop on In-Memory Data Mangement and Analytics. ACM, 2015, p. 4.
[19]
H. Volos, A. J. Tack, and M. M. Swift, "Mnemosyne: Lightweight persistent memory," ACM SIGPLAN Notices, vol. 46, no. 3, pp. 91--104, 2011.
[20]
H. Shacham, M. Page, B. Pfaff, E.-J. Goh, N. Modadugu, and D. Boneh, "On the effectiveness of address-space randomization," in Proceedings of the 11th ACM conference on Computer and communications security. ACM, 2004, pp. 298--307.
[21]
G. DeCandia, D. Hastorun, M. Jampani, G. Kakulapati, A. Lakshman, A. Pilchin, S. Sivasubramanian, P. Vosshall, and W. Vogels, "Dynamo: amazon's highly available key-value store," ACM SIGOPS Operating Systems Review, vol. 41, no. 6, pp. 205 220, 2007.
[22]
S. Ghemawat and J. Dean, "Leveldb, a fast and lightweight key/value database library by google," 2014.
[23]
M. A. Olson, K. Bostic, and M. I. Seltzer, "Berkeley db." in USENIX Annual Technical Conference, FREENIX Track, 1999, pp. 183--191.
[24]
J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson, "Nv-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories," 2011.
[25]
A.-R. Adl-Tabatabai, B. T. Lewis, V. Menon, B. R. Murphy, B. Saha, and T. Shpeisman, "Compiler and runtime support for efficient software transactional memory," ACM SIGPLAN Notices, vol. 41, no. 6, pp. 26--37, 2006.
[26]
R. Fang, H.-I. Hsiao, B. He, C. Mohan, and Y. Wang, "High performance database logging using storage class memory," in Data Engineering (ICDE), 2011 IEEE 27th International Conference on. IEEE, 2011, pp. 1221--1231.
[27]
B. Debnath, A. Haghdoost, A. Kadav, M. G. Khatib, and C. Ungureanu, "Revisiting hash table design for phase change memory," in Proceedings of the 3rd Workshop on Interactions of NVM/FLASH with Operating Systems and Workloads. ACM, 2015, p. 1.

Cited By

View all
  • (2021)A Survey of Non-Volatile Main Memory Technologies: State-of-the-Arts, Practices, and Future DirectionsJournal of Computer Science and Technology10.1007/s11390-020-0780-z36:1(4-32)Online publication date: 30-Jan-2021
  • (2018)Hardware supported permission checks on persistent objects for performance and programmabilityProceedings of the 45th Annual International Symposium on Computer Architecture10.1109/ISCA.2018.00046(466-478)Online publication date: 2-Jun-2018
  • (2018)Storage-Aware Network Stack for NVM-Assisted Key-Value Store2018 27th International Conference on Computer Communication and Networks (ICCCN)10.1109/ICCCN.2018.8487330(1-9)Online publication date: Jul-2018

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
BDCAT '16: Proceedings of the 3rd IEEE/ACM International Conference on Big Data Computing, Applications and Technologies
December 2016
373 pages
ISBN:9781450346177
DOI:10.1145/3006299
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 06 December 2016

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. in-memory system
  2. key-value store
  3. non-volatile memory

Qualifiers

  • Research-article

Funding Sources

Conference

UCC '16
Sponsor:

Acceptance Rates

Overall Acceptance Rate 27 of 93 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 05 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2021)A Survey of Non-Volatile Main Memory Technologies: State-of-the-Arts, Practices, and Future DirectionsJournal of Computer Science and Technology10.1007/s11390-020-0780-z36:1(4-32)Online publication date: 30-Jan-2021
  • (2018)Hardware supported permission checks on persistent objects for performance and programmabilityProceedings of the 45th Annual International Symposium on Computer Architecture10.1109/ISCA.2018.00046(466-478)Online publication date: 2-Jun-2018
  • (2018)Storage-Aware Network Stack for NVM-Assisted Key-Value Store2018 27th International Conference on Computer Communication and Networks (ICCCN)10.1109/ICCCN.2018.8487330(1-9)Online publication date: Jul-2018

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media