待機状態ラインに対する参照局所性を 考慮した低リーク

Download Report

Transcript 待機状態ラインに対する参照局所性を 考慮した低リーク

待機状態ラインに対する参照局所性を
考慮した低リーク・キャッシュの
性能低下抑制方式
福岡大学
◎小宮礼子 モシニャガ・ワシリー
九州大学
井上弘士 村上和彰
2004/12/02
1
発表手順
背景
キャッシュ・リーク削減手法
待機状態ラインへの参照局所性
性能低下抑制方式
評価
おわりに
2004/12/02
2
背景
プロセッサの消費電力
=リーク消費電力+動的消費電力
StrongARM SA-110
*2
70%
プロセッサ中のリーク電力の割合*1
Power: 43 %
キャッシュ・メモリのリーク消費電力削減が必要!!
*1 Fred Pollack (Intel Fellow): New Microarchitecture Challenges in the Coming Generations of CMOS Process Technologies [Micro32]
*2 プロセス:0.35μm, I-cache:16KB, D-cache:16KB, 1998
2004/12/02
3
キャッシュ・リーク削減手法
低リークキャッシュ
従来キャッシュ
待機状態
活性状態
活性状態のライン(awakeライン): 高リーク ☹ , 高速アクセス
待機状態のライン(sleepライン) : 低リーク ☺, 低速アクセス
ラインの状態を動的に切替える
sleepライン数が増加
sleepラインへのアクセス
2004/12/02
☺
☹
→リーク削減
→性能低下
4
Drowsyキャッシュ
アクセス
アクセス
awake
sleep
awakeライン→sleepライン
定期的
sleepライン→awakeライン
アクセス発生時
sleepライン参照(sleepヒット)が
必ず発生
sleepヒット:データ読み出しのため該当ラインをawakeラインへ変更
→アクセス時間オーバヘッド発生
SHP (Sleep Hit Penalty)
SHP=1クロックサイクルと仮定して提案,評価
K.Flautner, N.S.Kim, S.Martin, D.Blaauw, and T.Mudge, “Drowsy Caches: Simple Techniques for Reducing Leakage Power,”
Proc. of the 29th Int. Symp. on Computer Architecture, pp.148-157, May 2002.
5
Drowsyキャッシュの課題と解決策
Drowsyキャッシュ:SHP=3クロックサイクルでの性能低下
・最大 22.7%
・平均 8.5%
SHPクロックサイクルは増加傾向
→性能も悪化
研究目的:低リーク・キャッシュの
性能低下抑制手法を提案・評価
sleepヒットの局所性を活用した低リーク・キャッシュの
性能低下抑制方式を提案
シミュレーションを行い有効性を評価
Drowsyと同等のリーク削減率, 性能低下0.1%を実現
2004/12/02
6
sleepヒットの局所性
sleepヒット局所性とは?
ライン毎sleepヒット回数の多寡
SHL
i

ラインi における sleep ヒット回数
全ラインにおける sleep ヒット回数の平均
1以上⇒平均以上のsleepヒットが発生
128KB L1 データキャッシュを想定しSHLiを測定
2004/12/02
7
高sleep-hit-locality
45
f1 6 8 .w u pw ise
40
S le e p H it L o c ality
_
35
30
一部のラインにsleepヒットが集中
25
20
15
10
5
2004/12/02
00
20
00
19
00
18
00
17
00
16
00
15
00
14
00
13
00
12
00
11
0
00
10
90
0
80
0
70
0
60
0
50
0
40
0
30
0
20
10
0
1
0
0
L 1 デ ー タキ ャッシュ・インデ ックス
2004/12/02
20
19
18
17
16
15
14
13
12
11
10
0
0
0
0
0
0
0
0
0
00
00
00
00
00
00
00
00
00
00
00
90
80
70
60
50
40
30
20
10
0
S le e p H it L o c ality
_
低sleep-hit-locality
6
i176.gcc
5
全ラインが平均的に参照
4
3
2
11
0
L 1 デ ー タキ ャッシュ・インデ ックス
高局所性ラインの占める割合
4以 上
2以 上 4未 満
1以 上 2未 満
1未 満
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
i176.gcc
2004/12/02
i253.perlbm k
f168.w upw ise
ベ ンチ マー クプログ ラム
平均
ベンチマークプログラムごとに局所性は異なる
SHLが1以上のラインが占める割合30.4%(平均)
10
sleepヒット局所性を生かして
どう性能低下を抑制するか?
Drowsyキャッシュ:sleepヒット時のペナルティーに伴い性能が低下
性能低下抑制方式
集中的にsleepヒットが発生するライン
=性能低下を引き起こすライン
常にawakeラインで動作 (always-awakeライン)
SHL≧閾値 ならば always-awakeラインにする
閾値
2004/12/02
メリット
デメリット
低い 性能低下改善
リーク増加
高い
性能低下
リーク削減
11
評価
ベンチマーク:SPEC2000
(int 12個,float 14個)
入力
ベンチマーク
プログラム
Drowsyキャッシュ
シミュレータ
SPARC64プロセッサ
(アウト・オブ・オーダ実行)
出力
128KB,連想度2 ,データL1キャッシュ
always-awake
ライン
入力
・実行時間増加率
・リーク削減率
・ED積削減率
出力
性能低下
抑制キャッシュ
2004/12/02
SHP=5クロックサイクル
sleep/awakeラインのリーク消費エネルギー
→0.08 : 1
評価対象
・Drowsy:Drowsyキャッシュ
・AAx:SHLiがx以上のラインを
always-awakeラインにしたキャッシュ
12
リーク消費エネルギー・モデル
LEtotal = CC × LEline × Nline
キャッシュ全体のライン数(2048)
プログラム実行時間:CC = CCconv + CCextra
従来キャッシュの実行時間
増加実行時間
クロックサイクル当たりの1ライン平均リーク消費エネルギー:
LEline = SR × LEsline + (1-SR) × LEaline
1クロック,1sleepラインの平均リーク消費エネルギー
→0.08LEaline
キャッシュ内のsleepライン数の割合
2004/12/02
13
実行時間増加率
(Drowsy vs. always-awake)
50
AA2
AA1
AA4
Drowsy
40
実 行 時 間 増 加 率 (% )
_
閾値が高いほど性能低下
30
20
10
高閾値でも性能改善
従来キャッシュ
0
i176.gcc
2004/12/02
i254.gap
i253.perlbmk f168.wupwise
ベンチマークプログラム
平均
14
高局所性ラインの占める割合
4以 上
2以 上 4未 満
1以 上 2未 満
1未 満
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
i176.gcc
i253.perlbm k
f168.w upw ise
ベ ンチ マー クプログ ラム
平均
2004/12/02
20
19
18
17
16
15
14
13
12
11
10
0
00
00
00
00
00
00
00
00
00
00
00
90
0
0
0
0
0
0
0
0
_
120
80
70
60
50
40
30
20
10
0
S le e p H it L o c ality
sleepヒット局所性
i253.perlbm k
100
80
60
40
20
0
L 1 デ ー タキ ャッシュ・インデ ックス
16
リーク消費エネルギー削減率
100
AA2
AA4
Drowsy
リー ク消 費 エネ ル ギ ー 削 減 率 (% )
_
90
AA1
80
低閾値でもリーク削減
70
60
50
40
30
閾値が低いほどリーク増加
20
10
従来キャッシュ
0
i176.gcc
2004/12/02
i254.gap
i253.perlbmk f168.wupwise
ベンチマークプログラム
平均
17
エネルギー遅延積削減率
100
エネ ル ギ ー 遅 延 積 削 減 率 (% )
_
90
AA1
AA2
AA4
Drowsy
80
70
60
50
40
30
20
ED積の改善は見られない
10
従来キャッシュ
0
i176.gcc
2004/12/02
i254.gap
i253.perlbmk f168.wupwise
ベンチマークプログラム
平均
18
SHPの影響(実行時間増加率)
50
always awake
Drowsy
実 行 時 間 増 加 率 (% )
_
40
SHP増加に伴い,性能低下抑制効果増加
30
20
10
0
1
2
3
4
i176.gcc
2004/12/02
5
1
2
3
4
5
i254.gap
ベンチマークプログラム
1
2
3
平均
4
5
SHP(cycle)
19
SHPの影響(リーク消費エネルギー削減率)
100
always awake
Drowsy
リー ク消 費 エネ ル ギ ー 削 減 率 (% )
_
90
80
70
60
50
40
30
SHPに関わらずリーク削減率ほぼ一定
20
10
0
1
2
3
4
i176.gcc
2004/12/02
5
1
2
3
4
5
i254.gap
ベンチマークプログラム
1
2
3
平均
4
5
SHP(cycle)
20
おわりに
まとめ
Drowsyキャッシュ:リーク削減 良, 実行時間 悪
性能低下抑制方式:
sleepヒット局所性が高いラインを常に活性状態で動作
always-awakeライン数に比例して性能低下改善,リーク増加
sleepヒット局所性が高い⇒リークに影響なく,大幅に性能改善
SHPの増加に伴い提案方式の有効性増加
今後の課題
動的消費エネルギーを含めた評価
2004/12/02
21
2004/12/02
22
ZonCプロセッサ・モデル
SPARC64プロセッサ
トレースドリブン
Out-of-order実行方式
ノード数
1
CPU数
1
コア数
1
CPUのクロック周波数
ウォームアップ命令数
測定対象命令数
2004/12/02
1250MHz
3,000,000
6,000,000
23