以下の内容はhttps://msyksphinz.hatenablog.com/entry/2024/06/02/040000より取得しました。


マイクロアーキテクチャ・シミュレータのトレースログに必要な情報の解析についての論文を読む (1)

特に意味はないのだが,論文をあさっていて以下の論文が気になったのでメモを取りながら読んでみることにした.

https://ieeexplore.ieee.org/document/10289581

マイクロアーキテクチャの研究だと,主にパイプラインをモデル化したシミュレータを使って性能を計測することが多いのだけれども,シミュレータに食わせるトレースファイルに十分な情報が含まれていないと正しく性能を予測することができない. 例えば,メモリアクセス命令だとアクセスしたメモリアドレスだとか,分岐命令だと分岐結果などの情報が含まれていないと,パイプラインの状態を正確にシミュレートできない. 逆に,汎用レジスタの値とかはパイプラインの動作に直接影響を与えないので,これらの情報は削除できる,といった具合だ.

この論文では,CVP-1という競技で使われたトレースファイルとChampSimで使われるトレースファイルに変換する際に発生した問題を解析しながら,パイプラインのシミュレートにどのような命令トレース情報が必要なのかを提案していく.


  • 背景:マイクロアーキテクチャの研究は,パフォーマンスモデルの精度と速度に依存している
    • ChampSimモデルが注目を浴びている
    • CVP-1に続く様々な産業トレース
  • 課題:CVP-1トレースの変換ツールの問題
    • CVP-1トレースをChampSimモデルに変換することで,重要な情報が抜け落ちる
  • 提案:CVP-1トレースを変換する新しいツールの提案

    • CVP-1トレースの基地の制限に対応
    • 影響を評価した結果,性能の変動が大きい
  • 概要:「ガベージ・イン」「ガベージ・アウト」

    • アイデアの評価は、評価に使用されるワークロードと同程度にしか良くならない
  • シミュレーション
    • ワークロードから,ChampSimなどによりトレースを抽出
    • ワークロードを,QEMU・Gem5などでエミュレーション
  • 問題:ワークロードが正しくシミュレーションされない可能性
    • 命令のセマンティクスを正しく実装する必要がある
    • トレースに含まれる情報が本質的に正しくない必要がある
      • 一部の情報が失われるかの脳性がある
  • 産業界の優れたワークロードを公開することは,研究コミュニティにとって恩恵がある
  • マイクロアーキテクチャのチャンピオンシップ・ワークショップ
    • 分岐予測・キャッシュ置換ポリシ・データプリフェッチ・命令プリフェッチ・値予測・メモリスケジューリング
    • 最近はChampSim トレースベースシミュレータに依存している
      • Championship Simulator
  • 第5回分岐予測Championship
    • Samsung Exynos MシリーズSoCの設計に使用されたトレースのサブセット
    • 分岐命令に関する情報しか含んでいない
  • 第1回値予測Championship (CVP-1)
    • Qualcommによりトレースが提供
    • 公開トレース・秘密トレース
    • 数が多い (131 / 2013トレース)
    • 産業界が関心を持つ幅広いワークロードがカバーされている → CVP-1のトレースは有益
  • CVP-1のトレースをChampsimで実行できれば有益
    • cvp2champsim
    • CVP-1トレースのサブセットは,命令プリフェッチChampionship (IPC-1) で使用された
  • ChampSimはもともとx86トレースを読み込むために設計された
    • AArch64ベースのトレース (CVP-1) と相性が良いかはわからない
  • CVP-1のトレースのREADMEに含まれる制限事項
    • 命令において出力レジスタにレイテンシや演算タイプを付加することができない
      • ベースレジスタも更新される命令(プリ・ポスト・インデックス・インクリメント)
      • 命令の総メモリアクセスサイズは転送サイズ×出力レジスタ数として計算される
        • ベースレジスタの更新も巻き込まれる
    • ベースレジスタの加算は単純な加算であるため,直後に利用可能なはず
      • そうはならない.最悪DRAMのアクセスサイズだけ時間がかかっている
  • CVP-1トレースの再検討
    • IPC-1フォーマットへの変換ポリシがIPC-1の最終的な結果にまで影響を及ぼす
  • 幾つかの要因
    • RAS(Return Address Stack)の実装
      • ChampSimは実装済みだが,50個中10個のIPC-1ワークロードで,高い予測ミス
      • 原因はCVP-1のトレースが正しく変換できていないこと
    • 変換に耐えられないレジスタ依存関係
    • ロード・ストアのペアの処理が存在しない
  • 135個のCVP-1公開トレースのうち51個でIPCが5%以上異なることが分かった



以上の内容はhttps://msyksphinz.hatenablog.com/entry/2024/06/02/040000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14