skip to main content
research-article

LB+Trees: optimizing persistent index performance on 3DXPoint memory

Authors Info & Claims
Published:01 March 2020Publication History
Skip Abstract Section

Abstract

3DXPoint memory is the first commercially available NVM solution targeting mainstream computer systems. While 3DXPoint conforms to many assumptions about NVM in previous studies, we observe a number of distinctive features of 3DXPoint. For example, the number of modified words in a cache line does not affect the performance of 3DXPoint writes. This enables a new type of optimization: performing more NVM word writes per line in order to reduce the number of NVM line writes. We propose LB+-Tree, a persistent B+-Tree index optimized for 3DXPoint memory. LB+-Tree nodes are 256B or a multiple of 256B, as 256B is the internal data access size in 3DXPoint memory. We propose three techniques to improve LB+-Tree's insertion performance: (i) Entry moving, which reduces the number of NVM line writes for insertions by creating empty slots in the first line of a leaf node; (ii) Logless node split, which uses NAW (NVM Atomic Write) to reduce logging overhead; and (iii) Distributed headers, which makes (i) and (ii) effective for multi-256B nodes. Theoretical analysis shows that entry moving reduces the number of NVM line writes per insertion of the traditional design by at least 1.35x in a stable tree. Our micro-benchmark experiments on a real machine equipped with 3DXPoint memory shows that LB+-Tree achieves up to 1.12--2.92x speedups over state-of-the-art NVM optimized B+-Trees for insertions while obtaining similar search and deletion performance. Moreover, we study the benefits of LB+-Tree in two real-world systems: X-Engine, a commercial OLTP storage engine, and Memcached, an open source key-value store. X-Engine and Memcached results confirm our findings in the micro-benchmarks.

References

  1. Intel optane dc persistent memory architecture overview. https://techfieldday.com/video/intel-optane-dc-persistent-memory- architecture-overview/.Google ScholarGoogle Scholar
  2. D. Apalkov, A. Khvalkovskiy, S. Watts, V. Nikitin, X. Tang, D. Lottis, K. Moon, X. Luo, E. Chen, A. Ong, A. Driskill-Smith, and M. Krounbi. Spin-transfer torque magnetic random access memory (STT-MRAM). JETC, 9(2):13:1--13:35, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  3. J. Arulraj, J. J. Levandoski, U. F. Minhas, and P. Larson. Bztree: A high-performance latch-free range index for non-volatile memory. PVLDB, 11(5):553--565, 2018.Google ScholarGoogle Scholar
  4. S. Chen, P. B. Gibbons, and T. C. Mowry. Improving index performance through prefetching. In Proceedings of the 2001 ACM SIGMOD international conference on Management of data, Santa Barbara, CA, USA, May 21-24, 2001, pages 235--246, 2001.Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. S. Chen, P. B. Gibbons, and S. Nath. Rethinking database algorithms for phase change memory. In CIDR 2011, Fifth Biennial Conference on Innovative Data Systems Research, Asilomar, CA, USA, January 9-12, 2011, Online Proceedings, pages 21--31, 2011.Google ScholarGoogle Scholar
  6. S. Chen and Q. Jin. Persistent b+-trees in non-volatile main memory. PVLDB, 8(7):786--797, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. S. Cho and H. Lee. Flip-n-write: a simple deterministic technique to improve PRAM write performance, energy and endurance. In 42st Annual IEEE/ACM International Symposium on Microarchitecture (MICRO-42 2009), December 12-16, 2009, New York, New York, USA, pages 347--357, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. C. Lee, D. Burger, and D. Coetzee. Better I/O through byte-addressable, persistent memory. In Proceedings of the 22nd ACM Symposium on Operating Systems Principles 2009, SOSP 2009, Big Sky, Montana, USA, October 11-14, 2009, pages 133--146, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. D. B. Dgien, P. M. Palangappa, N. A. Hunter, J. Li, and K. Mohanram. Compression architecture for bit-write reduction in non-volatile memory technologies. In IEEE/ACM International Symposium on Nanoscale Architectures, NANOARCH 2014, Paris, France, July 8-10, 2014, pages 51--56, 2014.Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. D. H. Graham. Intel optane technology products - what's available and what's coming soon. https://software.intel.com/en-us/articles/3d-xpointtechnology-products.Google ScholarGoogle Scholar
  11. Y. Guo, Y. Hua, and P. Zuo. DFPC: A dynamic frequent pattern compression scheme in nvm-based main memory. In 2018 Design, Automation & Test in Europe Conference & Exhibition, DATE 2018, Dresden, Germany, March 19-23, 2018, pages 1622--1627, 2018.Google ScholarGoogle ScholarCross RefCross Ref
  12. G. Huang, X. Cheng, J. Wang, Y. Wang, D. He, T. Zhang, F. Li, S. Wang, W. Cao, and Q. Li. X-engine: An optimized storage engine for large-scale e-commerce transaction processing. In Proceedings of the 2019 International Conference on Management of Data, SIGMOD Conference 2019, Amsterdam, The Netherlands, June 30 - July 5, 2019., pages 651--665, 2019.Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. J. Izraelevitz, J. Yang, L. Zhang, J. Kim, X. Liu, A. Memaripour, Y. J. Soh, Z. Wang, Y. Xu, S. R. Dulloor, J. Zhao, and S. Swanson. Basic performance measurements of the intel optane DC persistent memory module. CoRR, abs/1903.05714, 2019.Google ScholarGoogle Scholar
  14. T. Johnson and D. E. Shasha. Utilization of b-trees with inserts, deletes and modifies. In Proceedings of the Eighth ACM SIGACT-SIGMOD-SIGART Symposium on Principles of Database Systems, March 29-31, 1989, Philadelphia, Pennsylvania, USA, pages 235--246, 1989.Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. J. Liu and S. Chen. Initial experience with 3d xpoint main memory. In 35th IEEE International Conference on Data Engineering Workshops, ICDE Workshops 2019, Macao, China, April 8-12, 2019, pages 300--305, 2019.Google ScholarGoogle ScholarCross RefCross Ref
  16. Memcached. http://memcached.org/.Google ScholarGoogle Scholar
  17. C. Mohan, D. Haderle, B. G. Lindsay, H. Pirahesh, and P. M. Schwarz. ARIES: A transaction recovery method supporting fine-granularity locking and partial rollbacks using write-ahead logging. ACM Trans. Database Syst., 17(1):94--162, 1992.Google ScholarGoogle ScholarDigital LibraryDigital Library
  18. I. Oukid, J. Lasperas, A. Nica, T. Willhalm, and W. Lehner. 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, SIGMOD Conference 2016, San Francisco, CA, USA, June 26 - July 01, 2016, pages 371--386, 2016.Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. Rao and K. A. Ross. Making b+-trees cache conscious in main memory. In Proceedings of the 2000 ACM SIGMOD International Conference on Management of Data, May 16-18, 2000, Dallas, Texas, USA., pages 475--486, 2000.Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. S. Raoux, G. W. Burr, M. J. Breitwisch, C. T. Rettner, Y. Chen, R. M. Shelby, M. Salinga, D. Krebs, S. Chen, H. Lung, and C. H. Lam. Phase-change random access memory: A scalable technology. IBM Journal of Research and Development, 52(4-5):465--480, 2008.Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. A. F. Webster and S. E. Tavares. On the design of s-boxes. In Advances in Cryptology - CRYPTO '85, Santa Barbara, California, USA, August 18-22, 1985, Proceedings, pages 523--534, 1985.Google ScholarGoogle Scholar
  22. B. Yang, J. Lee, J. Kim, J. Cho, S. Lee, and B. Yu. A low power phase-change random access memory using a data-comparison write scheme. In International Symposium on Circuits and Systems (ISCAS 2007), 27-20 May 2007, New Orleans, Louisiana, USA, pages 3014--3017, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  23. J. J. Yang and R. S. Williams. Memristive devices in computing system: Promises and challenges. JETC, 9(2):11:1--11:20, 2013.Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. V. Young, P. J. Nair, and M. K. Qureshi. DEUCE: write-efficient encryption for non-volatile memories. In Proceedings of the Twentieth International Conference on Architectural Support for Programming Languages and Operating Systems, ASPLOS '15, Istanbul, Turkey, March 14-18, 2015, pages 33--44, 2015.Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. P. Zhou, B. Zhao, J. Yang, and Y. Zhang. A durable and energy efficient main memory using phase change memory technology. In 36th International Symposium on Computer Architecture (ISCA 2009), June 20-24, 2009, Austin, TX, USA, pages 14--23, 2009.Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. LB+Trees: optimizing persistent index performance on 3DXPoint memory
    Index terms have been assigned to the content through auto-classification.

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in

    Full Access

    • Published in

      cover image Proceedings of the VLDB Endowment
      Proceedings of the VLDB Endowment  Volume 13, Issue 7
      March 2020
      194 pages
      ISSN:2150-8097
      Issue’s Table of Contents

      Publisher

      VLDB Endowment

      Publication History

      • Published: 1 March 2020
      Published in pvldb Volume 13, Issue 7

      Qualifiers

      • research-article

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader