ScalableCore system at SWoPP2010 BoF-2

Post on 31-May-2015

464 views 0 download

Transcript of ScalableCore system at SWoPP2010 BoF-2

多数のFPGAを活用する ScalableCoreシステムのすすめ

高前田 伸也 東京工業大学 大学院情報理工学研究科

SWoPP2010@金沢 BoF-2

概要  シンプルなハードウェア ScalableCoreシステムで 楽しいアーキテクチャ検証をしましょう!

10-08-05 SWoPP2010-BoF-2 2

!"#$%&'"()*+&,

!"#$%&'"()*+&-

!"#$%&'"()*+&.

!"#$%&/+012&,&

!"#$%&/+012&-&

!"#$%&/+012&.&

3*(14)2*"+&'*504)6&

7,8,9& 7:8,9&

7:8:9&7,8:9&

マルチコアからメニーコアへ・・・?

10-08-05 SWoPP2010-BoF-2 3

Single-core Multi-core Many-core !

評価はソフトウェアシミュレータで・・・?  実装するのは楽!でも速度が・・・

 メニーコアシミュレータSimMcの場合

10-08-05 SWoPP2010-BoF-2 4

0

200

400

600

800

1000

1200

1400

1600

20 40 60 80 100

Sim

ulat

ion

Spee

d (k

ilo c

ycle

/ se

c)

# nodes

SimMc

64コアの シミュレーションで

70Kcycle/sec

100コアの シミュレーションで

43Kcycle/sec

じゃあ何で評価する?  チップは作れないけど, リアルタイムっぽく動作するものを見たいよね?

10-08-05 SWoPP2010-BoF-2 5 Difficulty to construct

Rea

lity

ソフトウェア シミュレーション

FPGA シミュレーション

実チップ 制作

より実チップに近い構成を 高速にシミュレーション

ハードウェア制約のない理想的な構成を

手軽に実現 リアルだが高価

FPGAシミュレーションのメリット  はやい

 ソフトウェアシミュレータ比で10倍~200倍高速  実験→検討→実験のループが短くなる

 (思ったより)やすい  64コア用のシステムで30万円~80万円

•  ScalableCoreシステムは64ノード分で30万円くらい •  RAMP Goldは$750らしい

 うまい  たくさんシミュレーションできてうまい!

•  たくさん実験結果が出る・・・かもしれない •  たくさん論文が書ける・・・かもしれない

10-08-05 SWoPP2010-BoF-2 6

シミュレーションが高速になると・・・  OSとかランタイムとか含めた 動的なベンチマークで評価できる・・・かも

10-08-05 SWoPP2010-BoF-2 7

Processor

Application

Processor

OS

Runtime

Application

more detailed

そこでScalableCoreシステムですよ!  多数のFPGAを 並べて構成される メニーコアの 評価環境 [高前田ら,SACSIS2010]

 Spartan-3Eを 並べた!

10-08-05 SWoPP2010-BoF-2 8

!"#$%&'"()*+&,

!"#$%&'"()*+&-

!"#$%&'"()*+&.

!"#$%&/+012&,&

!"#$%&/+012&-&

!"#$%&/+012&.&

3*(14)2*"+&'*504)6&

7,8,9& 7:8,9&

7:8:9&7,8:9&

ScalableCoreシステムの構成

10-08-05 SWoPP2010-BoF-2 9

ScalableCore Unit (FPGA) シミュレーション対象の構成要素

ScalableCore Board: Unitを接続する基板

Simulation Display: シミュレーション情報を 表示するディスプレイ

タイル状に配置した“Unit”を “Board”で接続する

プロトタイピングシステムの概念

スケールします: 1コア (1×1)

10-08-05 SWoPP2010-BoF-2 10

45cm

30cm

スケールします: 4コア (2×2)

10-08-05 SWoPP2010-BoF-2 11

45cm

30cm

スケールします: 16コア (4×4)

10-08-05 SWoPP2010-BoF-2 12

45cm

30cm

スケールします: 64コア (8×8)

10-08-05 SWoPP2010-BoF-2 13

!"#$%&'"()*+&,

!"#$%&'"()*+&-

!"#$%&'"()*+&.

!"#$%&/+012&,&

!"#$%&/+012&-&

!"#$%&/+012&.&

3*(14)2*"+&'*504)6&

7,8,9& 7:8,9&

7:8:9&7,8:9&

ScalableCoreシステム v1.1の構成  M-Coreのサイクルアキューレートな シミュレーション環境  各UnitにM-Coreの計算ノードを1つ実装

•  MIPSコア,メモリ,ルータ,ネットワークコントローラ  64ノードシミュレーションで14.2倍高速

•  電力効率では23倍高効率

10-08-05 SWoPP2010-BoF-2 14

プログラムローダ

シミュレーション速度  64ノードで14.2倍の高速化

 もっと頑張りましょう.

10-08-05 SWoPP2010-BoF-2 15

0

200

400

600

800

1000

1200

1400

1600

20 40 60 80 100 0

5

10

15

20

Sim

ulat

ion

Spee

d (k

ilo v

irtua

l cyc

le /

sec)

Spee

dup

# nodes

SpeedupSimMc

ScalableCore system

適用例: 高機能ルータアーキテクチャ  ルータによるプロセッサの信頼性向上手法SmartCoreシステムを実装  ルータをちょっと書き換えると実装できる!

10-08-05 SWoPP2010-BoF-2 16

SD

Loader (0,1)

物理ID (1,1)

Path (0,2)

物理ID (1,2)

物理ID (2,1)

物理ID (2,2)

物理ID (3,1)

物理ID (3,2)

物理ID (4,1)

物理ID (4,2)

Path (0,3)

物理ID (1,3)

物理ID (2,3)

物理ID (3,3)

物理ID (4,3)

論理ID (1,1)

論理ID (1,2)

論理ID (1,3)

論理ID (2,1)

論理ID (2,2)

論理ID (2,3)

電源 Master Mirror Master Mirror Master 物理ID (1,1) 論理ID (1,1)

Mirror 物理ID (2,1) 論理ID (1,1)

Router Router

INCC INCC

Masterに来たパケットをMirrorへコピー

宛先が物理ID(1,1)のパケット 宛先が物理ID(2,1)のパケット

Master 物理ID (1,1) 論理ID (1,1)

Mirror 物理ID (2,1) 論理ID (1,1)

Router Router

INCC INCC

宛先が物理ID(1,3)のパケット 宛先が物理ID(1,1)のパケット

(1) MasterとMirrorからの パケットを待ち合わせる

(2) Mirrorから来たパケットとMasterが出すパケットを比較

(3) 一致ならパケットをマージ

宛先をMasterに 書き換える

ScalableCoreシステムがあると・・・  手元で64コア(以上)が動作する!

 ソフトウェアシミュレータで動作するのより 嬉しい!

 たくさんシミュレーションできる!  デモンストレーションできる!

 目立つ!  研究室公開にも使える!

 HDLを書くモチベーションになる!(?)  ちょっとは実回路構成考えてみるかー  ソフトウェアよりちょっとだけ現実的な構成

10-08-05 SWoPP2010-BoF-2 17

実際に作ってみて・・・  シンプルなはずなのに動かない!

 たくさん並べるのはやっぱり難しい  非決定的な部分がたくさん

 動いたとき嬉しい!  ソフトウェアシミュレータ・HDLシミュレーションで動くのと訳が違う!

 非決定性に勝った!!!

 予想外に珍しいらしい  ハードウェア作っている人って実は多くない?

10-08-05 SWoPP2010-BoF-2 18

まとめ  シンプルなハードウェア ScalableCoreシステムで 楽しいアーキテクチャ検証をしましょう!

 実際にハードウェア作るのは楽しいです♪

10-08-05 SWoPP2010-BoF-2 19