micro12勉強会 20130303
TRANSCRIPT
MICRO’12 勉強会2013年 3月3日
東京大学
薦田 登志矢
自己紹介
• 東京大学 情報理工学系研究科 博士課程• 中村研
• コンパイラとかアーキテクチャとか勉強してる• 最近は, スパコン関連の研究してます
• OpenACCとか
• CPUとGPUのDVFS協調制御とか.
CPU/GPUのDVFS実験風景
2013/3/3 MICRO'12 勉強会 2
紹介する論文
• 「CoScale: Coordinating CPU and Memory System
DVFS
in Server Systems」 Qingyuan Deng et al.
• 「MemScale: Active Low-Power Modes for Main
Memory」同著者, ASPLOS’11
2013/3/3 MICRO'12 勉強会 3
論文の概要
• CPUとメインメモリのDVFSを協調制御した• 現状で, サーバシステム電力のうち 60 %がCPU, 30 %がメインメモリ.
• 性能制約の中で, 消費電力削減を最大化したい
• 結果• 評価はシミュレーション
• −10 % の性能制約を守りつつ, 13 – 24 % のシステム電力を削減
• コントリビューション1. 膨大な周波数設定の組み合わせを効果的に探索する手法の提案.
• 周波数がCレベルのNコアCPU, Mレベルのメインメモリで可能な組み合わせは MC^{N}. 全探索では. 指数オーダの探索が必要.
2. (MemScale): DRAMメモリにおける実行時間予測モデルの提案と, DVFS制御則の提案
2013/3/3 MICRO'12 勉強会 4
背景: DVFS制御
• 性能・電力の計測フェーズと, 実際にDVFSを適用するフェーズを繰り返す• CoScaleでは300μs 計測して, 5ms 実行.
• キーポイント1. 性能・電力の計測 & 予測手法
2. 予測に基づく周波数の決定則
2013/3/3 MICRO'12 勉強会 5
提案手法の性能・電力予測
• CPU
• 性能
• 性能・電力モデルを利用. 実行命令数, キャッシュのミス数, ミスによるストールサイクル数から周波数変化によす性能変化を予測
• 電力
• 「Runtime Power Monitoring in High-End Processors: Methodology and
Empirical Data 」 MICRO’ 03
• メインメモリ• 同著者の論文 「MemScale」の性能・電力モデルを利用
• 「MemScale: Active Low-Power Modes for Main Memory」 ASPLOS’11
CPU, メインメモリの合計14個のハードウェアカウンタの値から性能変化を予測
2013/3/3 MICRO'12 勉強会 6
メインメモリの性能予測に用いるハードウェアカウンタ( ASPLOS’11)
2013/3/3 MICRO'12 勉強会 7
• 性能
• DRAM内にある複数のキュー待ち時間のモニタリング情報を用いた解析式
• 電力
• MicronのWhitePaper中の式
から計算
「Calculating Memory
System Power for
DDR3」
• 新しく4つのHWカウンタを提案
• 残りは, 既存HWにある
DRAMメインメモリのモジュール図
周波数の決定則
2013/3/3 MICRO'12 勉強会 8
• 基本は貪欲法• Marginal benefit = Δpower/Δperformance
の高いコンポート(メモリ or コアのグループ)ごとに1段階ずつ周波数を下げて行く
• Marginal benefitは, 周波数を下げるたびに計算し直す
• メモリ周波数の場合には, 一番性能低下が大きいものを選ぶ
• 探索空間を狭めるためのポイント• コアはグループ化して, まとめて周波数を下げる
• 全探索 O (M * C^{N})
提案手法 O ( M + C * N^2)
コアのグループ化とmargina benefitの計算
1. Δperformanceでコアを昇順にソーティング
2. For i in 1 … N
Δpower_{group_i} = sum_{j=1}^{i} Δpower_{core_j}
Δperformace_{group_i} =
max_{j=1}^{i}(Δperfromance_{core_j}}
3. Select the group_i with the highest Δpower/Δperformance
2013/3/3 MICRO'12 勉強会 9
アルゴリズム
Δpower = 2
Δperf = 1Δpower = 2
Δperf = 2
Δpower = 3
Δperf = 4
Δpower Δperf Δpower/
Δperf
Group_1 3 2 1/5
Group_2 4 2 2
Group_3 7 4 1.75
評価実験
• シミュレーションによる相対評価• M5でメモリアクセストレースの生成
• 自作のメモリシミュレータで, メモリシステムの性能・電力を評価
• CPUの電力は, McPATで評価
• 周波数レンジ
• CPU: 2.2 – 4.0 GHz, 10段階
• Main Memory:
200-800 MHz with 66 MHz step
2013/3/3 MICRO'12 勉強会 10
エネルギー削減結果
2013/3/3 MICRO'12 勉強会 11
• 平均で13 – 24 % のエネルギーをシステム全体で削減• CPUバウンドなアプリケーションが多い場合, メモリバウンドなアプリケーションが多い場合, 両方が混ぜっている場合, 全てで良好なエネルギー削減効果を達成
他のDVFS制御手法との比較
2013/3/3 MICRO'12 勉強会 12
• CoScaleでは全探索による制御(offline)と同等の制御を達成
• 協調制御なしの場合には• 保守的なDVFSによりエネルギー削減効果が低い(Semi-coordinate)
or
• 性能制約を満たすことができない (Uncoordinate)
周波数制御結果
2013/3/3 MICRO'12 勉強会 13
(a) CoScale• 協調制御により, CPU, メモリ両方の周波数が程よく収束
(b) Uncoordinated• CPU/メモリDVFSを独立に適用
• 性能制約を満たさない周波数の組み合わせを選んでしまう
(c) SemiCoordinated• 性能制約をCPU, メモリに割り振った後独立にDVFS適用
• 発振してしまう
• 保守的すぎる周波数の組を選択
性能制約を変化させた場合
2013/3/3 MICRO'12 勉強会 14
• 性能制約に対して, 線形以上のエネルギー削減を達成• 原理的には, 周波数1/2の場合に消費エネルギーは1/2になる
• メモリバウンド, CPUバウンドな場合にはCPU or メモリの周波数を下げても性能が落ちない場合があるが, これをきっちり活用できている
まとめ
• CPUとメインメモリのDVFSを協調制御する手法の提案1. 周波数変更時の性能を正確に予測するモデル
2. 膨大な探索空間を, 上手に探索できるアルゴリズム
• シミュレーション評価では, −10 % の性能制約を厳密に守りつつ, 13 – 24 % のシステムエネルギーを削減• これは, 理想的に周波数の組み合わせを選択できた場合とほぼ同等のエネルギー削減
2013/3/3 MICRO'12 勉強会 15