SplitKV: Splitting IO Paths for Different Sized Key-Value Items with Advanced Storage Devices

Authors: 

Shukai Han, Dejun Jiang, and Jin Xiong, SKL Computer Architecture, ICT, CAS, University of Chinese Academy of Science

Abstract: 

Modern advanced storage devices, such as modern NVMe SSD and non-volatile memory based persistent memory (PM), provide different access features when data size varies. Existing key-value stores adopt unified IO path for all key-value items, which cannot fully exploit the advantages of different advanced storage devices. In this paper, we propose to split IO paths for different sized key-value items. We let small key-value items be written directly to PM and then migrated to SSD. Meanwhile, large key-value items are directly written to SSD. We present and discuss design choices towards challenging issues of splitting IO paths. We build SplitKV, a key-value store prototype to show the benefits of splitting IO paths. The preliminary results show SplitKV outperforms RocksDB, KVell, and NoveLSM under small large KV mixed workloads.

Open Access Media

USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.

BibTeX
@inproceedings {254278,
author = {Shukai Han and Dejun Jiang and Jin Xiong},
title = {SplitKV: Splitting {IO} Paths for Different Sized Key-Value Items with Advanced Storage Devices},
booktitle = {12th {USENIX} Workshop on Hot Topics in Storage and File Systems (HotStorage 20)},
year = {2020},
url = {https://www.usenix.org/conference/hotstorage20/presentation/han},
publisher = {{USENIX} Association},
month = jul,
}

Presentation Video