1 / 46

待機ラインへの参照密度に基づく低リーク・キャッシュの動的制御

待機ラインへの参照密度に基づく低リーク・キャッシュの動的制御. 福岡大学 ◎小宮礼子 九州大学 井上弘士 村上和彰. 発表手順. はじめに キャッシュ・リーク削減手法の問題点 待機状態ラインへの参照密度解析 性能低下抑制を目的とした動的制御方式の提案 評価 おわりに. はじめに. プロセッサの消費電力  =リーク消費電力+動的消費電力. StrongA RM SA-110 *2. 70%. プロセッサ中のリーク電力の割合 * 1. Power: 43 %. キャッシュ・メモリのリーク消費電力削減が必要 !!.

gezana
Download Presentation

待機ラインへの参照密度に基づく低リーク・キャッシュの動的制御

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 待機ラインへの参照密度に基づく低リーク・キャッシュの動的制御待機ラインへの参照密度に基づく低リーク・キャッシュの動的制御 福岡大学 ◎小宮礼子 九州大学 井上弘士 村上和彰

  2. 発表手順 • はじめに • キャッシュ・リーク削減手法の問題点 • 待機状態ラインへの参照密度解析 • 性能低下抑制を目的とした動的制御方式の提案 • 評価 • おわりに

  3. はじめに プロセッサの消費電力  =リーク消費電力+動的消費電力 StrongARM SA-110 *2 70% プロセッサ中のリーク電力の割合*1 Power: 43 % キャッシュ・メモリのリーク消費電力削減が必要!! *1 Fred Pollack (Intel Fellow): New Microarchitecture Challenges in the Coming Generations of CMOS Process Technologies [Micro32] *2 プロセス:0.35μm, I-cache:16KB, D-cache:16KB, 1998

  4. ☺ • 活性状態のライン(活性ライン): 高リーク  , 高速アクセス • 待機状態のライン(待機ライン) : 低リーク  , 低速アクセス ☺ ☹ キャッシュ・リーク削減手法 低リークキャッシュ 従来キャッシュ 待機状態 活性状態 • ラインの状態を動的に切替える 待機ライン数が増加 →リーク削減 待機ラインへのアクセス →性能低下

  5. ミス Cache Decay:状態破壊に基づくリーク削減方式 • 活性ライン→待機ライン(供給電圧0V) • 非アクセスサイクル数 ≧ 閾値 • (閾値:decay interval) • 待機ライン→活性ライン • アクセス発生時 アクセス アクセス アクセス アクセス アクセス 活性 待機 待機ライン参照 ⇒ 必ずキャッシュ・ミスになる • 従来キャッシュにおいても発生するミス • Cache Decayにより新たに発生したミス (=「増加ミス」) 「増加ミス」の発生に伴い性能低下 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.

  6. 低リーク・キャッシュの性能低下を改善するには?低リーク・キャッシュの性能低下を改善するには? 方法1.キャッシュ・ミス時のミス・ペナルティの削減 L2以下の記憶階層ではキャッシュ・サイズは増加傾向 →ミス・ペナルティの削減は困難 方法2.「増加ミス」回数の削減 低リーク・キャッシュを動的に制御し,「増加ミス」を削減 評価結果: Cache decay リーク削減率:92.7%, 性能低下:15.1%  提案方式 リーク削減率:90.6%, 性能低下:5.0%

  7. Cache Decayにおける「増加ミス」の解析 • Increased-Miss-Density (IMD)とは? ライン毎「増加ミス」回数の多寡を示す指標 1以上⇒平均以上の「増加ミス」が発生 IMDiが高いライン = 性能低下を引き起こすライン

  8. IMD f183.equake 1 i175.vpr 1 L1キャッシュライン・インデックス

  9. IMDi < 1 1 ≦ IMDi < 2 2 ≦ IMDi < 4 4 ≦ IMDi 解析結果 高密度ラインにおける 「増加ミス」が占める割合 高密度ラインが占める割合 7.7%のラインが71%の「増加ミス」を発生 「増加ミス」の割合 ラインの割合 一部のラインが「増加ミス」を頻発!

  10. 新しい低リーク・キャッシュ動的制御方式の提案新しい低リーク・キャッシュ動的制御方式の提案 「増加ミス」を頻発するラインを常に活性ラインで動作 常活性ライン 「増加ミス」頻発 常に活性ライン 活性 待機

  11. ≧ 閾値 10bit右シフト 1bit左シフト IMDiに基づく動的常活性ライン決定方法 ならば 常活性ライン ラインiにおける「増加ミス」回数 ≧ 全ラインにおける「増加ミス」回数の平均×閾値 <例>キャッシュ・ライン数 = 1024 (=210)      閾値 = 2 (=21) 総「増加ミス」回数 平均「増加ミス」回数 ≧? ラインiにおける「増加ミス」回数 平均「増加ミス」回数×閾値 yes no Cache Decay 常活性ライン

  12. ≧? 内部構造 「増加ミス」カウンタ 常活性フラグ Decayフラグ 非アクセスカウンタ tag data 0 1 2 状態破棄 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1023 Voltage Control Vdd / 0 ≧? シフタ 総「増加ミス」カウンタ decay interval

  13. 0 1 2 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1023 ≧? 内部構造 「増加ミス」カウンタ 常活性フラグ Decayフラグ 非アクセスカウンタ tag data 状態破棄 1 1 Voltage Control Vdd / 0 ≧? シフタ 総「増加ミス」カウンタ decay interval

  14. 評価環境 • 評価対象 Cache Decay 閾値x:IMDiがx以上のラインを常活性ラインにしたキャッシュ x = 1, 2, 4 • 評価環境 シミュレータ: SimpleScalar 3.0d 命令発行:in-order データL1キャッシュ (32KB, 連想度32) • 対象アプリケーション • SPEC CPU 2000ベンチマークセット • (fp 4個,int 6個) • 評価項目 実行時間増加率 リーク消費エネルギー削減率

  15. 閾値1 閾値2 閾値4 Cache Decay 評価結果 92.7% 性能改善 90.6% 15.1% リーク削減効果維持 5.0%

  16. 閾値1 閾値2 閾値4 Cache Decay 評価結果 性能改善 リーク削減効果減

  17. まとめ • 低リーク・キャッシュの性能低下抑制方式を提案: 「増加ミス」の発生密度が高いラインを動的に検出し, 常活性ラインにすることで性能を改善 • 結果 • リーク削減効果を維持したまま性能を改善できた • 最善ケース(f183.equake 閾値4)の場合:  • Cache Decay リーク削減率:92.7%, 性能低下:15.1% • 提案方式 リーク削減率:90.6%, 性能低下:5.0% • 今後の課題 • 動的消費エネルギーを含めた総合評価

  18. 待機ラインの実現方式 改善できれば,性能低下小かつリーク削減効果大!

  19. Cache decayではどれだけ性能が低下するか?

  20. 「増加ミス」が性能低下にどれだけ影響しているか?「増加ミス」が性能低下にどれだけ影響しているか? 「増加ミス」回数が多いほど性能も低下! 増加ミス

  21. IMD i181.mcf 1

  22. 高密度ラインが占める割合 ラインの割合

  23. 高密度ラインにおける「増加ミス」が占める割合高密度ラインにおける「増加ミス」が占める割合 7.7%のラインが71%の「増加ミス」を発生 「増加ミス」の割合 一部のラインが「増加ミス」を頻発!

  24. カウンタ フラグ 待機 ≧? どのようにして常活性ラインを動的に決定するか? tag data 0 1 2 ・ ・ ・ ・ ・ ・ 状態破棄 1023 Voltage Control Vdd / 0 decay interval

  25. カウンタ フラグ 待機 ≧? どのようにして常活性ラインを動的に決定するか? tag data 0 1 2 ・ ・ ・ ・ ・ ・ 状態破棄 1023 1 Voltage Control Vdd / 0 非アクセスサイクル数をカウント 待機カウンタ≧decay interval  ⇒待機フラグ=1 decay interval

  26. カウンタ フラグ カウンタ フラグ 常活性 待機 0 1 2 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1023 ≧? どのようにして常活性ラインを動的に決定するか? tag data 状態破棄 Voltage Control Vdd / 0 ≧? globalカウンタ decay interval

  27. カウンタ フラグ カウンタ フラグ 常活性 待機 0 1 2 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1023 ≧? どのようにして常活性ラインを動的に決定するか? tag data 状態破棄 1 Voltage Control Vdd / 0 Cache decay時の「増加ミス」回数をカウント ≧? 全「増加ミス」回数をカウント globalカウンタ decay interval

  28. カウンタ フラグ カウンタ フラグ 常活性 待機 0 1 2 IMDi≧閾値 ならば 常活性ライン ・ ・ ・ ・ ・ ・ ・ ・ ・ 1023 ラインiにおける「増加ミス」回数 ≧  全ラインにおける「増加ミス」回数の平均×閾値 ≧? どのようにして常活性ラインを動的に決定するか? tag data 状態破棄 1 Voltage Control Vdd / 0 ≧? globalカウンタ decay interval

  29. カウンタ フラグ カウンタ フラグ 常活性 待機 0 1 2 IMDi≧閾値 ならば 常活性ライン ・ ・ ・ ・ ・ ・ ・ ・ ・ 1023 ラインiにおける「増加ミス」回数 ≧  全ラインにおける「増加ミス」回数の平均×閾値 ≧? どのようにして常活性ラインを動的に決定するか? tag data 状態破棄 1 Voltage Control Vdd / 0 ≧? ライン数:2x, 閾値:2yの場合, globalカウンタの値を (x-y)ビット右にシフト 例)ライン数1024 = 210, 閾値2 = 21     ⇒9ビット右シフト globalカウンタ decay interval

  30. カウンタ フラグ カウンタ フラグ 常活性 待機 0 1 2 IMDi≧閾値 ならば 常活性ライン ・ ・ ・ ・ ・ ・ ・ ・ ・ 1023 ラインiにおける「増加ミス」回数 ≧  全ラインにおける「増加ミス」回数の平均×閾値 ≧? どのようにして常活性ラインを動的に決定するか? tag data 状態破棄 1 1 Voltage Control 常活性カウンタ≧シフトした値  ⇒常活性フラグ=1 Vdd / 0 ≧? globalカウンタ decay interval

  31. カウンタ フラグ カウンタ フラグ 常活性 待機 常活性 フラグ 待機 フラグ 状態破棄 信号 0 0 0(活性) 0 1 0 1 0 (活性) 2 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1 0 0 (活性) 1023 1 1 1 (破棄) ≧? どのようにして常活性ラインを動的に決定するか? tag data 状態破棄 1 1 Voltage Control Vdd / 0 ≧? globalカウンタ decay interval

  32. カウンタ フラグ カウンタ フラグ 常活性 待機 常活性 フラグ 待機 フラグ 状態破棄 信号 0 0 0(活性) 0 1 0 1 0 (活性) 2 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1 0 0 (活性) 1023 1 1 1 (破棄) ≧? どのようにして常活性ラインを動的に決定するか? tag data 常活性フラグ=1 ならば 常に活性ライン 状態破棄 1 1 Voltage Control Vdd / 0 ≧? globalカウンタ decay interval

  33. カウンタ フラグ カウンタ フラグ 常活性 待機 常活性 フラグ 待機 フラグ 状態破棄 信号 0 0 0(活性) 0 1 0 1 0 (活性) 2 ・ ・ ・ ・ ・ ・ ・ ・ ・ 1 0 0 (活性) 1023 1 1 1 (破棄) ≧? どのようにして常活性ラインを動的に決定するか? tag data 常活性フラグ=0 ならば Cache decayと同様に動作 状態破棄 1 1 Voltage Control Vdd / 0 ≧? globalカウンタ decay interval

  34. どれだけ性能低下を改善したか?① 性能改善 15.1% 5.0%

  35. リーク消費エネルギー削減効果は維持できたか? ① 92.7% 90.6% リーク削減効果維持

  36. 何故f183.equakeはリーク削減効果を維持したまま性能を改善したか?何故f183.equakeはリーク削減効果を維持したまま性能を改善したか? Cache decay 少数ラインが「増加ミス」を頻発 →一部のラインのみ常活性ラインになるため,  リークは増加せず,性能を改善する 高密度ラインにおける 「増加ミス」数が占める割合 高密度ラインが 占める割合

  37. どれだけ性能低下を改善したか?② 閾値に反比例して性能改善

  38. リーク消費エネルギー削減効果は維持できたか? ② 閾値に反比例してリーク削減効果低下

  39. 何故i256.bizp2では性能改善に伴いリーク削減効果が低下するか?何故i256.bizp2では性能改善に伴いリーク削減効果が低下するか? Cache decay 「増加ミス」密度が高いライン数が多い →常活性ライン数が増えるため,リーク削減効果減 そのラインでの「増加ミス」回数は多い →性能は改善 高密度ラインにおける 「増加ミス」数が占める割合 高密度ラインが 占める割合

  40. どれだけ性能低下を改善したか?③ 性能改善せず

  41. リーク消費エネルギー削減効果は維持できたか? ③ リーク削減効果変わらず

  42. i181.mcf(閾値2,4)は何故性能もリークも変化しないか?i181.mcf(閾値2,4)は何故性能もリークも変化しないか? 常活性ラインになるラインがない →Cache decayと同じ動作をする

  43. どれだけ性能低下を改善したか?④ 元々性能が低下していない

  44. リーク消費エネルギー削減効果は維持できたか? ④ リーク削減効果低下 理由:無駄に常活性ラインに切替わる

More Related