高速かつ正確なキャッシュ シミュレーション法とその評価

24
高高高高高高高高高高高高 高高高高高高高高高高高高高高 ○ 小小小小 小小小小 小小小小 小小小小小小小小小小小小小小小小 小小小小小小小小小小小小小小小小小小

description

○小野貴継 †  井上弘士 ‡  村上和彰 ‡ † 九州大学大学院システム情報科学府 ‡ 九州大学大学院システム情報科学研究院. 高速かつ正確なキャッシュ シミュレーション法とその評価. 本発表のポイント. 高速なトレース・ドリブンシミュレーション フル・トレースに対して・・・ わずか 1.4% のトレースで ほぼ正確なシミュレーションを達成! 提案手法 の説明( SACSIS 2007 ) 関連研究との詳細な比較. 研究背景. SoC (System on a Chip) 等の早期市場投入に 対する強い要求 短期間で確実に設計することが必要 - PowerPoint PPT Presentation

Transcript of 高速かつ正確なキャッシュ シミュレーション法とその評価

Page 1: 高速かつ正確なキャッシュ シミュレーション法とその評価

高速かつ正確なキャッシュシミュレーション法とその評価

○ 小野貴継† 井上弘士‡ 村上和彰‡

† 九州大学大学院システム情報科学府‡ 九州大学大学院システム情報科学研究院

Page 2: 高速かつ正確なキャッシュ シミュレーション法とその評価

本発表のポイント

高速なトレース・ドリブンシミュレーション フル・トレースに対して・・・ わずか 1.4% のトレースで

ほぼ正確なシミュレーションを達成! 提案手法の説明( SACSIS 2007 ) 関連研究との詳細な比較

2

Page 3: 高速かつ正確なキャッシュ シミュレーション法とその評価

研究背景 SoC (System on a Chip) 等の早期市場投入に

対する強い要求 短期間で確実に設計することが必要

アーキテクチャの早期決定は不可欠 性能に与える影響が大きいことから,適切な

メモリ・アーキテクチャを選択することは重要

ソフトウエア・シミュレーションによってアーキテクチャを評価 アプリケーション・プログラムの高機能化による

プログラム規模の拡大  ⇒ 1回あたりのシミュレーション時間増加 設計空間の拡大  ⇒評価対象となるアーキテクチャが増加 3

Page 4: 高速かつ正確なキャッシュ シミュレーション法とその評価

内容

従来のキャッシュ・シミュレーション法の問題点

提案手法 メモリアクセスの特徴抽出 小規模ベンチマーク・トレースの生成

関連研究との比較評価 まとめと今後の課題

4

Page 5: 高速かつ正確なキャッシュ シミュレーション法とその評価

従来のキャッシュシミュレーション法

プロセッサ

メモリ

書き込み読み出し

アプリケーション・

プログラム

メモリ・アクセス

メモリ・アクセス・アドレス

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXX

・・

メモリ・アクセス・トレース

メモリ・アーキテクチャ評価シミュレータ

time T∝ size × Nprogram × Ndesign

time : 総シミュレーション時間Tsize : メモリ・アクセス・トレースサイズNprogram : アプリケーション・プログラムの数Ndesign : 評価対象となるメモリ・アーキテクチャの数

5

Page 6: 高速かつ正確なキャッシュ シミュレーション法とその評価

シミュレーション時間を短縮するには?

プロセッサ

メモリ

書き込み読み出し

アプリケーション・

プログラムメモリ・アクセス・アドレ

スXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXX

・・

メモリ・アーキテクチャ評価シミュレータ

<シミュレーション時間の短縮>シミュレータの高速化

メモリ・アクセス・トレースの削減

精度を維持しつつトレースサイズを削減

小規模ベンチマーク・トレース

しかし・・・シミュレーション精度が低下

6

<特徴>極めて小さい(数%程度)異なるメモリアーキテクチャに使用可能

Page 7: 高速かつ正確なキャッシュ シミュレーション法とその評価

提案する高速かつ正確なキャッシュ・シミュレーション法の概要

代表サブ・トレース

選出

特徴抽出クラスタリング

時間(クロック・サイクル)メモ

リ・ア

クセ

ス・ア

ドレ

スサブ・トレース

サブ・トレースに分割

7

Page 8: 高速かつ正確なキャッシュ シミュレーション法とその評価

メモリ・アクセスの特徴抽出

アドレス

サブ・トレース

アドレスインターバル

2

3

0

2

2

1

アクセス時間の平均値アクセス時間の標準偏差値

アクセス時間のアドレス間距離

STEP2STEP1

各アドレス・インターバルにおけるメモリ・アク

セス数をカウント特徴抽出精度の向上のため

3つの指標を追加

5.5

3

90

2

3

0

2

2

1

8

Page 9: 高速かつ正確なキャッシュ シミュレーション法とその評価

9

特徴抽出精度の向上( 1/4 )

時間

アドレス

時間

アドレス

0

4

0

0

0

4

0

4

0

0

0

4

各ブロックにおけるメモリ・アクセス数は同じ

時間的バラツキが反映されていない

サブ・トレース

アドレスインターバル

平均値,標準偏差値を追加

Page 10: 高速かつ正確なキャッシュ シミュレーション法とその評価

10

特徴抽出精度の向上( 2/4 )

平均値

標準偏差値

N

xx i

N

xxi

2

アドレス

時間(クロック・サイクル)x0

x1

x2

x3

・・・

xN

0

サブ・トレース

Page 11: 高速かつ正確なキャッシュ シミュレーション法とその評価

特徴抽出精度の向上( 3/4 )

0 10 20 30 40 50 60 70 80 90 1000

200

400

600

800

1000

Memory access

Clock cycles

Addr

ess

0 20 40 60 80 1000

200

400

600

800

1000

Memory access

Clock cycles

Addr

ess

1000-1100 26900-1000 7800-900 0700-800 0600-700 0500-600 0400-500 34300-400 0200-300 0100-200 00-100 33平均値 50.5

標準偏差値 28.9

1000-1100 26900-1000 7800-900 0700-800 0600-700 0500-600 0400-500 34300-400 0200-300 0100-200 00-100 33平均値 50.5

標準偏差値 28.9

アド

レス

・イン

ター

バル

アド

レス

・イン

ター

バル

11

Page 12: 高速かつ正確なキャッシュ シミュレーション法とその評価

特徴抽出精度の向上( 4/4 )

アドレス

時間y0

y1

y2

y3

0

y4y5

サブ・トレース

0 10 20 30 40 50 60 70 80 90 1000

200

400

600

800

1000

Memory access

Clock cycles

Addr

ess

0 20 40 60 80 1000

200

400

600

800

1000

Memory access

Clock cycles

Addr

ess

アドレス間距離

59,918

アドレス間距離

1,196

アドレス間距離

iy

12

Page 13: 高速かつ正確なキャッシュ シミュレーション法とその評価

代表サブ・トレースの選出と重み付け クラスタリング

K- 平均法 代表サブ・トレースの選出

ランダム 重み付け

クラスタに属するサブ・トレースの数を重みとして用いる

例)キャッシュ・ミス率の算出

クラスタ A クラスタ B クラスタ C

クラスタ A の代表クラスタ B の代表クラスタ C の代表

ランダムに選出

100_ 1

access

weightmissratemiss

k

iii

k :  クラスタ数access :  総メモリアクセス数missi :  クラスタ i におけるミス数weighti :  クラスタ i に属するサブ・トレース数

13

Page 14: 高速かつ正確なキャッシュ シミュレーション法とその評価

小規模ベンチマーク・トレースの生成 代表サブ・トレースのみを用いたキャッシュ・

シミュレーション コールド・スタート

各代表サブ・トレースに直前のトレースをウォームアップ・トレースとして追加⇒ 小規模ベンチマーク・トレース

14

ウォームアップ・トレース代表サブ・トレース+ + +

Page 15: 高速かつ正確なキャッシュ シミュレーション法とその評価

評価: 関連研究との比較 測定項目

キャッシュ・ミス率 比較対象

小規模ベンチマーク・トレースによるシミュレーション 関連研究( SimPoint )よるシミュレーション SimPoint と同トレースサイズの小規模ベンチマーク・ト

レース 評価指標

シミュレーション速度:メモリ・アクセス・トレース削減率 シミュレーション精度:キャッシュ・ミス率予測誤差

評価環境 アプリケーション・プログラム

mpeg2decode* 入力データ: carphone, foreman

SPEC2000 175.vpr, 176.gcc, 183.equake

*http://www.mpeg.org/MPEG/MSSG/

15

Page 16: 高速かつ正確なキャッシュ シミュレーション法とその評価

16

関連研究: 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.

Page 17: 高速かつ正確なキャッシュ シミュレーション法とその評価

パラメータ 提案手法のパラメータ

アドレス・インターバル(クロック・サイクル数) 命令: 1,024 データ: 8,192

時間インターバル 10,000

ウォームアップ・トレース・サイズ 16,000

クラスタ数 500

SimPoint のパラメータ インターバル(命令数)

10M 対象とするキャッシュ構成

命令: 64B 4K 1W データ: 64B 4K 4W 17

Page 18: 高速かつ正確なキャッシュ シミュレーション法とその評価

シミュレーション速度

18

命令

デー

命令

デー

命令

デー

命令

デー

命令

デー

carphone foreman 175.vpr 176.gcc 183.equake

0

0.04

0.08

0.12

0.16

0.2

ベンチマーク

正規化トレースサイズ

平均 81.7% 削減

Page 19: 高速かつ正確なキャッシュ シミュレーション法とその評価

シミュレーション精度

19

命令

デー

命令

デー

命令

デー

命令

デー

命令

デー

carphone foreman 175.vpr 176.gcc 183.equake

0

0.1

0.2

0.3

0.4

0.5

0.6

0.00

6000

0000

000

0023

0.01

1000

0000

000

067

0.01

3000

0000

000

053

0.01

7000

0000

000

057

0.00

7000

0000

000

05

0.00

8999

9999

999

9719

0.01

3000

0000

000

053

0.00

5

0.00

7

提案手法(クラスタ数 500 )提案手法( SimPoint と同サイズ)SimPoint

ベンチマーク

キャッシュ・ミス率予測誤差

(パーセンテージ・ポイント) 0

.855

1.632

平均 34.6% 向上

Page 20: 高速かつ正確なキャッシュ シミュレーション法とその評価

評価: 異なるキャッシュ構成への適用

測定項目 キャッシュ・ミス率

比較対象 代表トレースによるシミュレーション フル・トレースよるシミュレーション

評価指標 シミュレーション精度:キャッシュ・ミス率予測誤

差 評価環境

アプリケーション・プログラム mpeg2decode*

入力データ: carphone , foreman SPEC2000

175.vpr , 176.gcc , 183.equake

*http://www.mpeg.org/MPEG/MSSG/

20

Page 21: 高速かつ正確なキャッシュ シミュレーション法とその評価

命令キャッシュ

32K1

W16

K1W

8K1W

4K1W

32K1

W16

K1W

8K1W

4K1W

32K1

W16

K1W

8K1W

4K1W

32K1

W16

K1W

8K1W

4K1W

32K1

W16

K1W

8K1W

4K1W

car-phone

foreman 175.vpr 176.gcc 183.equake

-0.01

-2.08166817117217E-17

0.00999999999999999

0.02

0.03

0.04

0.05

ベンチマーク

キャッシュ・ミス率予測誤差

(パーセンテージ・ポイント)

0.19

20.

064

21

平均 0.024 ポイント

Page 22: 高速かつ正確なキャッシュ シミュレーション法とその評価

データキャッシュ32

K1W

32K2

W32

K4W

16K1

W16

K2W

16K4

W8K

1W8K

2W8K

4W4K

1W4K

2W4K

4W32

K1W

32K2

W32

K4W

16K1

W16

K2W

16K4

W8K

1W8K

2W8K

4W4K

1W4K

2W4K

4W32

K1W

32K2

W32

K4W

16K1

W16

K2W

16K4

W8K

1W8K

2W8K

4W4K

1W4K

2W4K

4W32

K1W

32K2

W32

K4W

16K1

W16

K2W

16K4

W8K

1W8K

2W8K

4W4K

1W4K

2W4K

4W32

K1W

32K2

W32

K4W

16K1

W16

K2W

16K4

W8K

1W8K

2W8K

4W4K

1W4K

2W4K

4W

carphone foreman 175.vpr 176.gcc 183.equake

0

0.1

0.2

0.3

0.4

0.5

ベンチマーク

キャッシュ・ミス率予測誤差

(パーセンテージ・ポイント)

22

平均 0.143 ポイント

Page 23: 高速かつ正確なキャッシュ シミュレーション法とその評価

まとめ

高速かつ正確なキャッシュシミュレーション法 メモリ・アクセスの特徴抽出 特徴に基づくシミュレーション区間の選択

定量的評価 関連研究( SimPoint )との比較

トレースサイズは約 81.7% 削減 予測誤差は 34.6% 向上

異なるキャッシュ構成への適用 予測誤差は命令:平均 0.024 ポイント,デー

タ:平均 0.143 ポイント23

Page 24: 高速かつ正確なキャッシュ シミュレーション法とその評価

今後の課題

シミュレーション時間による評価 現状はトレース・サイズ削減率で近似

提案手法の改良 問題点

クラスタリングに要する時間が長い フル・トレースによるシミュレーション時間の 5~ 6倍程度

解決策 特徴ベクトルの次元を縮小

バス等の評価へ応用

24