  Byte-addressable persistent memory (PM) brings hash tables the potential of
low latency, cheap persistence and instant recovery. The recent advent of Intel
Optane DC Persistent Memory Modules (DCPMM) further accelerates this trend.
Many new hash table designs have been proposed, but most of them were based on
emulation and perform sub-optimally on real PM. They were also piece-wise and
partial solutions that side-step many important properties, in particular good
scalability, high load factor and instant recovery. We present Dash, a holistic
approach to building dynamic and scalable hash tables on real PM hardware with
all the aforementioned properties. Based on Dash, we adapted two popular
dynamic hashing schemes (extendible hashing and linear hashing). On a 24-core
machine with Intel Optane DCPMM, we show that compared to state-of-the-art,
Dash-enabled hash tables can achieve up to ~3.9X higher performance with up to
over 90% load factor and an instant recovery time of 57ms regardless of data
size.
