チップマルチプロセッサにおけるデータ・プリフェッチ効果の分析
This presentation is the property of its rightful owner.
Sponsored Links
1 / 27

チップマルチプロセッサにおけるデータ・プリフェッチ効果の分析 PowerPoint PPT Presentation


  • 84 Views
  • Uploaded on
  • Presentation posted in: General

チップマルチプロセッサにおけるデータ・プリフェッチ効果の分析. ○ 福本尚人,三原智伸 九州大学 大学院システム情報科学府 情報理学専攻 井上弘士,村上和彰 九州大学 大学院システム情報科学研究院 情報理学部門. 発表手順. 研究の背景・目的 効果に基づくプリフェッチの分類法 マルチプロセッサ チップマルチプロセッサ 性能モデル式による定性的評価 定量的評価 まとめ. 研究の背景. CMP (Chip MultiProcessor ) の登場 1 つの チップに複数の プロセッサコアを搭載 並列処理により性能向上

Download Presentation

チップマルチプロセッサにおけるデータ・プリフェッチ効果の分析

An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


4331584

チップマルチプロセッサにおけるデータ・プリフェッチ効果の分析

○ 福本尚人,三原智伸

九州大学 大学院システム情報科学府

情報理学専攻

井上弘士,村上和彰

九州大学 大学院システム情報科学研究院

情報理学部門


4331584

発表手順

  • 研究の背景・目的

  • 効果に基づくプリフェッチの分類法

    • マルチプロセッサ

    • チップマルチプロセッサ

  • 性能モデル式による定性的評価

  • 定量的評価

  • まとめ


4331584

研究の背景

  • CMP (Chip MultiProcessor)の登場

    • 1つのチップに複数のプロセッサコアを搭載

    • 並列処理により性能向上

    • 例 POWER5, Core2 Duo…

  • CMPの高性能化阻害要因

    • メモリウォール問題の深刻化

      • 主記憶へのアクセス頻度の増加

      • コアあたりのメモリバンド幅の減少

              データ・プリフェッチにより、

           平均メモリアクセス時間を削減

コア

コア

CMP

L1 $

L1 $

L2$

チップ


4331584

研究の背景・目的

  • 研究の背景

    • 従来のプリフェッチ手法はシングルコアプロセッサ前提

    • CMPでも高い性能向上を発揮できるか分からない

    • メモリ性能をさらに向上させるためにはCMPの特性を考慮したプリフェッチ手法が必要では?

  • 研究目的

    • CMPにおけるプリフェッチ効果の分析


4331584

発表手順

  • 研究の背景・目的

  • 効果に基づくプリフェッチの分類法

    • マルチプロセッサ

    • チップマルチプロセッサ

  • 性能モデル式による定性的評価

  • 定量的評価

  • まとめ


4331584

効果に基づくプリフェッチの分類法(1/2)

  • プリフェッチ処理においてアクセス対象となるデータ(プリフェッチ・データ)に着目

  • プリフェッチ・データの状態を定義

    • 初期状態:プリフェッチ・データがキャッシュに読込まれた直後の状態

    • 状態はメモリ性能へ影響を与えるイベントにより遷移

    • 最終状態:プリフェッチ・データがキャッシュから追出されるときの状態


4331584

効果に基づくプリフェッチの分類法(2/2)

  • メモリ性能へ影響を与えるイベント

    • プリフェッチ・データの参照

      • メモリアクセス時間の削減

    • プリフェッチ・データによってキャッシュから追出されたデータへの参照

      • キャッシュミスの増加

    • プリフェッチにより共有状態になったデータへの書込み

      • プリフェッチ・データの無効化

      • 無効化要求の増加

  • 状態名

    • Useful:1が発生した状態

    • Conflict:2が発生した状態

    • Harmful:3が発生した状態

コア1

コア2

L1$

L1$

A

A

L2$

L2$

3の例

コア2:prefetch A

データが共有状態へ

コア1:Store A

コア2のデータが無効化

主記憶


4331584

シングルプロセッサにおけるプリフェッチ・データの状態遷移

Useless

プリフェッチ・データの参照

  • Useless:プリフェッチ・データが参照されていない状態

  • Useful:プリフェッチ・データが参照された状態

  • Conflict:プリフェッチにより追い出されたデータへの参照があった状態

Useful

追い出されたデータの参照

Useless/Conflict

プリフェッチ・データの参照

Useful/Conflict


4331584

マルチプロセッサにおけるプリフェッチ・データの状態遷移*

  • Useless:プリフェッチ・データが参照されていない状態

  • Useful:プリフェッチ・データが参照された状態

  • Conflict:プリフェッチにより追い出されたデータへの参照があった状態

  • Harmful:プリフェッチによる無効化要求が発生した状態

Useless

プリフェッチにより

共有状態になったデータへの書きこみ

プリフェッチ・データの参照

Useful

Harmful

追い出されたデータの参照

Useless/Conflict

追い出されたデータの参照

プリフェッチ・データの参照

Harmful/Conflict

Useful/Conflict

プリフェッチにより

共有状態になったデータへの書きこみ

* Jerger, N., Hill, E., and Lipasti, M., ``Friendly Fire: Understanding the Effects of Multiprocessor Prefetching‘’ In Proceedings of the IEEE InternationalSymposium on Performance Analysis of Systems and Software (ISPASS), 2006.


4331584

マルチプロセッサとCMPの違い

マルチプロセッサ

  • マルチプロセッサ

    • プロセッサ間の通信の際、オフチップをまたぐ必要あり

      • プロセッサ間の通信が遅い

  • CMP

    • プロセッサコア間の通信の際、オフチップをまたぐ必要なし

      • プロセッサコア間の通信が高速

      • あるコアがプリフェッチしたデータを周りのコアが高速にアクセス可能

コア

コア

コア

コア

L1$

L1$

L1 $

L1 $

L2$

L2$

チップ

L2$

CMP


4331584

CMPにおいて新たに増えるイベント

  • プリフェッチ・データの他コアからの参照

    • 下位メモリ階層よりプリフェッチしたデータを他コアが参照

    • そのデータを参照したコアのメモリアクセス時間を削減

  • このイベントが発生した後の状態名:Remote

コア1

コア2

L1 $

L1 $

L2$

A

A

コア1:prefetch A

コア2:Load A

A

主記憶

A


4331584

Useless

Harmful

Useful

Useless/Remote

Useless/Conflict

Useful/Conflict

Harmful/Conflict

Useless/Conflict

/Remote

CMPにおけるプリフェッチ・データの状態遷移

他のコアからの参照

プリフェッチ・データの参照

追い出されたデータへの参照

他のコアからの参照

プリフェッチ・データの参照


4331584

Useful

Useless/Remote

Useful/Conflict

Useless/Conflict

/Remote

CMPにおけるプリフェッチ・データの状態遷移

Useless

Harmful

Useless/Conflict

プリフェッチにより

キャッシュミス増加

Harmful/Conflict


4331584

Useful

Useless/Remote

Useful/Conflict

Useless/Conflict

/Remote

CMPにおけるプリフェッチ・データの状態遷移

プリフェッチによる無効化要求の増加

プリフェッチ・データが参照される

プリフェッチ・データが他のコアに参照される

Useless

Harmful

Useless/Conflict

プリフェッチ・データが参照されない

Harmful/Conflict


4331584

発表手順

  • 研究の背景・目的

  • 効果に基づくプリフェッチの分類法

    • マルチプロセッサ

    • チップマルチプロセッサ

  • 性能モデル式による定性的評価

  • 定量的評価

  • まとめ


4331584

性能モデル式(1/2)

あるスレッドの実行クロックサイクル

:実行クロックサイクル数

:演算実行に要するクロックサイクル数

:メモリアクセスに要するクロックサイクル数

:オーバーラップ実行したクロックサイクル数


4331584

性能モデル式(2/2)

コア

コア

L1 $

L1 $

:メモリアクセス回数

:L1(L2)キャッシュアクセス時間

L2$

:L1(L2)キャッシュミス率

:周りのコアのL1キャッシュに対するミス率

:L1-L2間(L2-主記憶間)バスアクセス時間

:主記憶アクセス時間

主記憶


4331584

プリフェッチによるメモリアクセス時間の変化

Harmfulによる悪影響を小さくし、Remoteを利用することで、CMPにおいてより高い性能向上を得ることが可能


4331584

プリフェッチ効果の定量的分析

  • 分析項目

    • プリフェッチ・データの最終状態の割合

    • 平均メモリアクセス時間

  • シミュレーション環境

    • M5:CMPシミュレータ

      • L1キャッシュでプリフェッチ

      • ストライドプリフェッチ、taggedプリフェッチ

      • MOESIプロトコル

    • ベンチマークプログラム

      • SPLASH2:並列計算用の科学技術計算

コア

コア

コア

コア

D

D

D

I

I

I

I

D

L2$

4MB8way

64KB 2-way

主記憶


Remote

周りのコアが得をする場合(Remote)

参照される場合

1 2

FMM

LU

Radix

Water

1.ストライドプリフェッチ 2.taggedプリフェッチ

  • 周りのコアが得をするプリフェッチは約5%


4331584

プリフェッチによるトラフィックの増加

参照される場合

1 2

FMM

LU

Radix

Water

1.ストライドプリフェッチ 2.taggedプリフェッチ

  • taggedプリフェッチはトラフィックの増加量が大きい

  • 無効化要求が増加するプリフェッチは極めて少ない


4331584

プリフェッチによるバスアクセス時間の変化

バスアクセス時間

1 2 3

FMM

LU

Radix

Water

1.ベース 2.ストライドプリフェッチ 3.taggedプリフェッチ

プリフェッチによるバスアクセス時間の増加は小さい


4331584

まとめと今後の課題

  • まとめ

    • 発行された各プリフェッチを分類し調査することで、CMPにおけるデータ・プリフェッチ効果を分析した

      • 従来のプリフェッチ手法は周りのコアからの参照を有効活用していない

      • プリフェッチによる無効化要求の増加は極めて小さい

      • プリフェッチによるトラフィックの増加が性能へ与える影響は小さい

  • 今後の課題

    • より詳細なプリフェッチ効果の分析

      • プリフェッチ手法、ベンチマークプログラム、キャッシュ構成

    • CMP向けプリフェッチ手法の考案


4331584

ご清聴ありがとうございました


4331584

プリフェッチによる無効化要求がほとんど発生しないことについて

  • マルチプロセッサでは、プリフェッチによって発生する無効化要求の割合が多い(従来研究)

  • CMPでは、なぜ少ないのか?

無効化要求の

発生する場合

(約20%)

Jerger, N., Hill, E., and Lipasti, M., ``Friendly Fire: Understanding the Effects of Multiprocessor Prefetching‘’ In Proceedings of the IEEE InternationalSymposium on Performance Analysis of Systems and Software (ISPASS), 2006.


4331584

CMPにおいてプリフェッチによる無効化要求の発生が少ない理由

CMP

  • CMPでは、マルチプロセッサよりコヒーレンスを維持するキャッシュメモリのサイズが小さい

  • 共有データがキャッシュメモリから追い出されやすくなり、共有データへの書き込みが少なくなる

コア

コア

コア

コア

L1 $

L1$

L1 $

L1$

L2$

L2$

サイズ小

マルチプロセッサ

L2$

サイズ大


Tagged

プリフェッチしたデータが無効化される割合(taggedプリフェッチ)

キャッシュサイズの増加とともにプリフェッチしたデータが無効化される割合が増加する


  • Login