SRAM/DRAMハイブリッド・キャッシュ における実行時動作モード決定法の提案 ○橋口慎哉† 福本尚人† 井上弘士‡ 村上和彰‡ †九州大学大学院 システム情報科学府 ‡九州大学大学院 システム情報科学研究院 1 発表手順 • • • • • • 3次元実装技術 SRAM/DRAMハイブリッド・キャッシュ 研究目的 実行時動作モード決定法 評価実験 まとめと今後の課題 2 研究背景 • 3次元実装技術 – グローバル配線長の削減、チップ面積縮小 – 異なるプロセスを経て製造されたダイ同士の積層 • プロセッサ・ダイとDRAMダイを積層することに よりオンチップ・メモリの大容量化を実現可能 →メモリウォール問題の解決策 出典:米インテル社 TSV(Through Silicon Vias) 3 DRAMスタック法[1] 平均メモリ アクセス時間[cc] L1キャッシュの アクセス時間[cc] L1キャッシュ ミスの割合 L2キャッシュの L2キャッシュ 主記憶の アクセス時間[cc] ミスの割合 アクセス時間[cc] AMAT HT L1 MRL1 ( HT L2 MRL2 MMAT) DRAMスタック 法の効果 (?) 60 DRAMスタック法(3次元実装) 64MB L2 (DRAM) 4MB Tag Core(s) (SRAM) + L1(s) [1]Bryan Black et al. “Die Stacking (3D) Architecture,” International Symposium on Microarchitecture ,2006 L2キャッシュミス率[%] 4MB L2 Core(s) (SRAM) + L1(s) ベースプロセッサ (2次元実装) LU 50 FMM 40 Ocean 30 削減量小 FFT 削減量大 20 Cholesky 10 Barnes 0 WaterSpatial Raytrace 2 4 8 16 32 64 L2キャッシュ容量[MB] 128 4 DRAMスタック法の問題点 プログラムによっては性能が低下する! AMAT HT L1 MRL1 ( HT L2 MRL2 MMAT) DRAMスタック 法の効果 (?) 4MB L2 Core(s) (SRAM) + L1(s) ベースプロセッサ (2次元実装) 性能向上率 3.0 2.5 DRAMスタック法(3次元実装) 64MB L2 (DRAM) Ocean 2.0 性能向上 1.5 性能低下 1.0 0.5 4MB Tag Core(s) (SRAM) + L1(s) 0 100 Cholesky 80 60 40 20 150 0 200 L2キャッシュミス率の削減率 [points] 100 50 0 L2キャッシュ アクセス時間の増加 5 [cc] 5 SRAM/DRAM ハイブリッド・キャッシュ[2] • 異なる2種類の動作モードをプログラムのメモリ参照 の特性に応じてプログラム間/内に切り替える 未使用 L2 Cache (DRAM) L2 Core(s) Cache (SRAM) + L1(s) SRAMキャッシュモード (高速・小容量L2キャッシュ) L2 Core(s) Tag + L1(s) (SRAM) 切り替え DRAMキャッシュモード (低速・大容量L2キャッシュ) DRAM SRAM Core(s) + L1(s) 6 [2] 橋口慎哉, 小野貴継, 井上弘士, 村上和彰, “3次元DRAM-プロセッサ積層実装を対象としたオンチッ プ・メモリ・アーキテクチャの提案と評価,” 情報処理学会研究報告, Vol.2009-ARC-183, No.8, 2009年4月. 前回評価時における限界点 性能向上比 2D-BASE 3D-CONV 3D-HYBRID-STATIC 3D-HYBRID-DYNAMIC 静的制御方式で平均35% 動的制御方式で平均43% の性能向上を達成 4 3.5 3 2.5 2 1.5 1 0.5 0 ベンチマークプログラム ただし・・・ • 適切な動作モード(※)は既知 ※より高い性能を実現 できる動作モード • 実行時に動作モードを切り替える場合に発生する動作モード 7 切り替えオーバーヘッド(フラッシュ)の影響は未考慮 研究のねらい • 研究目的 – SRAM/DRAMハイブリッド・キャッシュの動作 モード決定法の提案 – 動作モード切り替えオーバヘッドを考慮した 性能評価 動作モード 切り替え 動作モード決定 プログラム実行開始時のみ (静的) プログラム実行中 (動的) プログラム実行前 (静的) ×適切な動作モードが入力に 依存する場合、対応不可 ×適切な動作モードが入力に 依存する場合、対応不可 プログラム実行中 (動的) 適切な動作モードは入力に 大きく依存するため、 「動的決定・動的切り替え」 を選択 ○入力に依存せず動作モード の選択可能 8 プログラム実行中の適した動作モードの変化 200 150 100 50 0 mcf 区間 DRAMキャッシュモード 40 30 20 10 0 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 250 SRAMキャッシュモード 平均L1ミスペナルティ[cc] DRAMキャッシュモード 1 59 117 175 233 291 349 407 465 523 581 639 697 755 813 871 平均L1ミスペナルティ[cc] SRAMキャッシュモード twolf 区間 ※区間=プログラムの実行を一定回数のL2キャッシュアクセスで分割した単位 ある実行区間とその次の区間の適した動作モードが同じである確率 mcf → 95.9% twolf → 100% 現在実行中の区間において高性能な動作モード は次の区間においても同じであると考える 9 動作モード切り替え例 動作モード切り替え (DRAMキャッシュモード →SRAMキャッシュモード) 動作モード判定開始 区間 ナンバー 実行 動作モード S 動作モード切り替え (SRAMキャッシュモード →DRAMキャッシュモード) S N-1 N S S N+1 N+2 S S N+3 D D 動作モード判定開始 M-1 M M+1 D D D プログラム の実行 SRAMキャッシュ SRAMキャッシュ DRAMキャッシュ モードが高性能 モードが高性能 モードが高性能 ウォームアップ区間 (動作モード決定・切り替え、) 動作モード 決定区間 ウォームアップ区間 L2 Cache (DRAM) 未使用 L2 Core(s) Cache (SRAM) + L1(s) SRAMキャッシュモード S:SRAMキャッシュ・モード D:DRAMキャッシュ・モード L2 Core(s) Tag + L1(s) (SRAM) DRAMキャッシュモード 10 動作モード決定のための判定式 動作モードを 決定したい区間 現在実行中の区間 区間 1 2 N-1 N N+1 プログラム の実行 以下の判定式を基に実行中の区間における適切な 動作モードを求め、それを次区間の動作モードに設定 if HT L 2 _ DRAM HT L 2 _ SRAM MRL 2 _ SRAM MRL 2 _ DRAM MMAT then :DRAMキャッシュモード else :SRAMキャッシュモード MRL2 _ SRAM/ MRL2 _ DRAM :SRAM/DRAMキャッシュのミスの割合 HT L2 _ SRAM, HT L2 _ DRAM, MMAT:SRAM/DRAMキャッシュ、主記憶のアクセス時間[cc] 11 L2キャッシュミス率推定の必要性 if HT L 2 _ DRAM HT L 2 _ SRAM MRL 2 _ SRAM MRL 2 _ DRAM MMAT then :DRAMキャッシュモード else :SRAMキャッシュモード HT L2 _ SRAM, HT L2 _ DRAM, MMAT ハードウェア特性にのみ依存するため、既知と仮定 MRL2 _ SRAM/ MRL2 _ DRAM プログラム特性に依存するため、実行中にのみ得ることが可能 • 実行中の動作モードにおけるミス率 →プログラム実行中に観測することは容易 • 実行中ではない動作モードにおけるミス率 →何らかの方法により推測する必要 12 DRAMキャッシュモード時の ミス率推測法 (L2キャッシュがSRAMキャッシュと仮定したときのミス率を推測) • 本モード時は下層SRAMのタグメモリは使用しない →DRAMキャッシュ用タグとは別に推測用にSRAMキャッシュ モードを想定してタグを格納し、ヒット/ミス情報を取得 – MRL 2 _ SRAM を完全に知ることが可能 未使用 L2 Tag 未使用 L2 Core(s) Data + L1(s) SRAMキャッシュモード L2 Data SRAMキャッシュ用 タグ記憶・比較 L2 Core(s) Tag + L1(s) DRAMキャッシュモード 13 SRAMキャッシュモード時の ミス率推測法 (L2キャッシュがDRAMキャッシュと仮定したときのミス率を推測) • DRAMキャッシュに格納可能なライン数分のタグ情報 を保持するメモリを搭載 →極めて大きな面積オーバヘッド e.g. 32MB, 64B-LineSize・・・2.5MB-TagRAM • いくつかのセットに対応する、少数のタグ情報のみ保 持し、面積オーバヘッドを緩和 ※実現のためのハードウェア・サポートは検討中 14 評価実験~評価環境~ • 評価法:事前実行でトレースを取得し、メモリ性能値を算出 – プロセッサシミュレータ:M5 – ベンチマークプログラム:SPEC CPU 2000、Splash2から選択 • 評価モデル – DRAM-STACK : DRAMスタック法 – D-HYBRID-IDEAL : 適した動作モードが既知であり、動作モード 切り替えオーバーヘッドはゼロの動的ハイブリッド・キャッシュ – D-HYBRID : 提案する動的ハイブリッド・キャッシュ • 1区間の長さ:L2キャッシュアクセス5M回 • 性能オーバヘッド見積もり:動作モード切り替え後、切り替え先の キャッシュのライン数分のアクセスはミスすると仮定 動作周波数:3GHz コア オンチップ SRAM$ モード L1 キャッシュ 容量:32KB アクセス時間:2cycles 容量:2MB アクセス時間:6cycles L2 キャッシュ アクセス時間:181cycles 主記憶 容量:32MB DRAM-STACK、 DRAM$モード アクセス時間:28cycles 15 動作モード予測精度[%] 適切な動作モードの予測精度 100 90 80 70 60 50 40 30 20 10 0 ベンチマークプログラム 16 100 90 80 70 60 50 40 30 20 10 0 SRAMキャッシュモード 平均L1ミスペナルティ[cc] 動作モード予測精度[%] 適切な動作モードの予測精度 DRAMキャッシュモード 100 80 60 40 20 0 1 4 7 1013161922252831343740434649525558616467 区間 ベンチマークプログラム 頻繁に適した動作モードが入れ替わる 17 適切な動作モードの予測精度 100 90 80 70 60 50 40 30 20 10 0 DRAMキャッシュモード 50 平均L1ミスペナルティ[cc] 動作モード予測精度[%] SRAMキャッシュモード 40 30 20 10 0 1 2 区間 ベンチマークプログラム 区間数が少なく、1度予測が外れた時の影響が大きい 18 性能評価結果 メモリ性能向上比 DRAM-STACK 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 D-HYBRID-IDEAL 3.01 D-HYBRID 3.01 ベンチマークプログラム 19 性能評価結果 メモリ性能向上比 DRAM-STACK 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 D-HYBRID-IDEAL 3.01 D-HYBRID 3.01 ベンチマークプログラム D-HYBRID-IDEALはDRAM-STACKに対して最大3.01倍、平均1.21倍の性能向上 ↑プログラム実行中のメモリ参照の変化に追従できるため 20 性能評価結果 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 D-HYBRID-IDEAL 3.01 D-HYBRID SRAMキャッシュモード 3.01 平均L1ミスペナルティ[cc] メモリ性能向上比 DRAM-STACK DRAMキャッシュモード 120 100 80 60 40 20 0 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 55 mgrid 区間 ベンチマークプログラム プログラム実行中(ほぼ)全ての区間でDRAMキャッシュモードが高性能 21 性能評価結果 DRAM-STACK 2 DRAMキャッシュモード 1.8 1.6 1.4 1.2 1 0.8 1 5 0.6 9 13 17 21 25 29 33 37 41 45 49 53 57 61 区間 twolf 0.4 0.2 0 35 30 25 20 15 10 5 0 3.01 D-HYBRID 3.01 メモリ性能向上比 平均L1ミスペナルティ[cc] SRAMキャッシュモード D-HYBRID-IDEAL ベンチマークプログラム プログラム実行中(ほぼ)全ての区間でSRAMキャッシュモードが高性能 22 性能評価結果 2 SRAMキャッシュモード 1.8 180 1.6 160 140 1.4 120 1.2 100 801 60 0.8 40 0.6 20 0.4 0 0.2 0mcf D-HYBRID-IDEAL D-HYBRID 3.01 3.01 DRAMキャッシュモード 1 12 23 34 45 56 67 78 89 100 111 122 133 144 155 166 177 平均L1ミスペナルティ[cc] メモリ性能向上比 DRAM-STACK 区間 切り替え回数:11 ベンチマークプログラム 適した動作モードが比較的変化する傾向にあり、 動作モード切り替えオーバーヘッドが大きい 23 性能評価結果 DRAM-STACK 1.8 1.6 150 1.4 1.2 100 1 50 0.8 0.6 0 0.4 0.2 Ocean 0 DRAMキャッシュモード 3.01 200 D-HYBRID 3.01 100 1メモリ性能向上比 8 15 22 29 36 43 50 57 64 71 78 85 92 99 平均L1ミスペナルティ[cc] 2 SRAMキャッシュモード D-HYBRID-IDEAL 区間(1区間の長さ:100K) 80 60 40 20 0 1 2 3 区間(1区間の長さ:5M) ベンチマークプログラム 理想的には大きく性能が向上するが、1区間が長いと メモリ参照の変化に対して追従できない 24 性能評価結果 メモリ性能向上比 DRAM-STACK 2 1.8 1.6 1.4 1.2 1 0.8 0.6 0.4 0.2 0 D-HYBRID-IDEAL 3.01 D-HYBRID 3.01 ベンチマークプログラム •D-HYBRIDはD-HYBRID-IDEALと比較してほぼ同じ性能 •平均して約17%の性能向上を達成! 25 まとめと今後の課題 • まとめ – SRAM/DRAMハイブリッド・キャッシュ・アーキテクチャ における動的動作モード決定法を提案 • 現在実行中の区間における適切な動作モードを次区間の動作 モードとする – 評価実験で最大3.01倍、平均1.17倍の性能向上を確認 • 高い精度で次区間の適した動作モードを選択でき、また動作 モード切り替え回数が少ないため • 今後の課題 – 消費エネルギーの評価 – プログラム実行前の動作モード決定法の考案 26 ご清聴ありがとうございます 27 back slides 28 Q&A • マルチコアの場合、この手法でいけるのか? →今のままではだめだと感じていて、別の方法も考える必要がある • コンテキストスイッチのように複数のプログラムが切り替わっている場合 はほとんど切り替わらない? →そのような状況も考えられる.今後の課題とします • 1区間の長さはどれくらい?(確認) →5M回で、比較的長くいです.これは,長さを変えて評価した結果です. • 切り替えオーバーヘッド見積もりはそれでよいのか? →ワーストケースであり、適当とは言えません.詳細に評価する必要がありま す. • DRAMキャッシュのサイズを変えた場合はうまみがなくなる?ほとんど DRAMキャッシュが高性能? →まだやれておらず,今後行う予定です. • ラインサイズ変える等して下のSRAMの半分をタグRAMとして使い、上の DRAMをL3として使えるのでは? →うまく答えられず 29 キャッシュ容量とキャッシュミス率の関係 60 LU L2キャッシュミス率[%] 50 FMM FFT 40 30 20 10 大きく低 下する Ocean あまり低下 しない Cholesky Barnes Raytrace WaterSpatial 0 2 4 8 16 32 L2キャッシュ容量 64 128 30 プログラム実行中の 適したキャッシュ容量の変化 Ocean 2MB(12cc) 32MB(60cc) 300 250 200 150 100 50 0 1 6 11 16 21 26 31 36 41 46 51 56 61 66 71 76 81 86 91 96 101 L1ミスペナルティ[cc] 350 適したキャッシュ容量:大 区間 (300cc) 適したキャッシュ容量:小 L1ミスペナルティ=HTL2+MRL2×MMAT 31 高性能動作モードの入力依存性 DRAMキャッシュモード Cholesky FFT LU Barnes FMM ベンチマークプログラムとその入力 Ocean 4K 512 n514 n258 n130 64K 16K 8K 64K 32K 8K n2048 n1024 m24 m22 m18 tk29.O tk23.O 10 9 8 7 6 5 4 3 2 1 0 tk17.O AMAT[cc] SRAMキャッシュモード WaterS (2MBのSRAMキャッシュと32MBのDRAMキャッシュを想定) 入力により適した動作モードは異なる! 32 1区間の長さについて • 1区間を長く設定すると・・・ – 高性能な動作モードが切り替わる頻度は低下する →切り替えオーバーヘッド小 トレードオフ – メモリ参照の振る舞いに変化に対する追従性が低 下する →適切な動作モードで実行する時間の低下 1区間の長さは適切に設定する必要がある 33 SRAMキャッシュモード時のL2ミス率予測法 • DRAMキャッシュ用タグを、セットサンプリングす ることで少量だけ保持するSSTを導入 • 対象セットに対するアクセス時のみアクセス数等 カウント 0 1 2 0 1 2 3 4 SST:Set Sampled TagRAM (セットサンプリングされたタグRAM) ↑容量C/4[B] 8 容量C[B]→ 仮定: 連想度同一 1/4にセットサンプリング 本来必要なDRAMキャッシュ 34 用タグRAM(SRAM) ハードウェア・アーキテクチャ タグ インデックス オフセット 2bit 実際はサポートしない ハードウェア フィルタ アクセス もしインデックス下位2ビットが0なら 下位2ビットを除くインデックスを出力 0でないなら出力なし DRAMキャッシュのミス率 SSTでのヒット数 = SSTへのアクセス数 00 01 10 0000 0001 0010 0011 0100 SST 1000 本来必要なDRAMキャッシュ 用タグRAM(SRAM) 35 1区間の長さと性能の関係(1/3) 18 17 AMAT[cc] 16 15 14 DRAM-STACK 13 D-HYBRID-IDEAL 12 D-HYBRID 11 10 100K 200K 500K 1M 2M 5M 1区間の長さ(L2キャッシュアクセス数) 10M mcf 切り替え回数増加によりキャッシュミス率増加 →1区間が短いほどD-HYBRIDは性能低下の傾向 メモリ参照の変化に対する追従性の向上 追従性の向上と切り替えオーバーヘッド増加のトレードオフ →1区間が短いほどD-HYBRID-IDEALは高性能 mcfでは比較的区間が長い方が高性能(最適点は5M) 36 AMAT[cc] 1区間の長さと性能の関係(2/3) 3.5 3.3 3.1 2.9 2.7 2.5 2.3 2.1 1.9 1.7 1.5 DRAM-STACK D-HYBRID-IDEAL D-HYBRID 100K 200K 500K 1M 2M 5M 1区間の長さ(L2キャッシュアクセス数) 10M bzip2 追従性の影響が小さく、切り替えオーバーヘッドの影響が大きい mcfの場合と同様の理由でD-HYBRID-IDEALはmcfと →D-HYBRIDは1区間が長いほど高性能 同様の傾向 bzip2では比較的区間が長い方が高性能(最適点は10M) 37 AMAT[cc] 1区間の長さと性能の関係(3/3) 5.1 5 4.9 4.8 4.7 4.6 4.5 4.4 4.3 4.2 4.1 DRAM-STACK D-HYBRID-IDEAL D-HYBRID 100K 200K 500K 1M 2M 5M 1区間の長さ(L2キャッシュアクセス数) 10M FFT プログラムの実行を通してほぼ全ての区間で適切な動作モードが同一 これら以外のプログラムに関しても、この3種類に分類ことが可能 →区間の長さによらずD-HYBRID-IDEAL →本評価では、D-HYBRIDにおける1区間の長さを5Mアクセスに設定 とD-HYBRIDともにほぼ同性能 38 Sensitivity Analysis 1.4 性能向上比 1.2 1 今回の評価ポイント 0.8 0.6 0.4 50 0.2 0 30 100 プログラム:FFT 150 HTDRAM[cc] 200 250 MMAT[cc] 300 350 10 400 HTDRAMが小さいほど、またMMATが小さいほど DRAMキャッシュモードが適する区間が増加 39 Sensitivity Analysis 性能向上比 2 1.5 今回の評価ポイント 1 0.5 50 0 30 100 150 プログラム:mcf MMAT[cc] 200 250 300 350 HTDRAM[cc] 10 400 HTDRAMが小さいほど、またMMATが小さいほど DRAMキャッシュモードが適する区間が増加 値が1より小さいのは切り替えオーバーヘッドのため 40 Sensitivity Analysis 1.4 1 プログラム: Ocean 0.8 0.6 0.4 0.2 0 10 20 30 HTDRAM[cc] 40 50 60 400 350 300 250 200 150 性能向上比 1.2 100 今回の評価ポイント MMAT[cc] 谷の形の部分があるのは、動作モード切り替え オーバーヘッドの影響が大きく見えているため その他の部分では切り替えが発生しない 41 動作モード切り替え回数 gzip wupwise swim mgrid applu art mcf ammp bzip2 twolf apsi Cholesky FFT LU Barnes FMM Ocean WaterSpatial 100K 21 153 511 1 1 0 165 329 254 0 0 8 0 1 8 24 13 10 200K 20 151 320 0 1 0 83 75 171 0 0 1 0 0 8 18 10 10 500K 9 87 94 0 0 0 48 41 104 0 0 1 0 0 7 10 3 2 1M 1 7 0 0 0 0 36 25 67 0 0 1 0 0 7 9 1 0 2M 0 1 0 0 0 0 25 22 40 0 0 1 0 0 7 1 1 0 5M 0 1 0 0 0 0 11 22 25 0 0 0 0 0 0 0 0 0 10M 0 0 0 0 0 0 9 22 5 0 0 0 0 0 0 0 0 0 42 適切な動作モードの選択確率 gzip wupwise swim mgrid applu art mcf ammp bzip2 twolf apsi Cholesky FFT LU Barnes FMM Ocean WaterSpatial 100K 200K 500K 0.989871 0.903194 0.806609 0.999645 0.998798 1 0.960453 0.943638 0.809102 1 1 0.716049 1 0.972973 0.968689 0.637681 0.728155 0.478261 0.986174 0.802554 0.739437 0.99929 0.998798 1 0.97342 0.97507 0.82565 1 1 0.928571 1 1 0.949219 0.692308 0.634615 0.314286 0.985531 0.673219 0.807848 1 1 1 0.964052 0.968581 0.781388 1 1 0.882353 1 1 0.902913 0.761905 0.761905 0.785714 1M 0.998392 0.941176 0.997297 1 1 1 0.954248 0.968581 0.740413 1 1 0.777778 1 1 0.807692 0.52381 0.818182 1 2M 1 0.990196 1 1 1 1 0.930283 0.950216 0.694118 1 1 0.6 1 1 0.615385 0.454545 0.833333 1 5M 1 0.97561 1 1 1 1 0.923913 0.881081 0.558824 1 1 0.5 1 1 1 1 1 1 10M 1 0.952381 1 0.965517 1 1 0.902174 0.698925 0.647059 1 1 1 1 1 1 1 43 実測ミス率と推測ミス率の誤差 平均推定ミス率誤差[points] 0.016 0.014 0.012 1/2 0.01 1/4 0.008 1/8 0.006 1/16 0.004 1/32 1/64 0.002 0 Cholesky LU FFT FMM ベンチマークプログラム ※DRAMキャッシュの容量:32MB 1区間の長さ:L2キャッシュアクセス1M回 WaterSpatial 44 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 1 27 53 79 105 131 157 183 209 235 261 287 313 339 365 391 417 443 469 495 平均L1ミスペナルティ 250 200 150 100 50 平均L1ミスペナルティ 80 70 60 50 40 30 20 10 0 平均L1ミスペナルティ SRAMキャッシュモード apsi SRAMキャッシュモード 0 1 10 19 28 37 46 55 64 73 82 91 100 109 118 127 136 145 154 163 1 48 95 142 189 236 283 330 377 424 471 518 565 612 659 706 753 800 847 894 平均L1ミスペナルティ L1ミスペナルティの変化(SPEC-1) ammp applu DRAMキャッシュモード SRAMキャッシュモード 区間 art DRAMキャッシュモード SRAMキャッシュモード DRAMキャッシュモード 200 150 100 50 0 区間 DRAMキャッシュモード 40 35 30 25 20 15 10 5 0 区間 区間 45 100 80 60 40 20 平均L1ミスペナルティ SRAMキャッシュモード 0 SRAMキャッシュモード 区間 DRAMキャッシュモード 200 150 100 50 0 区間 1 34 67 100 133 166 199 232 265 298 331 364 397 430 463 496 529 562 595 平均L1ミスペナルティ bzip2 DRAMキャッシュモード 1 16 31 46 61 76 91 106 121 136 151 166 181 196 211 226 241 256 271 250 平均L1ミスペナルティ 1 19 37 55 73 91 109 127 145 163 181 199 217 235 253 271 289 307 325 mcf 1 50 99 148 197 246 295 344 393 442 491 540 589 638 687 736 785 834 883 L1ミスペナルティ L1ミスペナルティの変化(SPEC-2) gzip SRAMキャッシュモード mgrid SRAMキャッシュモード DRAMキャッシュモード 200 150 100 50 0 区間 DRAMキャッシュモード 120 100 80 60 40 20 0 区間 46 1 12 23 34 45 56 67 78 89 100 111 122 133 144 155 166 177 188 199 平均L1ミスペナルティ 150 100 50 0 平均L1ミスペナルティ swim SRAMキャッシュモード wupwise DRAMキャッシュモード 200 区間 SRAMキャッシュモード 区間 1 17 33 49 65 81 97 113 129 145 161 177 193 209 225 241 257 273 289 305 1 21 41 61 81 101 121 141 161 181 201 221 241 261 281 301 321 341 361 平均L1ミスペナルティ L1ミスペナルティの変化(SPEC-3) twolf SRAMキャッシュモード DRAMキャッシュモード 35 30 25 20 15 10 5 0 区間 DRAMキャッシュモード 250 200 150 100 50 0 47 L1ミスペナルティの変化(Splash2-1) Cholesky FFT SRAMキャッシュモード 160 140 120 100 80 60 40 20 0 DRAMキャッシュモード 250 200 150 100 50 0 1 2 3 4 SRAMキャッシュモード 5 6 7 8 1 18 35 52 69 86 103 120 137 154 171 188 205 222 239 256 273 290 307 LU 9 Barnes 区間 DRAMキャッシュモード SRAMキャッシュモード 140 120 100 80 60 40 20 0 区間 DRAMキャッシュモード 100 平均L1ミスペナルティ 平均L1ミスペナルティ DRAMキャッシュモード 平均L1ミスペナルティ 平均L1ミスペナルティ SRAMキャッシュモード 80 60 40 20 0 1 2 3 4 5 区間 6 7 8 1 4 7 10 13 16 19 22 25 28 31 34 37 40 43 46 49 52 48 区間 L1ミスペナルティの変化(Splash2-2) FMM Ocean DRAMキャッシュモード 140 120 100 80 60 40 20 0 SRAMキャッシュモード 100 80 60 40 20 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 Raytrace SRAMキャッシュモード 区間 1 平均L1ミスペナルティ 30 20 10 0 区間 3 4 5 6 7 8 9 10 11 区間 SRAMキャッシュモード 50 40 2 WaterSpatial DRAMキャッシュモード 1 19 37 55 73 91 109 127 145 163 181 199 217 235 253 271 289 307 325 343 平均L1ミスペナルティ DRAMキャッシュモード 120 平均L1ミスペナルティ 平均L1ミスペナルティ SRAMキャッシュモード DRAMキャッシュモード 40 35 30 25 20 15 10 5 0 1 2 3 4 区間 5 6 7 49 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 FFT m18 m22 m24 1 2 4 8 16 32 64 L2キャッシュミス率 L2キャッシュミス率 プログラムの入力とキャッシュミス率 の関係 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Barnes 128 8192 32768 65536 1 2 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 FMM n1024 n2048 1 2 4 8 16 32 L2キャッシュサイズ[MB] 8 16 32 64 128 L2キャッシュサイズ[MB] 64 128 L2キャッシュミス率 L2キャッシュミス率 L2キャッシュサイズ[MB] 4 1 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 0 Ocean n130 n258 n514 1 2 4 8 16 32 L2キャッシュサイズ[MB] 64 128 50
© Copyright 2025 ExpyDoc