/CCEH

Primary LanguageC++OtherNOASSERTION

Cacheline-Concious Extendible Hashing (CCEH)

Introduction

Low latency storage media such as byte-addressable persistent memory (PM) requires rethinking of various data structures in terms of optimization. One of the main challenges in implementing hash-based indexing structures on PM is how to achieve efficiency by making effective use of cachelines while guaranteeing failure-atomicity for dynamic hash expansion and shrinkage. In this paper, we present Cacheline-Conscious Extendible Hashing (CCEH) that reduces the overhead of dynamic memory block management while guaranteeing constant hash table lookup time. CCEH guarantees failure-atomicity without making use of explicit logging. Our experiments show that CCEH effectively adapts its size as the demand increases under the fine-grained failure-atomicity constraint and its maximum query latency is an order of magnitude lower compared to the state- of-the-art hashing techniques.

For more details about CCEH, please refer to USENIX FAST 2019 paper - "Write-Optimized Dynamic Hashing for Persistent Memory"

Compilation

git clone https://github.com/DICL/CCEH
cd CCEH
make test 

Contirubtors