dash · research · also Dash-EH, Dash-LH

Dash persistent hashing

Dash is a persistent-memory hashing design that combines fingerprints, bucket load balancing and optimistic concurrency with deferred segment recovery.

Related Observatory article: Dash persistent hashing on hesela.com

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

related
Cacheline-Conscious Extendible Hashing, Persistent memory, Persistence ordering

Limitations

  • Performance and restart timings depend on the tested implementation, hardware and workload. [1, 2]

Citations

  1. 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. (accessed 2026-11-13)
  2. 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. (accessed 2026-11-13)

Further reading

  1. Hesela: Dash recovery measurement boundaries. (accessed 2026-11-13)
Sources & caveats
  • Source review of the 2020 design and 2021 independent evaluation; no benchmark replication or power-cut experiment.

JSON: /data/terms/dash.json

Published by Hesela team · Updated

Report a correction · Editorial standards · Reuse guidance

Cite this page
Hesela team. Dash persistent hashing. Hesela. 2026-11-13. https://hesela.dev/terms/dash/