Skip to main content
QUICK REVIEW

[論文レビュー] Die-Stacked DRAM: Memory, Cache, or MemCache?

Mohammad Bakhshalipour, Hamidreza Zare|arXiv (Cornell University)|Sep 24, 2018
Parallel Computing and Optimization Techniques参考文献 36被引用数 6
ひとこと要約

本稿では、ヒートページをメインメモリとして使用し、残りの容量を動的データアクセス用のハードウェア管理キャッシュとして使用する、ハイブリッドメモリ階層であるMemCacheを提案する。メモリの低オーバーヘッド効率とキャッシュの適応性を組み合わせることで、大規模データワークロードにおいて、先行する最良手法よりも28%から139%の性能向上を達成する。

ABSTRACT

Die-stacked DRAM is a promising solution for satisfying the ever-increasing memory bandwidth requirements of multi-core processors. Manufacturing technology has enabled stacking several gigabytes of DRAM modules on the active die, thereby providing orders of magnitude higher bandwidth as compared to the conventional DIMM-based DDR memories. Nevertheless, die-stacked DRAM, due to its limited capacity, cannot accommodate entire datasets of modern big-data applications. Therefore, prior proposals use it either as a sizable memory-side cache or as a part of the software-visible main memory. Cache designs can adapt themselves to the dynamic variations of applications but suffer from the tag storage/latency/bandwidth overhead. On the other hand, memory designs eliminate the need for tags, and hence, provide efficient access to data, but are unable to capture the dynamic behaviors of applications due to their static nature. In this work, we make a case for using the die-stacked DRAM partly as main memory and partly as a cache. We observe that in modern big-data applications there are many hot pages with a large number of accesses. Based on this observation, we propose to use a portion of the die-stacked DRAM as main memory to host hot pages, enabling serving a significant number of the accesses from the high-bandwidth DRAM without the overhead of tag-checking, and manage the rest of the DRAM as a cache, for capturing the dynamic behavior of applications. In this proposal, a software procedure pre-processes the application and determines hot pages, then asks the OS to map them to the memory portion of the die-stacked DRAM. The cache portion of the die-stacked DRAM is managed by hardware, caching data allocated in the off-chip memory.

研究の動機と目的

  • ダイスタックド DRAM の高帯域幅を活用して、マルチコアプロセッサにおけるメモリ帯域幅の壁を克服すること。
  • 従来の手法がダイスタックド DRAM を単にキャッシュ(タグオーバーヘッド)またはメインメモリ(静的マッピング)として扱う限界を乗り越えること。
  • 大規模データアプリケーションに存在するヒートページを活用して、遅延と帯域幅オーバーヘッドを低減すること。
  • ワークロードの挙動に動的に適応しつつ、ハードウェアおよびソフトウェアの複雑さを最小限に抑えるシステムを設計すること。
  • 単一の DRAM デバイス内で、メインメモリアクセスの効率性とキャッシュの適応性を組み合わせて性能を向上させること。

提案手法

  • ソフトウェアによる事前処理とOSレベルのマッピングを通じて、大規模データアプリケーションにおけるヒートページを特定し、ダイスタックド DRAM のメモリ領域に割り当てる。
  • ダイスタックド DRAM の専用領域をメインメモリとして使用し、頻繁にアクセスされるヒートページに対して、タグチェックなしで高帯域幅アクセスを提供する。
  • 残りのダイスタックド DRAM 容量を、オフチップ DRAM に割り当てられたデータ用のハードウェア管理キャッシュとして管理する。
  • 必要に応じて、ヒートページをオフチップ DRAM とダイスタックド DRAM の間で移動できるように、既存のOSのページ移行サポートを活用する。
  • タグの保存とチェックを回避することでヒートデータへの低遅延アクセスを実現するとともに、キャッシュ部品による動的適応性を維持する。
  • 既存のメモリ管理およびキャッシュ技術と統合され、DICE、ATCache、Bear などの多くの先行最適化と直交する。

実験結果

リサーチクエスチョン

  • RQ1ダイスタックド DRAM をメインメモリおよびキャッシュの両方としてハイブリッドに使用することで、従来の手法(キャッシュ専用またはメインメモリ専用)よりも優れた性能を発揮できるか?
  • RQ2大規模データワークロードにおいて、ヒートページの特定と分離がメモリアクセス効率の向上にどの程度有効であるか?
  • RQ3頻繁にアクセスされるデータに対してタグオーバーヘッドを排除しつつ、動的データに対してキャッシュを維持することで、どの程度の性能向上が達成できるか?
  • RQ4帯域幅利用効率、遅延、全体的なシステムスルーレートの観点から、本手法は先行の最先端設計と比べてどのように差をつけるか?
  • RQ5最小限のソフトウェアおよびハードウェアの変更で実装可能であり、顕著な性能向上を達成できるか?

主な発見

  • 提案された MemCache 設計は、評価された大規模データワークロードにおいて、平均で28%、最大で139%の性能向上を、以前の最良手法よりも達成した。
  • 性能向上の要因は、ヒートページに対するタグチェックのオーバーヘッドを排除し、それらをダイスタックド DRAM の高帯域幅メモリ領域から直接提供することで生じる。
  • ハイブリッドアプローチは、静的効率(ヒートページ用メインメモリ)と動的適応性(一時的データ用キャッシュ)の両方を効果的にバランスさせている。
  • 完全な DRAM キャッシュ設計で生じるタグ保存およびチェックに伴う高い帯域幅および遅延オーバーヘッドを回避している。
  • DICE、ATCache、Bear などの既存最適化と互換性があり、組み合わせ可能であるため、広範な適用可能性を示している。
  • 本手法は、ダイスタックド DRAM をメモリとキャッシュの両方として扱うことが、単独でいずれかの用途に使用するよりも効果的であることを示している。

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

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

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

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