メモリ積層型三次元積層プロセッサにおけるリーク電力

温度を考慮した3次元積層LSI向け
低消費エネルギーL2キャッシュの提案
○阿部 祐希†
花田 高彬†
井上 弘士‡
村上 和彰‡
†九州大学大学院 システム情報科学府
‡九州大学大学院 システム情報科学研究院
1
発表の流れ
• 研究背景
– 3次元積層L2キャッシュのリーク消費電力増加
• 研究目的
• 提案手法
– 温度を考慮したリーク消費電力削減手法
• 有効性評価
• まとめ
2
発表の流れ
• 研究背景
– 3次元積層L2キャッシュのリーク消費電力増加
• 研究目的
• 提案手法
– 温度を考慮したリーク消費電力削減手法
• 有効性評価
• まとめ
3
キャッシュメモリの容量増加
• 近年のマイクロプロセッサは大容量キャッシュメモリを搭載
• キャッシュメモリ容量増加による利点/問題点
– 利点
• 多くのデータをキャッシュ内に格納可能
– メモリウォール問題の緩和
– 問題点
L3キャッシュ
16MB
• キャッシュメモリの占めるチップ内面積の増加
• アクセスレイテンシの増加
• 消費エネルギー増加
チップ写真:Intel Core i7[1]
[1]http://journal.mycom.co.jp/photo/news/2009/09/08/109/images/001l.jpg
4
3次元積層L2キャッシュ
• 3次元実装技術
– グローバル配線長の削減,チップ面積縮小
– ダイ同士をTSVなどの層間接続による高いバンド幅を実現
した積層
• TSV(Through-Silicon-Via):層間金属柱
• オンチップメモリの大容量化を実現
出典:
米インテル社
3次元積層プロセッサ
[2]Bryan Black et al “Die Stacking (3D) Architecture,” International Symposium on Microarchitecture ,2006
5
3次元積層キャッシュにおける
リーク消費電力削減手法(関連研究)
• リーク消費電力を削減することで,温度低減を達成
• キャッシュメモリの一部の電源を遮断してリーク消費電力削減
– 電源遮断ポリシー
• キャッシュミス率に大きな影響を与えない範囲で,バンクの電源を遮
断し,リーク消費電力を削減
性能と消費電力密度のトレードオフ
– バンクごとにリーク消費電力が異なることを考慮していない
[3]Guangyu et al ``Exploration of 3D Stacked L2 Cache Design for High Performance and
Efficient Thermal Control” ISLPED’09 ポスター発表
6
積層L2キャッシュにおける温度上昇問題
~コアからL2キャッシュへ熱の伝導~
• 積層L2キャッシュは平面実装時よりも高温
– 理由:下層コアの熱が上層の積層L2キャッシュに伝送するため
文献[1]の温度解析シミュレーション結果
59℃
フロアプラン
フロアプラン
88.35℃
88.43℃
上層L2キャッシュレイヤー
[2]Bryan Black et al “Die Stacking (3D) Architecture,” International Symposium on Microarchitecture ,2006
7
プログラムによる積層L2キャッシュの
温度分布変化
• 一般にコアの内部温度分布は実行プログラムに依存[4]
FPAdd
64.3℃
文献[4]における1コア平面実装ピーク
温度シミュレーション結果
ホットスポット 172.mgrid
FPAdd
95.2℃
Icache
164.gzip
ホットスポット
IntReg
97.0℃
IntReg
82.4℃
Icache Dcache
熱
コアフロアプラン
Dcache
実行プログラムによってL2キャッシュのホットスポットの位置が変化し,
リーク消費電力分布も変化する
[4]Joonho Kong et al “On the Thermal Attack in Instruction Caches” Transactions on Dependable and Secure Computing 2009
8
発表の流れ
• 研究背景
– 3次元積層L2キャッシュのリーク消費電力増加
• 研究目的
• 提案手法
– 温度を考慮したリーク消費電力削減手法
• 有効性評価
• まとめ
9
研究目的と着眼点
• 研究目的
– 3次元積層L2キャッシュの消費エネルギー削減
• 着眼点
– バンクの電源を遮断を行った際に増加する消費
エネルギーが存在(関連研究と同様)
– プログラムによって異なるL2キャッシュの温度
分布(関連研究と異なる)
10
提案手法
温度を考慮したバンクの電源遮断による
リーク消費電力削減手法
• 電源遮断順:高温バンクから電源を遮断
– 温度上昇→リーク消費電力増大
• 電源遮断数:性能に影響を与えない範囲で消費エネルギー
を削減可能な遮断数を選択
– 今回は消費エネルギーモデルを元に決定
詳細な稼働バンク決定法は検討中
消費エネルギーモデル
• 動的消費エネルギー
– (アクセス回数)×(アクセス当たりの消費エネルギー)
• 静的消費エネルギー
– (実行時間)×(リーク消費電力)
• L2キャッシュはSRAMで構成
L2キャッシュのリーク消費エネルギー
温度により
変化
電源遮断
バンク
EL 2 _ leak  T  i 1 PLeak _ bank _ i
n
• T:実行時間
• 𝑃𝐿𝑒𝑎𝑘_𝑏𝑎𝑛𝑘_𝑖 : 𝑖バンクでのリーク消費電力
12
増加する消費エネルギーを考慮した
稼働バンク数選択
リーク消費電力削減: Pleak
稼働バンク数減少
が与える影響
ミス率増加による
• 動的消費エネルギー増加:Edynamic
• 実行時間増加: T
E  Pleak  T  Edynamic
主記憶アクセス数
増加のため
L2キャッシュミス率
稼働バンク数は実行プログラムによって適切に選択する必要
256.bzip2
175.vpr
1
0.8
0.6
0.4
0.2
0
稼働バンク数減少→
キャッシュミス率増加度大
1 2 3 4 5 6 7 8 9 10111213141516
稼働バンク数
稼働バンク数→
キャッシュミス率増加度小
13
発表の流れ
• 研究背景
– 3次元積層L2キャッシュのリーク消費電力増加
• 研究目的
• 提案手法
– 温度を考慮したリーク消費電力削減手法
• 有効性評価
• まとめ
14
ベンチマークプログラムを用いた
有効性評価
• 目的
– 提案手法のED積削減効果の見積り評価
• ED積=(消費エネルギー)×(実行時間)
• 比較対象
– 三次元積層時全L2キャッシュバンク稼働状態(従来手法)
– 高温バンクから電源遮断を行う手法(提案手法)
• 消費エネルギー評価対象
– L1キャッシュ,L2キャッシュ,主記憶
オフチップ主記憶
DRAM
アクセス時間:191cc
L1キャッシュ
容量:32KB, 連想度2
アクセス時間:1cycle
L2キャッシュ(UCA)
容量:2MB,16バンク(連想度16 )
アクセス時間:11cycle
実行中のバンク切り替えは無
コアモデル:Alpha21364
動作周波数:1.2Ghz
マルチプログラム実行
実行中はプログラムの切換無
実行命令数:1億命令
ベンチマーク:specCPU2000 15
消費エネルギー評価方法
• 消費エネルギー評価
– 静的消費エネルギー
• (リーク消費電力)×(実行時間)
マルチコア
マルチコアシ
シミュレータ:
ミュレータ:M5
M5
– 動的消費エネルギー
• (アクセス当たりの消費エネルギー)×(アクセス回数)
温度における仮定
Cacti6.0による実験結果
単位アクセス当たりの
消費エネルギー(nJ)
静的消費
電力(mW)
L1キャッシュ
0.39
温度により変化
L2キャッシュ
1.46
温度により変化
主記憶
7.92
32.4
文献[4]を参考に単一
文献[3]を参考に単一
プログラム実行での
ピーク温度が上層
ピーク温度が上層バ
バンクの温度と仮定
ンクの温度に対応
(1回のリフレッシュに消費するエネルギー)
/(リフレッシュレート)
[4]Joonho Kong et al “On the Thermal Attack in Instruction Caches” Transactions on Dependable and Secure Computing 2009
16
実行プログラムの選択
• プログラムの特徴によって分類
– 提案方式の影響が大きいと考えられるパラメータによって
分類
• センシティビティ(稼働バンク数減→キャッシュミス率増加度)
• コア内部の温度(稼働バンクのリーク消費電力)
L2キャッシュミス率
マルチプログラム
実行を行った際も
同じ傾向が出現と
予測
256.bzip2
1
0.8
0.6
0.4
0.2
0
センシティビティ
175.vpr
大きい
小さい
平均的
179.art
175.vpr
188.ammp
301.apsi
局所的
171.swim
181.mcf
256.bzip2
164.gzip
センシティ
ビティ大
温
度
1
3
センシティ
ビティ小
5
7
9 11 13 15
稼働バンク数
17
評価結果
稼働バンク数
従来手法
全バンク稼働
提案手法
提案手法(ED積最小)
1.2
ED積比
1
11
11
8
8
0.8
0.6
0.4
0.2
0
平均的
局所的
コア内部温度
小さい
大きい
センシティビティ
どの実行プログラム群でも稼働バンクを選択す
ることでED積削減効果を確認
18
コアの内部温度における比較
~局所的~
全バンク稼働
従来手法
ED積比
1
11
11
8
0.8
0.6
0.4
局所的
平均的
2
実行時間比
1.2
提案手法
提案手法(ED積最小)
2.5
1.5
1
0.5
0.2
0
0
平均的
局所的
コア内部温度
1 3 5 7 9 11 13 15
小さい
大きい
センシティビティ
稼働バンク数
稼働バンク数減少により実行時間増加小
⇒ED積削減効果が大きく得られた
19
コアの内部温度における比較
~平均的~
全バンク稼働
従来手法
提案手法
提案手法(ED積最小)
2.5
ED積比
1
11
2
8
0.8
0.6
0.4
実行時間比
1.2
11
局所的
平均的
1.5
1
0.5
0.2
0
0
平均的
局所的
コア内部温度
1 3
小さい
5 7 9 11 13 15
大きい
稼働バンク数
センシティビティ
稼働バンク数減少により実行時間増加大
⇒ED積削減効果が大きく得られなかった
20
センシティビティにおける比較
従来手法
全バンク稼働
提案手法
提案手法(ED積最小)
削減効果大
1.2
11
ED積比
1
削減効果小
8
0.8
0.6
0.4
0.2
0
平均的
局所的
コア内部温度
小さい
大きい
センシティビティ
予想では
センシティビティ小⇒消費エネルギー削減効果大
結果では
センシティビティ大⇒消費エネルギー削減効果大
21
予測と評価結果が異なる理由
マルチプログラム実行時
センシティビティ大のプログラム群
センシティビティ小のプログラム群
1
0.8
0.6
0.4
0.2
0
1
3
5 7 9 11 13 15
稼働バンク数
L2キャッシュミス率
L2キャッシュミス率
1コア実行時におけるセンシティビティの傾向から
提案手法に適したプログラム群を予測したため
1コア実行時
センシティビティ大
センシティビティ小
1
0.8
0.6
0.4
0.2
0
1
3
5
7 9 11 13 15
稼働バンク数
• 稼働バンク数減少によるL2ミス率の増加度”小”⇒ED積削減効果”大”
– 予測:1コア実行時の傾向より、センシティビティ小なプログラム群が良い傾向を
示す
– 評価結果:センシティビティ大なプログラム群を実行した場合,L2ミス率はバンク
数に依らず飽和しており,センシティビティの小さい傾向を示した
22
発表の流れ
• 研究背景
– 3次元積層L2キャッシュのリーク消費電力増加
• 研究目的
• 提案手法
– 温度を考慮したリーク消費電力削減手法
• 有効性評価
• まとめ
23
まとめ
• 温度を考慮した3次元積層LSI向け低消費エネ
ルギーL2キャッシュの提案
– 問題点:L2キャッシュにおけるリーク消費電力増加
– 注目点:バンクごとの温度の差異を考慮
• 有効性評価結果
– ED積が28%削減可能
• 今後の課題
– 過渡温度解析
– 詳細な稼働バンクの切り替え方式の考案
24
ご清聴ありがとうございました
25
Back slide
26
考察
~センシティビティ大~
E_L1_s
ミス率増加度小→
E_MM_s
動的消費エネルギー増加小
E_L2_s
0.8
0.6
0.4
0.2
1
ミス率増加→
0
実行時間増加小
0.8
16 14 12 10 8 6 4
稼働バンク数
0.6
2
2.5
0.4
0.2
0
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
稼働バンク数
実行時間
消費エネルギー比
1.2
1
L2ミス率
E_L1_d
E_MM_d
E_L2_d
L2リーク消費エネルギー
削減効果大
2
1.5
1
0.5
0
16 14 12 10 8 6 4 2
稼働バンク数27
考察
~センシティビティ小~
1
L2ミス率
E_L1_s
0.8
ミス率増加度大→
動的消費エネルギーの増加度
E_MM_s
動的消費エネルギーの増加度
0.6
大
E_L2_s 大
0.4
0.2
1
0.8
0.6
0
16 14 12 10 8 6 4
ミス率増加→ 稼働バンク数
2.5
実行時間増加大
0.4
0.2
0
2
2
実行時間
消費エネルギー比
1.2
E_L1_d
E_MM_d
E_L2_d
1.5
1
16151413121110 9 8 7 6 5 4 3 2 1
0.5
稼働バンク数
0
L2リーク消費エネルギー
16 14 12 10 8 6 4 2
削減効果小
28
稼働バンク数
1.2
E_L1_s
E_MM_s
E_L2_s
消費エネルギー
1
0.8
0.6
0.4
0.2
0
1
3
5
7 9 11 13 15
稼働バンク数
2.5
2
1.5
1
0.5
0
リーク消費電力mW)
E_L1_d
E_MM_d
E_L2_d
実行時間
考察
~平均的~
1 3 5 7 9 11 13 15
稼働バンク数
120
100
80
60
40
20
0
1
3 5 7 9 11 13 15
稼働バンク(低温順)
リーク消費電力が増大しているバンクの電源を遮断したため,実行
時間が増加した場合でもED積削減効果が得られた
29
E_L1_s
E_MM_s
E_L2_s
1
120
100
80
60
40
20
0
16151413121110 9 8 7 6 5 4 3 2 1
バンクID(高温順)
0.8
2.5
0.6
2
実行時間
消費エネルギー比
1.2
E_L1_d
E_MM_d
E_L2_d
リーク消費電力(mW)
考察
~局所的に高温~
0.4
0.2
1.5
1
0.5
0
0
16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1
稼働バンク数
16151413121110 9 8 7 6 5 4 3 2 1
稼働バンク数
実行時間が増加しない範囲でリーク消費電力が増大している多くの
バンクの電源を遮断可能なためED積削減効果大
30
コアの内部温度における比較
局所的
平均的
実行時間
2
1.5
1
0.5
0
1 2 3 4 5 6 7 8 9 10111213141516
稼働バンク数
120
リーク消費電力(mW)
2.5
100
局所的
平均的
80
60
40
20
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
稼働バンク(低温順)
実行時間があまり増加しない範囲で高温化しているバンクを
遮断可能なためED積削減効果大
31
提案手法
1.
コアにプログラムが割り当てられた際に休止バンクを決定
–
–
2.
3.
新しく実行されるプログラムの情報
それまで実行されていたプログラムそれぞれの情報
休止バンク内のライトバック対象データを主記憶へ書き戻す
バンクの電源のON,OFF
事前実行情報
電源遮断
バンク
コアの温度分布
L2要求容量情報
稼働バンク数・L2ミス率
L2要求容量情報
バンクの温度情報
バンクの温度情報
実行プログラム
A
C
事前実行情報
実行プログラム
B
D
対象アーキテクチャ
マルチプログラム実行
新プログラム
E
32
提案手法の動作例
• キャッシュミス率とバンクの温度を考慮して電源遮
断を行う
• 設計選択肢
– 静的決定(コアに新しいプログラムが割り当てられた際に
電源切り換え)
• プロファイル情報によりL2キャッシュ温度、キャッシュミス率を予測
– 動的決定(プログラム実行中に電源切り換え)
• 温度センサーによってL2キャッシュ温度情報を取得
• 追加ハードウェアによってキャッシュミス率を予測
33
静的消費エネルギーと動的消費エネ
ルギーの割合(平均的高温)
消費エネルギー比
1.5
1
E_d
E_s
0.5
0
16 14 12 10
8
6
稼働バンク数
4
2
34
温度分布
平均的高温
局所的高温
72
72
78
78
74
80
79
74
69
71
69
73
74
67
71
71
69
70
69
71
85
77
74
78
73
71
75
71
97
80
68
73
68
75
80
70
72
72
71
96
82
79
82
74
72
70
71
70
71
69
71
72
73
71
73
71
74
73
75
72
63
69
63
64
67
64
97
80
63
69
63
75
81
74
74
83
64
66
64
70
97
79
74
80
82
75
82
69
96
81
74
74
82
78
80
84
75
86
72
97
82
78
81
73
67
67
67
67
73
69
74
70
72
73
73
68
76
72
77
75
95
90
85
80
75
70
65
60
-
99
94
89
84
79
74
69
64
リーク消費電力(mW)
120
100
局所的
平均的
80
60
40
20
0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
稼働バンク(低温順)
35