Skip to main content
QUICK REVIEW

[論文レビュー] Enabling Efficient Dynamic Resizing of Large DRAM Caches via A Hardware Consistent Hashing Mechanism

Kevin K. Chang, Gabriel H. Loh|arXiv (Cornell University)|Feb 1, 2016
Caching and Content Delivery参考文献 32被引用数 5
ひとこと要約

本稿では、大規模なダイスタックドDRAMキャッシュの動的サイズ変更を可能にする、ハードウェア効率の良いデータリマッピング方式CRUNCHを提案する。電源が切られたバンクからのセットのみを再マッピングすることで、CRUNCHは低遅延かつ高負荷分散を実現し、キャッシュサイズ変更時における性能劣化なしに顕著な省エネルギーを達成する。

ABSTRACT

Die-stacked DRAM has been proposed for use as a large, high-bandwidth, last-level cache with hundreds or thousands of megabytes of capacity. Not all workloads (or phases) can productively utilize this much cache space, however. Unfortunately, the unused (or under-used) cache continues to consume power due to leakage in the peripheral circuitry and periodic DRAM refresh. Dynamically adjusting the available DRAM cache capacity could largely eliminate this energy overhead. However, the current proposed DRAM cache organization introduces new challenges for dynamic cache resizing. The organization differs from a conventional SRAM cache organization because it places entire cache sets and their tags within a single bank to reduce on-chip area and power overhead. Hence, resizing a DRAM cache requires remapping sets from the powered-down banks to active banks. In this paper, we propose CRUNCH (Cache Resizing Using Native Consistent Hashing), a hardware data remapping scheme inspired by consistent hashing, an algorithm originally proposed to uniformly and dynamically distribute Internet traffic across a changing population of web servers. CRUNCH provides a load-balanced remapping of data from the powered-down banks alone to the active banks, without requiring sets from all banks to be remapped, unlike naive schemes to achieve load balancing. CRUNCH remaps only sets from the powered-down banks, so it achieves this load balancing with low bank power-up/down transition latencies. CRUNCH's combination of good load balancing and low transition latencies provides a substrate to enable efficient DRAM cache resizing.

研究の動機と目的

  • 動的キャッシュサイズ変更中に電源が切られたDRAMキャッシュバンクからアクティブなバンクへデータをリマップする課題に対処すること。
  • 単純なリマッピング方式がホットスポットを生じるか、全データ移行を要するなど、性能およびエネルギーのオーバーヘッドを回避すること。
  • ワークロードの需要に応じてアクティブバンク数を動的に調整することで、電力制約のあるシステムにおけるエネルギー効率の良いDRAMキャッシングを実現すること。
  • 大規模なダイスタックドキャッシュアーキテクチャに実用的である、低遅延かつ負荷分散の良いDRAMキャッシュサイズ変更ソリューションを提供すること。
  • DRAMキャッシュの特徴的な構成(全セットが単一バンクにマッピングされる)に特化した、新規なハードウェア機構を導入すること。

提案手法

  • 分散ウェブ負荷分散に元来用いられる一貫性ハッシュアルゴリズムを、電源が切られたバンクからのキャッシュセットをアクティブバンクへ再マッピングする負荷分散の良い方法に適応する。
  • 各キャッシュセットを仮想ハッシュリング上の位置にマッピングし、バンクも同様に配置することで、サイズ変更時におけるリマッピング対象を電源が切られたバンクからのセットに限定する。
  • ネイティブなハードウェアで実装された一貫性ハッシュメカニズムを用いることで、リマッピングのオーバーヘッドを最小限に抑え、アクティブバンクからのセットの再マッピングを回避する。
  • バンクの電源オン/オフ遷移プロトコルを実装し、非アクティブバンクからのみセットのリマッピングをトリガーすることで、遷移遅延とエネルギー消費を低減する。
  • キャッシュコントローラ内に直接格納する、ハッシュリングマッピングとバンク状態情報を保持するハードウェアに最適化されたデータ構造を設計する。
  • 単一バンクごとのセットマッピングを維持することで、従来のDRAMキャッシュ組織との後方互換性を確保するとともに、動的バンク管理を可能にする。

実験結果

リサーチクエスチョン

  • RQ1全セットが単一バンクにマッピングされるDRAMキャッシュにおいて、サイズ変更時におけるデータリマッピングをどのように効率化できるか?
  • RQ2一貫性ハッシュをハードウェア機構に適応させることで、キャッシュサイズ変更時のリマッピングオーバーヘッドを最小限に抑え、負荷分散を維持できるか?
  • RQ3DRAMキャッシュサイズ変更方式において、遷移遅延、エネルギー消費、定常状態性能の間にはどのようなトレードオフがあるか?
  • RQ4CRUNCHは、単純なリマッピング方式(ホットスポットを生じる)および負荷分散の良い方式(高い移行コストを要する)と比較して、性能とエネルギー効率の点でどのように優れているか?
  • RQ5ハードウェアベースの一貫性ハッシュ機構は、大規模なDRAMキャッシュにおいて、低コストな遷移と良好な負荷分散の両方を達成できるか?

主な発見

  • CRUNCHは、モジュロ-kハッシュを用いた完全なデータリマッピング方式と同等の負荷分散を達成し、セットをアクティブバンクに均等に分散する。
  • CRUNCHは、電源が切られたバンクからのみセットをリマッピングすることで、遷移遅延とエネルギーを削減し、全バンクからのデータ移行の必要性を回避する。
  • 本機構により、バンクの電源オン/オフ遷移が高速化され、キャッシュサイズ変更中における性能劣化が最小限に抑えられる。
  • CRUNCHは、低オーバーヘッドなリマッピング方式(ホットスポットを生じる)および負荷分散の良い方式(高い移行コストを要する)の両方の欠点を回避し、最良の両立を実現する。
  • 本手法は大規模なダイスタックドDRAMキャッシュに実用的であり、未利用状態のワークロード時にアクティブバンク数を動的に減らすことで顕著な省エネルギーを達成する。
  • 完全なキャッシュ再組織化を回避することで、CRUNCHは複数回のサイズ変更イベント後でも、定常状態での高いシステム性能を維持する。

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

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

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

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