待機状態ラインに対する参照局所性を 考慮した低リーク・キャッシュの 性能低下抑制方式 福岡大学 ◎小宮礼子 モシニャガ・ワシリー 九州大学 井上弘士 村上和彰 2004/12/02 1 発表手順 背景 キャッシュ・リーク削減手法 待機状態ラインへの参照局所性 性能低下抑制方式 評価 おわりに 2004/12/02 2 背景 プロセッサの消費電力 =リーク消費電力+動的消費電力 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 2004/12/02 3 キャッシュ・リーク削減手法 低リークキャッシュ 従来キャッシュ 待機状態 活性状態 活性状態のライン(awakeライン): 高リーク ☹ , 高速アクセス 待機状態のライン(sleepライン) : 低リーク ☺, 低速アクセス ラインの状態を動的に切替える sleepライン数が増加 sleepラインへのアクセス 2004/12/02 ☺ ☹ →リーク削減 →性能低下 4 Drowsyキャッシュ アクセス アクセス awake sleep awakeライン→sleepライン 定期的 sleepライン→awakeライン アクセス発生時 sleepライン参照(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. 5 Drowsyキャッシュの課題と解決策 Drowsyキャッシュ:SHP=3クロックサイクルでの性能低下 ・最大 22.7% ・平均 8.5% SHPクロックサイクルは増加傾向 →性能も悪化 研究目的:低リーク・キャッシュの 性能低下抑制手法を提案・評価 sleepヒットの局所性を活用した低リーク・キャッシュの 性能低下抑制方式を提案 シミュレーションを行い有効性を評価 Drowsyと同等のリーク削減率, 性能低下0.1%を実現 2004/12/02 6 sleepヒットの局所性 sleepヒット局所性とは? ライン毎sleepヒット回数の多寡 ラインiにおけるsleepヒット回数 SHLi 全ラインにおけるsleepヒット回数の平均 1以上⇒平均以上のsleepヒットが発生 128KB L1 データキャッシュを想定しSHLiを測定 2004/12/02 7 高sleep-hit-locality 45 f168.w upw ise 40 S leep H it Locality _ 35 30 一部のラインにsleepヒットが集中 25 20 15 10 5 10 0 20 0 30 0 40 0 50 0 60 0 70 0 80 0 90 0 10 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 19 00 20 00 0 01 2004/12/02 L1データキャッシュ・インデックス 10 0 20 0 30 0 40 0 50 0 60 0 70 0 80 0 90 0 10 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 19 00 20 00 0 S leep H it Locality _ 低sleep-hit-locality 6 i176.gcc 5 全ラインが平均的に参照 4 3 2 11 0 2004/12/02 L1データキャッシュ・インデックス 高局所性ラインの占める割合 4以上 2以上4未満 1以上2未満 1未満 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% i176.gcc 2004/12/02 i253.perlbm k f168.w upw ise ベンチマークプログラム 平均 ベンチマークプログラムごとに局所性は異なる SHLが1以上のラインが占める割合30.4%(平均) 10 sleepヒット局所性を生かして どう性能低下を抑制するか? Drowsyキャッシュ:sleepヒット時のペナルティーに伴い性能が低下 性能低下抑制方式 集中的にsleepヒットが発生するライン =性能低下を引き起こすライン 常にawakeラインで動作 (always-awakeライン) SHL≧閾値 ならば always-awakeラインにする 閾値 2004/12/02 メリット デメリット 低い 性能低下改善 リーク増加 高い 性能低下 リーク削減 11 評価 ベンチマーク:SPEC2000 (int 12個,float 14個) 入力 ベンチマーク プログラム Drowsyキャッシュ シミュレータ SPARC64プロセッサ (アウト・オブ・オーダ実行) 出力 128KB,連想度2 ,データL1キャッシュ always-awake ライン 入力 ・実行時間増加率 ・リーク削減率 ・ED積削減率 出力 性能低下 抑制キャッシュ 2004/12/02 SHP=5クロックサイクル sleep/awakeラインのリーク消費エネルギー →0.08 : 1 評価対象 ・Drowsy:Drowsyキャッシュ ・AAx:SHLiがx以上のラインを always-awakeラインにしたキャッシュ 12 リーク消費エネルギー・モデル LEtotal = CC × LEline × Nline キャッシュ全体のライン数(2048) プログラム実行時間:CC = CCconv + CCextra 従来キャッシュの実行時間 増加実行時間 クロックサイクル当たりの1ライン平均リーク消費エネルギー: LEline = SR × LEsline + (1-SR) × LEaline 1クロック,1sleepラインの平均リーク消費エネルギー →0.08LEaline キャッシュ内のsleepライン数の割合 2004/12/02 13 実行時間増加率 (Drowsy vs. always-awake) 50 AA2 AA1 AA4 Drowsy 実行時間増加率 (%) _ 40 閾値が高いほど性能低下 30 20 10 高閾値でも性能改善 従来キャッシュ 0 i176.gcc 2004/12/02 i254.gap i253.perlbmk f168.wupwise ベンチマークプログラム 平均 14 高局所性ラインの占める割合 4以上 2以上4未満 1以上2未満 1未満 100% 90% 80% 70% 60% 50% 40% 30% 20% 10% 0% i176.gcc i253.perlbm k f168.w upw ise ベンチマークプログラム 平均 10 0 20 0 30 0 40 0 50 0 60 0 70 0 80 0 90 0 10 00 11 00 12 00 13 00 14 00 15 00 16 00 17 00 18 00 19 00 20 00 0 S leep H it Locality _ sleepヒット局所性 120 i253.perlbm k 100 80 60 40 20 0 2004/12/02 L1データキャッシュ・インデックス16 リーク消費エネルギー削減率 100 リーク消費エネルギー削減率 (%) _ 90 AA1 80 AA2 AA4 Drowsy 低閾値でもリーク削減 70 60 50 40 30 閾値が低いほどリーク増加 20 10 従来キャッシュ 0 i176.gcc 2004/12/02 i254.gap i253.perlbmk f168.wupwise ベンチマークプログラム 平均 17 エネルギー遅延積削減率 100 エネルギー遅延積削減率 (%) _ 90 AA1 AA2 AA4 Drowsy 80 70 60 50 40 30 20 ED積の改善は見られない 10 従来キャッシュ 0 i176.gcc 2004/12/02 i254.gap i253.perlbmk f168.wupwise ベンチマークプログラム 平均 18 SHPの影響(実行時間増加率) 50 always awake Drowsy 実行時間増加率 (%) _ 40 SHP増加に伴い,性能低下抑制効果増加 30 20 10 0 1 2 3 4 i176.gcc 2004/12/02 5 1 2 3 4 5 i254.gap ベンチマークプログラム 1 2 3 平均 4 5 SHP(cycle) 19 SHPの影響(リーク消費エネルギー削減率) 100 always awake Drowsy リーク消費エネルギー削減率 (%) _ 90 80 70 60 50 40 30 SHPに関わらずリーク削減率ほぼ一定 20 10 0 1 2 3 4 i176.gcc 2004/12/02 5 1 2 3 4 5 i254.gap ベンチマークプログラム 1 2 3 平均 4 5 SHP(cycle) 20 おわりに まとめ Drowsyキャッシュ:リーク削減 良, 実行時間 悪 性能低下抑制方式: sleepヒット局所性が高いラインを常に活性状態で動作 always-awakeライン数に比例して性能低下改善,リーク増加 sleepヒット局所性が高い⇒リークに影響なく,大幅に性能改善 SHPの増加に伴い提案方式の有効性増加 今後の課題 動的消費エネルギーを含めた評価 2004/12/02 21 2004/12/02 22 ZonCプロセッサ・モデル SPARC64プロセッサ トレースドリブン Out-of-order実行方式 ノード数 1 CPU数 1 コア数 1 CPUのクロック周波数 ウォームアップ命令数 測定対象命令数 2004/12/02 1250MHz 3,000,000 6,000,000 23
© Copyright 2025 ExpyDoc