• 検索結果がありません。

Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード]

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft PowerPoint - ARCEMB08HayashiSlides.ppt [互換モード]"

Copied!
28
0
0

読み込み中.... (全文を見る)

全文

(1)

演算/メモリ性能バランスを考慮したCMP

向けオンチップ・メモリ貸与法の提案

九州大学

○林 徹生 今里 賢一

井上 弘士 村上 和彰

(2)

発表手順

z

背景・目的

z

演算

/メモリ性能バランシング

z

概要

z

アクセスレイテンシの削減とオーバーヘッド

z

提案手法の実現方法

z

着目する命令

z

(Cellプロセッサへの)実装

z

性能評価

z

姫野ベンチマーク

z

Susan@MiBench

z

おわりに

(3)

チップマルチプロセッサ (CMP)の普及

z

スレッドレベル並列性

(TLP)により性能向上

z

汎用

z

2コアが主流

z

4コアのプロセッサへ移行

z

特定用途

z

8コア:Cell(Sony,Toshiba,IBM)、Niagara2(Sun)

z

16コア:Raw(MIT)

z

80コア:Intelのプロセッサ

z

96コア:CSX600(Clear Speed)

z

メニーコアを想定した研究

(4)

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

z

主記憶へのアクセス時間が計算機

の性能ボトルネックとなることが多い

高速 大容量

レジスタ

1クロックサイクル(cc)

オンチップ・メモリ

1~数10cc

オフチップ・メモリ

数100cc

補助記憶

アクセス時間

z

CMPでは

z

データ競合

: 同期後の主記憶

アクセスは隠蔽できない!

z

資源競合

: コア数に比例して

オフチップ・バンド幅はスケー

ルしていない!

(5)

メモリ性能の影響

0

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

Number of Threads

S

p

eedup

L2ミスなし

L2=2MBで実行

性能差は拡大

性能向上は

次第に飽和

(6)

研究の目的

【目的】

z

プロセッサのトータル性能を向上

【動機】

z

演算性能とメモリ性能がプロセッサのトータル性能に与える影響

が異なる

【方法】

z

チップ内のコアを単純に並列処理に用いず、「演算用」と「メモリ

性能向上用」として使い分ける

z

メモリ性能がボトルネックとなる場合、並列実行可能でも

あえて

TLPを犠牲

にし、コアをメモリ用として利用することでトータル性

能を向上する

(7)

発表手順

z

背景・目的

z

演算/メモリ性能バランシング

z

概要

z

アクセスレイテンシの削減とオーバーヘッド

z

提案手法の実現方法

z

着目する命令

z

(Cellプロセッサへの)実装

z

性能評価

z

姫野ベンチマーク

z

Susan@MiBench

z

おわりに

(8)

コアの割り当てによる性能向上

0

1

2

3

4

5

6

7

8

9

1

2

3

4

5

6

7

8

Number of Threads

S

p

eedup

従来の並列処理

7コア「演算用」、1コア「メモリ性 能向上用」の時の性能の上限 かつ

8コア並列処理における

最大性能

(9)

想定するCMPアーキテクチャ

z

各コアはソフトウェア制御

可能なオンチップメモリ

(SPM)を持つ

z

計算とデータ転送は同時実

行可能

z

各コアは他コアの

SPMの

物理アドレスを知ることが

可能、かつ、アクセス可能

z

ベースアドレスとオフセットか

らアドレスを算出可能

Core 0 SPM Core 1 SPM Core N SPM

・・・

Network Main Memory on-chip off-chip

(10)

コアの振る舞いと定義

z

Compコア

z

並列化されたコード

(ス

レッド

)を実行する

z

Aidコア

z

スレッド実行を行なわない

z

自コアの

SPMを他コアの

メモリ性能向上のために

提供する

z

SPMはCompコア-主記憶

間の階層メモリとして利用

される

Core 0 SPM Core 1 SPM Core N SPM

・・・

Network Main Memory

Compコア

Aidコア

マッピング

このエリアにアクセス

要求が来たら・・・

こっちへアクセス!

(11)

Aidコアを確保する効果

z

利点: メモリ性能改善の可能性

z

AidコアのSPMにアクセスすればレイテンシ削減

z

データ競合・資源競合の減少

z

欠点: 演算性能の低下

z

1コアあたりの演算負荷が増大

z

目標: メモリ性能改善>演算性能の低下

意識して制御

するのは困難

(12)

見た目上の主記憶アクセス・レイテ

ンシの変化

アクセス先

DMA命令

主記憶

AidコアのSPM

Read

↑オーバーヘッド

↓削減

Write

↑オーバーヘッド

↑オーバーヘッド

z

書込みはメモリ・コントローラへのリクエストによる完了を

想定

z

アクセス先

(主記憶/Aidコア)に関わらず、アクセス先判別

のためのオーバーヘッドが発生

z

Aidコアでのデータヒット率がメモリ性能向上の鍵

z

小オーバーヘッドでの実現が必要

(13)

発表手順

z

背景・目的

z

演算

/メモリ性能バランシング

z

概要

z

アクセスレイテンシの削減とオーバーヘッド

z

提案手法の実現方法

z

着目する命令

z

(Cellプロセッサへの)実装

z

性能評価

z

姫野ベンチマーク

z

Susan@MiBench

z

おわりに

(14)

SPU LS

SPE×7

On-Chip Network L2 L1 PPU

PPE

MIC BIC

Off-chip

Cellプロセッサ

SPU LS SPU LS SPU LS SPU LS SPU LS SPU LS

256KB

I/O制御、初期化 並列処理

(15)

着目する命令

z

SPM環境ではバッファリングは当たり前

→ 同期命令後のデータ転送命令に着目

→ アクセスアドレス付近のデータをマッピング

for(n=0; n<N ; n++){ cal(i,j,k); atomic(・・・); // 全コアで処理が終了 DMA_READ(・・・); // 中間データ読み込み DMA_WRITE(・・・); // データ更新 atomic(・・・); // 全コアで更新終了 } DMA_READ(・・・); // 中間データ読み込み DMA_WRITE(・・・); // データ更新

(16)

提案手法の実装(Compコア)

z

メモリアクセス先

(主記憶 or あるAidコアのSPM)

の判別には配列を使用

z

分岐命令はミスペナルティが膨大

z

必要なメモリ領域はコア数

Nに対して最悪でもO(N)

z

配列イメージ図

主記憶 コア4 コア5 コア6 配列

[

]

+

=

SPM4 SPM5 SPM6 マッピング *フォン・ノイマン型(コード領域)を考慮

(17)

提案手法の実装(Aidコア)

z

データ・プリフェッチ

z

Aidコアは並列処理の開始時にデータプリフェッチ

z

Aidコアへの初期参照を保証

z

読込み/書込みサイズが異なる時の動作を保証

z

データ・ライトバック

z

Aidコアは並列処理の終了時にデータを書き戻す

z

最新の値は

AidコアのSPMで保持

z

終了時のデータを主記憶へ書込み

(18)

発表手順

z

背景・目的

z

演算

/メモリ性能バランシング

z

概要

z

アクセスレイテンシの削減とオーバーヘッド

z

提案手法の実現方法

z

着目する命令

z

(Cellプロセッサへの)実装

z

性能評価

z

姫野ベンチマーク

z

Susan@MiBench

z

おわりに

(19)

評価

z 評価目的 z 提案手法の効果の有無を調査 z 評価環境 z Cellプロセッサ(実機)+Time関数 z 10回測定、最大値・最小値を除いた平均値を選出 z DMAキャッシュをウォームアップ z 評価対象プログラム z 姫野ベンチマーク(SSサイズ、Sサイズ、Mサイズ) z Susan-Edge (large input)

z コンパイルオプション:-O3

z 評価項目

(20)

プログラム実装方針

z

並列処理方法

○処理分散

(各コアは同じプログラムを処理)

×機能分散

(各コアは異なるプログラムを処理)

z

負荷分散

z

粗粒度の並列処理

z

多重ループの最外ループをコア数

Nで分割

z

コードチューニング

z

最内ループのデータをバッファリング

(21)

評価モデル

CONV】

従来の、並列化されたコードを全コアを

用いて並列処理するモデル.

IDEAL】

主記憶アクセスレイテンシを

0と仮定し

たモデル.実装上では

DMA転送の完了を待た

ないため,プログラム実行の正しさを保証しない.

PB-N】

Compコア数をN (Aidコア数:7-N)とした

時の提案手法を示すモデル.

z

並列処理部分のみを抽出

z

逐次処理部分の高速化は考慮しない

(22)

評価結果:姫野ベンチマーク

0 0.2 0.4 0.6 0.8 1 1.2 1.4 CONV IDEA L PB-1 PB-2 PB-3 PB-4 PB-5 PB-6 PB-7

Evaluation Model

N

o

rm

al

iz

ed

Per

fo

rm

ance

SS

S

M

最大13%性能向上オーバーヘッド1%

(23)

評価結果:姫野ベンチマーク

0 0.2 0.4 0.6 0.8 1 1.2 1.4 CONV IDEA L PB-1 PB-2 PB-3 PB-4 PB-5 PB-6 PB-7

Evaluation Model

N

o

rm

al

iz

ed

Per

fo

rm

ance

SS

S

M

Hit率100%だけど、並列処理

の性能低下の影響が大きい

ヒット率が低く、性能

向上が小さい

(24)

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

CONV PB-1

PB-2

PB-3

PB-4 PB-5

PB-6

PB-7

BEST

評価モデル

正規化性能

並列処理部分

並列処理・前半部

並列処理・後半部

評価結果:Susan-Edge

隠蔽できない

DMA転送が

少ない

(初期参照程度)

オーバーヘッド10%

(25)

0

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

CONV PB-1

PB-2

PB-3

PB-4 PB-5

PB-6

PB-7

BEST

評価モデル

正規化性能

並列処理部分

並列処理・前半部

並列処理・後半部

評価結果:Susan-Edge

定数の代入

or 何もしない

→ 頻発するデータ転送で

バスが飽和

(26)

発表手順

z

背景・目的

z

演算

/メモリ性能バランシング

z

概要

z

アクセスレイテンシの削減とオーバーヘッド

z

提案手法の実現方法

z

着目する命令

z

(Cellプロセッサへの)実装

z

性能評価

z

姫野ベンチマーク

z

Susan@MiBench

z

おわりに

(27)

まとめ

z

新しい並列処理モデルを提案

z

コアを「演算用」と「メモリ性能向上用」とに分配

z

姫野ベンチマークの

SSサイズで13%の性能向上

z

7コア程度では性能向上が得られるプログラムは限定的と予想

z

Comp/Aidコア数を如何にして決定方法が課題

z

ボトルネック解析とコア間協調実行による静的/動的最適化技

術の確立も課題

z

姫野ベンチ

(HPC)、Susan(組込み)の次はequake

(SPEC OMP、汎用)を評価予定

(28)

参照

関連したドキュメント

Our translation L M can be extracted by a categorical interpretation on the model Per 0 that is the Kleisli category of the strong monad 0 on the cartesian closed category Per!.

LPガスはCO 2 排出量の少ない環境性能の優れた燃料であり、家庭用・工業用の

(採択) 」と「先生が励ましの声をかけてくれなかった(削除) 」 )と判断した項目を削除すること で計 83

・大都市に近接する立地特性から、高い県外就業者の割合。(県内2 県内2 県内2/ 県内2 / / /3、県外 3、県外 3、県外 3、県外1/3 1/3

口腔の持つ,種々の働き ( 機能)が障害された場 合,これらの働きがより健全に機能するよう手当

Oracle WebLogic Server の脆弱性 CVE-2019-2725 に関する注 意喚起 ISC BIND 9 に対する複数の脆弱性に関する注意喚起 Confluence Server および Confluence

18.5グラムのタンパク質、合計326 キロカロリーを含む朝食を摂った 場合は、摂らなかった場合に比べ

ERROR  -00002 認証失敗または 圏外   クラウドへの接続設定及びア ンテ ナ 接続を確認して ください。. ERROR  -00044 回線未登録または