Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


Presentation on theme: "マルチTPcoreによる並列コンピュータ"— Presentation transcript:

1 マルチTPcoreによる並列コンピュータ
並列処理用プロセッサの再構築と FPGA内ネットワーク 首都大学東京 数理情報科学専攻  福永 力 URCFセミナー

2 目次 研究の背景 Communicating Sequential Process(CSP) (通信逐次プロセス)
TransputerとOccam TPcore開発工程 TPcoreアーキテクチャ 動作検証と実装結果 動体認識と追跡への応用 URCFセミナー

3 研究の背景 並列処理理論としてのCSPの有用性・将来性 CSPをもとにしたOccam言語の有用性と 並列処理プログラム記述の簡便性
Inmos社(当時)のOccamコンパイラ+Toolsetの再利用 このプロセッサをもとに並列処理システムの 応用分野の拡大発展 さらなるプロセッサの開発への一歩 URCFセミナー

4 CSP(Communicating Sequential Process) 通信逐次プロセス
(逐次実行)プロセスが処理単位 プロセスは次々とイベントが起こることにより実行される 入出力イベントが(2つの)プロセス間の唯一の相互作用 (データ移動) 入出力イベントは2つのプロセス間に張られた 共通インターフェース(チャンネル)を通してなされる 入出力イベントにより2つのプロセスは同期をとる (バッファなし同期通信) デッドロック(あるいはライブロック)に注意が必要 URCFセミナー

5 Deadlock,Livelockの回避・除去
例えば2つのプロセスが2つのチャンネルで通信し合うときその順番 を取り違えた場合 モデル作成段階でさまざまなモデル検証・精錬アプリケーションが市販(フリーも)されている. FDR2(Failure Divergence Refinement),ProBe,ARC,Casper デッドロック 正常通信 URCFセミナー

6 Occamについて 並列プログラミングが容易 CSPを具現したプログラミング言語 逐次プロセス(SEQ)と並列プロセス(PAR)の記述が可能
チャンネル通信のためのチャンネル変数:プロセス間データ(メッセージ)交換に利用 並列プログラミングが容易 URCFセミナー

7 Transputer 英国 Inmos 社が開発した並列処理プロセッサ Occam を実行する命令セットを持つ
それぞれのプロセッサは4対の双方向 Link を持ち、さまざまなネットワークが構成可能 1台のtransputerでも並列プロセスが実行可能 P0 transputer 0 P1 transputer 1 Link 同じOccam記述で実行可能 URCFセミナー

8 Transputer 英国 Inmos 社が開発した並列処理プロセッサ Occam を実行する命令セットを持つ
それぞれのプロセッサは4対の双方向 Link を持ち、さまざまなネットワークが構成可能 1台のtransputerでも並列プロセスが実行可能 TP URCFセミナー

9 TPcore Transputer とアセンブリ命令レベルで互換 レジスタやバス構成は transputer のモデルを可能な限り踏襲
制御機構(Microcode ROM)はフルカスタム URCFセミナー

10 TPcore設計開発工程 transputer Core の研究段階 設計・開発段階 評価・検証段階 統合 TPcoreの回路設計
Verilog-HDLで記述 TPcoreの 動作検証 Link の検証 複数のTPcore での動作検証 transputer の構造及び 命令セットの解析 統合 マイクロコードの設計 各命令を実行するための 回路の状態遷移を記述 URCFセミナー

11 TPcore内部アーキテクチャ Link Memory Controller CPU Memory CPU部 Link部
32bit 8bit 8bit x 4 RAM 8K x 8bit Memory CPU部 Link部 Memory Controller Memory 外部Memory URCFセミナー

12 CPU レジスタやバス、 ALUを制御する信号を出力する URCFセミナー

13 命令実行の状態遷移 CPU Registers and busses address Memory(32KByte) 命令実行
Execution ROM code defines state of registers, bus and ALU Registers and busses MicroCode ROM Select address of MicroCode ROM 命令解読 Analysis Instruction register Oreg Iptr 8bit address 命令取得 Instruction Fetch Memory(32KByte) URCFセミナー

14 Micro-code ROM レジスタ間,メモリレジスタ間データパス制御,ALU機能決定 状態遷移管理 仕様変更への対処の容易さ
68bit 1024 step 仕様変更への対処の容易さ FPGA内部メモリの効率的仕様(論理領域有効利用) URCFセミナー

15 単一TPcore内の並列処理 単一TPCoreでのCSP独特の並列処理操作: PAR(Parallel),ALT(Alternate)などでの プロセス管理 プロセス間通信(チャンネル通信) プロセス待行列 はハードウェアアルゴリズムを独自開発       特許出願中(特願 ) URCFセミナー

16 単一TPcoreの動作確認 Eight Queensとハノイの塔 URCFセミナー

17 TPcoreとtransputerT425の性能比較
開発したTPCORE(FPGA) Originalのtransputer(ASIC) 動作周波数 24MHz 20,25,30MHz 回路規模 3816slices(論理素子ユニット) 〜 gates メモリ 32KByte 24MByte/sec (FPGAに依存/Processor同期) 4KByte(内部RAM) 100MByte/sec 4GByte(外部RAM)33MByte/sec リンク 24Mbit/sec(Processor同期) 5/10/20 Mbit/sec URCFセミナー

18 マルチTPcoreの組み込み FPGAとしてXilinx Virtex4LX160を使用 最大67,584slices( gates)回路規模 TPcore(4000slices)16台+ネットワークを1FPGAに実現可能 今後Virtex5 familyでさらなるマルチTPcoreの実現が期待できる: Virtex5LX330でゲート規模が1.8倍を実現している. URCFセミナー

19 マルチTPcore組込み例 Mandelbrot集合の描画 フロントエンドTPcoreの数 Nftp
全体ネットワークのTPcore数 Nttp 構成例 Nftp=2 Nttp= Nftp=4 Nttp= Nftp=8 Nttp=15 URCFセミナー

20 マルチTPcore組み込み例(続) 描画時間 vs. フロントエンドTPcore数
FPGAの占有率も考慮しなければならない(60%以下が効率的) フロントエンド,中継TPcoreのソフトウェアの注意深いチューニングが必要 8% 17% % % %   FPGA占有率 URCFセミナー

21 並列処理応用例:対象認識と追跡 航空写真のブレ補正 航空機の対地速度(V)/対地高度(H)比 →山岳への衝突回避
ミサイルや航空機など飛翔体の発見・追尾 →天空など高輝度背景中の物体検出 噴煙や地すべり、河川の流れ計測 自律搬送車の無人走行 URCFセミナー

22 標的認識・追跡アルゴリズム オプティカルフロー 空間フィルタリング 時系列フィルタリング Lucas&Kanadeの勾配法
並列処理との親和性あり 色ヒストグラムとMean-Shift法 並列処理アルゴリズムの開発の必要 空間フィルタリング Matrix 加減乗除算と並列処理の親和性 (シストリックアレー) 時系列フィルタリング 時系列モデルによる追跡と予測 並列処理アルゴリズムの開発の必要性 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 URCFセミナー

24 複数TPcoreを用いた並列処理 URCFセミナー

25 まとめと今後の展望 並列処理プロセッサとしてのTPcore T9000級のプロセッサの開発
TPcoreはCSPシステムを完全に実現できる ハードウェアプロセッサ→CSP発展のフィールド 超並列システム(より粒状化の進んだ並列システム)への移行の前段階の研究 並列システムソフトウェアの効率向上のためのツールの開発 新たな通信プロトコルの開発 TPcoreネットワークによる並列処理システム応用 動体認知・追跡 実時間処理ネットワークシステムの基幹プロセッサ ロボット 車載(分散)制御システムの統合ネットワーク T9000級のプロセッサの開発 URCFセミナー


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

Similar presentations


Ads by Google