micro12勉強会 20130303

15
MICRO’12 勉強会 201333東京大学 薦田 登志矢

Upload: toshiya-komoda

Post on 05-Jul-2015

237 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Micro12勉強会 20130303

MICRO’12 勉強会2013年 3月3日

東京大学

薦田 登志矢

Page 2: Micro12勉強会 20130303

自己紹介

• 東京大学 情報理工学系研究科 博士課程• 中村研

• コンパイラとかアーキテクチャとか勉強してる• 最近は, スパコン関連の研究してます

• OpenACCとか

• CPUとGPUのDVFS協調制御とか.

CPU/GPUのDVFS実験風景

2013/3/3 MICRO'12 勉強会 2

Page 3: Micro12勉強会 20130303

紹介する論文

• 「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

Page 4: Micro12勉強会 20130303

論文の概要

• 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

Page 5: Micro12勉強会 20130303

背景: DVFS制御

• 性能・電力の計測フェーズと, 実際にDVFSを適用するフェーズを繰り返す• CoScaleでは300μs 計測して, 5ms 実行.

• キーポイント1. 性能・電力の計測 & 予測手法

2. 予測に基づく周波数の決定則

2013/3/3 MICRO'12 勉強会 5

Page 6: Micro12勉強会 20130303

提案手法の性能・電力予測

• 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

Page 7: Micro12勉強会 20130303

メインメモリの性能予測に用いるハードウェアカウンタ( ASPLOS’11)

2013/3/3 MICRO'12 勉強会 7

• 性能

• DRAM内にある複数のキュー待ち時間のモニタリング情報を用いた解析式

• 電力

• MicronのWhitePaper中の式

から計算

「Calculating Memory

System Power for

DDR3」

• 新しく4つのHWカウンタを提案

• 残りは, 既存HWにある

DRAMメインメモリのモジュール図

Page 8: Micro12勉強会 20130303

周波数の決定則

2013/3/3 MICRO'12 勉強会 8

• 基本は貪欲法• Marginal benefit = Δpower/Δperformance

の高いコンポート(メモリ or コアのグループ)ごとに1段階ずつ周波数を下げて行く

• Marginal benefitは, 周波数を下げるたびに計算し直す

• メモリ周波数の場合には, 一番性能低下が大きいものを選ぶ

• 探索空間を狭めるためのポイント• コアはグループ化して, まとめて周波数を下げる

• 全探索 O (M * C^{N})

提案手法 O ( M + C * N^2)

Page 9: Micro12勉強会 20130303

コアのグループ化と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

Page 10: Micro12勉強会 20130303

評価実験

• シミュレーションによる相対評価• 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

Page 11: Micro12勉強会 20130303

エネルギー削減結果

2013/3/3 MICRO'12 勉強会 11

• 平均で13 – 24 % のエネルギーをシステム全体で削減• CPUバウンドなアプリケーションが多い場合, メモリバウンドなアプリケーションが多い場合, 両方が混ぜっている場合, 全てで良好なエネルギー削減効果を達成

Page 12: Micro12勉強会 20130303

他のDVFS制御手法との比較

2013/3/3 MICRO'12 勉強会 12

• CoScaleでは全探索による制御(offline)と同等の制御を達成

• 協調制御なしの場合には• 保守的なDVFSによりエネルギー削減効果が低い(Semi-coordinate)

or

• 性能制約を満たすことができない (Uncoordinate)

Page 13: Micro12勉強会 20130303

周波数制御結果

2013/3/3 MICRO'12 勉強会 13

(a) CoScale• 協調制御により, CPU, メモリ両方の周波数が程よく収束

(b) Uncoordinated• CPU/メモリDVFSを独立に適用

• 性能制約を満たさない周波数の組み合わせを選んでしまう

(c) SemiCoordinated• 性能制約をCPU, メモリに割り振った後独立にDVFS適用

• 発振してしまう

• 保守的すぎる周波数の組を選択

Page 14: Micro12勉強会 20130303

性能制約を変化させた場合

2013/3/3 MICRO'12 勉強会 14

• 性能制約に対して, 線形以上のエネルギー削減を達成• 原理的には, 周波数1/2の場合に消費エネルギーは1/2になる

• メモリバウンド, CPUバウンドな場合にはCPU or メモリの周波数を下げても性能が落ちない場合があるが, これをきっちり活用できている

Page 15: Micro12勉強会 20130303

まとめ

• CPUとメインメモリのDVFSを協調制御する手法の提案1. 周波数変更時の性能を正確に予測するモデル

2. 膨大な探索空間を, 上手に探索できるアルゴリズム

• シミュレーション評価では, −10 % の性能制約を厳密に守りつつ, 13 – 24 % のシステムエネルギーを削減• これは, 理想的に周波数の組み合わせを選択できた場合とほぼ同等のエネルギー削減

2013/3/3 MICRO'12 勉強会 15