skip to main content
research-article

Revisiting Hash Table Design for Phase Change Memory

Published: 20 January 2016 Publication History

Abstract

Phase Change Memory (PCM) is emerging as an attractive alternative to Dynamic Random Access Memory (DRAM) in building data-intensive computing systems. PCM offers read/write performance asymmetry that makes it necessary to revisit the design of in-memory applications. In this paper, we focus on in-memory hash tables, a family of data structures with wide applicability. We evaluate several popular hash-table designs to understand their performance under PCM. We find that for write-heavy workloads the designs that achieve best performance for PCMdiffer from the ones that are best for DRAM, and that designs achieving a high load factor also cause a high number of memory writes. Finally, we propose PFHT, a PCM-Friendly Hash Table which presents a cuckoo hashing variant that is tailored to PCM characteristics, and offers a better trade-off between performance, the amount of writes generated, and the expected load factor than any of the existing DRAMbased implementations.

References

[1]
10 GEN INC. Mongo-DB: Open source document database. http://www.mongodb.org/.
[2]
ASKITIS, N. Fast and Compact Hash Tables for Integer Keys. In ACSC (2009).
[3]
ATIKOGLU, B., XU, Y., FRACHTENBERG, E., JIANG, S., AND PALECZNY, M. Workload analysis of a large-scale keyvalue store. In SIGMETRICS (2012).
[4]
BARROSO, L. A., AND H�LZLE, U. The datacenter as a computer: An introduction to the design of warehouse-scale machines. Synthesis Lectures on Computer Architecture 4, 1 (2009).
[5]
CHANG, F., DEAN, J., GHEMAWAT, S., HSIEH, W. C., WALLACH, D. A., BURROWS, M., CHANDRA, T., FIKES, A., AND GRUBER, R. E. Bigtable: A distributed storage system for structured data. ACM Transactions on Computer Systems (TOCS) 26, 2 (2008), 4.
[6]
CHEN, S., GIBBONS, P. B., AND NATH, S. Rethinking Database Algorithms for Phase Change Memory. In CIDR (2011).
[7]
COBURN, J., CAULFIELD, A.M., AKEL, A., GRUPP, L.M., GUPTA, R. K., JHALA, R., AND SWANSON, S. NVHeaps: Making Persistent Objects Fast and Safe with Next- Generation, Non-Volatile Memories. In ASPLOS (2011).
[8]
CONDIT, J., NIGHTINGALE, E. B., FROST, C., IPEK, E., LEE, B., BURGER, D., AND COETZEE, D. Better I/O Through Byte-Addressable, Persistent Memory. In SOSP (2009).
[9]
CROSBY, S. A., AND WALLACH, D. S. Denial of service via algorithmic complexity attacks. In USENIX Security Symposium (2003).
[10]
DIACONU, C., FREEDMAN, C., ISMERT, E., LARSON, P-A., MITTAL, P., STONECIPHER, R., VERMA, N., AND ZWILLING, M. Hekaton: SQL Server's Memory-Optimized OLTP Engine. In SIGMOD (2013).
[11]
DIETZFELBINGER, M., AND WEIDLING, C. Balanced Allocation and Dictionaries with Tightly Packed Constant Size Bins. Theoretical Computer Science 380, 1-2 (July 2007).
[12]
ERLINGSSON, U., MANASSE, M., AND MCSHERRY, F. A Cool and Practical Alternative to Traditional Hash Tables. In Workshop on Distributed Data and Structures (2006).
[13]
FAL LABS. Tokyo Cabinet: a modern implementation of DBM. http://fallabs.com/tokyocabinet/.
[14]
FAN, B., ANDERSEN, D. G., AND KAMINSKY, M. MemC3: Compact and Concurrent MemCache with Dumber Caching and Smarter Hashing. In NSDI (2013).
[15]
FITZPATRICK, B. Distributed Caching with Memcached. LINUX Journal 124 (Aug 2004).
[16]
FOTAKIS, D., PAGH, R., SANDERS, P., AND SPIRAKIS, P. Space Efficient Hash Tables With Worst Case Constant Access Time. In STACS (2003).
[17]
HERLIHY, M., SHAVIT, N., AND TZAFRIR, M. Hopscotch Hashing. In DISC (2008).
[18]
KALLMAN, R., KIMURA, H., NATKINS, J., PAVLO, A., RASIN, A., ZDONIK, S., JONES, E. P., MADDEN, S., STONEBRAKER, M., ZHANG, Y., ET AL. H-store: a highperformance, distributed main memory transaction processing system. Proceedings of the VLDB Endowment 1, 2 (2008).
[19]
KIM, H., SESHADRI, S., DICKEY, C. L., AND CHIU, L. Evaluating phase change memory for enterprise storage systems: a study of caching and tiering approaches. In FAST (2014).
[20]
KIRSCH, A., AND MITZENMACHER, M. The Power of One Move: Hashing Schemes for Hardware. Transactions on Networking 18, 6 (Dec 2010).
[21]
KIRSCH, A., MITZENMACHER,M., AND WIEDER, U. More Robust Hashing: Cuckoo Hashing with a Stash. SIAM Journal of Computing 39, 4 (Dec. 2009).
[22]
KNUTH, D. The Art of Computer Programming, Volume 3: (2nd Edition) Sorting and Searching. Addison Wesley Longman Publishing Co., Inc., 1998.
[23]
LAKSHMAN, A., AND MALIK, P. Cassandra: a decentralized structured storage system. ACM SIGOPS Operating Systems Review 44, 2 (2010), 35--40.
[24]
LI, X., ANDERSEN, D. G., KAMINSKY, M., AND FREEDMAN, M. J. Algorithmic Improvements for Fast Concurrent Cuckoo Hashing. In EuroSys (2014).
[25]
LIM, H., FAN, B., ANDERSEN, D., AND KAMINSKY, M. SILT: A Memory-Efficient, High-Performance Key-Value Store. In SOSP (2011).
[26]
MERRIMAN, D. A., AND O'CONNOR, K. J. Method of delivery, targeting, and measuring advertising over networks, Sept. 7 1999. US Patent 5,948,061.
[27]
NISHTALA, R., FUGAL, H., GRIMM, S., KWIATKOWSKI, M., LEE, H., LI, H. C., MCELROY, R., PALECZNY, M., PEEK, D., SAAB, P., ET AL. Scaling memcache at facebook. In NSDI (2013).
[28]
PAGH, R., AND RODLER, F. Cuckoo Hashing. Journal of Algorithms 51, 2 (May 2004).
[29]
PANIGRAHY, R. Efficient Hashing with Lookups in Two Memory Accesses. In SODA (2005).
[30]
QURESHI, M. K., KARIDIS, J., FRANCESCHINI, M., SRINIVASAN, V., LASTRAS, L., AND ABALI, B. Enhancing lifetime and security of pcm-based main memory with start-gap wear leveling. In ISCA (2009).
[31]
ROSS, K. A. Efficient Hash Probes on Modern Processors. In ICDE (2007).
[32]
SPOTIFY INC. New open source key-value store: sparkey. http://labs.spotify.com/2013/09/03/sparkey/.
[33]
VENKATARAMAN, S., TOLIA, N., RANGANATHAN, P., AND CAMPBELL, R. H. Consistent and Durable Data Structures for Non-Volatile Byte-Addressable Memory. In FAST (2011).
[34]
VIGLAS, S. D. Write-limited sorts and joins for persistent memory. Proceedings of the VLDB Endowment 7, 5 (2014).
[35]
VOLOS, H., TACK, A. J., AND SWIFT, M. M. Mnemosyne: Lightweight Persistent Memory. In ASPLOS (2011).
[36]
ZUKOWSKI, M., H�EMAN, S., AND BONCZ, P. Architecture- Conscious hashing. In Workshop on Data Management on New Hardware (Damon) (2006).

Cited By

View all
  • (2024)A survey on persistent memory indexes: Recent advances, challenges and opportunitiesJournal of Systems Architecture10.1016/j.sysarc.2024.103140(103140)Online publication date: Apr-2024
  • (2024)A read-efficient and write-optimized hash table for Intel Optane DC Persistent MemoryFuture Generation Computer Systems10.1016/j.future.2024.06.028161(49-65)Online publication date: Dec-2024
  • (2024)A quantitative evaluation of persistent memory hash indexesThe VLDB Journal — The International Journal on Very Large Data Bases10.1007/s00778-023-00812-133:2(375-397)Online publication date: 1-Mar-2024
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM SIGOPS Operating Systems Review
ACM SIGOPS Operating Systems Review  Volume 49, Issue 2
Special Topics
December 2015
79 pages
ISSN:0163-5980
DOI:10.1145/2883591
Issue’s Table of Contents

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 January 2016
Published in SIGOPS Volume 49, Issue 2

Check for updates

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)25
  • Downloads (Last 6 weeks)3
Reflects downloads up to 17 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)A survey on persistent memory indexes: Recent advances, challenges and opportunitiesJournal of Systems Architecture10.1016/j.sysarc.2024.103140(103140)Online publication date: Apr-2024
  • (2024)A read-efficient and write-optimized hash table for Intel Optane DC Persistent MemoryFuture Generation Computer Systems10.1016/j.future.2024.06.028161(49-65)Online publication date: Dec-2024
  • (2024)A quantitative evaluation of persistent memory hash indexesThe VLDB Journal — The International Journal on Very Large Data Bases10.1007/s00778-023-00812-133:2(375-397)Online publication date: 1-Mar-2024
  • (2023)ESH: Design and Implementation of an Optimal Hashing Scheme for Persistent MemoryApplied Sciences10.3390/app13201152813:20(11528)Online publication date: 20-Oct-2023
  • (2023)NEHASH: high-concurrency extendible hashing for non-volatile memoryNEHASH:面向非易失性内存的高并发可扩展哈希Frontiers of Information Technology & Electronic Engineering10.1631/FITEE.220046224:5(703-715)Online publication date: 2-Jun-2023
  • (2023)An LSM Tree Augmented with B+ Tree on Nonvolatile MemoryACM Transactions on Storage10.1145/363347520:1(1-24)Online publication date: 2-Dec-2023
  • (2023)Pea Hash: A Performant Extendible Adaptive Hashing IndexProceedings of the ACM on Management of Data10.1145/35889621:1(1-25)Online publication date: 30-May-2023
  • (2023)Accelerating Persistent Hash Indexes via Reducing Negative Searches2023 IEEE 41st International Conference on Computer Design (ICCD)10.1109/ICCD58817.2023.00035(174-181)Online publication date: 6-Nov-2023
  • (2023)A server bypass architecture for hopscotch hashing key–value store on DRAM-NVM memoriesJournal of Systems Architecture10.1016/j.sysarc.2022.102777134(102777)Online publication date: Jan-2023
  • (2022)REHProceedings of the 2022 Conference & Exhibition on Design, Automation & Test in Europe10.5555/3539845.3540024(742-747)Online publication date: 14-Mar-2022
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media