Abstract: Concurrency is crucial to achieving good performance in the applications of key-value stores. However, concurrent throughput of traditional key-value stores is inherently limited by the necessity to flush data from DRAM to disks. The emerging persistent memory technology incorporates both byte-addressability and low latency like DRAM, and durability like disks. The characteristics of PM can benefit key-value stores by eliminating the flushing overhead. In this paper, we present HyperKV, a key-value store that leverages PM to provide high concurrent throughput. We achieve concurrency and consistency simultaneously through a fine-grained lock-based concurrency control mechanism of skip list coupled with a novel Action-Oriented Redo Logging (ARL) mechanism. Under ARL, only modification intentions are logged, thereby avoiding write amplification. We apply several optimizations including a hash index in DRAM and a concurrent memory allocator to further improve performance. We evaluate HyperKV against state-of-the-art DRAM-based and PM-based key-value stores on Intel Optane DC Persistent Memory Modules. On YCSB workloads, both throughput and multi-thread speedup of HyperKV are significantly improved compared with NoveLSM and LevelDB.
0 Replies
Loading