Skip to main content

RS-store: A SkipList-Based Key-Value Store with Remote Direct Memory Access

  • Conference paper
  • First Online:
Database Systems for Advanced Applications (DASFAA 2020)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 12112))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

References

  1. Leveldb.: In: http://code.google.com/p/Leveldb/

  2. Rocksdb.: In: https://github.com/facebook/rocksdb/

  3. Atikoglu, B., Xu, Y., Frachtenberg, E.: Workload analysis of a large-scale key-value store. In: SIGMETRICS. pp. 53–64 (2012)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. Cooper, B.F., Silberstein, A., Tam, E.: Benchmarking cloud serving systems with YCSB. In: 1st ACM Symposium on Cloud Computing. pp. 143–154 (2010)

    Google Scholar 

  6. Fraser, K.: Practical lock-freedom. Ph.D. thesis, University of Cambridge (2004)

    Google Scholar 

  7. Herlihy, M., Lev, Y., Luchangco, V., Shavit, N.: A simple optimistic skiplist algorithm. In: SIROCCO. pp. 124–138 (2007)

    Google Scholar 

  8. Herlihy, M., Lev, Y., Shavit, N.: Concurrent lock-free skiplist with wait-free contains operator. In: US Patent 7,937,378 (2011)

    Google Scholar 

  9. Jose, J., Subramoni, H., Luo, M.: Memcached design on high performance RDMA capable interconnects. In: ICPP. pp. 743–752 (2011)

    Google Scholar 

  10. Kalia, A., Kaminsky, M., Andersen, D.G.: Using RDMA efficiently for key-value services. In: ACM SIGCOMM 2014 Conference. pp. 295–306 (2014)

    Google Scholar 

  11. 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)

    Google Scholar 

  12. 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)

    Google Scholar 

  13. Ousterhout, J.K., Gopalan, A., Gupta, A.: The ramcloud storage system. ACM Trans. Comput. Syst. 33(3), 7:1–7:55 (2015)

    Article  Google Scholar 

  14. Pugh, W.: Skip lists: a probabilistic alternative to balanced trees. In: Workshop on Algorithms & Data Structures. pp. 668–676 (1990)

    Google Scholar 

  15. Pugh, W.: Concurrent maintenance of skip lists (1998)

    Google Scholar 

  16. Shasha, D.E.: Review - efficient locking for concurrent operations on b-trees. ACM SIGMOD Digital Review 1 (1999)

    Google Scholar 

  17. 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)

    Google Scholar 

Download references

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

Authors

Corresponding author

Correspondence to Huiqi Hu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2020 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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

Publish with us

Policies and ethics