50
SRAM/DRAM ハハハハハハ ハハハハハ ハハハハハハハハハハハハハハハハハハ 1 ○ ハハハハ† ハハハハ† ハハハハ‡ ハハハハ‡ † ハハハハハハハ ハハハハハハハハハ ‡ ハハハハハハハ ハハハハハハハハハハハ

SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

  • Upload
    judith

  • View
    58

  • Download
    0

Embed Size (px)

DESCRIPTION

SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案. ○橋口慎哉 †  福本尚人 †  井上弘士 ‡  村上和彰 ‡ † 九州大学大学院 システム情報科学府 ‡ 九州大学大学院 システム情報科学研究院. 発表手順. 3 次元実装技術 SRAM/DRAM ハイブリッド・キャッシュ 研究目的 実行時動作モード決定法 評価実験 まとめと今後の課題. 研究背景. 3 次元実装技術 グローバル配線長の削減、チップ面積縮小 異なるプロセスを経て製造されたダイ同士の積層 - PowerPoint PPT Presentation

Citation preview

Page 1: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

SRAM/DRAM ハイブリッド・キャッシュにおける実行時動作モード決定法の提案

1

○ 橋口慎哉† 福本尚人†  井上弘士‡ 村上和彰‡† 九州大学大学院 システム情報科学府‡ 九州大学大学院 システム情報科学研究院

Page 2: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

発表手順• 3 次元実装技術• SRAM/DRAM ハイブリッド・キャッシュ• 研究目的• 実行時動作モード決定法• 評価実験• まとめと今後の課題

2

Page 3: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

研究背景• 3 次元実装技術– グローバル配線長の削減、チップ面積縮小– 異なるプロセスを経て製造されたダイ同士の積層

• プロセッサ・ダイと DRAM ダイを積層することによりオンチップ・メモリの大容量化を実現可能 →メモリウォール問題の解決策

3出典:米インテル社

TSV ( Through    Silicon Vias )

Page 4: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

DRAM スタック法 [1]

MMAT)MRHT(MRHTAMAT LLLL 2211

L1 キャッシュのアクセス時間 [cc]L1 キャッシュミスの割合 L2 キャッシュのアクセス時間 [cc]

L2 キャッシュミスの割合

DRAM スタック法の効果 (?)

4MB L2 (SRAM)

Core(s)+ L1(s)

4MB Tag (SRAM)

64MB L2(DRAM)

Core(s)+ L1(s)

ベースプロセッサ( 2 次元実装)DRAM スタック法( 3 次元実装)

[1]Bryan Black et al. “Die Stacking (3D) Architecture,” International Symposium on Microarchitecture ,2006

平均メモリアクセス時間[cc]

2 4 8 16 32 64 1280

10

20

30

40

50

60

L2 キャッシュ容量 [MB]

L2キャ

ッシュミ

ス率[%

] 削減量小削減量大削減量大

削減量小

主記憶のアクセス時間 [cc]

4

FFT

LU

Cholesky

FMM

Raytrace

Barnes

Ocean

WaterSpatial

Page 5: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

DRAM スタック法の問題点 プログラムによっては性能が低下する!

5

2060 40

100 80 150200

10050 0

0

1.0

0

1.5

3.0

2.0

2.5

0.5

L2 キャッシュアクセス時間の増加L2 キャッシュミス率の削減率[cc]

性能向上性能低下

性能向上率

[points] 5

Ocean

Cholesky

4MB L2 (SRAM)

Core(s)+ L1(s)

4MB Tag (SRAM)

64MB L2(DRAM)

Core(s)+ L1(s)

ベースプロセッサ( 2 次元実装)DRAM スタック法( 3 次元実装)

MMAT)MRHT(MRHTAMAT LLLL 2211

DRAM スタック法の効果 (?)

Page 6: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

SRAM/DRAM ハイブリッド・キャッシュ [2]

• 異なる 2 種類の動作モードをプログラムのメモリ参照の特性に応じてプログラム間 / 内に切り替える

6

切り替え

未使用

SRAM キャッシュモード(高速・小容量 L2 キャッシュ) DRAM キャッシュモード(低速・大容量 L2 キャッシュ)

SRAM

DRAM

Core(s)+ L1(s)

  L2  Tag( SRAM )

L2 Cache( DRAM ) Core(s)+ L1(s)

  L2  Cache( SRAM ) Core(s)+ L1(s)

[2] 橋口慎哉 , 小野貴継 , 井上弘士 , 村上和彰 , “3 次元 DRAM- プロセッサ積層実装を対象としたオンチップ・メモリ・アーキテクチャの提案と評価 ,” 情報処理学会研究報告 , Vol.2009-ARC-183, No.8, 2009 年 4 月 .

Page 7: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

前回評価時における限界点

 ただし・・・• 適切な動作モード(※)は既知• 実行時に動作モードを切り替える場合に発生する動作モード切り替えオーバーヘッド(フラッシュ)の影響は未考慮

171.swim

179.art

181.mcf

183.equak

e

188.ammp

256.bzip2

Cholesky

FMM

Ocean

WaterSp

atial

Averag

e0

0.51

1.52

2.53

3.54

2D-BASE 3D-CONV 3D-HYBRID-STATIC 3D-HYBRID-DYNAMIC

ベンチマークプログラム

性能向上

静的制御方式で平均 35 %動的制御方式で平均 43 %の性能向上を達成

7

※ より高い性能を実現  できる動作モード

Page 8: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

研究のねらい• 研究目的– SRAM/DRAM ハイブリッド・キャッシュの動作モード決定法の提案– 動作モード切り替えオーバヘッドを考慮した性能評価

8

プログラム実行開始時のみ(静的)

プログラム実行中(動的)

プログラム実行前(静的)

× 適切な動作モードが入力に 依存する場合、対応不可

× 適切な動作モードが入力に 依存する場合、対応不可

プログラム実行中(動的)

○ 入力に依存せず動作モード  の選択可能

適切な動作モードは入力に大きく依存するため、「動的決定・動的切り替え」を選択

動作モード 切り替え動作モード決定

Page 9: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

プログラム実行中の適した動作モードの変化

9

1 81 1612413214014815616417218018810

50100150200250

SRAM キャッシュモードDRAM キャッシュモード

区間平均L1

ミスペナ

ルティ

[cc]

1 28 55 82 1091361631902172442712980

10203040

SRAM キャッシュモードDRAM キャッシュモード

区間平均L1

ミスペナ

ルティ

[cc]

※ 区間=プログラムの実行を一定回数の L2 キャッシュアクセスで分割した単位ある実行区間とその次の区間の適した動作モードが同じである確率

mcf → 95.9% twolf → 100%

mcf  twolf 

現在実行中の区間において高性能な動作モードは次の区間においても同じであると考える

Page 10: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

動作モード切り替え例

10

プログラムの実行

ウォームアップ区間(動作モード決定・切り替え、)ウォームアップ区間

NN-1 N+1

実行動作モード S S S S S D D D D

動作モード決定区間

D

動作モード切り替え( DRAM キャッシュモード→ SRAM キャッシュモード)区間ナンバー

動作モード切り替え( SRAM キャッシュモード→ DRAM キャッシュモード)動作モード判定開始 動作モード判定開始

N+3N+2 M-1 M M+1

SRAM キャッシュモードが高性能

S

未使用

SRAMキャッシュモード

L2Cache

(SRAM)

Core(s)+ L1(s)

DRAMキャッシュモード

L2Tag

(SRAM)

L2 Cache(DRAM)

Core(s)+ L1(s)

S : SRAM キャッシュ・モードD : DRAM キャッシュ・モード

DRAM キャッシュモードが高性能SRAM キャッシュモードが高性能

Page 11: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

動作モード決定のための判定式

以下の判定式を基に実行中の区間における適切な動作モードを求め、それを次区間の動作モードに設定

11

プログラムの実行

現在実行中の区間 動作モードを決定したい区間

区間   1

2 N-1 N+1N

::

_2_2_2_2

elsethenMMAT

HTHTMRMR SRAMLDRAML

DRAMLSRAML

               

DRAM キャッシュモード SRAM キャッシュモード

                                      if

MRMR DRAMLSRAML _2_2 / : SRAM/DRAM キャッシュのミスの割合MMATHTHT DRAMLSRAML ,, _2_2 : SRAM/DRAM キャッシュ、主記憶のアクセス時間 [cc]

Page 12: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

プログラム特性に依存するため、実行中にのみ得ることが可能• 実行中の動作モードにおけるミス率    →プログラム実行中に観測することは容易• 実行中ではない動作モードにおけるミス率    →何らかの方法により推測する必要

ハードウェア特性にのみ依存するため、既知と仮定

L2 キャッシュミス率推定の必要性

12

::

_2_2_2_2

elsethenMMAT

HTHTMRMR SRAMLDRAML

DRAMLSRAML

               

DRAM キャッシュモード SRAM キャッシュモード

                                      if

MRMR DRAMLSRAML _2_2 /

MMATHTHT DRAMLSRAML ,, _2_2

Page 13: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

DRAM キャッシュモード時のミス率推測法( L2 キャッシュが SRAM キャッシュと仮定したときのミス率を推測)• 本モード時は下層 SRAM のタグメモリは使用しない

→DRAM キャッシュ用タグとは別に推測用に SRAMキャッシュモードを想定してタグを格納し、ヒット / ミス情報を取得–         を完全に知ることが可能

13SRAM キャッシュモード DRAM キャッシュモード

  L2  Tag

L2 Data

Core(s)+ L1(s)

  L2 Data

Core(s)+ L1(s)

  L2   Tag

未使用 未使用SRAM キャッシュ用タグ記憶・比較

MR SRAML _2

Page 14: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

SRAM キャッシュモード時のミス率推測法( L2 キャッシュが DRAM キャッシュと仮定したときのミス率を推測)• DRAM キャッシュに格納可能なライン数分のタグ情報を保持するメモリを搭載→極めて大きな面積オーバヘッド   e.g. 32MB, 64B-LineSize ・・・ 2.5MB-TagRAM

• いくつかのセットに対応する、少数のタグ情報のみ保持し、面積オーバヘッドを緩和※ 実現のためのハードウェア・サポートは検討中14

Page 15: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

評価実験~評価環境~• 評価法:事前実行でトレースを取得し、メモリ性能値を算出

– プロセッサシミュレータ: M5– ベンチマークプログラム: SPEC CPU 2000 、 Splash2から選択

• 評価モデル– DRAM-STACK : DRAM スタック法– D-HYBRID-IDEAL : 適した動作モードが既知であり、動作モード切り替えオーバーヘッドはゼロの動的ハイブリッド・キャッシュ– D-HYBRID : 提案する動的ハイブリッド・キャッシュ

• 1 区間の長さ: L2 キャッシュアクセス 5M 回• 性能オーバヘッド見積もり:動作モード切り替え後、切り替え先のキャッシュのライン数分のアクセスはミスすると仮定

コア L1キャッシュ L2キャッシュ

15

主記憶容量 :32KBアクセス時間: 2cycles

動作周波数: 3GHz容量: 2MBアクセス時間:

6cycles

アクセス時間:181cycles

容量: 32MBアクセス時間:28cycles

DRAM-STACK 、

DRAM$ モード

SRAM$モード

オンチップ

Page 16: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

適切な動作モードの予測精度

16

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

0102030405060708090

100

ベンチマークプログラム

動作モー

ド予測精

度[%]

Page 17: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

適切な動作モードの予測精度

17

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

0102030405060708090

100

ベンチマークプログラム

動作モー

ド予測精

度[%]

1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 650

102030405060708090

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ[

cc]

頻繁に適した動作モードが入れ替わる

Page 18: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

適切な動作モードの予測精度

18

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

0102030405060708090

100

ベンチマークプログラム

動作モー

ド予測精

度[%]

区間数が少なく、 1度予測が外れた時の影響が大きい

1 205

101520253035404550

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ[

cc]

Page 19: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

Averag

e0

0.20.40.60.8

11.21.41.61.8

2

DRAM-STACK D-HYBRID-IDEAL D-HYBRID

ベンチマークプログラム

メモリ性

能向上比

性能評価結果

19

3.01 3.01

Page 20: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

Averag

e0

0.20.40.60.8

11.21.41.61.8

2

DRAM-STACK D-HYBRID-IDEAL D-HYBRID

ベンチマークプログラム

メモリ性

能向上比

性能評価結果

20

3.01 3.01

D-HYBRID-IDEAL は DRAM-STACK に対して最大 3.01倍、平均 1.21倍の性能向上↑プログラム実行中のメモリ参照の変化に追従できるため

Page 21: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

Averag

e0

0.20.40.60.8

11.21.41.61.8

2

DRAM-STACK D-HYBRID-IDEAL D-HYBRID

ベンチマークプログラム

メモリ性

能向上比

性能評価結果

21

3.01 3.01

1 5 9 13 17 21 25 29 33 37 41 45 49 53 570

20

40

60

80

100

120

SRAM キャッシュモード DRAM キャッシュモード

区間平均

L1ミス

ペナルテ

ィ[cc]

プログラム実行中(ほぼ)全ての区間で DRAM キャッシュモードが高性能

mgrid

Page 22: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

Averag

e0

0.20.40.60.8

11.21.41.61.8

2

DRAM-STACK D-HYBRID-IDEAL D-HYBRID

ベンチマークプログラム

メモリ性

能向上比

性能評価結果

22

3.01 3.01

プログラム実行中(ほぼ)全ての区間で SRAM キャッシュモードが高性能

1 6 11 16 21 26 31 36 41 46 51 56 610

10

20

30

SRAM キャッシュモードDRAM キャッシュモード

区間平均L1

ミスペナ

ルティ[

cc]

twolf

Page 23: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

Averag

e0

0.20.40.60.8

11.21.41.61.8

2

DRAM-STACK D-HYBRID-IDEAL D-HYBRID

ベンチマークプログラム

メモリ性

能向上比

性能評価結果

23

3.01 3.01

適した動作モードが比較的変化する傾向にあり、動作モード切り替えオーバーヘッドが大きい

1 14 27 40 53 66 79 92 1051181311441571701830

20406080

100120140160180

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ[

cc]

切り替え回数:11

mcf

Page 24: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

Averag

e0

0.20.40.60.8

11.21.41.61.8

2

DRAM-STACK D-HYBRID-IDEAL D-HYBRID

ベンチマークプログラム

メモリ性

能向上比

性能評価結果

24

3.01 3.01

理想的には大きく性能が向上するが、 1 区間が長いとメモリ参照の変化に対して追従できない

Ocean

1 8 15 22 29 36 43 50 57 64 71 78 85 92 990

50

100

150

200

SRAM キャッシュモードDRAM キャッシュモード

区間( 1 区間の長さ: 100K )平均L1

ミスペナ

ルティ[

cc]

1 2 30

102030405060708090

区間( 1 区間の長さ: 5M )

Page 25: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

wupwisesw

immgri

dap

plu LUFM

M gzip art

twolf

apsi FF

Tmcf

ammp

bzip2

Cholesky

Barnes

Ocean

WaterSp

atial

Averag

e0

0.20.40.60.8

11.21.41.61.8

2

DRAM-STACK D-HYBRID-IDEAL D-HYBRID

ベンチマークプログラム

メモリ性

能向上比

性能評価結果

25

3.01 3.01

•D-HYBRID は D-HYBRID-IDEAL と比較してほぼ同じ性能• 平均して約 17 %の性能向上を達成!

Page 26: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

まとめと今後の課題• まとめ– SRAM/DRAM ハイブリッド・キャッシュ・アーキテクチャにおける動的動作モード決定法を提案

• 現在実行中の区間における適切な動作モードを次区間の動作モードとする– 評価実験で最大 3.01倍、平均 1.17倍の性能向上を確認

• 高い精度で次区間の適した動作モードを選択でき、また動作モード切り替え回数が少ないため• 今後の課題– 消費エネルギーの評価– プログラム実行前の動作モード決定法の考案

26

Page 27: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

ご清聴ありがとうございます

27

Page 28: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

back slides

28

Page 29: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

Q&A• マルチコアの場合、この手法でいけるのか?→ 今のままではだめだと感じていて、別の方法も考える必要がある• コンテキストスイッチのように複数のプログラムが切り替わっている場合はほとんど切り替わらない?→ そのような状況も考えられる.今後の課題とします• 1 区間の長さはどれくらい?(確認)

→5M 回で、比較的長くいです.これは,長さを変えて評価した結果です.• 切り替えオーバーヘッド見積もりはそれでよいのか?→ワーストケースであり、適当とは言えません.詳細に評価する必要があります.• DRAM キャッシュのサイズを変えた場合はうまみがなくなる?ほとんど

DRAM キャッシュが高性能?→ まだやれておらず,今後行う予定です.• ラインサイズ変える等して下の SRAM の半分をタグ RAM として使い、上の

DRAM を L3 として使えるのでは?→うまく答えられず29

Page 30: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

キャッシュ容量とキャッシュミス率の関係

30

2 4 8 16 32 64 1280

10

20

30

40

50

60

L2 キャッシュ容量

L2キャ

ッシュミ

ス率[%

]

あまり低下しない

大きく低下するあまり低下しないあまり低下しない

大きく低下する大きく低下する

FFT

LU

Cholesky

FMM

RaytraceBarnes

Ocean

WaterSpatial

Page 31: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

プログラム実行中の適したキャッシュ容量の変化

31

1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 961010

50

100

150

200

250

300

350

2MB(12cc) 32MB(60cc)

区間

L1ミス

ペナルテ

ィ[cc]

Ocean

L1 ミスペナルティ =HTL2+MRL2×MMAT( 300cc )適したキャッシュ容量:大

適したキャッシュ容量:小

Page 32: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

高性能動作モードの入力依存性

32

( 2MB の SRAM キャッシュと 32MB の DRAM キャッシュを想定)入力により適した動作モードは異なる!

tk17

.O

tk23

.O

tk29

.O

m18

m22

m24

n102

4

n204

8 8K 32K

64K 8K 16K

64K

n130

n258

n514 51

2 4K

Cholesky FFT LU Barnes FMM Ocean WaterS

0123456789

10

SRAM キャッシュモード DRAM キャッシュモード

ベンチマークプログラムとその入力

AMAT

[cc]

Page 33: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

1 区間の長さについて• 1 区間を長く設定すると・・・– 高性能な動作モードが切り替わる頻度は低下する→切り替えオーバーヘッド小

– メモリ参照の振る舞いに変化に対する追従性が低下する→適切な動作モードで実行する時間の低下33

トレードオフ

1 区間の長さは適切に設定する必要がある

Page 34: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

SRAM キャッシュモード時の L2 ミス率予測法• DRAM キャッシュ用タグを、セットサンプリングすることで少量だけ保持する SST を導入• 対象セットに対するアクセス時のみアクセス数等カウント

01234

8

012

SST : Set Sampled TagRAM(セットサンプリングされたタグRAM )↑容量 C/4[B] 仮定:連想度同一

1/4 にセットサンプリング

容量 C[B]→

本来必要な DRAM キャッシュ用タグ RAM ( SRAM )34

Page 35: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

ハードウェア・アーキテクチャタグ インデックス オフセット

00000001001000110100

1000

000110

フィルタ2bit

もしインデックス下位 2ビットが0 なら下位 2ビットを除くインデックスを出力

0 でないなら出力なし

アクセス

SST

本来必要な DRAM キャッシュ 用タグ RAM ( SRAM )

実際はサポートしないハードウェア

SSTへのアクセス数SST でのヒット数

DRAM キャッシュのミス率=

35

Page 36: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

1 区間の長さと性能の関係( 1/3 )

36

100K 200K 500K 1M 2M 5M 10M10

11

12

13

14

15

16

17

18

DRAM-STACKD-HYBRID-IDEALD-HYBRID

1 区間の長さ( L2 キャッシュアクセス数)

AMAT

[cc]

mcf

メモリ参照の変化に対する追従性の向上→ 1 区間が短いほど D-HYBRID-IDEAL は高性能切り替え回数増加によりキャッシュミス率増加→1 区間が短いほど D-HYBRID は性能低下の傾向追従性の向上と切り替えオーバーヘッド増加のトレードオフ

mcf では比較的区間が長い方が高性能(最適点は 5M )

Page 37: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

1 区間の長さと性能の関係( 2/3 )

37

100K 200K 500K 1M 2M 5M 10M1.51.71.92.12.32.52.72.93.13.33.5

DRAM-STACKD-HYBRID-IDEALD-HYBRID

1 区間の長さ( L2 キャッシュアクセス数)

AMAT

[cc]

bzip2

mcf の場合と同様の理由で D-HYBRID-IDEAL はmcf と同様の傾向

追従性の影響が小さく、切り替えオーバーヘッドの影響が大きい→D-HYBRID は 1 区間が長いほど高性能

bzip2 では比較的区間が長い方が高性能(最適点は 10M )

Page 38: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

1 区間の長さと性能の関係( 3/3 )

38

FFT100K 200K 500K 1M 2M 5M 10M

4.14.24.34.44.54.64.74.84.9

55.1

DRAM-STACKD-HYBRID-IDEALD-HYBRID

1 区間の長さ( L2 キャッシュアクセス数)

AMAT

[cc]

プログラムの実行を通してほぼ全ての区間で適切な動作モードが同一→ 区間の長さによらず D-HYBRID-IDEAL と D-HYBRID ともにほぼ同性能

これら以外のプログラムに関しても、この 3 種類に分類ことが可能→ 本評価では、 D-HYBRID における 1 区間の長さを 5M アクセスに設定

Page 39: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

Sensitivity Analysis

39

100 150 200 250 300 350 400

0

0.2

0.4

0.6

0.8

1

1.2

1.4

10

30

50

性能向上

HTDRAM[cc]

MMAT[cc]

HTDRAM が小さいほど、また MMAT が小さいほどDRAM キャッシュモードが適する区間が増加

プログラム:FFT

今回の評価ポイント

Page 40: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

Sensitivity Analysis

40

100 150 200 250 300 350 400

00.20.40.60.8

11.21.41.61.8

1030

50

性能向上

HTDRAM[cc]

MMAT[cc]プログラム:

mcf

HTDRAM が小さいほど、また MMAT が小さいほどDRAM キャッシュモードが適する区間が増加値が 1 より小さいのは切り替えオーバーヘッドのため

今回の評価ポイント

Page 41: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

Sensitivity Analysis

41

100150200250300350400

00.20.40.60.811.21.4

1020

3040

5060

性能向上

HTDRAM[cc] MMAT[cc]

プログラム:Ocean

谷の形の部分があるのは、動作モード切り替えオーバーヘッドの影響が大きく見えているためその他の部分では切り替えが発生しない

今回の評価ポイント

Page 42: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

動作モード切り替え回数100K 200K 500K 1M 2M 5M 10M

gzip 21 20 9 1 0 0 0wupwise 153 151 87 7 1 1 0swim 511 320 94 0 0 0 0mgrid 1 0 0 0 0 0 0applu 1 1 0 0 0 0 0art 0 0 0 0 0 0 0mcf 165 83 48 36 25 11 9ammp 329 75 41 25 22 22 22bzip2 254 171 104 67 40 25 5twolf 0 0 0 0 0 0 0apsi 0 0 0 0 0 0 0Cholesky 8 1 1 1 1 0 0FFT 0 0 0 0 0 0 0LU 1 0 0 0 0 0 0Barnes 8 8 7 7 7 0 0FMM 24 18 10 9 1 0 0Ocean 13 10 3 1 1 0 0WaterSpatial 10 10 2 0 0 0 0

42

Page 43: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

適切な動作モードの選択確率

43

100K 200K 500K 1M 2M 5M 10Mgzip 0.989871 0.986174 0.985531 0.998392 1 1 1wupwise 0.903194 0.802554 0.673219 0.941176 0.990196 0.97561 0.952381swim 0.806609 0.739437 0.807848 0.997297 1 1 1mgrid 0.999645 0.99929 1 1 1 1 0.965517applu 0.998798 0.998798 1 1 1 1 1art 1 1 1 1 1 1 1mcf 0.960453 0.97342 0.964052 0.954248 0.930283 0.923913 0.902174ammp 0.943638 0.97507 0.968581 0.968581 0.950216 0.881081 0.698925bzip2 0.809102 0.82565 0.781388 0.740413 0.694118 0.558824 0.647059twolf 1 1 1 1 1 1 1apsi 1 1 1 1 1 1 1Cholesky 0.716049 0.928571 0.882353 0.777778 0.6 0.5FFT 1 1 1 1 1 1 1LU 0.972973 1 1 1 1 1 1Barnes 0.968689 0.949219 0.902913 0.807692 0.615385 1 1FMM 0.637681 0.692308 0.761905 0.52381 0.454545 1 1Ocean 0.728155 0.634615 0.761905 0.818182 0.833333 1 1WaterSpatial 0.478261 0.314286 0.785714 1 1 1

Page 44: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

実測ミス率と推測ミス率の誤差

44

Cholesky LU FFT FMM WaterSpatial0

0.002

0.004

0.006

0.008

0.01

0.012

0.014

0.016

1/2 1/4 1/8 1/16 1/32 1/64

ベンチマークプログラム

平均推定

ミス率誤

差[po

ints]

※DRAM キャッシュの容量: 32MB  1 区間の長さ: L2 キャッシュアクセス 1M 回

Page 45: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

L1 ミスペナルティの変化( SPEC-1 )

1 59 1171752332913494074655235816396977558138710

1020304050607080

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 12 23 34 45 56 67 78 89 1001111221331441551660

20406080

100120140160180

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 25 49 73 97 1211451691932172412652893133373610

50

100

150

200

250

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

ammp applu

apsi

1 35 69 10313717120523927330734137540944347751105

10152025303540

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

art

45

Page 46: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

L1 ミスペナルティの変化( SPEC-2 )

1 23 45 67 89 1111331551771992212432652873093310

102030405060708090

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 41 81 1211612012412813213614014414815215616010

40

80

120

160

200

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 61 1211812413013614214815416016617217818419010

50

100

150

200

250

SRAM キャッシュモード DRAM キャッシュモード

区間

L1ミス

ペナルテ

bzip2 gzip

mcf

1 20 39 58 77 96 1151341531721912102292482670

20

40

60

80

100

120

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

mgrid

46

Page 47: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

L1 ミスペナルティの変化( SPEC-3 )

1 25 49 73 97 1211451691932172412652893133373610

20406080

100120140160180

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 22 43 64 85 10612714816919021123225327429531605

101520253035

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

twolfswim

1 15 29 43 57 71 85 99 113 127 141155169 183 1970

50

100

150

200

250

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

wupwise

47

Page 48: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

L1 ミスペナルティの変化( Splash2-1 )

1 2 3 4 5 6 7 8 90

20406080

100120140160

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 21 41 61 81 1011211411611812012212412612813010

50

100

150

200

250

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 2 3 4 5 6 7 80

20406080

100120140

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 5 9 13 17 21 25 29 33 37 41 45 490

20

40

60

80

100

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

Cholesky FFT

BarnesLU

48

Page 49: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

L1 ミスペナルティの変化( Splash2-2 )

1 2 3 4 5 6 7 8 9 1011 1213 1415 1617 1819 20210

20406080

100120140

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 2 3 4 5 6 7 8 9 10 110

20

40

60

80

100

120

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 23 45 67 89 11113315517719922124326528730933105

1015202530354045

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

1 2 3 4 5 6 705

10152025303540

SRAM キャッシュモード DRAM キャッシュモード

区間

平均L1

ミスペナ

ルティ

WaterSpatial

OceanFMM

Raytrace

49

Page 50: SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案

プログラムの入力とキャッシュミス率の関係

50

1 2 4 8 16 32 64 1280

0.10.20.30.40.50.60.70.80.9

1

m18m22m24

L2 キャッシュサイズ [MB]

L2キャ

ッシュミ

ス率

FFT  

1 2 4 8 16 32 64 1280

0.10.20.30.40.50.60.70.80.9

1

n1024n2048

L2 キャッシュサイズ [MB]

L2キャ

ッシュミ

ス率

1 2 4 8 16 32 64 1280

0.10.20.30.40.50.60.70.80.9

1

n130n258n514

L2 キャッシュサイズ [MB]

L2キャ

ッシュミ

ス率

1 2 4 8 16 32 64 1280

0.10.20.30.40.50.60.70.80.9

1

81923276865536

L2 キャッシュサイズ [MB]

L2キャ

ッシュミ

ス率

Barnes 

FMM  Ocean