skip to main content
10.1145/2882903.2915251acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections

FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory

Published:14 June 2016Publication History

Editorial Notes

Computationally Replicable. The experimental results of this paper were replicated by a SIGMOD Review Committee and were found to support the central results reported in the paper. Details of the review process are found here

ABSTRACT

The advent of Storage Class Memory (SCM) is driving a rethink of storage systems towards a single-level architecture where memory and storage are merged. In this context, several works have investigated how to design persistent trees in SCM as a fundamental building block for these novel systems. However, these trees are significantly slower than DRAM-based counterparts since trees are latency-sensitive and SCM exhibits higher latencies than DRAM. In this paper we propose a novel hybrid SCM-DRAM persistent and concurrent B-Tree, named Fingerprinting Persistent Tree (FPTree) that achieves similar performance to DRAM-based counterparts. In this novel design, leaf nodes are persisted in SCM while inner nodes are placed in DRAM and rebuilt upon recovery. The FPTree uses Fingerprinting, a technique that limits the expected number of in-leaf probed keys to one. In addition, we propose a hybrid concurrency scheme for the FPTree that is partially based on Hardware Transactional Memory. We conduct a thorough performance evaluation and show that the FPTree outperforms state-of-the-art persistent trees with different SCM latencies by up to a factor of 8.2. Moreover, we show that the FPTree scales very well on a machine with 88 logical cores. Finally, we integrate the evaluated trees in memcached and a prototype database. We show that the FPTree incurs an almost negligible performance overhead over using fully transient data structures, while significantly outperforming other persistent trees.

Skip Supplemental Material Section

Supplemental Material

References

  1. SR. Dulloor. phSystems and Applications for Persistent Memory. PhD Thesis, 2016. https://smartech.gatech.edu/bitstream/handle/1853/54396/DULLOOR-DISSERTATION-2015.pdf.Google ScholarGoogle Scholar
  2. Intel® Architecture Instruction Set Extensions Programming Reference. Technical report, 2015. http://software.intel.com/en-us/intel-isa-extensions.Google ScholarGoogle Scholar
  3. SNIA NVM Programming Model V1.1. Technical report, 2015. http://www.snia.org/sites/default/files/NVMProgrammingModel_v1.1.pdf.Google ScholarGoogle Scholar
  4. 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). ACM J. Emerg. Technol. Comput. Syst., 9(2), 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. J. Arulraj, A. Pavlo, and S. R. Dulloor. Let's talk about storage & recovery methods for non-volatile memory database systems. In ACM SIGMOD, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. G. W. Burr, M. J. Breitwisch, M. Franceschini, D. Garetto, K. Gopalakrishnan, B. Jackson, B. Kurdi, C. Lam, L. A. Lastras, A. Padilla, et al. Phase change memory technology. Journal of Vacuum Science & Technology B, 28(2), 2010.Google ScholarGoogle ScholarCross RefCross Ref
  7. A. Chatzistergiou, M. Cintra, and S. D. Viglas. Rewind: Recovery write-ahead system for in-memory non-volatile data-structures. PVLDB, 8(5), 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. S. Chen, P. B. Gibbons, and S. Nath. Rethinking database algorithms for phase change memory. In CIDR, 2011.Google ScholarGoogle Scholar
  9. S. Chen and Q. Jin. Persistent b+-trees in non-volatile main memory. PVLDB, 8(7), 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. J. Coburn, A. M. Caulfield, A. Akel, L. M. Grupp, R. K. Gupta, R. Jhala, and S. Swanson. Nv-heaps: Making persistent objects fast and safe with next-generation, non-volatile memories. ACM SIGPLAN Not., 47(4), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. J. Condit, E. B. Nightingale, C. Frost, E. Ipek, B. Lee, D. Burger, and D. Coetzee. Better i/o through byte-addressable, persistent memory. In ACM SOSP, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. S. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, R. Sankaran, J. Jackson, and D. Subbareddy. System software for persistent memory. In EuroSys, 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. R. Fang, H.-I. Hsiao, B. He, C. Mohan, and Y. Wang. High performance database logging using storage class memory. In IEEE ICDE, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. G. Graefe. A survey of b-tree locking techniques. ACM Transactions on Database Systems (TODS), 35(3):16, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. G. Graefe. Modern b-tree techniques. Foundations and Trends in Databases, 3(4):203--402, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. G. Graefe and H. Kimura. Orthogonal key-value locking. In BTW, 2015.Google ScholarGoogle Scholar
  17. T. Karnagel, R. Dementiev, R. Rajwar, K. Lai, T. Legler, B. Schlegel, and W. Lehner. Improving in-memory database index performance with intel(®) transactional synchronization extensions. In IEEE HPCA, 2014.Google ScholarGoogle Scholar
  18. H. Kimura. Foedus: Oltp engine for a thousand cores and nvram. In ACM SIGMOD, 2015. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. J. J. Levandoski, D. B. Lomet, and S. Sengupta. The Bw-Tree: A B-tree for new hardware platforms. In IEEE ICDE, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. D. Narayanan and O. Hodson. Whole-system persistence. In ASPLOS XVII, 2012. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. I. Oukid, W. Lehner, T. Kissinger, T. Willhalm, and P. Bumbulis. Instant recovery for main-memory databases. In CIDR, 2015.Google ScholarGoogle Scholar
  22. S. Pelley, T. F. Wenisch, B. T. Gold, and B. Bridge. Storage Management in the NVRAM Era. PVLDB, 7(2), 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  23. J. Rao and K. A. Ross. Making B+- Trees cache conscious in main memory. In ACM SIGMOD. Google ScholarGoogle ScholarDigital LibraryDigital Library
  24. S. Venkataraman, N. Tolia, P. Ranganathan, and R. H. Campbell. Consistent and durable data structures for non-volatile byte-addressable memory. In USENIX FAST, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  25. S. Viglas. Write-limited sorts and joins for persistent memory. PVLDB, 7(5), 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  26. H. Volos, A. J. Tack, and M. M. Swift. Mnemosyne: Lightweight persistent memory. SIGPLAN Not., 47(4), 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. T. Wang and R. Johnson. Scalable logging through emerging non-volatile memory. PVLDB, 7(10), 2014. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. J. Yang, Q. Wei, C. Wang, C. Chen, K. Yong, and B. He. Nv-tree: A consistent and workload-adaptive tree structure for non-volatile memory. IEEE Transactions on Computers, PP(99), 2015.Google ScholarGoogle Scholar
  29. J. J. Yang and R. S. Williams. Memristive devices in computing system: Promises and challenges. ACM J. Emerg. Technol. Comput. Syst., 9(2), 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. Zhao, S. Li, D. H. Yoon, Y. Xie, and N. P. Jouppi. Kiln: Closing the performance gap between systems with and without persistence support. In IEEE/ACM MICRO-46, 2013. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory

            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
            • Published in

              cover image ACM Conferences
              SIGMOD '16: Proceedings of the 2016 International Conference on Management of Data
              June 2016
              2300 pages
              ISBN:9781450335317
              DOI:10.1145/2882903

              Copyright © 2016 ACM

              Publication rights licensed to ACM. ACM acknowledges that this contribution was authored or co-authored by an employee, contractor or affiliate of a national government. As such, the Government retains a nonexclusive, royalty-free right to publish or reproduce this article, or to allow others to do so, for Government purposes only.

              Publisher

              Association for Computing Machinery

              New York, NY, United States

              Publication History

              • Published: 14 June 2016

              Permissions

              Request permissions about this article.

              Request Permissions

              Check for updates

              Qualifiers

              • research-article

              Acceptance Rates

              Overall Acceptance Rate785of4,003submissions,20%

            PDF Format

            View or Download as a PDF file.

            PDF

            eReader

            View online with eReader.

            eReader