[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3465998.3466010acmconferencesArticle/Chapter ViewAbstractPublication PagesmodConference Proceedingsconference-collections
research-article
Open access

Drop It In Like It's Hot: An Analysis of Persistent Memory as a Drop-in Replacement for NVMe SSDs

Published: 20 June 2021 Publication History

Abstract

Solid-state drives (SSDs) have improved database system performance significantly due to the higher bandwidth that they provide over traditional hard disk drives. Persistent memory (PMem) is a new storage technology that offers DRAM-like speed at SSD-like capacity. Due to its byte-addressability, research has mainly treated PMem as a replacement of, or an addition to DRAM, e.g., by proposing highly-optimized, DRAM-PMem-hybrid data structures and system designs. However, PMem can also be used via a regular file system interface and standard Linux I/O operations. In this paper, we analyze PMem as a drop-in replacement for Non-Volatile Memory Express (NVMe) SSDs and evaluate possible performance gains while requiring no or only minor changes to existing applications. This drop-in approach speeds-up database systems like Postgres, without requiring any code changes. We systematically evaluate PMem and NVMe SSDs in three database microbenchmarks and the widely used TPC-H benchmark on Postgres. Our experiments show that PMem outperforms a RAID of four NVMe SSDs in read-intensive OLAP workloads by up to 4x without any modifications while achieving similar performance in write-intensive workloads. Finally, we give four practical insights to aid decision-making on when to use PMem as an SSD drop-in replacement and how to optimize for it.

References

[1]
P.Alcorn. 2019. Intel Optane DIMM Pricing. https://www.tomshardware.com/news/intel-optane-dimm-pricing-performance,39007.html Accessed on 2021/03/10.
[2]
J. Arulraj, J. Levandoski, U. F. Minhas, and P. Larson. 2018. BzTree: A High-Performance Latch-Free Range Index for Non-Volatile Memory. Proceedings of the VLDB Endowment 11, 5 (2018).
[3]
J. Axboe. 2021. fio Repository: filesetup.c. https://github.com/axboe/fio/blob/014ab48afcbcf442464acc7427fcd0f194f64bf4/filesetup.c Accessed on 2021/03/17.
[4]
I.G. Baek, M.S. Lee, S. Sco, M.J. Lee, D.H. Seo, D.-S. Suh, J.C. Park, S.O. Park, H.S. Kim, I.K. Yoo, U.-I. Chung, and J.T. Moon. 2004. Highly scalable non-volatile resistive memory using simple binary oxide driven by asymmetric unipolar voltage pulses. In Proceedings of the 50th IEEE International Electron Devices Meeting (IEDM).
[5]
M. Bjørling, J. Axboe, D. Nellans, and P. Bonnet. 2013. Linux Block IO: Introducing Multi-Queue SSD Access on Multi-Core Systems. In Proceedings of the 6th International Systems and Storage Conference (SYSTOR).
[6]
F. Chen, B. Hou, and R. Lee. 2016. Internal Parallelism of Flash Memory-Based Solid-State Drives. ACM Transactions on Storage 12, 3 (2016).
[7]
F. Chen, R. Lee, and X. Zhang. 2011. Essential roles of exploiting internal parallelism of flash memory based solid state drives in high-speed data processing. In Proceedings of the 17th IEEE International Symposium on High Performance Computer Architecture (HPCA).
[8]
Y. Chen, Y. Lu, K. Fang, Q. Wang, and J. Shu. 2020. uTree: A Persistent B+-Tree with Low Tail Latency. Proceedings of the VLDB Endowment 13, 12 (2020).
[9]
Y. Chen, Y. Lu, F. Yang, Q. Wang, Y. Wang, and J. Shu. 2020. FlatStore: An Efficient Log-Structured Key-Value Storage Engine for Persistent Memory. In Proceedings of the 25th International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS).
[10]
C. A. Curino, D. E. Difallah, A. Pavlo, and P. Cudre-Mauroux. 2012. Benchmarking OLTP/web databases in the cloud: The OLTP-bench framework. In Proceedings of the 4th International Workshop on Cloud Data Management (CloudDB).
[11]
B. Daase, L. J. Bollmeier, L. Benson, and T. Rabl. 2021. Maximizing Persistent Memory Bandwidth Utilization for OLAP Workloads. In Proceedings of the International Conference on Management of Data (SIGMOD).
[12]
D. E. Difallah, A. Pavlo, C. Curino, and P. Cudre-Mauroux. 2013. OLTP-Bench: An extensible testbed for benchmarking relational databases. Proceedings of the VLDB Endowment 7, 4 (2013).
[13]
X. Guo, E. Ipek, and T. Soyata. 2010. Resistive computation: Avoiding the power wall with low-leakage, STT-MRAM based computing. ACM SIGARCH Computer Architecture News 38, 3 (2010).
[14]
G. Haas, M. Haubenschild, and V. Leis. 2020. Exploiting Directly-Attached NVMe Arrays in DBMS. In Proceedings of the 10th Conference on Innovative Data Systems Research (CIDR).
[15]
J. Hruska. 2021. How Do SSDs Work? https://www.extremetech.com/extreme/210492-extremetech-explains-how-do-ssds-work Accessed on 2021/03/14.
[16]
A. Huffman. 2012. NVM Express. https://www.nvmexpress.org/wp-content/uploads/NVM-Express-1_1.pdf
[17]
Intel. 2021. Intel® SSD DC P4610 Series. https://ark.intel.com/content/www/us/en/ark/products/140103/intel-ssd-dc-p4610-series-1-6tb-2-5in-pcie-3-1-x4-3d2-tlc.html Accessed on 2021/03/10.
[18]
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. 2019. Basic Performance Measurements of the Intel Optane DC Persistent Memory Module. CoRR abs/1903.05714 (2019).
[19]
B.C. Lee, E. Ipek, O. Mutlu, and D. Burger. 2009. Architecting phase change memory as a scalable dram alternative. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA).
[20]
V. Leis, M. Haubenschild, A. Kemper, and T. Neumann. 2018. LeanStore: In-Memory Data Management beyond Main Memory. In Proceedings of the 34th IEEE International Conference on Data Engineering (ICDE).
[21]
L. Lersch, X. Hao, I. Oukid, T. Wang, and T. Willhalm. 2019. Evaluating persistent memory range indexes. Proceedings of the VLDB Endowment 13, 4 (2019).
[22]
L. Lersch, I. Schreter, I. Oukid, and W. Lehner. 2020. Enabling low tail latency on multicore key-value stores. Proceedings of the VLDB Endowment 13, 7 (2020).
[23]
J. Liu, S. Chen, and L. Wang. 2020. LB+Trees: Optimizing Persistent Index Performance on 3DXPoint Memory. Proceedings of the VLDB Endowment 13, 7 (2020).
[24]
Z. Liu. 2018. Fujitsu Targets 2019 for NRAM Mass Production. https://www.tomshardware.com/news/fujitsu-nram-nantero-carbon-nanotube.37437.html Accessed on 2021/03/20.
[25]
B. Lu, X. Hao, T. Wang, and E. Lo. 2020. Dash: Scalable Hashing on Persistent Memory. Proceedings of the VLDB Endowment 13, 10 (2020).
[26]
Nantero. 2021. Nantero Website. https://www.https://nantero.com/ Accessed on 2021/03/10.
[27]
T. Neumann and M. J. Freitag. 2020. Umbra: A Disk-Based System with In-Memory Performance. In Proceedings of the 10th Conference on Innovative Data Systems Research (CIDR).
[28]
NVM-Express. 2012. NVM Express Explained. https://nvmexpress.org/wp-content/uploads/2013/04/NVM_whitepaper.pdf Accessed on 2021/03/10.
[29]
I. Oukid, J. Lasperas, A. Nica, T. Willhalm, and W. Lehner. 2016. FPTree: A Hybrid SCM-DRAM Persistent and Concurrent B-Tree for Storage Class Memory. In Proceedings of the International Conference on Management of Data (SIGMOD).
[30]
I. B. Peng, M. B. Gokhale, and E. W. Green. 2019. System Evaluation of the Intel Optane byte-addressable NVM. In Proceedings of the International Symposium on Memory Systems (MEMSYS).
[31]
Persistent Memory Knowledge Base. 2020. Why msync() is less optimal for persistent memory. https://kb.pmem.io/development/100000025-Why-msync-is-less-optimal-for-persistent-memory/ Accessed on 2021/03/22.
[32]
PMDK Team. 2021. Persistent Memory Development Kit. https://pmem.io/pmdk/ Accessed on 2021/03/18.
[33]
Postgres. 2021. Postgres Docs: WAL Configuration. https://www.postgresql.org/docs/9.5/wal-configuration.html Accessed on 2021/03/25.
[34]
Postgres. 2021. Postgres Docs: WAL Internals. https://www.postgresql.org/docs/current/wal-internals.html Accessed on 2021/03/18.
[35]
Postgres. 2021. Postgres Repository: Buffer Readme. https://github.com/postgres/postgres/blob/15639d5e8f6f278219681fec8a5668a92fb7e874/src/backend/storage/buffer/README#L218-L230 Accessed on 2021/03/16.
[36]
M. K. Qureshi, V. Srinivasan, and J. A. Rivers. 2009. Scalable high performance main memory system using phase-change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA).
[37]
SQLite. 2021. SQLite Docs: Write-Ahead Logging. https://sqlite.org/wal.html Accessed on 2021/03/25.
[38]
S. Suryawanshi. 2019. Comprehensive guide on how to tune database parameters and configuration in PostgreSQL. https://www.enterprisedb.com/postgres-tutorials/comprehensive-guide-how-tune-database-parameters-and-configuration-postgresql Accessed on 2021/03/22.
[39]
H. Suzuki. 2020. The Internals of Postgres (Chapter 9 - Write Ahead Logging). https://www.interdb.jp/pg/pgsql09.html
[40]
T. Swatz. 2020. Optimize PostgreSQL Server Performance Through Configuration. https://blog.crunchydata.com/blog/optimize-postgresql-server-performance Accessed on 2021/03/22.
[41]
L.Torvalds. 2000. Re: mmap/mlock performance versus read [linux-kernel mailing list]. https://marc.info/?l=linux-kernel&m=95496636207616&w=2 Accessed on 2021/03/25.
[42]
Transaction Processing Performance Council (TPC). 1993. TPC Benchmark H (TPC-H) - Standard Specification.
[43]
A. van Renen, V. Leis, A. Kemper, T. Neumann, T. Hashida, K. Oe, Y. Doi, L. Harada, and M. Sato. 2018. Managing Non-Volatile Memory in Database Systems. In Proceedings of the International Conference on Management of Data (SIGMOD).
[44]
A. van Renen, L. Vogel, V. Leis, T. Neumann, and A. Kemper. 2020. Building blocks for persistent memory. The VLDB Journal 29, 6 (2020).
[45]
A. Vasiliev. 2021. PGTune. https://pgtune.leopard.in.ua/#/
[46]
M. Weiland, H. Brunst, T. Quintino, N. Johnson, O. Iffrig, S. Smart, C. Herold, A. Bonanni, A. Jackson, and M. Parsons. 2019. An early Evaluation of Intel's Optane DC Persistent Memory Module and its Impact on High-Performance Scientific Applications. In Proceedings of the International Conference for High Performance Computing, Networking, Storage and Analysis (SC).
[47]
Y. Wu, K. Park, R. Sen, B. Kroth, and J. Do. 2020. Lessons Learned from the Early Performance Evaluation of Intel Optane DC Persistent Memory in DBMS. In Proceedings of the 16th International Workshop on Data Management on New Hardware (DaMoN).
[48]
Q. Xu, H. Siyamwala, M. Ghosh, T. Suri, M. Awasthi, Z. Guz, A. Shayesteh, and V. Balakrishnan. 2015. Performance analysis of NVMe SSDs and their implication on real world databases. In Proceedings of the 8th ACM International Systems and Storage Conference.
[49]
J. Yang, J. Kim, M. Hoseinzadeh, J. Izraelevitz, and S. Swanson. 2020. An Empirical Guide to the Behavior and Use of Scalable Persistent Memory. In Proceedings of the 18th USENIX Conference on File and Storage Technologies (FAST).
[50]
P. Zhou, B. Zhao, J. Yang, and Y. Zhang. 2009. A durable and energy efficient main memory using phase change memory technology. In Proceedings of the 36th Annual International Symposium on Computer Architecture (ISCA).

Cited By

View all
  • (2024)TrieKV: A High-Performance Key-Value Store Design With Memory as Its First-Class CitizenIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.347301335:12(2479-2496)Online publication date: Dec-2024
  • (2024)NeSt: A QoS differentiating end-to-end networked storage simulatorComputer Networks10.1016/j.comnet.2024.110833254(110833)Online publication date: Dec-2024
  • (2023)NVM: Is it Not Very Meaningful for Databases?Proceedings of the VLDB Endowment10.14778/3603581.360358616:10(2444-2457)Online publication date: 1-Jun-2023
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
DAMON '21: Proceedings of the 17th International Workshop on Data Management on New Hardware
June 2021
104 pages
ISBN:9781450385565
DOI:10.1145/3465998
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 the author(s) 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].

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 June 2021

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SIGMOD/PODS '21
Sponsor:

Acceptance Rates

DAMON '21 Paper Acceptance Rate 15 of 17 submissions, 88%;
Overall Acceptance Rate 94 of 127 submissions, 74%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)161
  • Downloads (Last 6 weeks)14
Reflects downloads up to 18 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)TrieKV: A High-Performance Key-Value Store Design With Memory as Its First-Class CitizenIEEE Transactions on Parallel and Distributed Systems10.1109/TPDS.2024.347301335:12(2479-2496)Online publication date: Dec-2024
  • (2024)NeSt: A QoS differentiating end-to-end networked storage simulatorComputer Networks10.1016/j.comnet.2024.110833254(110833)Online publication date: Dec-2024
  • (2023)NVM: Is it Not Very Meaningful for Databases?Proceedings of the VLDB Endowment10.14778/3603581.360358616:10(2444-2457)Online publication date: 1-Jun-2023
  • (2023)Accelerating Cloud-Native Databases with Distributed PMem Stores2023 IEEE 39th International Conference on Data Engineering (ICDE)10.1109/ICDE55515.2023.00233(3043-3057)Online publication date: Apr-2023
  • (2022)PerMA-benchProceedings of the VLDB Endowment10.14778/3551793.355180715:11(2463-2476)Online publication date: 1-Jul-2022
  • (2022)A performance study of optane persistent memory: from storage data structures' perspectiveCCF Transactions on High Performance Computing10.1007/s42514-022-00123-x4:4(370-393)Online publication date: 24-Sep-2022
  • (2021)Assessing the Use Cases of Persistent Memory in High-Performance Scientific Computing2021 IEEE/ACM 11th Workshop on Fault Tolerance for HPC at eXtreme Scale (FTXS)10.1109/FTXS54580.2021.00006(11-20)Online publication date: Nov-2021

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media