Abstract
Many key-value stores use RDMA to optimize the messaging and data transmission between application layer and storage layer, most of which only provide point-wise operations. Skiplist-based store can support both point operations and range queries, but its CPU-intensive access operations combined with the high-speed network will easily lead to the storage layer reaches CPU bottlenecks. In this paper, we present RS-store, a skiplist-based key-value store with RDMA, which can overcome the cpu handle of the storage layer by enabling two access modes: local access and remote access. In RS-store, we redesign a novel data structure R-skiplist to save the communication cost in remote access, and implement a latch-free concurrency control mechanism to ensure all the concurrency during two access modes. At last, our evaluation on a RDMA-capable cluster shows that the performance of RS-store over R-skiplist is 0.6 \(\times \)–1 \(\times \) higher than the existing skiplist, and it supports application layer’s high scalability.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Leveldb.: In: http://code.google.com/p/Leveldb/
Rocksdb.: In: https://github.com/facebook/rocksdb/
Atikoglu, B., Xu, Y., Frachtenberg, E.: Workload analysis of a large-scale key-value store. In: SIGMETRICS. pp. 53–64 (2012)
Cha, S.K., Hwang, S., Kim, K., Kwon, K.: Cache-conscious concurrency control of main-memory indexes on shared-memory multiprocessor systems. In: 27th International Conference on Very Large Data Bases. pp. 181–190 (2001)
Cooper, B.F., Silberstein, A., Tam, E.: Benchmarking cloud serving systems with YCSB. In: 1st ACM Symposium on Cloud Computing. pp. 143–154 (2010)
Fraser, K.: Practical lock-freedom. Ph.D. thesis, University of Cambridge (2004)
Herlihy, M., Lev, Y., Luchangco, V., Shavit, N.: A simple optimistic skiplist algorithm. In: SIROCCO. pp. 124–138 (2007)
Herlihy, M., Lev, Y., Shavit, N.: Concurrent lock-free skiplist with wait-free contains operator. In: US Patent 7,937,378 (2011)
Jose, J., Subramoni, H., Luo, M.: Memcached design on high performance RDMA capable interconnects. In: ICPP. pp. 743–752 (2011)
Kalia, A., Kaminsky, M., Andersen, D.G.: Using RDMA efficiently for key-value services. In: ACM SIGCOMM 2014 Conference. pp. 295–306 (2014)
Lu, Y., Shu, J., Chen, Y.: Octopus: an rdma-enabled distributed persistent memory file system. In: 2017 USENIX Annual Technical Conference. pp. 773–785 (2017)
Mitchell, C., Geng, Y., Li, J.: Using one-sided RDMA reads to build a fast, cpu-efficient key-value store. In: Annual Technical Conference. pp. 103–114 (2013)
Ousterhout, J.K., Gopalan, A., Gupta, A.: The ramcloud storage system. ACM Trans. Comput. Syst. 33(3), 7:1–7:55 (2015)
Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. In: Workshop on Algorithms & Data Structures. pp. 668–676 (1990)
Pugh, W.: Concurrent maintenance of skip lists (1998)
Shasha, D.E.: Review - efficient locking for concurrent operations on b-trees. ACM SIGMOD Digital Review 1 (1999)
Wang, Y., Zhang, L., Tan, J.: Hydradb: a resilient rdma-driven key-value middleware for in-memory cluster computing. In: SC. pp. 22:1–22:11 (2015)
Acknowledgements
This work is supported by National Key R&D Program of China (2018YFB1003303), National Science Foundation of China under grant number 61772202, Youth Program of National Science Foundation of China under grant number 61702189, Youth Science and Technology - Yang Fan Program of Shanghai under Grant Number 17YF1427800. Thanks to the corresponding author Huiqi Hu.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Huang, C., Hu, H., Qi, X., Zhou, X., Zhou, A. (2020). RS-store: A SkipList-Based Key-Value Store with Remote Direct Memory Access. In: Nah, Y., Cui, B., Lee, SW., Yu, J.X., Moon, YS., Whang, S.E. (eds) Database Systems for Advanced Applications. DASFAA 2020. Lecture Notes in Computer Science(), vol 12112. Springer, Cham. https://doi.org/10.1007/978-3-030-59410-7_22
Download citation
DOI: https://doi.org/10.1007/978-3-030-59410-7_22
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-59409-1
Online ISBN: 978-3-030-59410-7
eBook Packages: Mathematics and StatisticsMathematics and Statistics (R0)