230 likes | 377 Views
○小野貴継 † 井上弘士 ‡ 村上和彰 ‡ † 九州大学大学院システム情報科学府 ‡ 九州大学大学院システム情報科学研究院. メモリ・アクセスの特徴を活用した 高速かつ正確なメモリアーキテクチャ・シミュレーション法. 内容. 研究背景 従来のメモリ・シミュレーション法の問題点 提案手法 メモリアクセスの特徴抽出 小規模ベンチマーク・トレースの生成 評価 関連研究との比較 まとめ と今後の課題. 研究背景. SoC (System on a Chip) 等の早期市場投入に 対する強い要求 短期間で確実に設計することが必要
E N D
○小野貴継† 井上弘士‡ 村上和彰‡ †九州大学大学院システム情報科学府 ‡九州大学大学院システム情報科学研究院 メモリ・アクセスの特徴を活用した高速かつ正確なメモリアーキテクチャ・シミュレーション法
内容 • 研究背景 • 従来のメモリ・シミュレーション法の問題点 • 提案手法 • メモリアクセスの特徴抽出 • 小規模ベンチマーク・トレースの生成 • 評価 • 関連研究との比較 • まとめと今後の課題
研究背景 • 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に属するサブ・トレース数
小規模ベンチマーク・トレースの生成 • 代表サブ・トレースのみを用いたキャッシュ・シミュレーション • コールド・スタート • 各代表サブ・トレースに直前のトレースをウォームアップ・トレースとして追加 ⇒小規模ベンチマーク・トレース + + + 代表サブ・トレース ウォームアップ・トレース
評価 • 測定項目 • キャッシュ・ミス率 • 比較対象 • 小規模ベンチマーク・トレースによるシミュレーション • フル・トレースによるシミュレーション • 評価指標 • シミュレーション速度:メモリ・アクセス・トレース削減率 • シミュレーション精度:キャッシュ・ミス率予測誤差 • 評価環境 • アプリケーション・プログラム • mpeg2decode* • 入力データ: akiyo, carphone, foreman • SPEC2000 • 164.gzip, 175.vpr, 176.gcc, 197.parser, 177.mesa, 183.equake *http://www.mpeg.org/MPEG/MSSG/
トレースサイズ削減率 平均98.8%
予測精度(データキャッシュ/MPEG) 平均0.061
予測精度(データキャッシュ/SPEC2000) 平均0.171 キャッシュ・ミス率予測誤差(パーセンテージ・ポイント)
評価: 関連研究との比較 • 測定項目 • キャッシュ・ミス率 • 比較対象 • 小規模ベンチマーク・トレースによるシミュレーション • 関連研究(SimPoint)よるシミュレーション • 評価指標 • シミュレーション速度:メモリ・アクセス・トレース削減率 • シミュレーション精度:キャッシュ・ミス率予測誤差 • 評価環境 • アプリケーション・プログラム • mpeg2decode* • 入力データ: foreman • SPEC2000 • 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.
SimPointとの比較精度 1.663
まとめ • 高速かつ正確なメモリアーキテクチャ・シミュレーション法の提案 • メモリ・アクセスの特徴抽出 • 特徴に基づくシミュレーション区間の選択 • 評価 • トレース削減率:98.8% • 予測誤差:0.067ポイント • 関連研究(SimPoint)との比較 • 提案手法の有効性を確認
今後の課題 • シミュレーション時間による評価 • 現状はトレース・サイズ削減率で近似 • 提案手法の改良 • 問題点 • クラスタリング時間が長い • フル・トレースによるシミュレーション時間の5~6倍程度 • 解決策 • 特徴ベクトルの次元を縮小