Dash persistent hashing
Dash is a persistent-memory hashing design that combines fingerprints, bucket load balancing and optimistic concurrency with deferred segment recovery.
Dash-EH uses extendible hashing, while Dash-LH uses linear hashing. Fingerprints avoid unnecessary key reads; matching candidates still require key comparison. [1]
After a crash, segment repair runs on first access. Version-counter wraparound requires a broader reset. [1]
An independent evaluation times process restart until requests can be served, not full repair of every segment. Process termination does not reproduce power loss. [2]
Relations
Limitations
Citations
- Lu, Hao, Wang and Lo. Dash: Scalable Hashing on Persistent Memory. PVLDB 13(8), 2020, sections 4.2-4.8 and 6.8. DOI: 10.14778/3389133.3389134.
- Hu et al. Persistent Memory Hash Indexes: An Experimental Evaluation. PVLDB 14(5), 2021, sections 3.3 and 4.9. DOI: 10.14778/3446095.3446101.
Further reading
Sources & caveats
- Source review of the 2020 design and 2021 independent evaluation; no benchmark replication or power-cut experiment.