メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討...

17
メニーコアプロセッサにおける コア間通信レイテンシ隠蔽手法の検討 高前田 伸也 ◎森 洋介 吉瀬 謙二 東京工業大学 大学院情報理工学研究科 第50回 情報処理学会全国大会@東大

Transcript of メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討...

Page 1: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

メニーコアプロセッサにおける コア間通信レイテンシ隠蔽手法の検討

高前田 伸也 ◎森 洋介 吉瀬 謙二

東京工業大学 大学院情報理工学研究科

第50回 情報処理学会全国大会@東大

Page 2: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

Abstract u メニーコアプロセッサにおけるコア間通信の レイテンシを隠蔽し性能向上を狙う n 処理と通信との間の並列性をハードウェアで抽出 n ブロッキング転送の完了を待たずに 先行的にコアの処理を進める

n わずかに性能向上 n 通信によるストール時間は最大40%程度削減

u 代理発表です

10-03-09 IPSJ全国大会72@東大 2

Page 3: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

Agenda u 背景と目的 u 提案手法 u 評価環境 u 評価 u まとめ

10-03-09 IPSJ全国大会72@東大 3

Page 4: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

背景と目的 u メニーコアで性能を引き出すには並列化は必須

n 各コアにタスクを分散,処理をして同期をとる

u 性能向上を阻む要因の1つ: 通信レイテンシ n コア外へのメモリアクセス・キャッシュアクセス

•  NoC経由 n 同期

•  同期が増える→通信が増える

通信レイテンシを隠蔽し性能向上を目指す!

10-03-09 IPSJ全国大会72@東大 4

Page 5: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

提案手法 (1) u ブロッキング転送中にコアの処理を先行実行

n 明示的にコア間DMA転送を行う アーキテクチャを想定

–  ブロッキング転送 »  転送完了をSW側で待つ

–  ノンブロッキング転送 »  転送完了をSW側で待たない

10-03-09 IPSJ全国大会72@東大 5

コアA コアB

ローカル メモリ

ローカル メモリ DMA転送

コアBに DMA転送!

Page 6: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

提案手法 (2) u 本来データ転送が完了した後で行う処理を 先行的に実行することでレイテンシを隠蔽する

u ブロッキング転送っていつ使うの? n 転送対象とその後の処理でハザードが発生する場合

•  例) 配列の各要素を処理してから転送. そして転送完了後さらに処理する

n でも,実は並列に実行できる部分があるのでは? •  プログラマが予期せぬ並列性

そこを先行実行すればよい!

10-03-09 IPSJ全国大会72@東大 6

Page 7: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

どこが先行実行できるか? (1) u 例: ブロッキング転送後にロードしてストア

n 1) データブロッキング転送を開始 n 2) 転送エリアからロード n 3) 転送エリアにストア

n 2)はデータ転送中に先行実行可能 n 3)はストア先のデータ転送が完了していれば 実行可能

•  転送完了前に実行するとWARハザードが発生

10-03-09 IPSJ全国大会72@東大 7

block_send mem[0x1000~0x1200]のデータをコアAへ 擬似命令列

store reg[r2]をmem[0x1004]へ load mem[0x1000]からreg[r1]へ

Page 8: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

どこが先行実行できるか? (2) u メモリアクセス以外の命令はOK u ロード命令もOK

n Read After Readハザード・・・? u ストア命令は注意が必要

n 未転送エリアへストアすると Write After Readハザードが発生

n 未転送エリアに対するストアを 発行してはいけない

•  未転送エリアを記憶しておく必要あり •  今回はコアをストールさせる

10-03-09 IPSJ全国大会72@東大 8

メモリ

転送完了 エリア

未転送 エリア

転送 エリア

Page 9: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

評価環境:M-Coreアーキテクチャ(全体) u 計算ノード (Comp. Node) n プログラムを 実行

n データを転送 u メモリノード

n メインメモリ にアクセス

u パスノード n データを転送 n 今後の拡張用

10-03-09 IPSJ全国大会72@東大 9

Off chip memory modules

Comp. Node (1,1)

Comp. Node (1,2)

Comp. Node (1,N)

Comp. Node (2,1)

Comp. Node (2,2)

Comp. Node (2,N)

Comp. Node (3,1)

Comp. Node (3,2)

Comp. Node (3,N)

Comp. Node (M,1)

Comp. Node (M,2)

Comp. Node (M,N)

Mem. Node (0,0)

Path Node (2,0)

Path Node (3,0)

Path Node (M,0)

Many-core processor chip

Path Node (1,0)

Path Node (0,1)

Path Node (0,2)

Path Node (0,N)

Page 10: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

評価環境:M-Coreアーキテクチャ(計算ノード)

u Core n プロセッシングエレメント

u Node Memory n ローカルメモリ

u INCC (Inter Node Communication Controller) n データの送受信

u Router n データの転送

10-03-09 IPSJ全国大会72@東大 10

Comp. Node

INCC Node Memory

Core

Router

Page 11: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

提案手法の追加:Violation Detector u CoreとINCC, ノードメモリの間に Violation Detector を挿入 n 未転送エリアの アドレスを保持

n データ転送と メモリアクセス の間のハザード を検知したら コアをストール

10-03-09 IPSJ全国大会72@東大 11

Core

Violation Detector

Node Memory

0x1000

Tail Address

Head Address

0x2000

Yes DMA Req

INCC

load

store

store

store

write

DMA Transfer

stall signal

DMA status

DMA Reg PUT to (3,2)

read

: data : control

Router On Chip Network

load

Page 12: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

評価環境 u M-Coreシミュレータ SimMcを利用 u コア数: 16, 64 u コアのプロセッサ: シングルサイクルMIPS32 u ローカルメモリサイズ: 512KB u ルータ: ワームホール・シングルサイクル VCなし・入力バッファサイズは4フリット分

u ベンチマーク: NAS Parallel Benchmarks n cg, ft, is, lu, mg,問題サイズS

u 性能・通信完了待ち時間を測定 10-03-09 IPSJ全国大会72@東大 12

Page 13: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

評価: 性能 u わずかに性能向上を達成

n 通信の割合がそもそも少ない? n DMA転送を連続で発行すると効果なし n SWレベルの同期には対応できない

10-03-09 IPSJ全国大会72@東大 13

0

0.2

0.4

0.6

0.8

cg ft is lu mg

Spee

dup

[%]

Benchmark

16cores64cores

Page 14: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

評価: 通信完了待ち時間 u 最大40%程度の通信完了待ち時間を削減

n レイテンシのパラメータやプロセッサ構成次第では 大きな性能向上が見込める

•  ストアバッファとの連携

10-03-09 IPSJ全国大会72@東大 14

0

0.2

0.4

0.6

0.8

1

cg ft is lu mg

Stal

l Rat

e

Benchmark

16cores64cores

Page 15: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

まとめ u メニーコアプロセッサにおけるコア間通信の レイテンシを隠蔽し性能向上を狙う n 処理と通信との間の並列性をハードウェアで抽出 n ブロッキング転送の完了を待たずに 先行的にコアの処理を進める

n 転送待ちデータとコアが処理に使用するデータ間のWARハザードを検出,コアをストール

n わずかに性能向上 n 通信によるストール時間は最大40%程度削減

•  ストアバッファ等との連携でまともに?

10-03-09 IPSJ全国大会72@東大 15

Page 16: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

ご静聴ありがとうございました u 質問・コメント等がありましたら 高前田までお願いいたします

u Mail: [email protected]

10-03-09 IPSJ全国大会72@東大 16

Page 17: メニーコアプロセッサにおけるコア間通信レイテンシ隠蔽手法の検討 @IPSJ72

評価: 通信の割合 u 最大5%程度

10-03-09 IPSJ全国大会72@東大 17

0.5 1

1.5 2

2.5 3

3.5 4

4.5 5

5.5

cg ft is lu mg

DM

A ra

te [%

]

Benchmark

16cores base64cores base

16cores pre-write64cores pre-write