Skip to main content
QUICK REVIEW

[論文レビュー] Lessons learned from the early performance evaluation of Intel Optane DC Persistent Memory in DBMS

Yinjun Wu, Kwanghyun Park|arXiv (Cornell University)|May 15, 2020
Advanced Data Storage Technologies参考文献 21被引用数 5
ひとこと要約

この論文は、Microsoft SQL Server 2019におけるIntel Optane DCパーサーメンスメモリ(PMem)の性能を、OLTP(TPC-C)およびOLAP(TPC-H)ワークロードにおいて、バッファプールまたは永続ストレージとして評価している。単にメモリモードでDRAMをPMemに置き換えると、書き込み非効率性のため性能が低下することが明らかになった。効果的な利用には、単なるハードウェア交換ではなく、知的なページ配置ポリシーとワークロードに応じたチューニングが必要である。

ABSTRACT

Non-volatile memory (NVM) is an emerging technology, which has the persistence characteristics of large capacity storage devices(e.g., HDDs and SSDs), while providing the low access latency and byte-addressablity of traditional DRAM memory. This unique combination of features open up several new design considerations when building database management systems (DBMSs), such as replacing DRAM (as the main working space memory) or block devices (as the persistent storage), or complementing both at the same time for several DBMS components (such as access methods,storage engine, buffer management, logging/recovery, etc). However, interacting with NVM requires changes to application software to best use the device (e.g. mmap and clflush of small cache lines instead of write and fsync of large page buffers). Before introducing (potentially major) code changes to the DBMS for NVM, developers need a clear understanding of NVM performance in various conditions to help make better design choices. In this paper, we provide extensive performance evaluations conducted with a recently released NVM device, Intel Optane DC Persistent Memory (PMem), under different configurations with several micro-benchmark tools. Further, we evaluate OLTP and OLAP database workloads (i.e., TPC-C and TPC-H) with Microsoft SQL Server 2019 when using the NVM device as an in-memory buffer pool or persistent storage. From the lessons learned we share some recommendations for future DBMS design with PMem, e.g.simple hardware or software changes are not enough for the best use of PMem in DBMSs.

研究の動機と目的

  • さまざまな構成下での実際のDBMSワークロードにおけるIntel Optane DCパーサーメンスメモリ(PMem)の性能を評価すること。
  • PMemをデータベース管理システム(DBMS)に統合する際の、重要な性能ボトルネックと設計上のトレードオフを特定すること。
  • PMem対応DBMSにおけるバッファ管理およびストレージエンジン設計のための実行可能な提言を提供すること。
  • PMemが書き込み集約的(TPC-C)および読み込み集約的(TPC-H)なOLTPおよびOLAPワークロードに与える影響を評価すること。
  • 単なるハードウェア交換やソフトウェア変更だけでは、DBMSにおけるPMemの最適利用が不十分であることを強調すること。

提案手法

  • I/Oリクエストサイズ、並列度、アクセスパターンを変化させたPMem上のマイクロベンチマークを実施。
  • PMemを3つの構成で評価:メモリモードでのDRAM置換、直接アクセス用DAXデバイス、ファイルI/Oベースの永続ストレージ。
  • 生産環境レベルのMicrosoft SQL Server 2019を用いて、TPC-C(OLTP)およびTPC-H(OLAP)ワークロードで性能を測定。
  • メモリ使用量とI/O動作を監視し、ホットページキャッシュおよびtempdbへのスパill効果を分析。
  • 中間クエリ結果の書き込み頻度の高さが、PMemメモリモードでの書き込み性能劣化を引き起こす原因であることを分析。
  • ホットページをDRAMに優先配置することでPMemへの書き込み圧力を軽減する、PMemに配慮したバッファ配置ポリシーを提案・評価。

実験結果

リサーチクエスチョン

  • RQ1マイクロベンチマークにおいて、I/Oリクエストサイズや並列度の変化がPMemの性能に与える影響は何か?
  • RQ2OLTPおよびOLAPワークロードにおいて、PMemをDRAM置換(メモリモード)として使用した場合の性能への影響は何か?
  • RQ3データベースファイルの永続ストレージとしてPMemを使用した場合、SSDと比較してクエリ実行時間にどのような差が生じるか?
  • RQ4書き込み集約的ワークロード下で、中間結果がtempdbにスパイルされることでPMemの性能がどのように劣化するか?
  • RQ5DRAMバッファプールにPMemを拡張する際、性能劣化を回避するためにはどのようなバッファ管理ポリシーが必要か?

主な発見

  • PMemメモリモードでは、高い読み取り帯域幅を備えても、高い書き込み遅延のため、OLTPおよびOLAPワークロードの両方で性能が著しく低下する。
  • TPC-H(読み込み集約的)では、SF=100の場合、PMemメモリモードでのクエリ実行時間は約60秒にのぼり、DRAMと比較して大幅に遅延する。これは、書き込み集約的なtempdb操作に起因する。
  • SF=100の場合、PMemファイルI/OとSSDは最大150GBのDRAMバッファプールを活用したが、PMem DAXはわずか約20GBにとどまり、キャッシュ利用効率が低く、I/Oオーバーヘッドが高くなることが示された。
  • 8KBページにおいて、PMem DAXとFile I/Oの性能差は最小限にとどまり、ページサイズやアクセスモードが読み込み集約的ワークロードに与える影響は限定的であることが示唆された。
  • OLTPワークロード(TPC-C)では、PMemとSSDの間で顕著な性能差は認められなかったが、PMemでは飽和状態で書き込み帯域幅が低下するのに対し、SSDではそのような傾向は見られなかった。
  • 単純なハードウェア交換(例:DRAM → PMem)や、知的なページ配置なしのソフトウェア拡張は、最適な性能を発揮しない。PMemに配慮したバッファポリシーの導入が不可欠であることが示された。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。