240 likes | 296 Views
This presentation highlights a fast and accurate cache simulation method for evaluating early-stage system-on-a-chip designs, comparing it with related research. The proposed method achieves nearly precise simulation results with just 1.4% of the full trace, addressing the challenge of quickly and reliably designing architectures for enhanced program functionality. By extracting memory access characteristics, generating small-scale benchmark traces, and improving feature extraction accuracy, the method significantly reduces simulation time while maintaining precision. The approach involves clustering sub-traces, selecting representative sub-traces, and determining sub-trace weights for cluster-based analysis. By enhancing feature extraction accuracy, the method optimizes cache simulation efficiency by efficiently selecting and evaluating memory architectures with reduced trace sizes.
E N D
○小野貴継† 井上弘士‡ 村上和彰‡ †九州大学大学院システム情報科学府 ‡九州大学大学院システム情報科学研究院 高速かつ正確なキャッシュシミュレーション法とその評価
本発表のポイント • 高速なトレース・ドリブンシミュレーション • フル・トレースに対して・・・ • わずか1.4%のトレースでほぼ正確なシミュレーションを達成! • 提案手法の説明(SACSIS 2007) • 関連研究との詳細な比較
研究背景 • SoC (System on a Chip)等の早期市場投入に対する強い要求 • 短期間で確実に設計することが必要 • アーキテクチャの早期決定は不可欠 • 性能に与える影響が大きいことから,適切なメモリ・アーキテクチャを選択することは重要 • ソフトウエア・シミュレーションによってアーキテクチャを評価 • アプリケーション・プログラムの高機能化によるプログラム規模の拡大 ⇒1回あたりのシミュレーション時間増加 • 設計空間の拡大 ⇒評価対象となるアーキテクチャが増加
内容 • 従来のキャッシュ・シミュレーション法の問題点 • 提案手法 • メモリアクセスの特徴抽出 • 小規模ベンチマーク・トレースの生成 • 関連研究との比較評価 • まとめと今後の課題
従来のキャッシュシミュレーション法 メモリ・アクセス・トレース アプリケーション・ プログラム メモリ・アクセス・アドレス XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX メモリ・アーキテクチャ 評価シミュレータ プロセッサ 読み出し 書き込み ・・ メモリ メモリ・アクセス time ∝ Tsize × Nprogram × Ndesign time : 総シミュレーション時間 Tsize: メモリ・アクセス・トレースサイズ Nprogram: アプリケーション・プログラムの数 Ndesign:評価対象となるメモリ・アーキテクチャの数
シミュレーション時間を短縮するには? アプリケーション・ プログラム メモリ・アクセス・アドレス XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX XXXXXXXX メモリ・アーキテクチャ 評価シミュレータ プロセッサ 読み出し 書き込み ・・ メモリ <シミュレーション時間の短縮> 小規模 ベンチマーク・トレース • シミュレータの高速化 • メモリ・アクセス・トレースの削減 • <特徴> • 極めて小さい(数%程度) • 異なるメモリアーキテクチャに使用可能 しかし・・・ シミュレーション精度が低下 精度を維持しつつトレースサイズを削減
提案する高速かつ正確なキャッシュ・シミュレーション法の概要提案する高速かつ正確なキャッシュ・シミュレーション法の概要 サブ・トレース メモリ・アクセス・アドレス サブ・トレースに分割 時間(クロック・サイクル) 特徴抽出 クラスタリング 代表サブ・トレース 選出
メモリ・アクセスの特徴抽出 各アドレス・インターバルにおけるメモリ・アクセス数をカウント 特徴抽出精度の向上のため 3つの指標を追加 アドレス • 2 • 3 • 0 • 2 アドレス インターバル STEP2 STEP1 • 2 • 1 アクセス時間の平均値 アクセス時間の標準偏差値 サブ・トレース アクセス時間のアドレス間距離
特徴抽出精度の向上(1/4) サブ・トレース アドレス 各ブロックにおける メモリ・アクセス数は同じ アドレス インターバル 時間 時間的バラツキが 反映されていない アドレス 平均値,標準偏差値を追加 時間
特徴抽出精度の向上(2/4) サブ・トレース • 平均値 • 標準偏差値 アドレス ・・・ 0 時間 (クロック・サイクル) x0 x1 x2 x3 xN
特徴抽出精度の向上(3/4) アドレス・インターバル アドレス・インターバル
特徴抽出精度の向上(4/4) サブ・トレース • アドレス間距離 アドレス y5 y4 y3 y2 y1 アドレス間距離 1,196 アドレス間距離 59,918 y0 時間 0
代表サブ・トレースの選出と重み付け クラスタC クラスタB クラスタA • クラスタリング • K-平均法 • 代表サブ・トレースの選出 • ランダム • 重み付け • クラスタに属するサブ・トレースの数を重みとして用いる • 例)キャッシュ・ミス率の算出 ランダムに選出 クラスタBの代表 クラスタCの代表 クラスタAの代表 k : クラスタ数 access : 総メモリアクセス数 missi : クラスタiにおけるミス数 weighti : クラスタiに属するサブ・トレース数
小規模ベンチマーク・トレースの生成 • 代表サブ・トレースのみを用いたキャッシュ・シミュレーション • コールド・スタート • 各代表サブ・トレースに直前のトレースをウォームアップ・トレースとして追加 ⇒小規模ベンチマーク・トレース + + + 代表サブ・トレース ウォームアップ・トレース
評価: 関連研究との比較 • 測定項目 • キャッシュ・ミス率 • 比較対象 • 小規模ベンチマーク・トレースによるシミュレーション • 関連研究(SimPoint)よるシミュレーション • SimPointと同トレースサイズの小規模ベンチマーク・トレース • 評価指標 • シミュレーション速度:メモリ・アクセス・トレース削減率 • シミュレーション精度:キャッシュ・ミス率予測誤差 • 評価環境 • アプリケーション・プログラム • mpeg2decode* • 入力データ: carphone, foreman • SPEC2000 • 175.vpr, 176.gcc, 183.equake *http://www.mpeg.org/MPEG/MSSG/
関連研究:SimPoint • SimPointの概要 • プログラムの実行から終了までをある命令数で分割 • 各インターバルにおけるベーシック・ブロックの実行回数をカウントしベーシック・ブロック・ベクタ(BBV)を生成 • BBVが似ているインターバルをクラスタリング • 各クラスタから代表的なインターバルをひとつ選出 • 選出されたインターバルをシミュレーションし,結果に各クラスタに応じた重みをつける • 提案手法との違い • メモリ・アーキテクチャの評価に特化 • メモリ・アーキテクチャの性能評価において命令の実行順序は重要だが,SimPointはBBの実行回数だけしか考慮していない T. Sherwood, E. Perelman, G. Hamerly and B. Calder, “Automatically Characterizing Large Scale Program Behavior,”ASPLOS, pp. 45-57, October. 2002.
パラメータ • 提案手法のパラメータ • アドレス・インターバル(クロック・サイクル数) • 命令:1,024 • データ:8,192 • 時間インターバル • 10,000 • ウォームアップ・トレース・サイズ • 16,000 • クラスタ数 • 500 • SimPointのパラメータ • インターバル(命令数) • 10M • 対象とするキャッシュ構成 • 命令:64B 4K 1W • データ:64B 4K 4W
シミュレーション速度 平均81.7%削減
シミュレーション精度 平均34.6%向上 0.855 1.632
評価: 異なるキャッシュ構成への適用 • 測定項目 • キャッシュ・ミス率 • 比較対象 • 代表トレースによるシミュレーション • フル・トレースよるシミュレーション • 評価指標 • シミュレーション精度:キャッシュ・ミス率予測誤差 • 評価環境 • アプリケーション・プログラム • mpeg2decode* • 入力データ: carphone,foreman • SPEC2000 • 175.vpr,176.gcc,183.equake *http://www.mpeg.org/MPEG/MSSG/
命令キャッシュ 0.064 0.192 平均0.024ポイント
データキャッシュ 平均0.143ポイント
まとめ • 高速かつ正確なキャッシュシミュレーション法 • メモリ・アクセスの特徴抽出 • 特徴に基づくシミュレーション区間の選択 • 定量的評価 • 関連研究(SimPoint)との比較 • トレースサイズは約81.7%削減 • 予測誤差は34.6%向上 • 異なるキャッシュ構成への適用 • 予測誤差は命令:平均0.024ポイント,データ:平均0.143ポイント
今後の課題 • シミュレーション時間による評価 • 現状はトレース・サイズ削減率で近似 • 提案手法の改良 • 問題点 • クラスタリングに要する時間が長い • フル・トレースによるシミュレーション時間の5~6倍程度 • 解決策 • 特徴ベクトルの次元を縮小 • バス等の評価へ応用