Upload
judith
View
59
Download
0
Embed Size (px)
DESCRIPTION
SRAM/DRAM ハイブリッド・キャッシュ における 実行時動作モード決定法の提案. ○橋口慎哉 † 福本尚人 † 井上弘士 ‡ 村上和彰 ‡ † 九州大学大学院 システム情報科学府 ‡ 九州大学大学院 システム情報科学研究院. 発表手順. 3 次元実装技術 SRAM/DRAM ハイブリッド・キャッシュ 研究目的 実行時動作モード決定法 評価実験 まとめと今後の課題. 研究背景. 3 次元実装技術 グローバル配線長の削減、チップ面積縮小 異なるプロセスを経て製造されたダイ同士の積層 - PowerPoint PPT Presentation
Citation preview
SRAM/DRAM ハイブリッド・キャッシュにおける実行時動作モード決定法の提案
1
○ 橋口慎哉† 福本尚人† 井上弘士‡ 村上和彰‡† 九州大学大学院 システム情報科学府‡ 九州大学大学院 システム情報科学研究院
発表手順• 3 次元実装技術• SRAM/DRAM ハイブリッド・キャッシュ• 研究目的• 実行時動作モード決定法• 評価実験• まとめと今後の課題
2
研究背景• 3 次元実装技術– グローバル配線長の削減、チップ面積縮小– 異なるプロセスを経て製造されたダイ同士の積層
• プロセッサ・ダイと DRAM ダイを積層することによりオンチップ・メモリの大容量化を実現可能 →メモリウォール問題の解決策
3出典:米インテル社
TSV ( Through Silicon Vias )
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
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 スタック法の効果 (?)
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 月 .
前回評価時における限界点
ただし・・・• 適切な動作モード(※)は既知• 実行時に動作モードを切り替える場合に発生する動作モード切り替えオーバーヘッド(フラッシュ)の影響は未考慮
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
※ より高い性能を実現 できる動作モード
研究のねらい• 研究目的– SRAM/DRAM ハイブリッド・キャッシュの動作モード決定法の提案– 動作モード切り替えオーバヘッドを考慮した性能評価
8
プログラム実行開始時のみ(静的)
プログラム実行中(動的)
プログラム実行前(静的)
× 適切な動作モードが入力に 依存する場合、対応不可
× 適切な動作モードが入力に 依存する場合、対応不可
プログラム実行中(動的)
○ 入力に依存せず動作モード の選択可能
適切な動作モードは入力に大きく依存するため、「動的決定・動的切り替え」を選択
動作モード 切り替え動作モード決定
プログラム実行中の適した動作モードの変化
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
現在実行中の区間において高性能な動作モードは次の区間においても同じであると考える
動作モード切り替え例
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 キャッシュモードが高性能
動作モード決定のための判定式
以下の判定式を基に実行中の区間における適切な動作モードを求め、それを次区間の動作モードに設定
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]
プログラム特性に依存するため、実行中にのみ得ることが可能• 実行中の動作モードにおけるミス率 →プログラム実行中に観測することは容易• 実行中ではない動作モードにおけるミス率 →何らかの方法により推測する必要
ハードウェア特性にのみ依存するため、既知と仮定
L2 キャッシュミス率推定の必要性
12
::
_2_2_2_2
elsethenMMAT
HTHTMRMR SRAMLDRAML
DRAMLSRAML
DRAM キャッシュモード SRAM キャッシュモード
if
MRMR DRAMLSRAML _2_2 /
MMATHTHT DRAMLSRAML ,, _2_2
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
SRAM キャッシュモード時のミス率推測法( L2 キャッシュが DRAM キャッシュと仮定したときのミス率を推測)• DRAM キャッシュに格納可能なライン数分のタグ情報を保持するメモリを搭載→極めて大きな面積オーバヘッド e.g. 32MB, 64B-LineSize ・・・ 2.5MB-TagRAM
• いくつかのセットに対応する、少数のタグ情報のみ保持し、面積オーバヘッドを緩和※ 実現のためのハードウェア・サポートは検討中14
評価実験~評価環境~• 評価法:事前実行でトレースを取得し、メモリ性能値を算出
– プロセッサシミュレータ: 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$モード
オンチップ
適切な動作モードの予測精度
16
wupwisesw
immgri
dap
plu LUFM
M gzip art
twolf
apsi FF
Tmcf
ammp
bzip2
Cholesky
Barnes
Ocean
WaterSp
atial
0102030405060708090
100
ベンチマークプログラム
動作モー
ド予測精
度[%]
適切な動作モードの予測精度
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]
頻繁に適した動作モードが入れ替わる
適切な動作モードの予測精度
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]
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
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倍の性能向上↑プログラム実行中のメモリ参照の変化に追従できるため
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
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
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
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 )
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 %の性能向上を達成!
まとめと今後の課題• まとめ– SRAM/DRAM ハイブリッド・キャッシュ・アーキテクチャにおける動的動作モード決定法を提案
• 現在実行中の区間における適切な動作モードを次区間の動作モードとする– 評価実験で最大 3.01倍、平均 1.17倍の性能向上を確認
• 高い精度で次区間の適した動作モードを選択でき、また動作モード切り替え回数が少ないため• 今後の課題– 消費エネルギーの評価– プログラム実行前の動作モード決定法の考案
26
ご清聴ありがとうございます
27
back slides
28
Q&A• マルチコアの場合、この手法でいけるのか?→ 今のままではだめだと感じていて、別の方法も考える必要がある• コンテキストスイッチのように複数のプログラムが切り替わっている場合はほとんど切り替わらない?→ そのような状況も考えられる.今後の課題とします• 1 区間の長さはどれくらい?(確認)
→5M 回で、比較的長くいです.これは,長さを変えて評価した結果です.• 切り替えオーバーヘッド見積もりはそれでよいのか?→ワーストケースであり、適当とは言えません.詳細に評価する必要があります.• DRAM キャッシュのサイズを変えた場合はうまみがなくなる?ほとんど
DRAM キャッシュが高性能?→ まだやれておらず,今後行う予定です.• ラインサイズ変える等して下の SRAM の半分をタグ RAM として使い、上の
DRAM を L3 として使えるのでは?→うまく答えられず29
キャッシュ容量とキャッシュミス率の関係
30
2 4 8 16 32 64 1280
10
20
30
40
50
60
L2 キャッシュ容量
L2キャ
ッシュミ
ス率[%
]
あまり低下しない
大きく低下するあまり低下しないあまり低下しない
大きく低下する大きく低下する
FFT
LU
Cholesky
FMM
RaytraceBarnes
Ocean
WaterSpatial
プログラム実行中の適したキャッシュ容量の変化
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 )適したキャッシュ容量:大
適したキャッシュ容量:小
高性能動作モードの入力依存性
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]
1 区間の長さについて• 1 区間を長く設定すると・・・– 高性能な動作モードが切り替わる頻度は低下する→切り替えオーバーヘッド小
– メモリ参照の振る舞いに変化に対する追従性が低下する→適切な動作モードで実行する時間の低下33
トレードオフ
1 区間の長さは適切に設定する必要がある
SRAM キャッシュモード時の L2 ミス率予測法• DRAM キャッシュ用タグを、セットサンプリングすることで少量だけ保持する SST を導入• 対象セットに対するアクセス時のみアクセス数等カウント
01234
8
012
SST : Set Sampled TagRAM(セットサンプリングされたタグRAM )↑容量 C/4[B] 仮定:連想度同一
1/4 にセットサンプリング
容量 C[B]→
本来必要な DRAM キャッシュ用タグ RAM ( SRAM )34
ハードウェア・アーキテクチャタグ インデックス オフセット
00000001001000110100
1000
000110
フィルタ2bit
もしインデックス下位 2ビットが0 なら下位 2ビットを除くインデックスを出力
0 でないなら出力なし
アクセス
SST
本来必要な DRAM キャッシュ 用タグ RAM ( SRAM )
実際はサポートしないハードウェア
SSTへのアクセス数SST でのヒット数
DRAM キャッシュのミス率=
35
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 )
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 )
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 アクセスに設定
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
今回の評価ポイント
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 より小さいのは切り替えオーバーヘッドのため
今回の評価ポイント
Sensitivity Analysis
41
100150200250300350400
00.20.40.60.811.21.4
1020
3040
5060
性能向上
比
HTDRAM[cc] MMAT[cc]
プログラム:Ocean
谷の形の部分があるのは、動作モード切り替えオーバーヘッドの影響が大きく見えているためその他の部分では切り替えが発生しない
今回の評価ポイント
動作モード切り替え回数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
適切な動作モードの選択確率
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
実測ミス率と推測ミス率の誤差
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 回
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
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
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
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
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
プログラムの入力とキャッシュミス率の関係
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