1 / 25

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

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

lydia
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

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

  3. 研究の背景 • 並列処理理論としてのCSPの有用性・将来性 • CSPをもとにしたOccam言語の有用性と並列処理プログラム記述の簡便性 • CSPをもとに設計された並列処理プロセッサの現代技術のもとでの復元 • 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 0 transputer 1 transputer 0 Link P0 P1 P0 P1 同じOccam記述で実行可能 Transputer • 英国 Inmos 社が開発した並列処理プロセッサ • Occam を実行する命令セットを持つ • それぞれのプロセッサは4対の双方向 Link を持ち、さまざまなネットワークが構成可能 • 1台のtransputerでも並列プロセスが実行可能 URCFセミナー

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

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

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

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

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

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

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

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

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

  17. TPcoreとtransputerT425の性能比較 URCFセミナー

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

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

  20. 8% 17% 36% 57% 86%FPGA占有率 マルチTPcore組み込み例(続) • 描画時間 vs. フロントエンドTPcore数 • 単純にフロントエンドのTPcoreを増やしても描画時間はすぐに飽和 • FPGAの占有率も考慮しなければならない(60%以下が効率的) • フロントエンド,中継TPcoreのソフトウェアの注意深いチューニングが必要 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 • TPcoreはCSPシステムを完全に実現できるハードウェアプロセッサ→CSP発展のフィールド • 超並列システム(より粒状化の進んだ並列システム)への移行の前段階の研究 • 並列システムソフトウェアの効率向上のためのツールの開発 • 新たな通信プロトコルの開発 • TPcoreネットワークによる並列処理システム応用 • 動体認知・追跡 • 実時間処理ネットワークシステムの基幹プロセッサ • ロボット • 車載(分散)制御システムの統合ネットワーク • T9000級のプロセッサの開発 URCFセミナー

More Related