Skip to main content
QUICK REVIEW

[論文レビュー] Ascertaining Uncertainty for Efficient Exact Cache Analysis

Valentin Touzeau, Claire Maïza|arXiv (Cornell University)|Sep 28, 2017
Real-Time Systems Scheduling参考文献 16被引用数 252
ひとこと要約

この論文は、キャッシュ解析における確定的な不確実性を証明する新しい抽象解釈を導入し、モデル検証を用いて命令ごとにキャッシュヒットとミスをパス感知で正確に分類する。

ABSTRACT

Static cache analysis characterizes a program's cache behavior by determining in a sound but approximate manner which memory accesses result in cache hits and which result in cache misses. Such information is valuable in optimizing compilers, worst-case execution time analysis, and side-channel attack quantification and mitigation.Cache analysis is usually performed as a combination of `must' and `may' abstract interpretations, classifying instructions as either `always hit', `always miss', or `unknown'. Instructions classified as `unknown' might result in a hit or a miss depending on program inputs or the initial cache state. It is equally possible that they do in fact always hit or always miss, but the cache analysis is too coarse to see it.Our approach to eliminate this uncertainty consists in (i) a novel abstract interpretation able to ascertain that a particular instruction may definitely cause a hit and a miss on different paths, and (ii) an exact analysis, removing all remaining uncertainty, based on model checking, using abstract-interpretation results to prune down the model for scalability.We evaluated our approach on a variety of examples; it notably improves precision upon classical abstract interpretation at reasonable cost.

研究の動機と目的

  • 従来のmay/must解析を超えて静的キャッシュ解析の精度を向上させ、未知の分類を減らす。
  • アクセスが実行間で確実にヒットまたはミスになるかを安全に再利用可能な方法で決定する。
  • 抽象解釈とモデル検証を組み合わせて、スケーラビリティを維持しつつ正確な分類を得る。

提案手法

  • 存在性プロパティ(exists hit, exists miss, exists hit ∧ exists miss)を導出する新しい抽象解釈を開発し、不確実性を減らす。
  • 必須/可能性フレームワークと組み合わせるために EH (exists hit) および EM (exists miss) 分析へ抽象ドメインを拡張する。
  • 集中キャッシュモデルと集中収集セマンティクスを用いて、残りの未知アクセスを正確にモデル検証で分類できるようにする。
  • 残りの分類問題を有限状態モデル検証として、対象ブロックに焦点を当てた簡略化されたプログラムとキャッシュモデルでエンコードする。
  • アクセスを反復的に分類する:AIが確定的な結果を出す場合はモデル検証をスキップ;そうでない場合は正確な分類を得るためにモデル検証を適用。

実験結果

リサーチクエスチョン

  • RQ1既存の may/must キャッシュ解析を存在分析で拡張し、いくつかの実行でヒットまたはミスする可能性があるアクセスを安全に識別できるか?
  • RQ2集中した正確なキャッシュ置換ポリシーの抽象化とモデル検証の組み合わせが、残りの不確定アクセスに完全で正確な分類を生み出すか?
  • RQ3抽象化駆動のモデル検証は、抽象解釈の結果を用いてモデルを pruning することで効率的にスケールできるか?
  • RQ4ブロック中心のキャッシュモデルへの状態空間の縮小が、解析の精度と性能にとってどのような利点をもたらすか?

主な発見

  • このアプローチは、古典的な AI のみと比較して、常にヒット、常にミス、または確定的に未知と分類されるアクセスの割合を増やしている。
  • EH/EM 分析は、最小エージと最大エージの安全な境界を提供し、いくつかのヒットまたはミスについて実行の一部で決定的な結論を可能にする。
  • モデル検証は AI の結果に導かれ、残る分類を正確な結果( always hit, always miss, or definitely unknown)で完了させる。
  • 集中したキャッシュモデルは精度を保ちつつモデルの複雑さを大幅に削減し、現実的なベンチマークでスケーラブルな解析を可能にする。
  • 産業ライクな設定での実験評価は、抽象フェーズによる効果的な剪定により精度の向上とモデル検証の労力削減を示した。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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