エントリの再利用性を考慮した共有キャッシュの動的分割手法

B4-4
エントリの再利用性を考慮した共有キャッシュの動的分割手法
進藤 智司*(名古屋工業大学),濵西 夏生(電気通信大学),津邑 公暁(名古屋工業大学)
Dynamic Cache Partitioning based on Entry Reusability
Satoshi Shindo (Nagoya Inst. of Tech.), Natsuki Hamanishi (UEC), Tomoaki Tsumura (Nagoya Inst. of Tech.)
1.
はじめに
これまで,ゲート遅延に対する配線遅延の相対的な増大によ
り,配線遅延を隠蔽するキャッシュメモリの重要性が高まって
きた.また,消費電力削減と高性能化を実現するためにマルチ
コアプロセッサが広く普及している.このようなマルチコアプ
ロセッサでは,複数のコアがキャッシュの一部を共有する場合
が多く,あるコアで動作しているプロセスによって確保された
キャッシュエントリが,他のコアで動作しているプロセスに追
い出される干渉という問題が発生する.本稿では,共有キャッ
シュ領域を分割し,各コアに占有領域を割り当てることで干渉
による性能低下を抑制する手法を提案する.
Fig.1
2.
Cache Hit Rate
RWP
キャッシュ領域を分割することでキャッシュメモリの性能向
上を図る手法の
1
つである
RWP(Read Write Partitioning)
(1)
で
は,キャッシュエントリの再利用性を考慮してキャッシュ領域
を分割する.具体的には,セットアソシアティブキャッシュに
おいて各セットを,読み出しアクセスによってのみ再参照され
るデータが配置される
Clean
領域と,読み出しと書き込みアク
セスの両方よって再参照されるデータが配置される
シュをセット方向へ分割し,各コアに占有領域を与えることで,
キャッシュ性能の向上を図る.さらに,各プロセスの必要量に応
じ,各占有領域のサイズを動的に調整することで,更なるキャッ
シュ性能の向上を図る.
4.
提案手法の実装
領域
提案手法を実現するために,コア毎の読み出しアクセスのミ
つの領域のサイズを動的に変
ス回数を記憶するハードウェアと,各セットが含まれている占
化させることで,キャッシュメモリに対する読み出しアクセス
有領域がどのコアに保持されているかを記憶するハードウェア
のミスが発生する回数を抑制している.これを実現するために,
を新たに追加する.さらに実装する環境のコア数と同数の
の
2
つの領域に分割し,これら
RWP
2
Dirty
ではキャッシュヒットした際に,各セット内のエントリに
Hit Counter
Age
を用意する.これらに必要なハードウェアコストは
対する読み出しアクセスの成功回数を追加ハードウェアである
約 6.7KBytes であり,既存の共有キャッシュサイズ 4MBytes と
カウンタ(Age
比較しても,非常に小さい増加量で実現可能である.
Hit Counter)に記憶する.そして,キャッシュ
ミスした際にこのカウンタの値に基づいて,最も読み出しアク
セスの成功回数が多くなるような Clean/Dirty 領域の内訳を予測
5.
評価
提案手法をシミュレータ上に実装し,汎用ベンチマークプ
し,それに近づくようにキャッシュエントリを管理する.
ログラムである
3.
RWP
RWP
の問題点とその解決手法
SPEC CPU2006
を用いて評価した.L3 キャッ
シュを共有した構成で,250M 命令のスキップ後 250M 命令を実
では,マルチコア環境において重大な問題である干渉
行した場合の共有キャッシュに対する読み出しアクセスのヒッ
によるキャッシュの性能低下を回避できない.また,RWP では
ト率を,(L) 追い出しアルゴリズムとして
複数の異なるプロセスが動作している場合も,1 つの
合,(R) RWP を用いた場合,(O) 提案手法を用いた場合で比較し
Counter
の値に基づいて一意に決定した
Clean/Dirty
Age Hit
領域の内訳
た結果を
Fig.1
LRU
に示す.評価の結果,既存の
のみを用いた場
RWP
と比較して,
に近づくようにキャッシュエントリを管理する.このためプロ
共有キャッシュに対するキャッシュヒット率を最大 46 %,平均
セス毎の特徴を考慮した Clean/Dirty 領域の分割を行うことがで
29
%向上できることを確認した.
きない.1 つ目の干渉による性能低下は,各コアに占有領域を
文 献
与えることで解決でき,それに伴い占有領域毎に Clean/Dirty 領
域の内訳サイズを設定することも可能となるため,2 つ目の問
題も同時に解決できると考えられる.そこで本稿では,キャッ
(1) Khan, S., et.al.: Improving Cache Performance by Exploiting ReadWrite Disparity, Proc. 20th Int'l Symp. on High-Performance Computer
Architecture (HPCA), pp.452–463 (2014).
平成27年度 電気・電子・情報関係学会東海支部連合大会(2014年9月28日429日 於名古屋工業大学)