Skip to main content

CANRT: A Client-Active NVM-Based Radix Tree for Fast Remote Access

  • Conference paper
  • First Online:
Algorithms and Architectures for Parallel Processing (ICA3PP 2020)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12452))

  • 1602 Accesses

Abstract

This paper presents the first study of building a remote-accessible persistent radix tree, named CANRT. Unlike prior works that only focus on designing single-node tree structure for non-volatile memory, we focus on optimizing remote access performance for a persistent radix tree while minimizing the persistence overhead. Simply adopting server-reply paradigm will incur heavy server CPU consumption and hence lead to high operation latency under concurrent workloads. Therefore, we design a low-latency node-oriented read mechanism and a fine-grained lock-based write mechanism to minimize the server CPU involvement in the critical path. We also devise a non-blocking resizing scheme in CANRT. The extensive experimental results on commercial Intel Optane DC Persistent Memory platform show that CANRT outperforms the state-of-art server-centric persistent radix trees by 1.19x–1.22x and 1.67x–1.72x in read and write latency, respectively. CANRT also gains improvement of 7.44x–11.15x in terms of concurrent throughput under YCSB workloads.

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. Chen, S., Jin, Q.: Persistent b+-trees in non-volatile main memory. Proc. VLDB Endow. 8(7), 786–797 (2015)

    Article  Google Scholar 

  2. Chen, Y., Lu, Y., Yang, F., Wang, Q., Wang, Y., Shu, J.: Flatstore: an efficient log-structured key-value storage engine for persistent memory. In: Proceedings of the Twenty-Fifth International Conference on Architectural Support for Programming Languages and Operating Systems, pp. 1077–1091 (2020)

    Google Scholar 

  3. Coburn, J., et al.: Nv-heaps: making persistent objects fast and safe with next-generation, non-volatile memories. ACM SIGARCH Comput. Archit. News 39(1), 105–118 (2011)

    Article  Google Scholar 

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

    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 (\(\{\)NSDI\(\}\) 14), pp. 401–414 (2014)

    Google Scholar 

  6. Huang, H., Huang, K., You, L., Huang, L.: Forca: fast and atomic remote direct access to persistent memory, pp. 246–249 (2018). https://doi.org/10.1109/ICCD.2018.00045

  7. Hwang, D., Kim, W.H., Won, Y., Nam, B.: Endurable transient inconsistency in byte-addressable persistent b+-tree. In: 16th \(\{\)USENIX\(\}\) Conference on File and Storage Technologies (\(\{\)FAST\(\}\) 18), pp. 187–200 (2018)

    Google Scholar 

  8. Intel: Intel optane dc persistent memory (2019). https://newsroom.intel.com/news-releases/intel-data-centric-launch/

  9. 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 

  10. Kalia, A., Kaminsky, M., Andersen, D.G.: Design guidelines for high performance \(\{\)RDMA\(\}\) systems. In: 2016 \(\{\)USENIX\(\}\) Annual Technical Conference (\(\{\)USENIX\(\}\)\(\{\)ATC\(\}\) 16), pp. 437–450 (2016)

    Google Scholar 

  11. Kim, W.H., Kim, J., Baek, W., Nam, B., Won, Y.: NVWAL: Exploiting NVRAM in write-ahead logging. ACM SIGPLAN Not. 51(4), 385–398 (2016)

    Article  Google Scholar 

  12. Lee, S.K., Lim, K.H., Song, H., Nam, B., Noh, S.H.: \(\{\)WORT\(\}\): Write optimal radix tree for persistent memory storage systems. In: 15th \(\{\)USENIX\(\}\) Conference on File and Storage Technologies (\(\{\)FAST\(\}\) 17), pp. 257–270 (2017)

    Google Scholar 

  13. Mitchell, C., Geng, Y., Li, J.: Using one-sided \(\{\)RDMA\(\}\) reads to build a fast, CPU-efficient key-value store. In: Presented as part of the 2013 \(\{\)USENIX\(\}\) Annual Technical Conference (\(\{\)USENIX\(\}\)\(\{\)ATC\(\}\) 13), pp. 103–114 (2013)

    Google Scholar 

  14. Oukid, I., Lasperas, J., Nica, A., Willhalm, T., Lehner, W.: FPTree: a hybrid SCM-dram persistent and concurrent b-tree for storage class memory. In: Proceedings of the 2016 International Conference on Management of Data, pp. 371–386. ACM (2016)

    Google Scholar 

  15. Volos, H., Tack, A.J., Swift, M.M.: Mnemosyne: lightweight persistent memory. ACM SIGARCH Comput. Archit. News 39(1), 91–104 (2011)

    Article  Google Scholar 

  16. Wang, K., Alzate, J., Amiri, P.K.: Low-power non-volatile spintronic memory: STT-RAM and beyond. J. Phys. D Appl. Phys. 46(7), 074003 (2013)

    Article  Google Scholar 

  17. Wong, H.S.P., et al.: Phase change memory. Proc. IEEE 98(12), 2201–2227 (2010)

    Article  Google Scholar 

  18. Xia, F., Jiang, D., Xiong, J., Sun, N.: Hikv: a hybrid index key-value store for dram-nvm memory systems. In: 2017 \(\{\)USENIX\(\}\) Annual Technical Conference (\(\{\)USENIX\(\}\)\(\{\)ATC\(\}\) 17), pp. 349–362 (2017)

    Google Scholar 

  19. Yang, J., Wei, Q., Chen, C., Wang, C., Yong, K.L., He, B.: Nv-tree: reducing consistency cost for nvm-based single level systems. In: 13th \(\{\)USENIX\(\}\) Conference on File and Storage Technologies (\(\{\)FAST\(\}\) 15), pp. 167–181 (2015)

    Google Scholar 

  20. Zawodny, J.: Redis: lightweight key/value store that goes the extra mile. Linux Mag. 79(8), 1–10 (2009)

    Google Scholar 

Download references

Acknowledgements

This work is supported by the National Key Research and Development Program of China (No. 2018YFB1003302), SJTU-Huawei Innovation Research Lab Funding, and the China Scholarship Council (No. 201906230180).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Linpeng Huang .

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

Ying, Y., Huang, K., Zheng, S., Tu, Y., Huang, L. (2020). CANRT: A Client-Active NVM-Based Radix Tree for Fast Remote Access. In: Qiu, M. (eds) Algorithms and Architectures for Parallel Processing. ICA3PP 2020. Lecture Notes in Computer Science(), vol 12452. Springer, Cham. https://doi.org/10.1007/978-3-030-60245-1_30

Download citation

Publish with us

Policies and ethics