240 likes | 357 Views
マルチコアプロセッサのコアごとのアクセス局所性を利用した 共有キャッシュの消費電力削減. 電気通信大学大学院 電気通信学研究科 情報工学専攻 阿部研究室 0931026 佐藤 公紀. 発表の流れ. 研究の目的 関連研究 提案手法 ベンチマークを用いたシミュレーション実験 提案手法の改良 今後の課題. はじめに. キャッシュメモリのチップ内の消費電力を占める割合が大きくなっている チップマルチプロセッサのキャッシュはチップ・メモリ間のボトルネック解消のため、大容量・多層化する傾向にある 低い層のキャッシュには共有方式を用いたキャッシュが用いられる. 研究の目的.
E N D
マルチコアプロセッサのコアごとのアクセス局所性を利用した共有キャッシュの消費電力削減マルチコアプロセッサのコアごとのアクセス局所性を利用した共有キャッシュの消費電力削減 電気通信大学大学院 電気通信学研究科 情報工学専攻 阿部研究室 0931026 佐藤 公紀
発表の流れ • 研究の目的 • 関連研究 • 提案手法 • ベンチマークを用いたシミュレーション実験 • 提案手法の改良 • 今後の課題
はじめに • キャッシュメモリのチップ内の消費電力を占める割合が大きくなっている • チップマルチプロセッサのキャッシュはチップ・メモリ間のボトルネック解消のため、大容量・多層化する傾向にある • 低い層のキャッシュには共有方式を用いたキャッシュが用いられる
研究の目的 • 共有方式のキャッシュでは複数のプログラムの使用するデータが混在している • 時間的局所性・空間的局所性が非共有方式のキャッシュに比べ薄くなると考えられる • チップマルチプロセッサの共有キャッシュの特徴を捕えた消費電力削減が必要となる
関連研究 • ヒストリ・ベース・タグ比較キャッシュ[3] • 過去のタグ比較結果を再利用して参照データが存在するラインのみを活性化する • CMPの共有L2キャッシュに着目し、スケジューリング手法の拡張によりL2キャッシュミスを削減し、消費電力を削減する方法もある[4]
連想キャッシュにおけるタグ比較 Core1 Core2 Core3 Core4 • 連想キャッシュでは複数のタグを同時比較することで、処理速度を上げている • 実際に使用するデータは一つであり、それ以外のラインに対するタグ比較は無駄である L1 L1 L1 L1 タグ データアレイ ミス ミス ミス ミス ミス ミス ミス ヒット データ転送
提案手法(1) • 共有キャッシュ内には複数のスレッドの使用するデータが混在している • 複数プログラムを同時実行する場合、プログラム毎のデータの独立性が存在するはずである • 各コアごとで使用するデータのキャッシュ内での局所性(コア局所性)を利用し、消費電力を削減する手法を考える
提案手法(2) • 各ラインごとに最後にそのラインにアクセスしたコアの番号をLast Access Core(LAC)情報として保存する • コアからデータの要求が来たとき、各ラインのLAC を見比べそのコアが前回アクセスしたラインのタグ比較のみを先に行う • ヒットした場合は該当ラインのデータ読み出しを行う • ミスした場合は残りのタグに対して比較を行う
提案手法の動作例(1) Core1 Core2 Core3 Core4 L1 L1 L1 L1 L2Shared Cache ライン LAC タグ データアレイ タグ比較 0 1 ミス 1 3 2 2 タグ比較 3 1 ミス 4 2 5 4 6 2 タグ比較 データ転送 7 1 ヒット
提案手法の動作例(2) Core1 Core2 Core3 Core4 L1 L1 L1 L1 L2Shared Cache ライン LAC タグ データアレイ タグ比較 0 1 ミス 1 3 2 2 タグ比較 3 1 ミス 4 2 5 4 6 2 タグ比較 7 1 ミス
提案手法の動作例(3) Core1 Core2 Core3 Core4 L1 L1 L1 L1 L2Shared Cache ライン LAC タグ データアレイ 0 1 ミス 1 3 ミス 2 2 ミス 3 1 ミス 4 2 ミス データ転送 LAC情報の 書き換え 5 41 ヒット 6 2 ミス 7 1 ミス
シミュレーション実験 • 実験の目的 • 本手法が電力削減に有効であるためには、コア局所性がどの程度存在するのかを調べる必要がある • 削減される電力割合を見積もるには、比較するタグ数をどの程度削減できるのかを測定する必要がある • ベンチマークプログラムを用いて、コア局所性により比較するタグ数がどの程度削減されるかを調べる
実験条件 マルチプロセッサシュミレータM5[5]
測定対象とする変数 コア局所性を表す変数 比較タグ削減割合を表す変数
実験結果(1) コア数4, 連想度8, L1キャッシュ容量32kB,L2キャッシュ容量256kB
結果(1)のまとめと考察 • コア局所性と比較タグ数を合わせて考えるなら、40%のアクセスに対し60%のタグ比較数削減ができる • L2キャッシュヒット時のタグ比較にかかる動的消費電力を最大25%削減できる • コア局所性が高く、agreeの値が低いFFTなら最大35%の削減が可能
提案手法の改良(1) • マルチコア環境用に作られたベンチマークでもコアごとにある程度の局所性が存在することが分かった(FFT、WaterSpatial) • LUContigやWateNSquaredのように、局所性があまり見いだせないプログラムも存在する • 提案手法の効果が上手く発揮されない
提案手法の改良(2) • corenの値が低い • プログラムの各コア間でのデータの共有や受け渡しがスムーズである • LAC情報が一つでは不足している可能性がある • LAC情報を前々回のアクセス情報(Before Last Access Core:BLAC)まで保存した場合に、どのような結果が得られるのかを調べた • 変数coren2、agreen2、 agree2を同様に定義
提案手法の動作例(4) Core1 Core2 Core3 Core4 L1 L1 L1 L1 L2Shared Cache BLAC タグ データアレイ ライン LAC タグ比較 2 ミス 0 1 1 1 3 1 2 2 タグ比較 4 ミス 3 1 3 4 2 3 5 4 1 6 2 タグ比較 4 ミス 7 1
提案手法の動作例(5) Core1 Core2 Core3 Core4 L1 L1 L1 L1 L2Shared Cache BLAC タグ データアレイ ライン LAC 2 ミス 0 1 1 ミス 1 3 1 2 ヒット 2 2 1 4 ミス 3 1 3 4 2 3 5 4 1 ミス 6 2 4 ミス 7 1
実験結果(2) コア数4, 連想度64, L1キャッシュ容量32kB,L2キャッシュ容量256kB
結果(2)のまとめと考察 • Averageの値を実験結果(1)と同様に考えるなら65%のアクセスに対して55%のタグ比較数の削減 • L2キャッシュヒット時にタグ比較にかかる動的消費電力を最大約37%程度削減できる • LUContigやWaterNSquaredは前々回情報での一致率の方が高い • 初めから前々回情報を見る事で、速度と消費電力のバランスの良いアクセスが可能ではないか
おわりに(1) • CMPの共有キャッシュ内におけるコアごとのデータの局所性を利用したタグ比較数の削減による省電力化手法を提案 • シミュレーション実験により、L2キャッシュヒット時のタグ比較数にかかる動的消費電力を、平均して最大約25%削減できることが分かった • 前々回情報まで保存する場合、平均して最大約37%削減できることが分かった • その他の実験から、本手法はL1キャッシュに対するL2キャッシュの容量が大きく、連想度が高い場合により効果的
今後の課題 • L2キャッシュヒット率を考慮に入れた実験 • LAC情報を保存または参照するのにかかる動的および静的消費電力の見積もり • 実行速度を考慮にいれた評価実験 • 複数のプログラムを同時実行した場合の評価実験