High-Performance Remote Data Persisting for Key-Value Stores via Persistent Memory Region
Yongping Luo,Peiquan Jin,Xiaoliang Wang,Zhaole Chu,Kuankuan Guo,Jinhui Guo
DOI: https://doi.org/10.1109/tcad.2024.3442992
IF: 2.9
2024-11-09
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems
Abstract:Key-value stores (KVStores), such as LevelDB and Redis, have been widely used in real-world production environments. To guarantee data durability and availability, traditional KVStores suffer from high write latency, mainly caused by the long network and data-persisting time. To solve this problem, this article presents a novel data-persisting path for KVStores, allowing remote clients to persist data to the KVStore server with -level latency. The novelty of this study is threefold. First, we propose PMRDirect, which utilizes a persistent memory region (PMR) in the NVM express standard to construct a direct data-persisting path from the RDMA networking card (NIC) to the PMR region inside an SSD. Second, to showcase PMRDirect in KVStores, we developed a new accessing stack called PMRAccess, enabling remote clients to access existing KVStores and providing durability for each write request. Specifically, we present a low-latency RDMA-based messaging mode and a chunk-based PMR management in PMRAccess to reduce write latency and improve system throughput. Finally, we conducted extensive experiments to evaluate the performance of our proposals. We first compared PMRDirect with a few remote data-persisting paths to show its effectiveness. Then, we evaluated PMRAccess upon two KVStores, including LibCuckoo (an in-memory KVStore) and LevelDB (an in-storage KVStore). The results showed that PMRAccess outperformed the SSD-based accessing stack by up to in write throughput and in write tail latency, and it achieved higher write throughput and lower write tail latency over the PMEM-based accessing stack. Further, we conducted a system-to-system comparison between the PMRAccess-integrated LibCuckoo and Redis, and the results showed our proposal achieved up to higher throughputs and lower write latency than Redis.
engineering, electrical & electronic,computer science, interdisciplinary applications, hardware & architecture