Skip to main content

PFtree: Optimizing Persistent Adaptive Radix Tree for PM Systems on eADR Platform

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

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 13943))

Included in the following conference series:

  • 2648 Accesses

Abstract

Persistent memory (PM) provides byte-addressability, low latency as well as data persistence. Recently, a new feature called eADR is available on the 3rd generation Intel Xeon Scalable Processors with the 2nd generation Intel Optane PM. eADR ensures that data stored within the CPU caches will be flushed to PM upon the power failure.

In the eADR platform, previous PM-based work suffered more read/write amplification and random access problems, and memory allocations on PM are still expensive. The persistence ways on the eADR platform are still unclear. Therefore, we propose PFtree (PM Line Accesses Friendly Adaptive Radix Tree), a persistent index optimized for the eADR platform. PFtree reduces PM line access with two optimizations: stores key-value pair in leaf array directly to reduce pointer chasing and stores necessary metadata with key-value pair closely and auxiliary metadata in DRAM. PFtree reduces memory allocations in critical paths by allocating bulk memory when creating a leaf array. Then, we design an adaptive persistence way based on data block size for PFtree to fully use PM bandwidth. Experimental results show that our proposed PFtree outperforms the radix tree by up to 1.2\(\times \) and B+-Trees by 1.1−7\(\times \) throughput, respectively, with multi-threads.

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

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. Arulraj, J., Levandoski, J., Minhas, U.F., Larson, P.A.: BzTree: a high-performance latch-free range index for non-volatile memory. Proc. VLDB Endow. 11(5), 553–565 (2018)

    Article  Google Scholar 

  2. Chen, S., Jin, Q.: Persistent B+-trees in non-volatile main memory. Proc. VLDB Endow. 8(7), 786–797 (2015)

    Article  Google Scholar 

  3. Chen, Y., Lu, Y., Fang, K., Wang, Q., Shu, J.: uTree: a persistent B+-tree with low tail latency. Proc. VLDB Endow. 13(12), 2634–2648 (2020)

    Article  Google Scholar 

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

  5. Chen, Z., Hua, Y., Ding, B., Zuo, P.: Lock-free concurrent level hashing for persistent memory. In: 2020 USENIX Annual Technical Conference (USENIX ATC 2020), pp. 799–812 (2020)

    Google Scholar 

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

  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\(\}\) 2018), pp. 187–200 (2018)

    Google Scholar 

  8. Intel: Intel optane dc persistent memory module. https://www.intel.com/content/ www/us/en/architecture-and-technology/optane-dc-persistent-memory.html

  9. Intel: Deprecating the pcommit instruction (2016). https://software.intel.com/content/www/us/en/develop/blogs/deprecat-epcommit-instruction.html

  10. Intel: eADR: new opportunities for persistent memory applications (2021). https://www.intel.com/content/ www/us/en/developer/articles/technical/eadr-new-opportunities-for-persistent-memory-applications.html

  11. Kim, W.H., Krishnan, R.M., Fu, X., Kashyap, S., Min, C.: PacTree: a high performance persistent range index using PAC guidelines. In: Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles, pp. 424–439 (2021)

    Google Scholar 

  12. Krishnan, R.M., et al.: \(\{\)TIPS\(\}\): making volatile index structures persistent with \(\{\)DRAM-NVMM\(\}\) tiering. In: 2021 USENIX Annual Technical Conference (USENIX ATC 2021), pp. 773–787 (2021)

    Google Scholar 

  13. Lee, S.K., Mohan, J., Kashyap, S., Kim, T., Chidambaram, V.: RECIPE: converting concurrent dram indexes to persistent-memory indexes. In: Proceedings of the 27th ACM Symposium on Operating Systems Principles, pp. 462–477 (2019)

    Google Scholar 

  14. Leis, V., Kemper, A., Neumann, T.: The adaptive radix tree: artful indexing for main-memory databases. In: 2013 IEEE 29th International Conference on Data Engineering (ICDE), pp. 38–49. IEEE (2013)

    Google Scholar 

  15. Lepers, B., Balmau, O., Gupta, K., Zwaenepoel, W.: KVell: the design and implementation of a fast persistent key-value store. In: Proceedings of the 27th ACM Symposium on Operating Systems Principles, pp. 447–461 (2019)

    Google Scholar 

  16. Liu, J., Chen, S., Wang, L.: LB+ trees: optimizing persistent index performance on 3DXPoint memory. Proc. VLDB Endow. 13(7), 1078–1090 (2020)

    Article  Google Scholar 

  17. Liu, M., Xing, J., Chen, K., Wu, Y.: Building scalable NVM-based B+ tree with HTM. In: Proceedings of the 48th International Conference on Parallel Processing, pp. 1–10 (2019)

    Google Scholar 

  18. Ma, S., et al.: \(\{\)ROART\(\}\): range-query optimized persistent \(\{\)ART\(\}\). In: 19th \(\{\)USENIX\(\}\) Conference on File and Storage Technologies (\(\{\)FAST\(\}\) 21), pp. 1–16 (2021)

    Google Scholar 

  19. 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 (2016)

    Google Scholar 

  20. Venkataraman, S., Tolia, N., Ranganathan, P., Campbell, R.H.: Consistent and durable data structures for \(\{\)Non-Volatile\(\}\)\(\{\)Byte-Addressable\(\}\) memory. In: 9th USENIX Conference on File and Storage Technologies (FAST 2011) (2011)

    Google Scholar 

  21. 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 2017), pp. 349–362 (2017)

    Google Scholar 

  22. 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 2015), pp. 167–181 (2015)

    Google Scholar 

Download references

Acknowledgements

This research is supported in part by the National Key Research and Development Program of China (2021YFC3300600).

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Jie Wu .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2023 The Author(s), under exclusive license to Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

Cite this paper

Zhang, R. et al. (2023). PFtree: Optimizing Persistent Adaptive Radix Tree for PM Systems on eADR Platform. In: Wang, X., et al. Database Systems for Advanced Applications. DASFAA 2023. Lecture Notes in Computer Science, vol 13943. Springer, Cham. https://doi.org/10.1007/978-3-031-30637-2_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-031-30637-2_4

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-031-30636-5

  • Online ISBN: 978-3-031-30637-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics