待機ラインへの参照密度に基づく低リーク・キャッシュの高性能化

Download Report

Transcript 待機ラインへの参照密度に基づく低リーク・キャッシュの高性能化

待機ラインへの参照密度に基づく
低リーク・キャッシュの高性能化
小宮礼子†
井上弘士
村上和彰
九州大学大学院 システム情報科学府
(†執筆時は 福岡大学大学院 工学研究科)
2006/05/22
1
発表手順
1.
2.
3.
4.
5.
6.
研究の背景
従来の低リーク・キャッシュにおける問題
性能低下の原因解析
新しい動的制御方式の提案
性能と消費エネルギーの評価
まとめ
2006/05/22
2
研究の背景
プロセッサの消費電力
=動的消費電力+リーク消費電力
プロセッサにおける
消費電力内訳*2
プロセッサの動的消費電力とリーク消費電力*1
キャッシュが
44%
キャッシュ・メモリのリーク消費電力削減が必要!!
2006/05/22
*1 Fred Pollack (Intel Fellow): New Microarchitecture Challenges in the Coming Generations of CMOS Process Technologies [Micro32]
*2 Simon Segars, “Low Power Design Techniques for Microprocessors,” ISSCC2001
3
従来の低リーク・キャッシュ
従来の低リーク・キャッシュ
(Decay方式)
従来のキャッシュ
(リーク削減手法なし)
活性状態(データ保持→高リーク)
活性
状態
(高リーク)
初期状態
参照
待機状態(低リーク化→データ破壊)
参照(ミス)
待機
状態
(低リーク)
非アクセス期間≧衰退期間
衰退期間が経過
衰退ミス
参照
t
4
衰退ミスが性能に与える影響
3.5
3.5
0.5
Average
0.5
256.bzip2
1.0
197.parser
1.0
181.mcf
1.5
176.gcc
1.5
175.vpr
2.0
164.gzip
2.0
188.ammp
2.5
183.equake
2.5
179.art
3.0
177.mesa
3.0
正規化DL1ミス回数
正規化実行時間
11.7
衰退ミスの増加に伴い性能が低下
2006/05/22
ベンチマークプログラム
5
研究目的
低リークかつ高性能なキャッシュ制御方式の提案
• Decay方式の問題点
– 衰退ミスに伴う性能低下
• 解決策
– 衰退ミス回数の削減により性能を改善
– 待機状態への無駄な切替えを停止し,衰退ミスを抑制
2006/05/22
6
衰退ミスの解析
•衰退ミス密度(Decay Miss Density: DMD)とは
各ラインにおける衰退ミス回数の多寡を示す指標
ラインiにおける衰退ミス回数
DMDi 
全ラインに関する平均衰退ミス回数
各ラインの衰退ミス回数
6
5
1
2
4
1
60
1
10
2006/05/22
•総衰退ミス回数=90
•ライン数=9
⇒平均衰退ミス回数=10
DMDi=1
DMDi=0.1
DMDi=6
7
衰退ミス発生の分布
衰退ミス密度
183.equake
2006/05/22
L1データキャッシュのインデックス番号
8
高DMDラインが有する特徴
DMD < 1
1 ≦ DMD < 2
4 ≦ DMD
2 ≦ DMD < 4
全衰退ミスに占める割合
全ラインに占める割合
100%
90%
80%
70%
3.1%のラインが94.4%の衰退ミスを発生
60%
50%
40%
30%
20%
10%
0%
一部の高DMDラインが衰退ミスを頻発!
2006/05/22
Average
i164.gzip
f183.equake
f179.art
Average
i164.gzip
f183.equake
f179.art
ライン数
衰退ミス回数
100%
90%
80%
70%
60%
50%
40%
30%
20%
10%
0%
9
常活性ライン方式の提案
衰退ミスを頻発するライン
→常に活性状態で動作
各ラインの衰退ミス回数
各ラインのDMD値
常活性
状態
衰退ミスが少ない
(DMDi ≦閾値)
活性
状態
初期状態
2006/05/22
(高リーク)
0.6
6
0.5
5
0.1
1
0.2
2
0.4
4
0.1
1
60
6
0.1
1
10
1
(高リーク)
参照(ミス)
非アクセス期間≧衰退期間
衰退ミスが多い
(DMDi>閾値)
待機
状態
(低リーク)
10
どのようにして
DMD値を動的に計測するか?
ラインiにおける衰退ミス回数
DMDi 
> 閾値 ならば常活性状態
全ラインに関する平均衰退ミス回数
ラインiにおける衰退ミス回数
>全ラインに関する平均衰退ミス回数×閾値
例)ライン数 = 1024 (=210),閾値 = 2 (=21)
総衰退ミス回数
ラインiにおける
衰退ミス回数
>?
1bit左シフト
平均衰退ミス回数×閾値
no
活性状態
常活性状態
yes
2006/05/22
平均衰退ミス回数
10bit右シフト
11
内部構成
ローカル衰退ミスカウンタ
常活性フラグ
待機状態ラインのtagは・・・
Decay方式 ⇒待機状態
常活性ライン方式 ⇒活性状態
衰退フラグ
ローカルカウンタ tag
data
0
参照ラインの衰退フラグが1 && タグが一致
1
⇒Decay方式ならば衰退ミスだった
2
状態破棄
電源電圧制御
1
+1
1
hit
1023
グローバルカウンタ
>?
>
=?
衰退期間
総衰退ミスカウンタ
+1
Vdd or 0V
12
評価環境
• 評価対象モデル
– 従来のキャッシュ
– Decay方式(待機状態へ切替える衰退期間=4K clock cycle)
– 常活性ライン方式(常活性状態への切替え閾値=1)
• 評価対象キャッシュ
– L1データ・キャッシュ
• 32KB, 連想度32
• ヒットレイテンシ 1クロックサイクル
(主記憶 32クロックサイクル)
• 評価項目
– 実行時間
– 消費エネルギー (Etotal = LEL1+DEL1+DEmemory)
2006/05/22
13
性能改善と消費エネルギー削減効果
常活性ライン方式
Decay方式
1.2
1.2
正規化消費エネルギー
1.2
1.2
1.1
1.1
1.0
1.0
0.8
0.8
0.6
0.6
0.4
0.4
0.2
0.2
Average
i197.parser
i175.vpr
i164.gzip
Average
Average
i197.parser
i175.vpr
i164.gzip
0.0
0.0
f183.equake
0.9
0.9
1.0
1.0
f183.equake
正規化実行時間
正規化実行時間 __
_
1.3
1.3
①消費エネルギーを僅かに犠牲にして性能改善
②性能を改善し,さらに消費エネルギーも削減(もしくは維持)
2006/05/22
14
消費エネルギー内訳
消費エネルギー内訳 (J) _
LE L1
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
2006/05/22
DE L1
DE memory
Decay方式
従来のキャッシュ
常活性方式
常活性ライン方式適用に伴い,
Decay方式よりも
・リーク消費エネルギー増
・主記憶参照に伴う
動的消費エネルギー減
‐理由: 衰退ミス回数が減るから
消費エネルギー削減効果:
DEmemoryとLEL1のトレードオフ
f183.equake
i164.gzip
Decay方式に対して
LEL1の増加大
⇒①
DEmemoryの削減効果大⇒②
15
待機状態への切替えまでが長いDecay方式
vs. 常活性ライン方式 (1/2)
• 共通点
– 待機状態への遷移を防ぎ,衰退ミス回数を削減
結果:性能改善,リーク消費エネルギー増
• 相違点
Decay方式 常活性ライン方式
対象ライン
全ライン
衰退ミス頻発ライン
衰退期間
固定値
∞
• 比較評価
– 衰退期間を1K, 8K, 64K, 512K clock cycleとしたDecay方式
と常活性ライン方式を比較
2006/05/22
16
待機状態への切替えまでが長いDecay方式
vs. 常活性ライン方式 (2/2)
183.equake
1.4
1.2
1.0
Breakdown of energy (J) (J)
_
消費エネルギー内訳
Normalized正規化実行時間
execution time _
LE L1
0.8
0.6
0.4
0.2
0.0
Decay1K Decay64K
Decay64K
Decay1K
Decay8K
AA4K
常活性4K
Decay512K
Decay8K Decay512K
2006/05/22
DE L1
DE memory
1.0
0.9
0.8
0.7
0.6
0.5
0.4
0.3
0.2
0.1
0.0
Decay1K Decay8K Decay64K
Decay64KDecay512K 常活性4K
Decay1K
AA4K
Decay8K
Decay512K
17
まとめ
• 高性能な低リーク・キャッシュを提案:
– 衰退ミスを頻発するラインを動的に検出
– 常活性状態にすることで性能を改善
• 評価結果
– 性能を改善し,消費エネルギー削減効果をUP!
– 衰退期間4K clock cycleのDecay方式と比較した場合:
• 性能低下:19%→4.2%
• 消費エネルギー:20%削減
– リーク消費エネルギーの削減効果が大幅に減少
• 今後の課題
– 冗長な常活性状態のラインが存在するか調査
– 常活性状態から活性状態への遷移ポリシーの検討
2006/05/22
18
2006/05/22
19
Backup slides
2006/05/22
20
Adaptive decay
• 共通点
動的に衰退期間を調節し,性能改善を図る
• 相違点
Adaptive decay
常活性ライン方式
対象ライン検出手段 衰退ミス発生時刻
衰退期間の伸縮
活性状態
衰退ミス密度
∞
段階的
衰退ミス発生時刻が①ならば衰退期間2倍
②ならば衰退期間維持
待機状態
③ならば衰退期間1/2
1/4衰退期間
参照
衰退期間
t
①
②
③
21
常活性ブロックを決定する閾値が
与える影響
閾値1
閾値2
1.2
正規化消費エネルギー
_
1.3
1.2
1.1
1.0
0.9
1.0
0.8
0.6
0.4
0.2
Average
i164.gzip
Average
i164.gzip
f183.equake
0.0
f183.equake
正規化実行時間 _
従来型低リーク・キャッシュ
閾値4
閾値の上昇に伴い,常活性ブロック数増加
→性能改善効果が減少
2006/05/22
22
消費エネルギー・モデル(1/3)
Etotal = LEL1 + DEL1 + DEmemory
LEL1 :L1キャッシュのリーク消費エネルギー
DEL1 :L1キャッシュの動的消費エネルギー
DEmemory:主記憶アクセス消費エネルギー
CC
LEL1 =  {LEbit×Nactive(i)}
i 1
: プログラム実行時間
: 1クロックサイクルにおける1ビットSRAMセルでの
平均リーク消費エネルギー
Nactive(i): i clock cycle時の活性状態SRAMビット数
CC
LEbit
従来型低リーク 常活性ブロック方式 従来型
CC
2006/05/22
Nactive(i)
☹
少ない☺
長い
☺
多い☹
短い
23
消費エネルギー・モデル(2/3)
DEL1 = DE常活性 + DE従来低 + DE従来
DE常活性: 常活性ブロック方式の適用による
動的消費エネルギー・オーバヘッド
DE従来低 : 従来型低リーク・キャッシュの適用による動的消費エネルギー
オーバヘッド
DE従来 : 従来型キャッシュでのアクセス消費エネルギー
ローカル待機状態中ミスカウンタ
常活性フラグ
待機状態フラグ
ローカルカウンタ tag
data
0
1
2
従来型低リーク
DE常活
性
-
常活性方式
☹
☹
オーバヘッド
オーバヘッド
☹
2006/05/22 オーバヘッド
DE
電源電圧制御
状態破棄
1023
グローバルカウンタ
>?
>
=?
Vdd / 0
シフタ
総衰退ミスカウンタ
設定値
24
消費エネルギー・モデル(3/3)
パラメータ
LEbit
DEorg
DE従来
DE常活性
DEmemory
アクセス当りの
積算根拠
平均消費エネルギー
0.13pJ
文献[1]を参考
1.90nJ
CACTI3.0 を用いて測定
0.1pJ+0.5pJ
文献[2]を参考
4.20pJ
テーブルサイズとDEorg
から見積もり
38.0nJ
DEorg×20と見積もり
[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.
[2] S.Kaxiras, Z.Hu, and M.Martonosi, “Cache Decay: Exploiting Generational Behavior to
Reduce Cache Leakage Power,” Proc. of the 28th Int, Symp. on Computer Architecture,
pp.240-251, June 2001.
2006/05/22
25
実行時間とエネルギーに設定値が与える影響
Average
1.4
1.2
1.0
消費エネルギー内訳
Breakdown of energy (J) _(J)
正規化実行時間
Normalized
execution time _
LE L1
0.8
0.6
0.4
0.2
0.0
DE memory
2.0
1.8
1.6
1.4
1.2
1.0
0.8
0.6
0.4
0.2
0.0
Decay1K
Decay64K
常活性4K
Decay8K Decay512K
2006/05/22
DE L1
Decay1K
Decay64K
Decay8K
常活性4K
Decay512K
26