Skip to main content

High Performance Design for Redis with Fast Event-Driven RDMA RPCs

  • Conference paper
  • First Online:
Book cover 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:

  • 3002 Accesses

Abstract

Redis is a popular key-value store built upon socket interface that remains heavy memory copy overhead within the kernel and considerable CPU overhead to maintain socket connections. The adoption of Remote Direct Memory Access (RDMA) that incorporates outstanding features such as low-latency, high-throughput, and CPU-bypass make it practical to solve the issues. However, RDMA is not readily suitable for integrating into existing key-value stores. It has a low-level programming abstraction and the original design of existing systems is a hurdle to exploit RDMA’s performance benefits. RPCs can provide simple abstract programming interfaces that make it easy to be integrated into existing systems. This paper proposes a fast event-driven RDMA RPC framework named FeRR to promote the performance of Redis. First, we describe our design of FeRR that is based on one-sided RDMA verbs. Second, we propose an efficient request notification mechanism using event-driven model that can decrease the CPU consumption of polling requests. Finally, we introduce a parallel task engine to eschew the bottleneck of the single-threaded execution framework in Redis. Comprehensive experiment shows that our design achieves orders-of-magnitude better throughput than Redis - up to 2.78 million operations per second and ultra-low latency - down to 10 \(\upmu \)s per operator on a single machine.

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. Redis homepage. https://redis.io/

  2. Metreveli, Z., Zeldovich, N., Kaashoek, M.F.: Cphash: a cache-partitioned hash table, vol. 47. ACM (2012)

    Google Scholar 

  3. Jose, J., et al.: Memcached design on high performance RDMA capable interconnects. In: 2011 International Conference on Parallel Processing, pp. 743–752. IEEE (2011)

    Google Scholar 

  4. Mitchell, C., Geng, Y., Li, J.: Using one-sided RDMA reads to build a fast, CPU-efficient key-value store. In: USENIX Annual Technical Conference, pp. 103–114 (2013)

    Google Scholar 

  5. Dragojević, A., Narayanan, D., Castro, M., Hodson, O.: FaRM: fast remote memory. In: 11th USENIX Symposium on Networked Systems Design and Implementation, pp. 401–414 (2014)

    Google Scholar 

  6. Wang, Y., et al.: HydraDB: a resilient RDMA-driven key-value middleware for in-memory cluster computing. In: SC 2015: Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis, pp. 1–11. IEEE (2015)

    Google Scholar 

  7. Kalia, A., Kaminsky, M., Andersen, D.G.: Using RDMA efficiently for key-value services. In: ACM SIGCOMM Computer Communication Review, vol. 44, pp. 295–306. ACM (2014)

    Google Scholar 

  8. Li, B., et al.: KV-direct: high-performance in-memory key-value store with programmable NIC. In: Proceedings of the 26th Symposium on Operating Systems Principles, pp. 137–152. ACM (2017)

    Google Scholar 

  9. Pagh, R., Rodler, F.F.: Cuckoo hashing. J. Algorithms 51(2), 122–144 (2004)

    Google Scholar 

  10. Atikoglu, B., Xu, Y., Frachtenberg, E., Jiang, S., Paleczny, M.: Workload analysis of a large-scale key-value store. In: ACM SIGMETRICS Performance Evaluation Review, vol. 40, pp. 53–64. ACM (2012)

    Google Scholar 

  11. Connect-IB: Architecture for scalable high performance computing whitepaper. https://www.mellanox.com/pdf/whitepapers/IB_Intro_WP_190.pdf/

  12. Memcached homepage. https://memcached.org/

  13. Liu, J., et al.: Design and implementation of MPICH2 over InfiniBand with RDMA support. In: 18th International Parallel and Distributed Processing Symposium, Proceedings, p. 16. IEEE (2004)

    Google Scholar 

  14. Shipman, G.M., Woodall, T.S., Graham, R.L., Maccabe, A.B., Bridges, P.G.: Infiniband scalability in open MPI. In: Proceedings 20th IEEE International Parallel & Distributed Processing Symposium, pp. 10-pp. IEEE (2006)

    Google Scholar 

  15. Lu, X., et al.: High-performance design of Hadoop RPC with RDMA over InfiniBand. In: 2013 42nd International Conference on Parallel Processing, pp. 641–650. IEEE (2013)

    Google Scholar 

  16. Huang, J., et al.: High-performance design of HBase with RDMA over InfiniBand. In: 2012 IEEE 26th International Parallel and Distributed Processing Symposium, pp. 774–785. IEEE (2012)

    Google Scholar 

  17. Lim, H., Han, D., Andersen, D.G., Kaminsky, M.: MICA: a holistic approach to fast in-memory key-value storage. In: 11th USENIX Symposium on Networked Systems Design and Implementation, pp. 429–444 (2014)

    Google Scholar 

  18. Intel DPDK homepage. https://dpdk.org/

  19. Ongaro, D., Rumble, S.M., Stutsman, R., Ousterhout, J., Rosenblum, M.: Fast crash recovery in RAMCloud. In: Proceedings of the Twenty-Third ACM Symposium on Operating Systems Principles, pp. 29–41. ACM (2011)

    Google Scholar 

  20. Fan, B., Andersen, D.G., Kaminsky, M.: MemC3: compact and concurrent memcache with dumber caching and smarter hashing. Presented as part of the 10th USENIX Symposium on Networked Systems Design and Implementation, pp. 371–384 (2013)

    Google Scholar 

  21. Cooper, B.F., Silberstein, A., Tam, E., Ramakrishnan, R., Sears, R.: Benchmarking cloud serving systems with YCSB. In: Proceedings of the 1st ACM Symposium on Cloud Computing, pp. 143–154. ACM (2010)

    Google Scholar 

Download references

Acknowledgement

This work was 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, and Youth Science and Technology-Yang Fan Program of Shanghai under Grant Number 17YF1427800.

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

Qi, X., Hu, H., Wei, X., Huang, C., Zhou, X., Zhou, A. (2020). High Performance Design for Redis with Fast Event-Driven RDMA RPCs. 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_12

Download citation

Publish with us

Policies and ethics