HashMem: PIM-based Hashmap Accelerator
Akhil Shekar, Morteza Baradaran, Sabiha Tajdari, Kevin Skadron

TL;DR
HashMem is a PIM-based hash map accelerator that significantly reduces bucket traversal time by leveraging in-memory processing at the subarray level, achieving substantial speedups over traditional implementations.
Contribution
The paper introduces HashMem, a novel PIM architecture for hashmaps that performs bucket traversals within DRAM, improving performance and efficiency.
Findings
Achieves up to 49.1x speedup over C++ map
Reduces bucket traversal time significantly
Demonstrates effectiveness of in-memory processing for hashmaps
Abstract
Hashmaps are widely utilized data structures in many applications to perform a probe on key-value pairs. However, their performance tends to degrade with the increase in the dataset size, which leads to expensive off-chip memory accesses to perform bucket traversals associated with hash collision. In this work, we propose HashMem, a processing-in-memory (PIM) architecture designed to perform bucket traversals along the row buffers at the subarray level. Due to the inherent parallelism achieved with many concurrent subarray accesses and the massive bandwidth available within DRAM, the execution time related to bucket traversals is significantly reduced. We have evaluated two versions of HashMem, performance-optimized and area-optimized, which have a speedup of 49.1x/17.1x and 9.2x/3.2x over standard C++ map and hyper-optimized hopscotch map implementations, respectively.
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsDistributed systems and fault tolerance · Advanced Data Storage Technologies · Parallel Computing and Optimization Techniques
