マルチ tpcore による並列コンピュータ

25
2007.9.21 URCFセセセセ 1 セセセ TPcore セセセセセセセセセセセ セセセセセセセセセセセセセセセ FPGA セセセセセセセ セセセセセセ セセセセセセセセ セセ

Upload: lydia

Post on 12-Jan-2016

81 views

Category:

Documents


0 download

DESCRIPTION

マルチ TPcore による並列コンピュータ. 並列処理用プロセッサの再構築と FPGA 内ネットワーク 首都大学東京 数理情報科学専攻  福永 力. 目次. 研究の背景 Communicating Sequential Process ( CSP ) (通信逐次プロセス) Transputer と Occam TPcore 開発工程 TPcore アーキテクチャ 動作検証と実装結果 動体認識と追跡への応用. 研究の背景. 並列処理理論としての CSP の有用性・将来性 CSP をもとにした Occam 言語の有用性と 並列処理プログラム記述の簡便性 - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 1

マルチ TPcore による並列コンピュータ

並列処理用プロセッサの再構築とFPGA 内ネットワーク

首都大学東京 数理情報科学専攻 福永 力

Page 2: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 2

目次 研究の背景 Communicating Sequential Process ( CSP )(通信逐次プロセス)

Transputer と Occam TPcore 開発工程 TPcore アーキテクチャ 動作検証と実装結果 動体認識と追跡への応用

Page 3: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 3

研究の背景 並列処理理論としての CSP の有用性・将来性 CSP をもとにした Occam 言語の有用性と

並列処理プログラム記述の簡便性 CSP をもとに設計された並列処理プロセッサの

現代技術のもとでの復元 Inmos 社(当時)の Occam コンパイラ +Toolset の再利用 このプロセッサをもとに並列処理システムの

応用分野の拡大発展 さらなるプロセッサの開発への一歩

Page 4: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 4

CSP ( Communicating Sequential Process )

通信逐次プロセス

(逐次実行)プロセスが処理単位 プロセスは次々とイベントが起こることにより実行さ

れる 入出力イベントが( 2つの)プロセス間の唯一の相互

作用(データ移動)

入出力イベントは 2つのプロセス間に張られた共通インターフェース(チャンネル)を通してなされる

入出力イベントにより2つのプロセスは同期をとる(バッファなし同期通信)

デッドロック(あるいはライブロック)に注意が必要

Page 5: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 5

例えば 2つのプロセスが 2つのチャンネルで通信し合うときその順番を取り違えた場合

モデル作成段階でさまざまなモデル検証・精錬アプリケーションが市販(フリーも)されている. FDR2 ( Failure Divergence Refinement ), ProBe , ARC , Ca

sper

Deadlock,Livelock の回避・除去

正常通信デッドロック

Page 6: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 6

Occam について

CSP を具現したプログラミング言語

逐次プロセス( SEQ )と並列プロセス( PAR )の記述が可能

チャンネル通信のためのチャンネル変数:プロセス間データ(メッセージ)交換に利用

並列プログラミングが容易

Page 7: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 7

P0

transputer 0

P1

transputer 1

P0 P1

transputer 0Link

同じ Occam 記述で実行可能

Transputer

英国 Inmos 社が開発した並列処理プロセッサ Occam を実行する命令セットを持つ それぞれのプロセッサは 4対の双方向 Link を持ち、

さまざまなネットワークが構成可能 1台の transputer でも並列プロセスが実行可能

Page 8: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 8

Transputer

英国 Inmos 社が開発した並列処理プロセッサ Occam を実行する命令セットを持つ それぞれのプロセッサは 4対の双方向 Link を持ち、

さまざまなネットワークが構成可能 1台の transputer でも並列プロセスが実行可能

TP

TP

TP

TP

TP

TP

TP

TP

TP

TP

TP

TP

TP

TP

TPTP

TP

TP TP

Page 9: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 9

TPcore

Transputer とアセンブリ命令レベルで互換

レジスタやバス構成は transputer のモデルを可能な限り踏襲

制御機構 (Microcode ROM)はフルカスタム

Page 10: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 10

TPcore 設計開発工程

transputerの構造及び

命令セットの解析

TPcore の回路設計•Verilog-HDL で記述

マイクロコードの設計•各命令を実行するための 回路の状態遷移を記述

transputer Coreの研究段階

設計・開発段階

評価・検証段階

統合

TPcore の動作検証

Link の検証

複数の TPcoreでの動作検証

Page 11: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 11

TPcore 内部アーキテクチャ CPU 部

Link部

Memory Controller

Memory

Link

Memory Controller

CPU

32bit 32bit

8bit8bit8bit 8bit

8bit x 4

RAM8Kx

8bit

Memory

RAM8Kx

8bit

RAM8Kx

8bit

RAM8Kx

8bit

外部Memory

Page 12: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 12

CPU

レジスタやバス、

ALU を制御する信号を出力する

Page 13: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 13

命令実行の状態遷移

ROM code defines state of registers, bus and ALU

CPU

address

Iptr

MicroCode ROM

Instruction register

Oreg

Registers and busses

Memory(32KByte)

Select address of MicroCode ROM

8bit

命令実行Execution

命令解読Analysis

命令取得Instruction Fetch

Page 14: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 14

Micro-code ROM◆ レジスタ間,メモリレジスタ間データパス制御, ALU 機能決定◆ 状態遷移管理

◆ 仕様変更への対処の容易さ◆ FPGA 内部メモリの効率的仕様(論理領域有効利用)

68bit

1024step

Page 15: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 15

単一 TPcore 内の並列処理 単一 TPCore での CSP独特の並列処理操作:PAR ( Parallel ), ALT ( Alternate )などでの プロセス管理 プロセス間通信(チャンネル通信) プロセス待行列

はハードウェアアルゴリズムを独自開発

      特許出願中(特願 2007-211904 )

Page 16: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 16

単一 TPcore の動作確認 Eight Queens とハノイの塔

Page 17: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 17

TPcore と transputerT425 の性能比較

開発した TPCORE ( FPGA ) Originalの transputer( ASIC)

動作周波数 24MHz 20,25,30MHz

回路規模 3816slices (論理素子ユニット)

〜 107 000gates

メモリ 32KByte24MByte/sec

( FPGA に依存 /Processor 同期 )

4KByte (内部 RAM) 100MByte/sec

4GByte (外部 RAM) 33MByte/sec

リンク 24Mbit/sec ( Processor 同期)

5/10/20 Mbit/sec

Page 18: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 18

マルチ TPcore の組み込み FPGA として Xilinx Virtex4LX160 を使用最大 67,584slices ( 1890000gates )回路規模

TPcore ( 4000slices ) 16台 + ネットワークを 1FPGA に実現可能

今後 Virtex5 familyでさらなるマルチ TPcore の実現が期待できる:Virtex5LX330 でゲート規模が 1.8 倍を実現している.

Page 19: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 19

マルチ TPcore組込み例 Mandelbrot集合の描画 フロントエンド TPcore の数 Nftp 全体ネットワークの TPcore 数 Nttp 構成例

Nftp=2 Nttp=3 Nftp=4 Nttp=7 Nftp=8 Nttp=15

Page 20: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 20

マルチ TPcore組み込み例(続)

Mandelbrot GraphWritingTime vs.

Number of front-end TPcore

0

200000

400000

600000

800000

1000000

1200000

1400000

0 1 2 3 4 5 6 7 8 9

Time

Time(clocks)

ï`âÊTPcoreêî

8% 17% 36% 57% 86%    FPGA占有率

描画時間 vs. フロントエンド TPcore 数

単純にフロントエンドの TPcore を増やしても描画時間はすぐに飽和 FPGA の占有率も考慮しなければならない( 60% 以下が効率的) フロントエンド,中継 TPcore のソフトウェアの注意深いチューニング

が必要

Page 21: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 21

並列処理応用例:対象認識と追跡

航空写真のブレ補正 航空機の対地速度 (V) /対地高度 (H) 比→山岳への衝突回避

ミサイルや航空機など飛翔体の発見・追尾→天空など高輝度背景中の物体検出

噴煙や地すべり、河川の流れ計測 自律搬送車の無人走行

Page 22: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 22

標的認識・追跡アルゴリズム オプティカルフロー

Lucas&Kanade の勾配法• 並列処理との親和性あり

色ヒストグラムと Mean-Shift法• 並列処理アルゴリズムの開発の必要

空間フィルタリング Matrix 加減乗除算と並列処理の親和性(シストリックアレー)

時系列フィルタリング 時系列モデルによる追跡と予測

• 並列処理アルゴリズムの開発の必要性

Page 23: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 23

Lucas&Kanade法と並列処理 I(xi,yi,t)を時刻 t でのセル xi,yi

の画像強度( Intensity) (t-1) から tでの位置シフト(速度)を u,v とするとIxu+Iyv+It=0を満たす u,v を探す.

となりあうセルの情報が必要 近傍セルすべての I, Ix,Iyを並列

処理で効率よく計算• Ix=dI/dx, Iy=dI/dy, It=dI/dt

Page 24: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 24

複数 TPcore を用いた並列処理

Page 25: マルチ TPcore による並列コンピュータ

2007.9.21 URCFセミナー 25

まとめと今後の展望 並列処理プロセッサとしての TPcore

TPcore は CSP システムを完全に実現できるハードウェアプロセッサ→ CSP 発展のフィールド• 超並列システム(より粒状化の進んだ並列システム)への移行の前段階の研究

• 並列システムソフトウェアの効率向上のためのツールの開発• 新たな通信プロトコルの開発

TPcore ネットワークによる並列処理システム応用• 動体認知・追跡

実時間処理ネットワークシステムの基幹プロセッサ• ロボット• 車載(分散)制御システムの統合ネットワーク

T9000級のプロセッサの開発