高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討...

30
高機能ルータを利用した DMR実行メニーコアにおける 効率的なタスク配置手法の検討 高前田 (山崎) 伸也 †‡ , 佐藤 真平 †‡ , 吉瀬 謙二 東京工業大学 大学院情報理工学研究科 日本学術振興会 特別研究員 2012327計算機アーキテクチャ研究会@長崎

description

高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討

Transcript of 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討...

Page 1: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

高機能ルータを利用した DMR実行メニーコアにおける 効率的なタスク配置手法の検討

高前田 (山崎) 伸也†‡, 佐藤 真平†‡, 吉瀬 謙二†

†東京工業大学 大学院情報理工学研究科 ‡日本学術振興会 特別研究員

2012年 3月 27日 計算機アーキテクチャ研究会@長崎

Page 2: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

概要

n  NoCルータの支援によりDMR(二重冗長)実行をする メニーコアにおける良いタスク配置手法 (を考える) l  SmartCoreシステム: 2つのコアがペアを形成し 同一スレッドを実行・実行結果をNoCルータで比較

l  FPGAシステムにDMRプロセッサを実装 •  多数のFPGAによるシミュレータ ScalableCoreシステム 3.4

•  ちゃんと作ったFPGAシステムを使っているよ!!

l 各種パターンを評価 •  評価軸: アプリ性能 と 信頼性 (≒ DMRペア間距離)

•  パターンによるシンプルな配置で性能と信頼性が両立できそう

•  DMR実行のオーバーヘッドをタスク配置の良さでカバー

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 2

Page 3: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 3

Page 4: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

概要

n  NoCルータの支援によりDMR(二重冗長)実行をする メニーコアにおける良いタスク配置手法 (を考える) l  SmartCoreシステム: 2つのコアがペアを形成し 同一スレッドを実行・実行結果をNoCルータで比較

l  FPGAシステムにDMRプロセッサを実装 •  多数のFPGAによるシミュレータ ScalableCoreシステム 3.4

•  ちゃんと作ったFPGAシステムを使っているよ!!

l 各種パターンを評価 •  評価軸: アプリ性能 と 信頼性 (≒ DMRペア間距離)

•  パターンによるシンプルな配置で性能と信頼性が両立できそう

•  DMR実行のオーバーヘッドをタスク配置の良さでカバー

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 4

Page 5: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

背景: メニーコア

Intel Single Chip Cloud Computer 48 cores (x86)

TILERA TILE-Gx100 100 cores (MIPS)

Shinya Takamaeda-Y. Tokyo Tech 5 2012-03-27 ARC研@長崎

Page 6: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

メニーコアの信頼性 n 微細化により多くのトランジスタ

n それに伴う心配点 l ソフトエラー耐性

•  宇宙線などがプロセッサをヒット

l タイミングエラーの増加 •  トランジスタのばらつきの増加によるタイミング違反

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 6

信頼性の高いプロセッサを作るには どうすればいいのだろう?

Page 7: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

SmartCoreシステム: 高機能ルータ支援によるDMR実行機構 n 高機能ルータ:

(1) パケットのコピー (2) 待ち合わせ (3) 比較 の機能を持つルータ

n  2つのPEが同一スレッドを実行 ルータでパケットの出力系列を 比較し誤りを検出 l マスターノード: 本来スレッドを実行するノード

l スレーブノード: DMR用に割り当てられたノード

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 7

R

PE

R

PE

R

PE

R

PE

R

PE

R

PE

R

PE

R

PE

R

PE

Master A

Slave A

Master B Slave B

Normal Communication (VC0)

Merge Communication (VC1)

Copy Communication (VC2)

Page 8: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

(1)スレーブノードへのパケットのコピー

n マスターノードへのパケットをスレーブノードへコピー l マスターとスレーブは同一の論理IDを共有

l すべてのパケットはまずマスターノードへ届く

l ペアで同一のパケット列を受信することにより 同一の処理を継続する

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech

PE PE

R R

Master Slave

P P

8

Page 9: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

パケットの(2)待ち合わせと(3)比較

n スレーブノードが出力するパケットはマスターノードへフォワード

n マスターノード側で2つのパケット列を待ち合わせし, 先頭フリットから順次比較 l 内容に差異がある場合には,エラーとして通知し,適切に処理

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech

PE PE

R R

Master Slave P P

9

Page 10: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

DMR実行を支援する高機能ルータ

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 10

ID Trans

CMP

XBAR

ID Trans

Arbiter

N

E

S

W

C

N

E

S

W

C

Node Type Pair ID

(a) Copy Buffer

(b) ID Translator

(b) ID Translator

(c) Comparator

Page 11: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

DMR実行を支援する高機能ルータ

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 11

ID Trans

CMP

XBAR

ID Trans

Arbiter

N

E

S

W

C

N

E

S

W

C

Node Type Pair ID

(a) Copy Buffer

(b) ID Translator

(b) ID Translator

(c) Comparator

Page 12: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

ベースアーキテクチャ: M-Core [6] n  2Dメッシュネットワークを持つタイルアーキテクチャ

l キャッシュなし・各ノードがスクラッチパッドを持つ

l プログラミング: DMAベース (コア間・メモリ)

Shinya Takamaeda-Y. Tokyo Tech 12

Local Memory

DMAC Core

R

DRAM Controller DRAM Controller

Node

2012-03-27 ARC研@長崎 [6] 植原ら,メニーコアプロセッサの研究・教育を支援する実用的な基盤環境, IEICE Trans.D (2010)

Page 13: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

メニーコア上でのタスク配置 n タスクの置き方で性能は異なる: 数%~十数%

l 通信の衝突量・レイテンシが変化するため

n  RMAP: 2Dメッシュ向けタスク配置手法[3] l 通信衝突を削減することで性能向上

l 各タスクを互い違いに・Nルーク問題の解の重ね合わせに配置

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 13

A A A A

A A A A

A A A A

A A A A

B B B B

B B B B

B B B B

B B B B

C C C C

C C C C

C C C C

C C C C

D D D D

D D D D

D D D D

D D D D

Normal Allocation (4 Apps)

A B C D

B C D A

C D A B

D A B C

A B C D

B C D A

C D A B

D A B C

A B C D

B C D A

C D A B

D A B C

A B C D

B C D A

C D A B

D A B C

RMAP X4 (4 Apps) [3]佐野ら:メニーコアプロセッサのための通信衝突に着目したタスク配置手法, IPSJ-ACS Vol.4 No.4 (2011)

Page 14: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

DMR実行時の複数アプリの配置 n スレッド間の通信に加えてDMRペア内の通信が加わる

l 冗長実行ペアの配置を考慮する必要あり

n  DMRペアは近い方がいい?遠い方がいい? l 近い方が性能は良さそう

l 遠い方が空間冗長性の観点では良さそう

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 14

App1 (1,1)

Master

App1 (2,1)

Master

App1 (3,1)

Master

App1 (4,1)

Master

App1 (1,1) Slave

App1 (2,1) Slave

App1 (3,1) Slave

App1 (4,1) Slave

App1 (1,2)

Master

App1 (2,2)

Master

App1 (3,2)

Master

App1 (4,2)

Master

App1 (1,2) Slave

App1 (2,2) Slave

App1 (3,2) Slave

App1 (4,2) Slave

App1 (1,3)

Master

App1 (2,3)

Master

App1 (3,3)

Master

App1 (4,3)

Master

App1 (1,3) Slave

App1 (2,3) Slave

App1 (3,3) Slave

App1 (4,3) Slave

App1 (1,4)

Master

App1 (2,4)

Master

App1 (3,4)

Master

App1 (4,4)

Master

App1 (1,4) Slave

App1 (2,4) Slave

App1 (3,4) Slave

App1 (4,4) Slave

App2 (1,1)

Master

App2 (2,1)

Master

App2 (3,1)

Master

App2 (4,1)

Master

App2 (1,1) Slave

App2 (2,1) Slave

App2 (3,1) Slave

App2 (4,1) Slave

App2 (1,2)

Master

App2 (2,2)

Master

App2 (3,2)

Master

App2 (4,2)

Master

App2 (1,2) Slave

App2 (2,2) Slave

App2 (3,2) Slave

App2 (4,2) Slave

App2 (1,3)

Master

App2 (2,3)

Master

App2 (3,3)

Master

App2 (4,3)

Master

App2 (1,3) Slave

App2 (2,3) Slave

App2 (3,3) Slave

App2 (4,3) Slave

App2 (1,4)

Master

App2 (2,4)

Master

App2 (3,4)

Master

App2 (4,4)

Master

App2 (1,4) Slave

App2 (2,4) Slave

App2 (3,4) Slave

App2 (4,4) Slave

M1 M2

App1 (1,1)

Master

App1 (1,2)

Master

App1 (2,1)

Master

App1 (2,2)

Master

App1 (3,1)

Master

App1 (3,2)

Master

App1 (4,1)

Master

App1 (4,2)

Master

App1 (1,3)

Master

App1 (1,4)

Master

App1 (2,3)

Master

App1 (2,4)

Master

App1 (3,3)

Master

App1 (3,4)

Master

App1 (4,3)

Master

App1 (4,4)

Master

App2 (1,1)

Master

App2 (1,2)

Master

App2 (2,1)

Master

App2 (2,2)

Master

App2 (3,1)

Master

App2 (3,2)

Master

App2 (4,1)

Master

App2 (4,2)

Master

App2 (1,3)

Master

App2 (1,4)

Master

App2 (2,3)

Master

App2 (2,4)

Master

App2 (3,3)

Master

App2 (3,4)

Master

App2 (4,3)

Master

App2 (4,4)

Master

App1 (1,1) Slave

App1 (1,2) Slave

App1 (2,1) Slave

App1 (2,2) Slave

App1 (3,1) Slave

App1 (3,2) Slave

App1 (4,1) Slave

App1 (4,2) Slave

App1 (1,3) Slave

App1 (1,4) Slave

App1 (2,3) Slave

App1 (2,4) Slave

App1 (3,3) Slave

App1 (3,4) Slave

App1 (4,3) Slave

App1 (4,4) Slave

App2 (1,1) Slave

App2 (1,2) Slave

App2 (2,1) Slave

App2 (2,2) Slave

App2 (3,1) Slave

App2 (3,2) Slave

App2 (4,1) Slave

App2 (4,2) Slave

App2 (1,3) Slave

App2 (1,4) Slave

App2 (2,3) Slave

App2 (2,4) Slave

App2 (3,3) Slave

App2 (3,4) Slave

App2 (4,3) Slave

App2 (4,4) Slave

M1 M2

Page 15: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

本発表の目標 n いろいろなタスク配置を試してみて

DMR実行に「良い」タスク配置手法を考える

n 「良い」とは? l 高性能

•  通信のコンテンションは少ない方がいい

•  通信レイテンシ・通信ホップ数は短い方がいい

•  特にDMRペア間は頻繁に通信する

l 高信頼 •  DMR実行のペアノードを近くに置くと 同一原因で故障モードに入ったりしそう

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 15

近づけて配置したい

離して配置したい

両立できるポイントを探る!

Page 16: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

今回の登場選手 n アプリケーション2種を同時に配置・実行

l  Bitonic Sort: 通信 多,通信衝突 多

l  Matrix Multiply: 通信 中,通信衝突 中

n  7つのパターンで性能を測定 l  “DMRペア間距離 = 1” の配置 3種

•  Separate X

•  Interleave

•  RMAP

l  “DMRペア間距離 > 1” の配置 4種 •  Block

•  Interleave ROT

•  Interleave ROTx2

•  RMAP ROT 2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 16

Page 17: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

App1 (1,1)

Master

App1 (2,1)

Master

App1 (3,1)

Master

App1 (4,1)

Master

App1 (1,1) Slave

App1 (2,1) Slave

App1 (3,1) Slave

App1 (4,1) Slave

App1 (1,2)

Master

App1 (2,2)

Master

App1 (3,2)

Master

App1 (4,2)

Master

App1 (1,2) Slave

App1 (2,2) Slave

App1 (3,2) Slave

App1 (4,2) Slave

App1 (1,3)

Master

App1 (2,3)

Master

App1 (3,3)

Master

App1 (4,3)

Master

App1 (1,3) Slave

App1 (2,3) Slave

App1 (3,3) Slave

App1 (4,3) Slave

App1 (1,4)

Master

App1 (2,4)

Master

App1 (3,4)

Master

App1 (4,4)

Master

App1 (1,4) Slave

App1 (2,4) Slave

App1 (3,4) Slave

App1 (4,4) Slave

App2 (1,1)

Master

App2 (2,1)

Master

App2 (3,1)

Master

App2 (4,1)

Master

App2 (1,1) Slave

App2 (2,1) Slave

App2 (3,1) Slave

App2 (4,1) Slave

App2 (1,2)

Master

App2 (2,2)

Master

App2 (3,2)

Master

App2 (4,2)

Master

App2 (1,2) Slave

App2 (2,2) Slave

App2 (3,2) Slave

App2 (4,2) Slave

App2 (1,3)

Master

App2 (2,3)

Master

App2 (3,3)

Master

App2 (4,3)

Master

App2 (1,3) Slave

App2 (2,3) Slave

App2 (3,3) Slave

App2 (4,3) Slave

App2 (1,4)

Master

App2 (2,4)

Master

App2 (3,4)

Master

App2 (4,4)

Master

App2 (1,4) Slave

App2 (2,4) Slave

App2 (3,4) Slave

App2 (4,4) Slave

Separate X

M1 M2 ペア間距離 = 1

17

Page 18: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

App1 (1,1)

Master

App1 (2,1)

Master

App1 (3,1)

Master

App1 (4,1)

Master

App1 (1,1) Slave

App1 (2,1) Slave

App1 (3,1) Slave

App1 (4,1) Slave

App1 (1,2)

Master

App1 (2,2)

Master

App1 (3,2)

Master

App1 (4,2)

Master

App1 (1,2) Slave

App1 (2,2) Slave

App1 (3,2) Slave

App1 (4,2) Slave

App1 (1,3)

Master

App1 (2,3)

Master

App1 (3,3)

Master

App1 (4,3)

Master

App1 (1,3) Slave

App1 (2,3) Slave

App1 (3,3) Slave

App1 (4,3) Slave

App1 (1,4)

Master

App1 (2,4)

Master

App1 (3,4)

Master

App1 (4,4)

Master

App1 (1,4) Slave

App1 (2,4) Slave

App1 (3,4) Slave

App1 (4,4) Slave

App2 (1,1)

Master

App2 (2,1)

Master

App2 (3,1)

Master

App2 (4,1)

Master

App2 (1,1) Slave

App2 (2,1) Slave

App2 (3,1) Slave

App2 (4,1) Slave

App2 (1,2)

Master

App2 (2,2)

Master

App2 (3,2)

Master

App2 (4,2)

Master

App2 (1,2) Slave

App2 (2,2) Slave

App2 (3,2) Slave

App2 (4,2) Slave

App2 (1,3)

Master

App2 (2,3)

Master

App2 (3,3)

Master

App2 (4,3)

Master

App2 (1,3) Slave

App2 (2,3) Slave

App2 (3,3) Slave

App2 (4,3) Slave

App2 (1,4)

Master

App2 (2,4)

Master

App2 (3,4)

Master

App2 (4,4)

Master

App2 (1,4) Slave

App2 (2,4) Slave

App2 (3,4) Slave

App2 (4,4) Slave

Interleave (1,1) (2,1) (3,1) (4,1)

(1,2) (2,2) (3,2) (4,2)

(1,3) (2,3) (3,3) (4,3)

(1,4) (2,4) (3,4) (4,4)

M1 M2 ペア間距離 = 1

18

Page 19: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

RMAP App1 (1,1)

Master

App1 (1,1) Slave

App1 (1,3)

Master

App1 (1,3) Slave

App2 (1,2)

Master

App2 (1,2) Slave

App1 (1,2)

Master

App1 (1,2) Slave

App1 (1,4)

Master

App1 (1,4) Slave

App2 (1,1)

Master

App2 (1,1) Slave

App1 (2,1)

Master

App1 (2,3)

Master

App1 (2,1) Slave

App1 (2,3) Slave

App2 (2,2)

Master

App2 (2,2) Slave

App1 (2,2)

Master

App1 (2,4)

Master

App1 (2,2) Slave

App1 (2,4) Slave

App2 (2,1)

Master

App2 (2,1) Slave

App1 (3,1)

Master

App1 (3,1) Slave

App1 (3,3)

Master

App1 (3,3) Slave

App2 (3,2)

Master

App2 (3,2) Slave

App2 (1,3)

Master

App2 (3,3)

Master

App2 (1,3) Slave

App2 (3,3) Slave

App1 (3,2)

Master

App1 (3,2) Slave

App1 (3,4)

Master

App1 (3,4) Slave

App2 (3,1)

Master

App2 (3,1) Slave

App2 (1,4)

Master

App2 (3,4)

Master

App2 (1,4) Slave

App2 (3,4) Slave

App1 (4,1)

Master

App1 (4,3)

Master

App1 (4,1) Slave

App1 (4,3) Slave

App2 (4,2)

Master

App2 (2,3)

Master

App2 (4,3)

Master

App2 (4,2) Slave

App2 (2,3) Slave

App2 (4,3) Slave

App1 (4,2)

Master

App1 (4,4)

Master

App1 (4,2) Slave

App1 (4,4) Slave

App2 (4,1)

Master

App2 (2,4)

Master

App2 (4,4)

Master

App2 (4,1) Slave

App2 (2,4) Slave

App2 (4,4) Slave

(1,1) (2,1) (1,2) (2,2) (3,1) (4,1) (3,2) (4,2)

(1,3) (2,3) (1,4) (2,4) (3,3) (4,3) (3,4) (4,4) M1 M2

ペア間距離 = 1 19

Page 20: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

App1 (1,1)

Master

App1 (1,2)

Master

App1 (2,1)

Master

App1 (2,2)

Master

App1 (3,1)

Master

App1 (3,2)

Master

App1 (4,1)

Master

App1 (4,2)

Master

App1 (1,3)

Master

App1 (1,4)

Master

App1 (2,3)

Master

App1 (2,4)

Master

App1 (3,3)

Master

App1 (3,4)

Master

App1 (4,3)

Master

App1 (4,4)

Master

App2 (1,1)

Master

App2 (1,2)

Master

App2 (2,1)

Master

App2 (2,2)

Master

App2 (3,1)

Master

App2 (3,2)

Master

App2 (4,1)

Master

App2 (4,2)

Master

App2 (1,3)

Master

App2 (1,4)

Master

App2 (2,3)

Master

App2 (2,4)

Master

App2 (3,3)

Master

App2 (3,4)

Master

App2 (4,3)

Master

App2 (4,4)

Master

App1 (1,1) Slave

App1 (1,2) Slave

App1 (2,1) Slave

App1 (2,2) Slave

App1 (3,1) Slave

App1 (3,2) Slave

App1 (4,1) Slave

App1 (4,2) Slave

App1 (1,3) Slave

App1 (1,4) Slave

App1 (2,3) Slave

App1 (2,4) Slave

App1 (3,3) Slave

App1 (3,4) Slave

App1 (4,3) Slave

App1 (4,4) Slave

App2 (1,1) Slave

App2 (1,2) Slave

App2 (2,1) Slave

App2 (2,2) Slave

App2 (3,1) Slave

App2 (3,2) Slave

App2 (4,1) Slave

App2 (4,2) Slave

App2 (1,3) Slave

App2 (1,4) Slave

App2 (2,3) Slave

App2 (2,4) Slave

App2 (3,3) Slave

App2 (3,4) Slave

App2 (4,3) Slave

App2 (4,4) Slave

Block

M1 M2 ペア間距離 = 4 20

Page 21: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

App1 (1,1)

Master

App1 (2,1)

Master

App1 (3,1)

Master

App1 (4,1)

Master

App1 (1,1) Slave

App1 (2,1) Slave

App1 (3,1) Slave

App1 (4,1) Slave

App1 (1,2)

Master

App1 (2,2)

Master

App1 (3,2)

Master

App1 (4,2)

Master

App1 (1,2) Slave

App1 (2,2) Slave

App1 (3,2) Slave

App1 (4,2) Slave

App1 (1,3)

Master

App1 (2,3)

Master

App1 (3,3)

Master

App1 (4,3)

Master

App1 (1,3) Slave

App1 (2,3) Slave

App1 (3,3) Slave

App1 (4,3) Slave

App1 (1,4)

Master

App1 (2,4)

Master

App1 (3,4)

Master

App1 (4,4)

Master

App1 (1,4) Slave

App1 (2,4) Slave

App1 (3,4) Slave

App1 (4,4) Slave

App2 (1,1)

Master

App2 (2,1)

Master

App2 (3,1)

Master

App2 (4,1)

Master

App2 (1,1) Slave

App2 (2,1) Slave

App2 (3,1) Slave

App2 (4,1) Slave

App2 (1,2)

Master

App2 (2,2)

Master

App2 (3,2)

Master

App2 (4,2)

Master

App2 (1,2) Slave

App2 (2,2) Slave

App2 (3,2) Slave

App2 (4,2) Slave

App2 (1,3)

Master

App2 (2,3)

Master

App2 (3,3)

Master

App2 (4,3)

Master

App2 (1,3) Slave

App2 (2,3) Slave

App2 (3,3) Slave

App2 (4,3) Slave

App2 (1,4)

Master

App2 (2,4)

Master

App2 (3,4)

Master

App2 (4,4)

Master

App2 (1,4) Slave

App2 (2,4) Slave

App2 (3,4) Slave

App2 (4,4) Slave

Interleave ROT Master

(1,1) (2,1) (3,1) (4,1) Slave

(1,3) (2,3) (3,3) (4,3)

Master (1,2) (2,2) (3,2) (4,2)

Slave (1,4) (2,4) (3,4) (4,4)

Master (1,3) (2,3) (3,3) (4,3)

Slave (1,1) (2,1) (3,1) (4,1)

Master (1,4) (2,4) (3,4) (4,4)

Slave (1,2) (2,2) (3,2) (4,2)

M1 M2 ペア間距離 = 5 21

Page 22: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

App1 (1,1)

Master

App1 (2,1)

Master

App1 (3,1)

Master

App1 (4,1)

Master

App1 (1,2)

Master

App1 (2,2)

Master

App1 (3,2)

Master

App1 (4,2)

Master

App1 (1,3)

Master

App1 (2,3)

Master

App1 (3,3)

Master

App1 (4,3)

Master

App1 (1,4)

Master

App1 (2,4)

Master

App1 (3,4)

Master

App1 (4,4)

Master

App2 (1,1)

Master

App2 (2,1)

Master

App2 (3,1)

Master

App2 (4,1)

Master

App2 (1,2)

Master

App2 (2,2)

Master

App2 (3,2)

Master

App2 (4,2)

Master

App1 (1,1) Slave

App1 (1,2) Slave

App2 (1,1) Slave

App2 (1,2) Slave

App1 (2,1) Slave

App1 (2,2) Slave

App2 (2,1) Slave

App2 (2,2) Slave

App1 (3,1) Slave

App1 (3,2) Slave

App2 (3,1) Slave

App2 (3,2) Slave

App1 (4,1) Slave

App1 (4,2) Slave

App2 (4,1) Slave

App2 (4,2) Slave

App2 (1,3)

Master

App2 (2,3)

Master

App2 (3,3)

Master

App2 (4,3)

Master

App2 (1,4)

Master

App2 (2,4)

Master

App2 (3,4)

Master

App2 (4,4)

Master

App1 (1,3) Slave

App1 (1,4) Slave

App2 (1,3) Slave

App2 (1,4) Slave

App1 (2,3) Slave

App1 (2,4) Slave

App2 (2,3) Slave

App2 (2,4) Slave

App1 (3,3) Slave

App1 (3,4) Slave

App2 (3,3) Slave

App2 (3,4) Slave

App1 (4,3) Slave

App1 (4,4) Slave

App2 (4,3) Slave

App2 (4,4) Slave

Interleave ROTx2 Master

(1,1) (2,1) (3,1) (4,1) Slave

(3,3) (4,3) (1,3) (2,3)

Master (1,2) (2,2) (3,2) (4,2)

Slave (3,4) (4,4) (1,4) (2,4)

Master (1,3) (2,3) (3,3) (4,3)

Slave (3,1) (4,1) (1,1) (2,1)

Master (1,4) (2,4) (3,4) (4,4)

Slave (4,2) (3,2) (1,2) (2,2)

M1 M1 ペア間距離 = 8 22

Page 23: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

RMAP ROT App1 (1,1)

Master

App1 (3,3) Slave

App1 (1,3)

Master

App1 (3,1) Slave

App2 (1,2)

Master

App2 (3,4) Slave

App1 (1,2)

Master

App1 (3,4) Slave

App1 (1,4)

Master

App1 (3,2) Slave

App2 (1,1)

Master

App2 (3,3) Slave

App1 (2,1)

Master

App1 (2,3)

Master

App1 (4,3) Slave

App1 (4,1) Slave

App2 (2,2)

Master

App2 (4,4) Slave

App1 (2,2)

Master

App1 (2,4)

Master

App1 (4,4) Slave

App1 (4,2) Slave

App2 (2,1)

Master

App2 (4,3) Slave

App1 (3,1)

Master

App1 (1,3) Slave

App1 (3,3)

Master

App1 (1,1) Slave

App2 (3,2)

Master

App2 (1,4) Slave

App2 (1,3)

Master

App2 (3,3)

Master

App2 (3,1) Slave

App2 (1,1) Slave

App1 (3,2)

Master

App1 (1,4) Slave

App1 (3,4)

Master

App1 (1,2) Slave

App2 (3,1)

Master

App2 (1,3) Slave

App2 (1,4)

Master

App2 (3,4)

Master

App2 (3,2) Slave

App2 (1,2) Slave

App1 (4,1)

Master

App1 (4,3)

Master

App1 (2,3) Slave

App1 (2,1) Slave

App2 (4,2)

Master

App2 (2,3)

Master

App2 (4,3)

Master

App2 (2,4) Slave

App2 (4,1) Slave

App2 (2,1) Slave

App1 (4,2)

Master

App1 (4,4)

Master

App1 (2,4) Slave

App1 (2,2) Slave

App2 (4,1)

Master

App2 (2,4)

Master

App2 (4,4)

Master

App2 (2,3) Slave

App2 (4,2) Slave

App2 (2,2) Slave

Master (1,1) (2,1) (1,2) (2,2) Slave (3,3) (4,3) (4,3) (4,4)

Master (3,1) (4,1) (3,2) (4,2) Slave (1,3) (2,3) (1,4) (2,4)

Master (1,3) (2,3) (1,4) (2,4)

Slave (3,1) (4,1) (3,2) (4,2)

Master (3,3) (4,3) (3,4) (4,4)

Slave (1,1) (2,1) (1,2) (2,2)

M1 M2 ペア間距離 = 8 23

Page 24: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

評価 n 各種タスク配置パターンの性能を評価

l ペア間距離と性能の関係を調査 •  本稿では ペア間距離 ≒ ディペンダビリティ

n セットアップ l  M-Coreプロセッサ・64ノード (8x8)

•  Core: MIPS32 ISA, Single-issue, 5-stage, In-order

•  DMR Router: 4-stage (NRC/VA, SA, ST, LT), 32-bit Width 3-VC (Normal, Copy, Merge), 4-FIFO Depth Credit-base Flow Control, XY-DOR

l アプリケーション2種を同時に実行 •  Bitonic Sort: 通信トラフィック多・通信コンテンション多

•  Matrix Multiply: 通信トラフィック中・通信コンテンション中

•  おおよそ350Mサイクル中にBSを3回・MMを4回ずつ繰り返し実行

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 24

Local Memory

DMAC Core

R

Target Core

Page 25: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

評価環境: ScalableCoreシステム[8,9] n 複数FPGAを用いたメニーコアシミュレータ

l  Verilog HDLでDMRプロセッサを記述・実装

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 25

DRAM Controller DRAM Controller

Local Memory

DMAC Core

R

System Functions

Target Core

[8] Shinya Takamaeda-Yamazaki, et al. ScalableCore System: A Scalable Many-core Simulator by Employing over 100 FPGAs, IS-ARC 2012 [9] 高前田ら,メニーコアアーキテクチャのHW評価環境ScalableCoreシステム, IPSJ-ACS Vol.4 No.1 (2011)

Page 26: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

評価: DMRなし場合の性能 n アプリ特徴が現れた結果

l  Bitonic Sort •  通信衝突が回避できるRMAPで性能向上

l  Matrix Multiply •  ノード間距離大きいRMAPでは通信レイテンシが増加し性能低下

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 26 -0.10%

1.02%

0.00%

-0.20%

0.00%

0.20%

0.40%

0.60%

0.80%

1.00%

1.20%

Interleave RMAP Block

Per

form

ance

Impr

ovem

ent

-0.44%

-0.96%

-0.03%

-1.20%

-1.00%

-0.80%

-0.60%

-0.40%

-0.20%

0.00% Interleave RMAP Block

Per

form

ance

Impr

ovem

ent

Bitonic Sort (衝突 多) Matrix Multiply (衝突 中)

Page 27: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

評価: Bitonic Sort (DMRあり) n ペア間距離が大きい配置でも少ない性能低下

l ペア間距離が大きいRMAP ROTが健闘 •  衝突を削減することにより性能低下を抑制

•  ペア間距離が大きいのでディペンダブル

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 27

Separate Interleave

RMAP

Block Interleave ROT

Interleave ROTx2

RMAP ROT

-6.00%

-5.00%

-4.00%

-3.00%

-2.00%

-1.00%

0.00%

1.00%

0 1 2 3 4 5 6 7 8 9

Per

form

ance

Impr

ovem

ent

Pair Distance

Separate Interleave RMAP Block

Interleave ROT Interleave ROTx2 RMAP ROT

Page 28: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

評価: Matrix Multiply (DMRあり) n ペア間距離が大きくなる配置は性能低下

l  RMAP ROTのように衝突を削減する配置でも レイテンシ増加により性能低下

l  Blockが健闘: 衝突が少ないマスターをまとめて配置しても平気

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 28

Separate

Interleave RMAP

Block

Interleave ROT

Interleave ROTx2

RMAP ROT

-4.50%

-4.00%

-3.50%

-3.00%

-2.50%

-2.00%

-1.50%

-1.00%

-0.50%

0.00% 0 1 2 3 4 5 6 7 8 9

Per

form

ance

Impr

ovem

ent

Pair Distance

Separate Interleave RMAP Block

Interleave ROT Interleave ROTx2 RMAP ROT

Page 29: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

考察

n 通信衝突の多いアプリと通信衝突の少ないアプリでは 適した配置方法が異なる l 衝突が多いアプリ: バンド幅重視の配置が有利 (RMAP ROT)

l 衝突が少ないアプリ: マスター間のレイテンシ重視の配置が有利(Block)

n 単一の配置ポリシーでは信頼性と性能の両立はできない l アプリ特性に応じて混ぜ方を変える必要がありそう

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 29

Page 30: 高機能ルータを利用したDMR実行メニーコアにおける効率的なタスク配置手法の検討 (IPSJ SIG-ARC 2012-03-27)

まとめ

n  NoCルータの支援によりDMR(二重冗長)実行をする メニーコアにおける良いタスク配置手法 (を考える) l  SmartCoreシステム: 2つのコアがペアを形成し 同一スレッドを実行・実行結果をNoCルータで比較

l  FPGAシステムにDMRプロセッサを実装 •  多数のFPGAによるシミュレータ ScalableCoreシステム 3.4

•  ちゃんと作ったFPGAシステムを使っているよ!!

l 各種パターンを評価 •  評価軸: アプリ性能 と 信頼性 (≒ DMRペア間距離)

•  パターンによるシンプルな配置で性能と信頼性が両立できそう

•  DMR実行のオーバーヘッドをタスク配置の良さでカバー

l 今後の課題: アプリ特性に応じた配置方法を切り替え

2012-03-27 ARC研@長崎 Shinya Takamaeda-Y. Tokyo Tech 30