Skip to main content
QUICK REVIEW

[論文レビュー] Unimem: Runtime Data Management on Non-Volatile Memory-based Heterogeneous Main Memory

Kai Wu, Yingchao Huang|arXiv (Cornell University)|Apr 29, 2017
Parallel Computing and Optimization Techniques参考文献 14被引用数 9
ひとこと要約

Unimem は、ハードウェアの変更やアプリケーションの変更なしに、非揮発性メモリ(NVM)を搭載した異種メインメモリ(HMS)におけるデータ配置を自動的に管理するソフトウェアオンリーのランタイムシステムである。オンラインプロファイリング、軽量なパフォーマンスモデル、およびヘルパースレッドを用いた能動的データ移動により、Unimem はさまざまな HPC ワークロードにおいて、NVM モードと DRAM モードのパフォーマンスギャップを 7% 以内にまで縮小する。

ABSTRACT

Non-volatile memory (NVM) provides a scalable and power-efficient solution to replace DRAM as main memory. However, because of relatively high latency and low bandwidth of NVM, NVM is often paired with DRAM to build a heterogeneous memory system (HMS). As a result, data objects of the application must be carefully placed to NVM and DRAM for best performance. In this paper, we introduce a lightweight runtime solution that automatically and transparently manage data placement on HMS without the requirement of hardware modifications and disruptive change to applications. Leveraging online profiling and performance models, the runtime characterizes memory access patterns associated with data objects, and minimizes unnecessary data movement. Our runtime solution effectively bridges the performance gap between NVM and DRAM. We demonstrate that using NVM to replace the majority of DRAM can be a feasible solution for future HPC systems with the assistance of a software-based data management.

研究の動機と目的

  • HPC システムにおける NVM と DRAM のパフォーマンスギャップを、異種メモリシステム(HMS)における効率的なデータ配置によって解消すること。
  • ハードウェアの変更、OS の変更、またはプログラマーのデータ配置意思決定への関与を排除すること。
  • データ移動に起因するパフォーマンスオーバーヘッドを最小限に抑えつつ、実行フェーズに応じた適応的かつ迅速なデータ配置を実現すること。
  • レガシ HPC アプリケーションが将来の NVM 搭載メインメモリアーキテクチャ上で透過的かつ自動的にデータ管理が可能になるようにすること。

提案手法

  • メモリアクセスパターンおよびデータオブジェクトの帯域幅と遅延に対する感受度を把握するため、パフォーマンスカウンタを用いたオンラインプロファイリングを実施する。
  • NVM と DRAM 間のデータ移動によるパフォーマンスの向上とコストを予測するための軽量なパフォーマンスモデルを開発する。
  • 利益を最大化しつつ不要なデータ移動を最小限に抑えるために、データ配置意思決定をナップサック問題として定式化する。
  • データ移行のオーバーヘッドを隠すために、アプリケーション実行と重ねて実行するヘルパースレッドを用いた能動的データ移動メカニズムを実装する。
  • 大規模なデータオブジェクトを分解することで、初期配置の最適化と細粒度の移動を可能にし、適応性を高め、コストを低減する。
  • 局所的フェーズ単位の探索とグローバルなフェーズ間最適化のバランスを取ることで、ほぼ最適なデータ配置意思決定を達成する。

実験結果

リサーチクエスチョン

  • RQ1ハードウェアやアプリケーションの変更なしに、NVM-DRAM 異種メインメモリにおけるデータ配置を自動的かつ透過的に管理する方法は何か?
  • RQ2効果的なデータ配置意思決定を下すために、どのようなパフォーマンス特性(帯域幅対遅延感受度)を捉える必要があるか?
  • RQ3実行フェーズに応じて変化するメモリアクセスパターンに適応しつつ、データ移動を最小限に抑えるにはどうすればよいか?
  • RQ4生産用 HPC ワークロードにおいて、データ移動のパフォーマンスコストを効果的に隠すにはどのようなメカニズムが必要か?
  • RQ5ソフトウェアベースのデータ管理は、NVM モードと DRAM モードのパフォーマンスギャップをどの程度まで縮小できるか?

主な発見

  • Unimem は、CG、MG およびその他のすべてのテスト済み HPC ワークロードにおいて、NVM モードと DRAM モードのパフォーマンスギャップを 7% 以内にまで縮小する。
  • 128MB DRAM の最も挑戦的な設定においても、Unimem は、大規模で分解不能なデータオブジェクトのための DRAM 容量が限られ、効率が悪い状況下でも、パフォーマンスギャップを 35% まで縮小する。
  • 異なる DRAM サイズやメモリアクセスパターンの下でも、アプリケーションパフォーマンスへの影響が最小限に抑えられ、ほぼ透過的な動作を維持する。
  • ヘルパースレッドによる能動的データ移動により、移動オーバーヘッドが効果的に隠され、データ移行がクリティカルパスから除外される。
  • オンラインプロファイリング、パフォーマンスモデリング、およびナップサックベースの最適化の組み合わせにより、低ランタイムコストで効果的かつ適応的なデータ配置が実現される。
  • 本アプローチは多様なワークロードや設定に対して堅牢であり、NVM 搭載システムにおける実世界の HPC デプロイメントの実現可能性を示している。

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

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

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

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