TL;DR
PtrHash introduces a high-throughput minimal perfect hash function optimized for large datasets, achieving fast construction and query speeds with minimal memory usage, suitable for streaming queries and billions of keys.
Contribution
It presents a novel MPHF design that prioritizes query throughput, supports streaming queries, and efficiently handles over a billion keys with minimal memory overhead.
Findings
Achieves 2.1x faster queries than existing methods.
Supports streaming queries with 3.3x speedup.
Uses only 2.0 bits per key for large datasets.
Abstract
Given a set of keys, a minimal perfect hash function (MPHF) is a collision-free bijective map from to . This work presents a (minimal) perfect hash function that first prioritizes query throughput, while also allowing efficient construction for or more elements using 2.4 bits of memory per key. Both PTHash and PHOBIC first map all keys to buckets. Then, each bucket stores a pilot that controls the final hash value of the keys mapping to it. PtrHash builds on this by using 1) fixed-width (uncompressed) 8-bit pilots, 2) a construction algorithm similar to cuckoo-hashing to find suitable pilot values. Further, it 3) uses the same number of buckets and slots for each part, with 4) a single remap table to map intermediate positions to , 5) encoded using per-cacheline Elias-Fano coding. Lastly, 6)…
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.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
