Skip to main content
QUICK REVIEW

[論文レビュー] Deterministic Memory Abstraction and Supporting Multicore System Architecture

Farzad Farshchi, Prathap Kumar Valsan|arXiv (Cornell University)|Jul 17, 2017
Real-Time Systems Scheduling参考文献 55被引用数 7
ひとこと要約

本論文は、OSおよびハードウェアレベルの新しいメモリ抽象化であるDeterministic Memoryを提案する。この抽象化により、性能を犠牲にすることなく、マルチコアシステムにおける高精度な時間予測可能性を実現する、きわめて狭い上限を持つ最悪時メモリアクセス時間を保証する。ページ単位で決定的メモリとベストエフォートメモリを区別することで、キャッシュ利用効率を39%向上させるとともに、プライベートDRAM領域の必要量を削減し、強固な隔離性を維持する。Linuxおよびgem5シミュレーションによる検証が行われた。

ABSTRACT

Poor time predictability of multicore processors has been a long-standing challenge in the real-time systems community. In this paper, we make a case that a fundamental problem that prevents efficient and predictable real-time computing on multicore is the lack of a proper memory abstraction to express memory criticality, which cuts across various layers of the system: the application, OS, and hardware. We, therefore, propose a new holistic resource management approach driven by a new memory abstraction, which we call Deterministic Memory. The key characteristic of deterministic memory is that the platform - the OS and hardware - guarantees small and tightly bounded worst-case memory access timing. In contrast, we call the conventional memory abstraction as best-effort memory in which only highly pessimistic worst-case bounds can be achieved. We propose to utilize both abstractions to achieve high time predictability but without significantly sacrificing performance. We present deterministic memory-aware OS and architecture designs, including OS-level page allocator, hardware-level cache, and DRAM controller designs. We implement the proposed OS and architecture extensions on Linux and gem5 simulator. Our evaluation results, using a set of synthetic and real-world benchmarks, demonstrate the feasibility and effectiveness of our approach.

研究の動機と目的

  • 制御不能なメモリアクセス干渉によって引き起こされるマルチコアリアルタイムシステムにおける時間予測性の低さという根本的課題に対処すること。
  • アプリケーション、OS、ハードウェアの各レイヤーにおいてメモリの重要度を表現する統一されたメモリ抽象化の欠如が、その根本的原因であると特定すること。
  • 決定的メモリ(時間的上限付き)とベストエフォートメモリ(性能最適化)の2種類のメモリ抽象化を用いて、横断的で包括的なリソース管理フレームワークを提案すること。
  • 共有メモリ階層における予測可能性と効率のバランスを取るために、メモリ重要度をページ単位で細かく制御可能にする。
  • 新しい抽象化を支援するためのOSおよびハードウェア拡張(OSページアロケータ、キャッシュ、DRAMコントローラ)を設計・実装し、その有効性を評価すること。

提案手法

  • OSとハードウェアが共同で小さな、きわめて狭い上限を持つ最悪時メモリアクセス時間を保証するメモリ抽象化としてDeterministic Memoryを定義する。
  • Linux 3.13カーネルを拡張し、バディアロケータに代わる新しいページアロケータを導入することで、決定的メモリページおよびベストエフォートメモリページの割り当てを可能にする。
  • 決定的メモリに配慮したキャッシュを設計し、ウェイベースのパーティショニングと同等の隔離性を提供するが、はるかに高いキャッシュ利用効率を実現する。
  • リアルタイムDRAMコントローラを強化し、リアルタイムタスクの予測可能なアクセスタイミングを維持しながら、必要なプライベートDRAMバンク領域を削減する。
  • 高パフォーマンスで順序を無視した4コアプロセッサを想定したgem5フルシステムシミュレータを用い、OSおよびハードウェア拡張を実装する。
  • MMUベースのページテーブルエントリを用いて、ページ単位でメモリ重要度を符号化し、メモリタイミング要件に関するエンドツーエンドの横断的認識を可能にする。

実験結果

リサーチクエスチョン

  • RQ1時間的上限付きの最悪時メモリアクセス時間の保証を可能にする新しいメモリ抽象化が、性能を低下させることなくマルチコアシステムにおける時間予測性を向上させることができるか?
  • RQ2決定的メモリをOSおよびハードウェアスタックに統合することで、ページ単位の細かいつながりの制御を可能にする横断的リソース管理をどのように実現できるか?
  • RQ3決定的メモリは、リアルタイムタスクの強固な隔離性を維持しながら、キャッシュ領域の無駄やDRAMバンクの割り当てをどの程度削減できるか?
  • RQ4決定的メモリを、メモリ領域の一部にのみ適用した場合に、どのようなパフォーマンスと予測性のトレードオフが生じるか?
  • RQ5従来のウェイベースキャッシュパーティショニングおよび最先端のリアルタイムDRAMコントローラと比較して、提案手法は隔離性、効率性、リソース利用効率においてどのように異なるか?

主な発見

  • 提案された決定的メモリ抽象化は、従来のウェイベースキャッシュパーティショニングと同等の隔離性を実現するとともに、共通スケジューリングされた非リアルタイムワークロードの平均キャッシュヒットレートを39%向上させる。
  • 決定的メモリに配慮したキャッシュ設計により、従来のウェイベースパーティショニングと比較して、平均で49%のキャッシュ領域削減が可能であり、隔離性の保証を損なわない。
  • 決定的メモリに配慮したDRAMコントローラは、最先端のリアルタイムDRAMコントローラと同等の最悪実行時間(WCET)保証を達成しながら、予約済みプライベートDRAMバンク領域の量を削減する。
  • MMUベースのページレベルでのメモリ重要度符号化により、従来の範囲レジスタベースのアプローチに比べて柔軟で細かい制御が可能となり、その制限を克服する。
  • Linuxおよびgem5における実装は、EEMBC、SD-VBS、SPEC2006スイートの実世界ワークロードにおいて、提案された横断的リソース管理フレームワークの実現可能性と有効性を示している。
  • 本手法により、安全で重要なタスクに対して高精度な時間予測性を実現するとともに、重要なメモリ領域にのみ決定的メモリを適用することで、非重要ワークロードのパフォーマンスを高く維持できる。

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

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

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

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