MICRO’12 勉強会
2013年 3月3日
東京大学
薦田 登志矢
2013/3/3                        MICRO'12 勉強会   2




自己紹介
• 東京大学 情報理工学系研究科 博士課程
  • 中村研
• コンパイラとかアーキテクチャとか勉強してる
  • 最近は, スパコン関連の研究してます
       • OpenACCとか
       • CPUとGPUのDVFS協調制御とか.




                     CPU/GPUのDVFS実験風景
2013/3/3                      MICRO'12 勉強会       3




紹介する論文
• 「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 勉強会   4




論文の概要
• CPUとメインメモリのDVFSを協調制御した
  • 現状で, サーバシステム電力のうち 60 %がCPU, 30 %がメインメ
    モリ.
  • 性能制約の中で, 消費電力削減を最大化したい
• 結果
  • 評価はシミュレーション
  • −10 % の性能制約を守りつつ, 13 – 24 % のシステム電力を削減
• コントリビューション
  1. 膨大な周波数設定の組み合わせを効果的に探索する手法の提案.
        • 周波数がCレベルのNコアCPU, Mレベルのメインメモリで可能な組み合
           わせは MC^{N}. 全探索では. 指数オーダの探索が必要.
   2.      (MemScale): DRAMメモリにおける実行時間予測モデルの提案
           と, DVFS制御則の提案
2013/3/3                    MICRO'12 勉強会   5




背景: DVFS制御
• 性能・電力の計測フェーズと, 実際にDVFSを適用する
  フェーズを繰り返す
   • CoScaleでは300μs 計測して, 5ms 実行.
• キーポイント
  1. 性能・電力の計測 & 予測手法
  2. 予測に基づく周波数の決定則
2013/3/3                                 MICRO'12 勉強会             6




提案手法の性能・電力予測
• 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 勉強会   7


 メインメモリの性能予測に用いる
 ハードウェアカウンタ( ASPLOS’11)
• 性能
 • 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)
2013/3/3                               MICRO'12 勉強会             9


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


                                                 Δpower   Δperf       Δpower/
                                                                      Δperf
                                       Group_1   3        2           1/5
Δpower = 2   Δpower = 2   Δpower = 3
Δperf = 1    Δperf = 2    Δperf = 4    Group_2 4          2           2
                                       Group_3   7        4           1.75
2013/3/3                                  MICRO'12 勉強会   10




評価実験
• シミュレーションによる相対評価
  • M5でメモリアクセストレースの生成
  • 自作のメモリシミュレータで, メモリシステムの性能・電力を
    評価
  • CPUの電力は, McPATで評価
  • 周波数レンジ
       • CPU: 2.2 – 4.0 GHz, 10段階
       • Main Memory:
           200-800 MHz with 66 MHz step
2013/3/3           MICRO'12 勉強会   11




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




他のDVFS制御手法との比較
• 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 メモリの周波数
    を下げても性能が落ちない場合があるが, これをきっちり活用でき
    ている
2013/3/3            MICRO'12 勉強会   15




まとめ
• CPUとメインメモリのDVFSを協調制御する手法の提案
  1. 周波数変更時の性能を正確に予測するモデル
  2. 膨大な探索空間を, 上手に探索できるアルゴリズム




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

Micro12勉強会 20130303

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