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

Slides:



Advertisements
Similar presentations
並列プログラミング言語による Dining Philosophers Problem の検証 大井 謙 数理科学コース 4 年 福永研究室 2010 年 3 月 4 日 ( 木 ) 1.
Advertisements

MPIを用いたグラフの並列計算 情報論理工学研究室 藤本 涼一.
第3回 並列計算機のアーキテクチャと 並列処理の実際
Chapter11-4(前半) 加藤健.
高度情報演習1A “テーマC” 実践 画像処理プログラミング 〜画像認識とCGによる画像生成〜 第四回 演習課題 画像中からの物体抽出処理(背景情報を手がかりとして) 芝浦工業大学 工学部 情報工学科 青木 義満 2006/05/15.
LZ圧縮回路の設計とハード・ソフト 最適分割の検討 電子情報デザイン学科 高性能計算研究室 4回生 中山 和也 2009/2/27.
計算機システムⅡ 主記憶装置とALU,レジスタの制御
研究集会 「超大規模行列の数理的諸問題とその高速解法」 2007 年 3 月 7 日 完全パイプライン化シフト QR 法による 実対称三重対角行列の 固有値並列計算 宮田 考史  山本 有作  張 紹良   名古屋大学 大学院工学研究科 計算理工学専攻.
オリジナルなCPUの開発 指導教授:笠原 宏 05IE063 戸塚 雄太 05IE074 橋本 将平 05IE089 牧野 政道
MATLAB測位プログラミングの 基礎とGT (1)
Ibaraki Univ. Dept of Electrical & Electronic Eng.
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
CSP記述によるモデル設計と ツールによる検証
画像処理ボード上での 高速テンプレートマッチングの 実装と検証
Ibaraki Univ. Dept of Electrical & Electronic Eng.
パソコンの歴史 ~1970年 1970年代 1980年代 1990年~ ▲1946 ENIAC(世界最初の計算機、1,900加算/秒, 18,000素子) ▲1947 UNIVACⅠ(最初の商用計算機) ▲1964 IBM System/360(5.1MHz, 1MB, 2億円) ▲1974 インテル8080(8.
専門演習Ⅰ 国際経済学部 国際産業情報学科 2年 石川 愛
第7回 2006/6/12.
組み込み向けCPU 小型デバイスに搭載されるCPU 特徴 携帯電話,デジタルカメラ,PDA,センサデバイスなど 小型 低消費電力 多機能
MPIによる行列積計算 情報論理工学研究室 渡邉伊織 情報論理工学研究室 渡邉伊織です。
京都大学大学院医学研究科 画像応用治療学・放射線腫瘍学 石原 佳知
Occam言語による マルチプリエンプティブシステムの 実装と検証
高度情報演習1C 実践 画像処理プログラミング
OpenMPハードウェア動作合成システムの検証(Ⅰ)
オペレーティングシステムJ/K (実時間処理システム)
All IP Computer Architecture
高速剰余算アルゴリズムとそのハードウェア実装についての研究
読み出し回路のアップグレードに向けた研究
コンピュータを知る 1E16M009-1 梅津たくみ 1E16M017-8 小沢あきら 1E16M035-0 柴田かいと
序章 第2節 教育機器とコンピュータ 1 パーソナルコンピュータ
オブジェクト指向プログラムにおける エイリアス解析手法の提案と実現
コンピュータ系実験Ⅲ 「ワンチップマイコンの応用」 第1週目 アセンブリ言語講座
高度情報演習1A “テーマC” 実践 画像処理プログラミング 〜画像認識とCGによる画像生成〜 第二回 演習課題
高度情報演習1C 実践 画像処理プログラミング 第二回 演習課題
巡回冗長検査CRC32の ハード/ソフト最適分割の検討
コンピュータの基本構成について 1E16M001-1 秋田梨紗 1E16M010-2 梅山桃香 1E16M013-3 大津智紗子
ゲーム開発モデルの基礎.
通信機構合わせた最適化をおこなう並列化ンパイラ
ディジタル回路の設計と CADによるシステム設計
最新 IT トレンド ARM.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータの仕組み 〜ハードウェア〜 1E15M009-3 伊藤佳樹 1E15M035-2 柴田将馬 1E15M061-1 花岡沙紀
コンピュータアーキテクチャ 第 10 回.
関数型言語による Timed CSP 検証技法の提案
JAVAバイトコードにおける データ依存解析手法の提案と実装
坂井 修一 東京大学 大学院 情報理工学系研究科 電子情報学専攻 東京大学 工学部 電気工学科
明星大学 情報学科 2012年度前期     情報技術Ⅰ   第1回
並列処理プロセッサTPCOREの 組み込みシステムへの応用 理工学研究科数理情報科学専攻 福永 力,岩波智史,情報システム研究室.
Ibaraki Univ. Dept of Electrical & Electronic Eng.
コンピュータアーキテクチャ 第 9 回.
Handel-Cを用いた パックマンの設計
コンピュータアーキテクチャ 第 10 回.
計算機アーキテクチャ1 (計算機構成論(再)) 第一回 計算機の歴史、基本構成、動作原理
全体ミーティング (5/23) 村田雅之.
コンピュータアーキテクチャ 第 5 回.
パイプラインとは何か? マイクロプロセッサ(MPU)の高速化手法の一つのこと。
卒業研究 JCSPを用いたプログラム開発  池部理奈.
Cソースコード解析による ハード/ソフト最適分割システムの構築
オペレーティングシステムJ/K (並行プロセスと並行プログラミング)
第4回 CPUの役割と仕組み2 命令の解析と実行、クロック、レジスタ
プロセッサ設計支援ツールを用いた 独自プロセッサの設計
コンピュータアーキテクチャ 第 9 回.
コンピュータアーキテクチャ 第 5 回.
MPIを用いた並列処理計算 情報論理工学研究室 金久 英之
XMOSプログラミング入門.
BSPモデルを用いた 最小スパニング木 情報論理工学研究室 02-1-47-134 小林洋亮.
MPIを用いた 並列処理 情報論理工学研究室 06‐1‐037‐0246 杉所 拓也.
明星大学 情報学科 2014年度前期     情報技術Ⅰ   第1回
並列処理プロセッサへの 実数演算機構の開発
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

命令実行の状態遷移 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) 2007.9.21 URCFセミナー

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

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

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

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

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

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

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

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

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

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 2007.9.21 URCFセミナー

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

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