Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.1145/3337821.3337827acmotherconferencesArticle/Chapter ViewAbstractPublication PagesicppConference Proceedingsconference-collections
research-article

Building Scalable NVM-based B+tree with HTM

Published: 05 August 2019 Publication History

Abstract

Emerging on-volatile memory (NVM) opens an opportunity to build durable data structures. However, to build a highly efficient complex data structure like B+tree on NVM is not easy. We investigate the essential performance bottleneck for NVM-based B+tree. Even with a single-core CPU, the performance is limited by the atomic-write size which plays an essential role in the trade-off between the persistent overhead and keeping leaf node entries sorted. For the multi-core setting, the overlapping of concurrency and persistency is key to the system scalability.
Based on the analysis, we propose RNTree, a durable NVM-based B+tree using the hardware transactional memory (HTM). Our way of using HTM can actually address both problems mentioned above simultaneously. (1) HTM can use cache-line granularity to provide larger atomic-write size. Based on this, we propose a new slot-array approach which traces the order of entries in the leaf nodes while still reducing the number of persistent instructions. (2) With careful design, RNTree moves slow persistent instructions out of critical sections and proposes the dual slot array design, to extract more concurrency. For single thread, RNTree achieves 1.44×/4.2× higher throughput for single-key operations and range queries respectively. For multiple threads, the throughput of RNTree is 2.3× higher than state-of-the-art works.

References

[1]
J. Izraelevitz, J. Yang, L. Zhang, J. Kim, X. Liu, A. Memaripour, Y.J. Soh, Z. Wang, Y. Xu, S. R. Dulloor et al., "Basic performance measurements of the intel optane dc persistent memory module," arXiv preprint arXiv:1903.05714, 2019.
[2]
M. Liu, M. Zhang, K. Chen, X. Qian, Y. Wu, W. Zheng, and J. Ren, "DudeTM: Building Durable Transactions with Decoupling for Persistent Memory," in Proceedings of the Twenty-Second International Conference on Architectural Support for Programming Languages and Operating Systems. ACM, 2017, pp. 329--343.
[3]
H. Volos, A. J. Tack, and M. M. Swift, "Mnemosyne: Lightweight persistent memory," in ACM SIGARCH Computer Architecture News, vol. 39, no. 1. ACM, 2011, pp. 91--104.
[4]
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 Notices, vol. 46, no. 3, pp. 105--118, 2011.
[5]
E. R. Giles, K. Doshi, and P. Varman, "Softwrap: A lightweight framework for transactional support of storage class memory," in 2015 31st Symposium on Mass Storage Systems and Technologies (MSST). IEEE, 2015, pp. 1--14.
[6]
I. Oukid, J. Lasperas, A. Nica, T. Willhalm, and W. Lehner, "Fptree: A hybrid scmdram persistent and concurrent b-tree for storage class memory," in Proceedings of the 2016 International Conference on Management of Data. ACM, 2016, pp. 371--386.
[7]
S. Chen and Q.Jin, "Persistent b+-trees in non-volatile main memory," Proceedings of the VLDB Endowment, vol. 8, no. 7, pp. 786--797, 2015.
[8]
J. Yang, Q. Wei, C. Chen, C. Wang, K. L. Yong, and B. He, "Nv-tree: reducing consistency cost for nvm-based single level systems," in 13th USENIX Conference on File and Storage Technologies (FAST 15), 2015, pp. 167--181.
[9]
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, 2011, pp. 21--31.
[10]
S. Venkataraman, N. Tolia, P. Ranganathan, R. H. Campbell et al., "Consistent and durable data structures for non-volatile byte-addressable memory." in FAST, vol. 11, 2011, pp. 61--75.
[11]
J. Seo, W.-H. Kim, W. Baek, B. Nam, and S. H. Noh, "Failure-atomic slotted paging for persistent memory," ACM SIGARCH Computer Architecture News, vol. 45, no. 1, pp. 91--104, 2017.
[12]
S. R. Dulloor, S. Kumar, A. Keshavamurthy, P. Lantz, D. Reddy, R. Sankaran, and J.Jackson, "System software for persistent memory," in Proceedings of the Ninth European Conference on Computer Systems. ACM, 2014, p. 15.
[13]
Z. Wang, H. Qian, J. Li, and H. Chen, "Using restricted transactional memory to build a scalable in-memory database," in Proceedings of the Ninth European Conference on Computer Systems. ACM, 2014, p. 26.
[14]
M. Wilcox, "Add support for nv-dimms to ext4," https://lwn.net/Articles/613384/.
[15]
J. Xu, L. Zhang, A. Memaripour, A. Gangadharaiah, A. Borase, T. B. Da Silva, S. Swanson, and A. Rudoff, "Nova-fortis: A fault-tolerant non-volatile main memory file system," in Proceedings of the 26th Symposium on Operating Systems Principles. ACM, 2017, pp. 478--496.
[16]
M. Liu, M. Zhang, K. Chen, X. Qian, Y. Wu, W. Zheng, and J. Ren, "DudeTX: Durable Transactions Made Decoupled," ACM Trans. Storage, vol. 14, no. 1, pp. 7:1--7:28, Apr. 2018. {Online}. Available:
[17]
"Redis," https://redis.io/, 2018.
[18]
B. PostgreSQL, "Postgresql," Web resource: http://www.PostgreSQL.org/about, 1996.
[19]
M. P. Herlihy and J. M. Wing, "Linearizability: A correctness condition for concurrent objects," ACM Transactions on Programming Languages and Systems (TOPLAS), vol. 12, no. 3, pp. 463--492, 1990.
[20]
J. Izraelevitz, H. Mendes, and M. L. Scott, "Linearizability of persistent memory objects under a full-system-crash failure model," in International Symposium on Distributed Computing. Springer, 2016, pp. 313--327.
[21]
Y. Mao, E. Kohler, and R. T. Morris, "Cache craftiness for fast multicore key-value storage," in Proceedings of the 7th ACM european conference on Computer Systems. ACM, 2012, pp. 183--196.
[22]
B. F. Cooper, A. Silberstein, E. Tam, R. Ramakrishnan, and R. Sears, "Benchmarking cloud serving systems with ycsb," in Proceedings of the 1st ACM symposium on Cloud computing. ACM, 2010, pp. 143--154.
[23]
G. K. Zipf, Human behavior and the principle of least effort: An introduction to human ecology. Ravenio Books, 2016.

Cited By

View all
  • (2024)Revisiting PM-Based B-Tree With Persistent CPU CacheIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.337262135:5(796-813)Online publication date: May-2024
  • (2023)Breathing New Life into an Old Tree: Resolving Logging Dilemma of B+-tree on Modern Computational Storage DrivesProceedings of the VLDB Endowment10.14778/3626292.362629717:2(134-147)Online publication date: 1-Oct-2023
  • (2023)PFtree: Optimizing Persistent Adaptive Radix Tree for PM Systems on eADR PlatformDatabase Systems for Advanced Applications10.1007/978-3-031-30637-2_4(46-61)Online publication date: 14-Apr-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ICPP '19: Proceedings of the 48th International Conference on Parallel Processing
August 2019
1107 pages
ISBN:9781450362955
DOI:10.1145/3337821
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

In-Cooperation

  • University of Tsukuba: University of Tsukuba

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 05 August 2019

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Funding Sources

  • National Key Research & Development Program of China
  • Natural Science Foundation of China

Conference

ICPP 2019

Acceptance Rates

Overall Acceptance Rate 91 of 313 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)46
  • Downloads (Last 6 weeks)7
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Revisiting PM-Based B-Tree With Persistent CPU CacheIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.337262135:5(796-813)Online publication date: May-2024
  • (2023)Breathing New Life into an Old Tree: Resolving Logging Dilemma of B+-tree on Modern Computational Storage DrivesProceedings of the VLDB Endowment10.14778/3626292.362629717:2(134-147)Online publication date: 1-Oct-2023
  • (2023)PFtree: Optimizing Persistent Adaptive Radix Tree for PM Systems on eADR PlatformDatabase Systems for Advanced Applications10.1007/978-3-031-30637-2_4(46-61)Online publication date: 14-Apr-2023
  • (2022)NBTreeProceedings of the VLDB Endowment10.14778/3514061.351406615:6(1187-1200)Online publication date: 22-Jun-2022
  • (2022)Elimination (a,b)-trees with fast, durable updatesProceedings of the 27th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming10.1145/3503221.3508441(416-430)Online publication date: 2-Apr-2022
  • (2022)ComboTree: A Persistent Indexing Structure With Universal Operational Efficiency and ScalabilityIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2021.313724733:10(2277-2290)Online publication date: 1-Oct-2022
  • (2022)Scalable NUMA-aware persistent B+-tree for non-volatile memory devicesCluster Computing10.1007/s10586-022-03766-126:5(2865-2881)Online publication date: 17-Nov-2022
  • (2021)Persistent MemoryACM Computing Surveys10.1145/346540254:7(1-37)Online publication date: 18-Jul-2021
  • (2021)Redesigning the Sorting Engine for Persistent MemoryDatabase Systems for Advanced Applications10.1007/978-3-030-73200-4_27(393-412)Online publication date: 11-Apr-2021
  • (2020)uTreeProceedings of the VLDB Endowment10.14778/3407790.340785013:12(2634-2648)Online publication date: 14-Sep-2020
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media