bioRxivBioinformaticsPreprint
kache-hash: A dynamic, concurrent, and cache-efficient hash table for streaming k-mer operations
Abstract
MotivationHash tables are fundamental to computational genomics, where keys are often k-mers--fixed-length substrings that exhibit a "streaming" property: consecutive k-mers share k-1 nucleotides and are processed in order. Existing static data structures exploit this locality but cannot support dynamic updates, while state-of-the-art concurrent hash tables support dynamic operations but ignore k-mer locality. ResultsWe introduce kache-hash, the first dynamic, concurrent, and resizable hash table that exploits k-mer locality. kache-hash builds on Iceberg hashing--a multi-level design achieving stability and low associativity--but replaces generic hashing with minimizer-based hashing, ensuring that consecutive k-mers map to the same buckets. This keeps frequently accessed buckets cache-resident during streaming operations. On the human genome, kache-hash achieves 1.58-2.62x higher insertion throughput than IcebergHT and up to 6.1x higher query throughput, while incurring 7.39x fewer cache misses. kache-hash scales near-linearly to 16 threads and supports dynamic resizing without sacrificing locality. Our theoretical analysis proves that streaming k-mer operations achieve [O](1/r) amortized cache misses per operation, where r is the minimizer run length, explaining the substantial performance gains over general-purpose hash tables. Availabilitykache-hash is implemented in C++20 and is available at https://github.com/jamshed/kache-hash. Contactp.pandey@northeastern.edu Supplementary informationSupplementary material are available for this manuscript.
- Citations
- 0
Reproducibility ledger
Nobody has reported trying to reproduce this paper yet. Did you replicate an experiment or run the code? Your report saves the next lab a week.
Sign in to file a reproducibility report.
Related papers
- Optimizing sparse and skew hashing: faster k-mer dictionaries
Giulio Ermanno Pibiri, Rob Patro·BioinformaticsPeer-reviewed·Jul 1, 2026
- Sparse and Skew Hashing of K-Mers
Giulio Ermanno Pibiri·BioinformaticsPeer-reviewed·Apr 14, 2022
- CMash: fast, multi-resolution estimation of k-mer-based Jaccard and containment indices
Shaopeng Liu, David Koslicki·BioinformaticsPeer-reviewed·Apr 14, 2022
- KmerKeys: a web resource for searching indexed genome assemblies and variants
Dmitri S. Pavlichin, HoJoon Lee, … Hanlee P. Ji·Nucleic Acids ResearchPeer-reviewed·Apr 21, 2022
- Hyper-k-mers: efficient streaming k-mers representation
Igor Martayan, Lucas Robidou, … Antoine Limasset·bioRxiv·Nov 6, 2024
- Finimizers: Variable-length bounded-frequency minimizers for k-mer sets
Jarno Alanko, Elena Biagi, Simon J. Puglisi·bioRxiv·Feb 19, 2024