Skip to main content
QUICK REVIEW

[論文レビュー] Using ECC DRAM to Adaptively Increase Memory Capacity

Yixin Luo, Saugata Ghose|arXiv (Cornell University)|Jun 27, 2017
Parallel Computing and Optimization Techniques参考文献 28被引用数 12
ひとこと要約

本論文では、アプリケーションが強い信頼性を必要としない場合に、ECC DRAMの予約済みエラー訂正コード領域を動的に追加のデータ容量に再利用するハードウェア機構であるCREAMを提案する。複数の信頼性レベル(エラー訂正なしから複数ビットパリティまで)をサポートすることで、重要なワークロードのエラー耐性を損なわず、使用可能なDRAM容量を増加させ、データベースおよびウェブ検索ワークロードでそれぞれ23.0%および37.3%の性能向上を達成する。

ABSTRACT

Modern DRAM modules are often equipped with hardware error correction capabilities, especially for DRAM deployed in large-scale data centers, as process technology scaling has increased the susceptibility of these devices to errors. To provide fast error detection and correction, error-correcting codes (ECC) are placed on an additional DRAM chip in a DRAM module. This additional chip expands the raw capacity of a DRAM module by 12.5%, but the applications are unable to use any of this extra capacity, as it is used exclusively to provide reliability for all data. In reality, there are a number of applications that do not need such strong reliability for all their data regions (e.g., some user batch jobs executing on a public cloud), and can instead benefit from using additional DRAM capacity to store extra data. Our goal in this work is to provide the additional capacity within an ECC DRAM module to applications when they do not need the high reliability of error correction. In this paper, we propose Capacity- and Reliability-Adaptive Memory (CREAM), a hardware mechanism that adapts error correcting DRAM modules to offer multiple levels of error protection, and provides the capacity saved from using weaker protection to applications. For regions of memory that do not require strong error correction, we either provide no ECC protection or provide error detection using multibit parity. We evaluate several layouts for arranging the data within ECC DRAM in these reduced-protection modes, taking into account the various trade-offs exposed from exploiting the extra chip. Our experiments show that the increased capacity provided by CREAM improves performance by 23.0% for a memory caching workload, and by 37.3% for a commercial web search workload executing production query traces. In addition, CREAM can increase bank-level parallelism within DRAM, offering further performance improvements.

研究の動機と目的

  • データセンタにおける多くのアプリケーションは強いエラー訂正を必要としていないが、追加のDRAM容量によって恩恵を受けることができる。
  • 現在のECC DRAMモジュールは、12.5%の容量をエラー訂正専用に予約しており、それらの要件を満たさないアプリケーションでは無駄に使われている。
  • 目的は、ECC DRAMを動的に適応させ、さまざまな信頼性レベルを提供し、完全なエラー訂正を必要としないアプリケーションに解放された容量を提供することである。
  • この機構は、信頼性とメモリ容量の間の柔軟なトレードオフを可能にしつつ、性能オーバーヘッドを最小限に抑える必要がある。
  • システムは、重要なワークロードに完全な信頼性を提供するとともに、あまり重要でない、あるいは耐障害性の高いワークロードに対しては保護を低減したモードをサポートする必要がある。

提案手法

  • CREAMは、エラー訂正が不要な場合に、ECC DRAMモジュール内のデータレイアウトを再編成し、SECDEDコードに使用される領域を再利用する。
  • 複数の信頼性レベルをサポートする:完全なSECDED、軽量の複数ビットパリティ、エラー訂正なし。これはアプリケーションの要件に応じて変更可能である。
  • メモリコントローラーとDRAMブリッジチップを変更し、メモリ領域レベルでの保護レベルの動的切り替えを管理する。
  • 性能劣化を最小限に抑えるためのデータレイアウト戦略を評価する。これには、ロウバッファローカリティとバンクレベルの並列処理のトレードオフが含まれる。
  • OSやMMUの変更なしに、ハードウェアレベルの制御により保護モードを切り替えることで、低オーバーヘッドを実現する。
  • CREAMは、既存のECC DRAMと後方互換性を保ち、信頼性が求められる領域に対しては完全なエラー訂正を維持する。

実験結果

リサーチクエスチョン

  • RQ1DRAMモジュールに予約されたECC領域を、アプリケーションが強いエラー訂正を必要としない場合に動的にデータ保存用に再利用できるか?
  • RQ2特にキャッシュ競合とロウバッファローカリティの観点から、DRAMで低減またはエラー訂正なしの使用が性能に与えるトレードオフは何か?
  • RQ3ECC DRAM内のデータレイアウトをどのように再構築すれば、使用可能な容量を最大化しつつ、性能劣化を最小限に抑えることができるか?
  • RQ4SECDED保護領域とエラー訂正なし領域の割合を変化させた場合、全体のシステム性能に与える影響は何か?
  • RQ5OSやMMUの変更なしに、柔軟な信頼性と容量のトレードオフをサポートするハードウェア機構を設計できるか?

主な発見

  • CREAMは、データベースシステムにおけるメモリキャッシュワークロードで、使用可能なDRAM容量を増加させることで23.0%の性能向上を達成した。
  • 本番環境のクエリトレースを用いた商用ウェブ検索ワークロードでは、メモリ容量の増加により37.3%の性能向上を実現した。
  • CREAMの性能劣化は最小限であり、すべてのテスト設定で最大でたった4.0%の低下に抑えられ、高メモリ強度の状況下でも同様であった。
  • 対照的に、仮想化ECC(VECC)は同様の条件下で最大25.1%の性能劣化を示しており、CREAMの効率性が顕著に際立つ。
  • SECDEDとエラー訂正なし領域の間を切り替えても、CREAMは高いバンクレベルの並列性を維持し、顕著なロウバッファローカリティの損失を回避した。
  • ECC保護が不要な場合、CREAMはDRAMモジュールで12.5%の追加データ容量を実現し、重要なワークロードの信頼性を損なわずに行える。

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

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

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

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