FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

16
スクラッチからシステムを作ろう -チップからOSまで- FPGAシステムを作るといいことがある(かも?) 高前田(山崎) 伸也 東京工業大学 大学院情報理工学研究科 日本学術振興会 特別研究員 DC1 2011-07-29 SWoPP2011@鹿児島 BoF-2 19:10-20:40

description

SWoPP2011鹿児島 BoF-2「スクラッチからシステムを作ろう -チップからOSまで-」にて

Transcript of FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

Page 1: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

スクラッチからシステムを作ろう -チップからOSまで-

FPGAシステムを作るといいことがある(かも?)

高前田(山崎) 伸也

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

2011-07-29 SWoPP2011@鹿児島 BoF-2 19:10-20:40

Page 2: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

はじめに n 昨年のSWoPP2010@金沢のBoF-2に参加された方は, いらっしゃいますか?

2

Page 3: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

今回は・・・

n 東工大 吉瀬謙二 准教授の代理で来ました!

n 一学生の立場から マルチFPGAシステムScalableCoreシステムの 開発を通したメリット・デメリットについて お話したいと思います

3

Page 4: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

自己紹介

n 高前田(山崎) 伸也 (たかまえだ(やまざき) しんや) l 東京工業大学 大学院情報理工学研究科 計算工学専攻 吉瀬研究室 博士課程 1年

l 日本学術振興会 特別研究員 DC1

n 専門/研究 l プロセッサアーキテクチャ

•  DMAベースメニーコアのためのアーキテクチャサポート •  高信頼メニーコア実現のための高機能NoC

l リコンフィギャラブルシステム •  メニーコアアーキテクチャ評価のためのマルチFPGAシステム

4

Page 5: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

一学生の主張

5

実際にシステム開発をすると 開発スキルは身につくよ!

Page 6: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

マルチコア/メニーコアプロセッサ

6

Intel Single Chip Cloud Computer 48 cores (x86)

TILERA TILE-Gx100 100 cores (MIPS)

Page 7: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

7

オレオレ メニーコアが欲しい!!

Page 8: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

開発したシステム: ScalableCoreシステム n 複数のFPGAからなるメニーコアシミュレータ

l 現在,最大100個FPGAの並べたシステムが動作

8

DRAM Controller DRAM Controller

DRAM Controller DRAM Controller

Local Memory

DMAC

Core

R

Map

Page 9: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

ScalableCoreシステムについて n 隣接FPGAと同期を取りながらシミュレーション

l コア数に対してスケーラブルなシミュレーション速度

n システム機能によりFPGAデバイスを仮想化

9

Power Supply & SD Card

DC5V

SD Card

FPGA

SRAM

Power Supply

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

Target Core

System Function

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

FPGA

SRAM

Power Domain 1

Power Domain 2

ScalableCore Unit

Core DMAC

Local Memory (Interface)

Router

Ser/Des Memory Multiplexer

Initializer Device Controller

Arbiter Interface Register

Target Core

System Functions

Page 10: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

基板たち

10

Page 11: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

動作するまで n  2008年12月: プロジェクト開始 n  2009年3月: 専用FPGA基板 V1.0設計・開発

l  Spartan-3E 500E

n  2009年7月: ScalableCoreシステム 0.7 動作 n  2009年12月: ScalableCoreシステム 1.0 動作

l  64FPGAシステム l  SACSIS 2010にて発表&ポスター発表→ポスター賞受賞

n  2010年8月: ScalableCoreシステム 2.0 開発 l  Spartan-3E 1200E/Spartan-6

n  2011年3月: ScalableCoreシステム 3.0 動作 l  100FPGAシステム

11

Page 12: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

何を作ればFPGAシステムになるか?

12

FPGA基板 (はんだ付け)

基板レイアウト

システムアーキテクチャ

FPGA回路 (HDL記述)

制御ソフトウェア

ベンチマークアプリケーション

Page 13: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

(自分が思う) FPGAシステム開発に必要なもの

n 速い計算機 l 回路の合成には長い時間がかかります

•  小規模Spartan-6 XC6SLX16をターゲットとした場合,約15分

n 根気 l シミュレータで動いたけど,実機では・・・

•  I/Oが増えると挙動が読みづらい

n 予算 l ものが買えないと作りようがない l 学生ではどうにかするのは難しいかも l 学生なら学振とか未踏とか?

13

Page 14: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

(自分が思う)システム開発のメリット n コードを書く力が身につく!

l 自分が使えるデザインパターンが増える・洗練される n ツールの使い方が身につく!

l 各種シミュレータやスクリプト言語がリアルに使えるように n 想像力が高まる!

l もし,ここが間違っていたら,ここがこうなるはず l もし,ここが壊れていたら,そもそも,ここまで進まないはず l もしかして,アーキテクチャが間違っている?

•  いろいろなレイヤーの事を考える!

n 開発が進んだときの嬉しさ l 上から下まで揃って動くととても嬉しい!

n これらのことがどれくらいの価値を持っているかは不明

14

Page 15: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

(自分が思う)システム開発によるデメリット

n 実際のシステム開発は想像以上に時間がかかる l ただの学生がやる場合には特に l 修士2年間ではあまり進まないかもしれない

n 論文執筆までのスパンが長くなる l 論文が書けずに悶々と・・・ l 他の研究をやった方が論文「は」書けるのでは?

n でも,失敗は学生の特権! l 研究室の予算が飛ぶだけ l システム開発は失敗しても,その分学びましょう!

15

Page 16: FPGAシステムを作るといいことある(かも?) @SWoPP2011鹿児島 BoF-2

まとめ

16

実際にシステム開発をすると 開発スキルは身につくよ!

失敗してもいいじゃない!

気楽にシステム開発しましょう!