230 likes | 340 Views
待機状態ラインに対する参照局所性を 考慮した低リーク・キャッシュの 性能低下抑制方式. 福岡大学 ◎小宮礼子 モシニャガ・ワシリー 九州大学 井上弘士 村上和彰. 発表手順. 背景 キャッシュ・リーク削減手法 待機状態ラインへの参照局所性 性能低下抑制方式 評価 おわりに. 背景. プロセッサの消費電力 =リーク消費電力+動的消費電力. StrongA RM SA-110 *2. 70%. プロセッサ中のリーク電力の割合 * 1. Power: 43 %. キャッシュ・メモリのリーク消費電力削減が必要 !!.
E N D
待機状態ラインに対する参照局所性を考慮した低リーク・キャッシュの性能低下抑制方式待機状態ラインに対する参照局所性を考慮した低リーク・キャッシュの性能低下抑制方式 福岡大学 ◎小宮礼子 モシニャガ・ワシリー 九州大学 井上弘士 村上和彰
発表手順 • 背景 • キャッシュ・リーク削減手法 • 待機状態ラインへの参照局所性 • 性能低下抑制方式 • 評価 • おわりに
背景 プロセッサの消費電力 =リーク消費電力+動的消費電力 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
☹ ☺ • 活性状態のライン(awakeライン): 高リーク , 高速アクセス • 待機状態のライン(sleepライン) : 低リーク , 低速アクセス ☺ ☹ キャッシュ・リーク削減手法 低リークキャッシュ 従来キャッシュ 待機状態 活性状態 • ラインの状態を動的に切替える • sleepライン数が増加 →リーク削減 • sleepラインへのアクセス →性能低下
Drowsyキャッシュ • awakeライン→sleepライン • 定期的 • sleepライン→awakeライン • アクセス発生時 sleepライン参照(sleepヒット)が 必ず発生 awake sleep sleepヒット:データ読み出しのため該当ラインをawakeラインへ変更 →アクセス時間オーバヘッド発生 SHP (Sleep Hit Penalty) SHP=1クロックサイクルと仮定して提案,評価 K.Flautner, N.S.Kim, S.Martin, D.Blaauw, and T.Mudge, “Drowsy Caches: Simple Techniques for Reducing Leakage Power,” Proc. of the 29th Int. Symp. on Computer Architecture, pp.148-157, May 2002.
Drowsyキャッシュの課題と解決策 • Drowsyキャッシュ:SHP=3クロックサイクルでの性能低下 • ・最大 22.7% ・平均 8.5% • SHPクロックサイクルは増加傾向 →性能も悪化 研究目的:低リーク・キャッシュの 性能低下抑制手法を提案・評価 • sleepヒットの局所性を活用した低リーク・キャッシュの 性能低下抑制方式を提案 • シミュレーションを行い有効性を評価 Drowsyと同等のリーク削減率, 性能低下0.1%を実現
sleepヒットの局所性 • sleepヒット局所性とは? • ライン毎sleepヒット回数の多寡 • 1以上⇒平均以上のsleepヒットが発生 • 128KBL1 データキャッシュを想定しSHLiを測定
高sleep-hit-locality 一部のラインにsleepヒットが集中 1
低sleep-hit-locality 全ラインが平均的に参照 1
高局所性ラインの占める割合 • ベンチマークプログラムごとに局所性は異なる • SHLが1以上のラインが占める割合30.4%(平均)
sleepヒット局所性を生かしてどう性能低下を抑制するか?sleepヒット局所性を生かしてどう性能低下を抑制するか? Drowsyキャッシュ:sleepヒット時のペナルティーに伴い性能が低下 性能低下抑制方式 集中的にsleepヒットが発生するライン =性能低下を引き起こすライン 常にawakeラインで動作 (always-awakeライン) SHL≧閾値 ならば always-awakeラインにする
評価 • ベンチマーク:SPEC2000 • (int 12個,float 14個) • SPARC64プロセッサ (アウト・オブ・オーダ実行) • 128KB,連想度2 ,データL1キャッシュ • SHP=5クロックサイクル • sleep/awakeラインのリーク消費エネルギー • →0.08 : 1 • 評価対象 ・Drowsy:Drowsyキャッシュ ・AAx:SHLiがx以上のラインを always-awakeラインにしたキャッシュ
リーク消費エネルギー・モデル LEtotal = CC × LEline × Nline キャッシュ全体のライン数(2048) プログラム実行時間:CC = CCconv + CCextra 従来キャッシュの実行時間 増加実行時間 クロックサイクル当たりの1ライン平均リーク消費エネルギー: LEline = SR × LEsline + (1-SR) × LEaline 1クロック,1sleepラインの平均リーク消費エネルギー →0.08LEaline キャッシュ内のsleepライン数の割合
実行時間増加率(Drowsy vs. always-awake) 閾値が高いほど性能低下 高閾値でも性能改善 従来キャッシュ
リーク消費エネルギー削減率 低閾値でもリーク削減 閾値が低いほどリーク増加 従来キャッシュ
エネルギー遅延積削減率 ED積の改善は見られない 従来キャッシュ
SHPの影響(実行時間増加率) SHP増加に伴い,性能低下抑制効果増加
SHPの影響(リーク消費エネルギー削減率) SHPに関わらずリーク削減率ほぼ一定
おわりに • まとめ • Drowsyキャッシュ:リーク削減 良, 実行時間 悪 性能低下抑制方式: sleepヒット局所性が高いラインを常に活性状態で動作 • always-awakeライン数に比例して性能低下改善,リーク増加 • sleepヒット局所性が高い⇒リークに影響なく,大幅に性能改善 • SHPの増加に伴い提案方式の有効性増加 • 今後の課題 • 動的消費エネルギーを含めた評価
ZonCプロセッサ・モデル • SPARC64プロセッサ • トレースドリブン • Out-of-order実行方式 • ノード数 1 • CPU数 1 • コア数 1 • CPUのクロック周波数 1250MHz • ウォームアップ命令数 3,000,000 • 測定対象命令数 6,000,000