64
リコンフィギャラブルシステムの ハイパフォーマンス コンピューティングへの応用 慶應義塾大学 天野英晴

リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

リコンフィギャラブルシステムのハイパフォーマンスコンピューティングへの応用

慶應義塾大学

天野英晴

Page 2: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

1990 20001980

10k

100k

1M

10M

ゲート数 性能の飛躍91年を1とすると2005年までで

ヒューズ型PLA

EEPROM型SPLD

SRAM型FPGAの登場CPLD

登場

アンチヒューズ型FPGA登場 階層構造

内蔵コア低電圧化

PLDの成長

論理回路搭載量 200倍動作速度 40倍電力 1/50コスト 1/500

Page 3: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

FPGA(Field Programmable Gate Array)LUT

F.F

論理ブロック

スイッチ

ブロック

コネクション

ブロック

IOB

アイランド

スタイル

LUT, スイッチブロックの設定は

SRAM内の構成情報

(コンフィギュレーションデータ)

で変更可能

Page 4: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

なぜFPGA-SRAM型だけ大発展を遂げたか?

大規模PLD(Programmable Logic Device)CPLD(Complex PLD)プロダクトターム方式のロジックブロックをプログラマブルスイッチで接続

FPGA(Field Programmable Gate Array)LUTをアイランド方式で接続

柔軟性の実現法アンチヒューズ型

EEPROM、フラッシュメモリ型SRAM型

通常のCMOSプロセスをそのまま利用可能大量の論理回路の搭載に最適

Page 5: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Xilinx Virtex IIの構成

Programmable IOs

Configurable Logic

DCM IOB

RAM Multiplier

GlobalClockMUX

LUT Carry D Q

LUT Carry D Q

Slice

Slice X 2 → CLB (Configurable Logic Block)

10万CLB3Mbit

Page 6: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Altera Stratix II

Mega RAMBlocks

M4K RAMBlocks

M512 RAMBlocks

PLL

DSP Blocks

LAB:Logic Array Block4入力のLUTとF.F.から成るLE 10個から構成される

ローカルコネクトとグローバルコネクトにより高速なデータ転送を実現

Page 7: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

SoPD (System on Programmable Device)DCM

Rocket I/O, Multi-Gigabit Transceiver

Power-PC

MultiplierBlock RAM

CLBs

FPGA内に様々なコアを取り込む

XilinxVirtex-II Pro

Page 8: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

最近のFPGA/CPLDの流れ階層的構造による大規模化、高速化:

Xilinx社Virtexシリーズ、Altera社APEXシリーズ、StratixSystem on Programmable Device

DLL,CPU、DSP,メモリ、乗算器、高速リンクをハードIPとして混載

Xilinx社Virtex Pro (Power PC), Altera社Excalibur (ARM)目的別にIP構成を変える → Virtex-4の戦略

量産品を目指した低コストシリーズXilinx社Spartan, Altera社Cyclone

低電圧化、マルチ電圧化、低消費電力化

Page 9: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

1.2V200488XC4VLX200Virtex-490nm

1.2V331776XC5VLX330Virtex-565nm

1.5V125136XC2VP125Virtex-II Pro

130nm

1.5V104882XC2V800OVirtex-II150nm

1.8V43200XCV2000EVirtex-E180nm

2.5V27648XCV1000Virtex220nm

2.5V20102XC40250KVXC4000250nm

3.3V7448XC4085KLAXC4000350nm電圧LUT数型番シリーズプロセス

FPGAの変遷(Xilinx社)

Page 10: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

多品種戦略

Virtex II Proは、全ての製品にCPU、Rocket I/Oが装備されている→価格が上がる

目的別に複数のシリーズを設けるロジックブロック、DSP、BRAMは標準装備LX:ロジックブロックを多数装備EX:DSPを多数装備FX:CPUとハイスピードI/Oを装備LX/EXの価格はVirtex II Proよりも低く設定可能

Virtex-4 LX Virtex-4 SX Virtex-4 FX

Page 11: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

低コスト、量産品志向製品

Xilinx社Spartanシリーズ(Spartan3E)90nmプロセス利用10万ゲート以上の集積度、I/O数、内蔵RAM、乗算器、DLL等を持つ10万ゲートで2ドル未満、120万ゲートで9ドル未満50万ユニットを越えなければASICよりSpartanが有利

Altera社 Cyclone IIも同様な特性を持つ

Page 12: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

柔軟性

高速性

CPU

for i=0; i<K; i++X[i]=X[i+j]

.....

汎用CPUソフトウェア

専用LSI

設計A

設計C

設計D

設計B

リコンフィギャラブルデバイス

様々な構成を実現可能高速性と柔軟性を共に実現

リコンフィギャラブルシステム

リコンフィギャラブルシステムとは?

Page 13: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

リコンフィギャラブルシステムを用いたハイパフォーマンスコンピューティング初期の試み(90年代)

CPU内の浮動小数点演算器に比べて50倍性能が低い(20MHz 対 1GHz)浮動小数点演算器を一個搭載するとFPGAが一杯に、、

浮動小数点演算以外の部分を高速化パターンマッチング

画像処理(特にレーダー画像処理)

暗号解読

大規模なものが商業的に成功するのは困難単一基板などの小規模なものは商業的に普及

Page 14: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Splash-2 (米国計算機科学センター)

String matching, Image processing, DNA matching, Cray-IIの330倍の性能を達成して話題となる

シストリックアルゴリズムに特化

VHDL, Parallel CAnnapolis MicroSystems(WILDFIRE)

Page 15: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

RM-IV (神戸大学)

FPGAmem.

FPGAmem. FPGAmem.

FPGAmem.

FPGAmem.

FPGAmem. FPGAmem.

FPGAmem.

FPGA mem.

FPGA mem.FPGA mem.

FPGA mem.

FPGA mem.

FPGA mem.FPGA mem.

FPGA mem.

FPIC

Interface

各FPGAがメモリを持つ

Page 16: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

RASH(三菱電機)

FPGA Altera FLEX10K100A (62k-158kGate)を利用

→後にStratixに変更、さらにVirtex-Proを用いて合成開口レーダの画像処理へ応用

EXE-board controller

FPGA FPGA FPGA FPGA

FPGA FPGA FPGA FPGA

PCI Local-bus

PCI-bus

PCI-bus I/F

Clocks/Cont. signals

SRAM(2MB)

Local-bus

メッシュリンクとバス

2 clock lines

PCI bus I/F

A large SRAM

DRAM daughter board

図の実行ボード6枚で1ユニットを形成

Page 17: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

最近のシステム内蔵の乗算(DSP)モジュールを利用し、提供されるライブラリを用いればIEEE標準の浮動小数点演算器が比較的容易に実装可能しかし、動作周波数は100MHz-200MHz程度で4GHzで動作するCPU内の演算器とはまだ20-40倍の開きがあるFPGA1個の上に6-70個程度実装可能になった(倍精度)まともに戦うとまだ勝てない強力な演算用CPUと組み合わせて大規模なクラスタを構成

CRAY-XD1, RASC, SRC-6ある程度分野を絞って演算処理に工夫をする

BEE2, PROGRAPE-3, RAPLACE, ReCSiP

「テクノロジの改善が一定の率であっても、新しい能力を可能とすることができる一定の閾値に達すると、その影響が飛躍的に大きくなることがある。」→ ヘネパタのテキストより

FPGAはこの閾値に達しつつある

Page 18: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

CRAY-XD1:• AMD Opteronベース• 2プロセッサ+FPGA(Virtex II Pro)で1ボード• 6ボード1筐体格納• 高速ネットワークRapid Arrayで接続• Rocket I/OでFPGA同士の直接結合可能• プログラミングはHDLで…

Page 19: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

SGI RASC•SGI社のNUMA Altixシリーズに組み込むアクセラレータ•Virtex II XC2V6000が中心、もう一つ再構成用にVirtexチップを持つ•NUMAlink4 2本により直接分散共有メモリコントローラに接続

Page 20: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

BEE2 (Berkeley Emulation Engine 2)5 Virtex II FPGA20 banks DDR2-400memorys18 10Gbps links

Ethernet, USBなどのポートを持つ

RAMP-1、RAMP Blueなどを含め様々なプロジェクトで利用されている

Page 21: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

BEE2のFPGA間接続

Page 22: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

PROGRAPE-3

粒子間相互作用の計算

一部の処理をオフロード、高い性能を達成

Page 23: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

正統派科学技術計算(つまり浮動小数点演算を使うもの)への壁

研究レベルでは非常に盛んになっている→FCCM,FPL,FPTなどではスーパーコンピューティング関連の論文が2,3セッションを占める

実際上、以下の3つの問題点がある

浮動小数点演算能力の壁

プログラミングの壁

スケーラビリティの壁

Page 24: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

浮動小数点演算器の壁DSPモジュール、ライブラリのお蔭で、浮動小数点演算器は容易にFPGA上に実装可能動作周波数は200MHzを越えるのは困難最大規模のFPGAでも6-70個程度とすると、2-4GHzで動作するCPU内の浮動小数点演算器(マルチコアで数個から数十個)に勝てないかも直接データをメモリから送り込み、演算器間でパイプライン処理をきちんとやれば、周波数の違いを埋めることは可能→CPU内の演算器は効率が悪い、、しかし、リコンフィギャラブルシステムはアクセラレータとして使われるはず→ということは勝負できる、ということでは駄目。最低10倍は速くないとまずい、、複数チップを用いれば可能だが、ハイエンドのFPGAは一個数万円するので、CPUの価格に比べて飛びぬけて安くはないし、基板も大型化してしまう、、

Page 25: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

単精度浮動小数点演算器はいくつ載るか?

24217174(乗算器4)

6乗算

6913781830除算

2481353597減算

2731793267加算

個数周波数面積クロック数機能

最大規模のVirtex-4 XC4VLX200(89088スライス、366Block RAM(6448Kbit)、96乗算器)

Coregenで生成した場合

Page 26: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

倍精度浮動小数点演算器はいくつ載るか?

6303550(乗算器4)

ー乗算

261923335ー除算

731791220ー加減算

個数周波数面積クロック数機能

最大規模のVirtex-4 XC4VLX200(89088スライス、366Block RAM(6448Kbit)、96乗算器)

データシートより

Page 27: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

浮動小数点演算器の壁:解決法それぞれの分野に特化した浮動小数を用いる。IEEE標準にこだわらなければ、性能は汎用CPUの演算器に負けない外部、内部メモリとの接続、演算器間のパイプライン化、マルチスレッド化の工夫演算アルゴリズムの工夫

→これらを地道にやれば、場合によってはPCの数十倍の性能を得ることができる

「FPGAの能力が閾値を越えつつあることによる」→いかにして高い性能を実現するかは論文ネタ汎用的な方法はないか?ただ待つ:待っていればそのうち閾値を越えるだろう期待して待つ:Xilinx社の応用分野特化戦略によりFPGA上に浮動小数演算器が載るのでは?

残念だがこれはなさそう

Page 28: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

プログラミングの壁

PCの数十倍の性能を単一FPGAボードで出すためには、内部の処理をHDLで記述しなければ、まず無理しかし、FORTRANやCしか書けないプログラマにそんなことができるはずがないもちろん、アプリケーションによっては、処理回路が決まってしまえば、あまり変更しない場合もある。粒子シミュレーション、レイトレーシング、細胞シミュレーションなど、しかし、全く変更ができないのではリコンフィギャラブルシステムの良いところが台無し

各社、様々なプログラミング環境を提案、提供しかし、プログラマにとって使いにくい性能が上がらない

ハイパフォーマンスリコンフィギャラブルシステムが商業的に成功するかどうかの最大の壁

Page 29: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

プログラミングの壁:解決法

アプリケーションに近い記述から直接ハードウェアを生成BLAS, MATLAB, SBMLなど場合によっては生成が困難

並列処理用の言語、特殊言語の導入C言語からの高位合成技術の導入

BDL, Handel-C, Bach-C既にBach-Cは浮動小数点記述をサポート

いずれもプログラマにとって親しみやすいとはいえないが、地道に改善されつつある。個人的には高位合成技術の導入が最も希望が持てると思うが、高位合成をするツール側が配慮してくれる必要があるマーケットの小さいハイパフォーマンスコンピューティング向けにツールの方が考えてくれるか?最近はマルティメディア処理も案外浮動小数点演算を使うので、希望はある。

Page 30: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

スケーラビリティの壁

リコンフィギャラブルシステムは、問題の解法をそのままハードウェア化することで高い効率を実現

→ 問題のスケールが大きくなるとFPGAからはみ出してしまう

動作したとしても、チップ外部とのデータ転送によって、一定のスケールを超えると性能が下がる

内部Block RAMに載らないと、同時アクセス能力が落ちる

Page 31: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

スケーラビリティの壁:解決法

動的再構成はどうか?複数の構成情報を持たせるマルチコンテキスト型

LUTではどうしてもコンテキストメモリと実現する対象回路との比率が低い粗粒度ならばうまく行く→動的リコンフィギャラブルシステム

パーシャルリコンフィギュレーション一部で動作しながら、動いていない部分を書き換えるVirtex-4以降、かなり使いやすくなっているしかし、構成情報の転送時間がボトルネックになる

解法の回路自体が、一定のスケールアップを許す設計になっている必要があるアプリケーションによっては可能だが、一般的にこれを満足するのは難しい。

複数外部SDRAMに対する強力なアクセス能力を設ける→ BEE2など

Page 32: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

マルチコンテキスト方式

Mul

tiple

xer

SRAM slots

n

Logic cells

1

2

Input data

Output data

Logic cellsLogic cellsContext

同一チップ上に複数の構成情報用RAMを持ち切り替えて用いる

PEに近接した場所に独立に構成情報用RAMを設け、1クロックで読み出すROMを使った富士通のMPLD(1990)、

WASMIIでこれをRAM化(1992)、Xilinxも同様な提案を行う(1997)、NECのDRL(1998)で本格的なチップ化、Chameleon CS2112で商品化(2000)

コンテキストポインタ

PEおよび接続網コンテキストメモリ

Page 33: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

ReCSiPプロジェクト

慶應大学、長崎大学、ERATO(科学技術振興機構北野共生システムプロジェクト)の共同研究数10万円レベルのリコンフィギャラブルシステムボード上をPCIバスに装着することにより、PCクラスタ並みの性能で細胞シミュレーション(Biochemical Simulation)を可能にするリコンフィギャラブルシステムの問題にまじめに取り組もう→リコンフィギャラブルシステムらしいリコンフィギャラブルシステムを作ろう対象とする問題に対してチューニングされた回路を生成初心者でも回路構成の変更が可能ホストPCの10倍以上の性能向上を、本格的数値計算で実現

Page 34: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Biochemical Simulationsとは?

• 反応経路の挙動をシミュレーション• 各分子の濃度の時間変化を計算

• 反応速度式(微分方程式) を解くことで実現• 反応経路マップと、反応速度定数・分子の初期濃度のセットが必要

S1S1S1 S2S2S2S3S3S3

S3S3S3R1R1 R2R2

Page 35: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Kinetic Formulaor, Rate-law function

• 反応の速度をモデル化する関数• 反応速度=分子の消費・生成速度

• 多くの場合、反応に寄与する分子の濃度の関数

• ex) v=(SKm)/(S+Vm)

SSS PPPKm, Vm

EnzymeEnzymeEnzyme

Page 36: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

ExampleMitotic Oscillator Model (Goldbeter, 1991)

• C, M, X の3分子• 7つの明示的な反応

CyclinCyclinCyclin

M*M*M* MMM

X*X*X* XXX

E1E1E1

E2E2E2

E4E4E4M: cdc2 kinaseX: Cyclin kinase* represents inactive

Page 37: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Simulation

• 反応速度の計算と積分の反復で時刻を進める

[X]システム状態

[X][X]システム状態システム状態

→d[X]状態変化

d[X]d[X]状態変化状態変化

→f[X]反応速度

f[X]f[X]反応速反応速度度

∫dt数値積分

∫∫dtdt数値積数値積分分

[X]システム状態

[X][X]システム状態システム状態

時刻 t 時刻 t+∆t

Page 38: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

System OverviewOptimal circuit, Always

• モジュールの組み合わせだけで可能

• SBML記述から直接処理系を生成

→ 対象毎の処理回路+初心者でも扱える

Software Interface:Generate circuit and dataset from SBML

description

I/F SoftwareI/F SoftwareSBML Description:

XML-Based standard to markup biochemical pathways

Lib.Lib.

Solver Core Library:Verilog-HDL modules to

calculate rate-raw functions Here is result!

FPGA PCI Card:Configuration and dataset are loaded by I/F software.

Page 39: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

SBML反応記述の例

<listOfReactions><reaction id="R01"><listOfReactants><speciesReference species="X0" stoichiometry="1"/>

</listOfReactants><listOfProducts><speciesReference species="S1" stoichiometry="1"/>

</listOfProducts><kineticLaw formula=”mass(X0,k1)”><listOfParameters><parameter id="k1" value="0.0033"/>

</listOfParameters></kineticLaw>

</reaction></listOfReactions>

個々の反応を定義

反応物

生成物

反応モデルとパラメータ

Page 40: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

ReCSiP Board2002

• XC2V6000 を搭載した 64bit/66MHz PCI カード

- 8 個の18Mb 同期 SRAM - 64MB の SDRAM などを搭載

Page 41: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

ReCSiP-2 Board2003, 2004

• XC2VP70 を搭載した 64bit/66MHz PCI カード

- 8 個の18Mb QDR-SRAM - SO-DIMM ソケット-乱数ジェネレータ (FDK製)

などを搭載

細胞系譜自動構築システムが稼働

Page 42: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

ProblemPCI Bandwidth Bottleneck

• FPGA 内で反応経路マップ・数値積分を処理

• 限られた PCI のバンド幅を有効活用

PC

IP

CI

PC

I

Host

PCI Card

-反応毎にデータが往復-冗長性もある

-データは一方通行-冗長性排除

Page 43: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

RequirementsStand-alone Processing Ability of FPGA

• スケーラビリティの壁の解決• 複雑な反応経路をどうやって処理するか

• 反応経路を回路に hardcoding しない

• モデルの規模:1000分子種、1000反応程度

• 積分アルゴリズムの変更も可能にしたい

• 多くの反応機構の混在に対応

Page 44: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

OrganizationUsing Multiple Solvers

• Solver と呼ばれる機能ブロックで処理を実行• Solver ごとに別々の反応速度式を計算• 反応機構にあわせた回路をライブラリから選択

S1S1S1 S2S2S2S3S3S3

S3S3S3R1R1 R2R2

Idt1Idt1

Idt1

Cor

e1C

ore1

Cor

e1

Idt0Idt0

Idt0

Cor

e0C

ore0

Cor

e0SwitchSwitchSwitch

Page 45: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Solver CorePipelined Rate-Law Function Module

• 反応速度式を計算するモジュール• パイプライン化することで高いスループット

AdderAdderAdder

MultiplierMultiplierMultiplier

DividerDividerDivider

S, VS, Vmm

S, KS, Kmm

v=(SKv=(SKmm)/(S+V)/(S+Vmm))

vv

Page 46: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

IntegratorBasic Mechanism

• Phase 1: 反応速度式から濃度変化を計算

• Phase 2: 積分操作を実行

d[X]d[X]d[X]CoreCoreCore[X][X][X]

d[X]d[X]d[X][X][X][X] FPADDFPADDFPADD

各メモリブロックは 1~2k words で、FPGA 上の BlockRAM で構成

Page 47: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

IntegratorControl Method

• ポインタ配列によって各メモリを制御

d[X]d[X]d[X]CoreCoreCore[X][X][X]

PathwayPathwayPathwayCounter

CounteCounterr

Page 48: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

IntegratorPathway RAM: the Key Technology

• ポインタ配列が反応経路を表現

S1S1S1

S2S2S2

S3S3S3

X k S0 0 0 11 1 1 22 END

k1

k2 Pathway RAMPathway RAM

X0 S11 S22 S3[X] RAM[X] RAM

S0 ∆t1 -∆t2 2∆tS RAMS RAM

X0 k11 k2k RAMk RAM

Solver Core

Solver Solver CoreCore

Page 49: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

RequirementsStand-alone Processing Ability of FPGA

• FPGA が自律して処理を行うことが必須• 複雑な反応経路をどうやって処理するか

✓ 反応経路を回路に hardcoding しない

✓ モデルの規模:1000分子種、1000反応程度

• 積分アルゴリズムの変更も可能にしたい

• 多くの反応機構の混在に対応

Page 50: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

IntegratorEuler’s Method

• もっとも簡単な前進解法

k = f( x(t) )

x( t+∆t ) = x(t) + k

x(t)

k

x(t+∆t)

Page 51: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

IntegratorEuler’s Method

• 1時間刻みあたり1反復の処理

[X][X][X] d[X]d[X]d[X]SSSkkk

CoreCoreCore +++xxx

[X][X][X] d[X]d[X]d[X]SSS

xxx+++

Phase 1

Phase 2

Page 52: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

IntegratorHeun’s Method (or, Modified Euler)

• 修正子を設けた Euler 法• 倍の計算量だが計算結果は大きく改善

k1 = f( x(t) )

k2 = f( x(t) + k1 )

x(t+∆t) = x(t) + ( k1+k2 )/2

x(t)

k1 x(t+∆t)

k2

Page 53: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

IntegratorHeun’s Method (or, Modified Euler)

• [X] と d[X] を2セット使用

CoreCoreCore[X]1[X][X]11

[X]2[X][X]22

+++

[X]2[X][X]22

[X]1[X][X]11 d[X]1d[X]d[X]11

d[X]2d[X]d[X]22

CoreCoreCore[X]1[X][X]11

[X]2[X][X]22

d[X]1d[X]d[X]11

d[X]2d[X]d[X]22

d[X]1d[X]d[X]11

d[X]2d[X]d[X]22+++

[X]2[X][X]22

[X]1[X][X]11 d[X]1d[X]d[X]11

d[X]2d[X]d[X]22

+++/2/2/2

Step 1, Phase 1 Step 1, Phase 2

Step 2, Phase 1 Step 2, Phase 2

Page 54: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

RequirementsStand-alone Processing Ability of FPGA

• FPGA が自律して処理を行うことが必須• 複雑な反応経路をどうやって処理するか

✓ 反応経路を回路に hardcoding しない

✓ モデルの規模:1000分子種、1000反応程度

✓ 積分アルゴリズムの変更も可能にしたい

• 多くの反応機構の混在に対応

Page 55: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

SwitchMemory-to-Memory Communication

• Dual-port RAM の空きポートを使ってデータを交換

[X][X][X] d[X]d[X]d[X]SSSkkk

CoreCoreCore +++xxx

[X][X][X] d[X]d[X]d[X]SSS

xxx+++

Phase 1

Phase 2

Page 56: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

SwitchOrganization

• 複数の Solver をクロスバで接続し、データを共有

Idt1Idt1

Idt1

Cor

e1C

ore1

Cor

e1

Idt3Idt3

Idt3

Cor

e3C

ore3

Cor

e3

Idt0Idt0Idt0Core0Core0Core0

Idt2 Idt2 Idt2

Core2 Core2 Core2

データ転送はシミュレーション開始前に静的にスケジュール

Page 57: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

SwitchMapping and Scheduling

• シミュレーション開始前に分子・反応の配置と転送スケジューリングをホスト側で処理

S1S1S1

S2S2S2

S3S3S3 S3S3S3

R1R1

R2R2Idt1Idt1Idt1

Core1Core1Core1

Idt0Idt0Idt0

Core0Core0Core0

SwitchSwitchSwitch

S3S3S3

S1S1S1 R1R1R1

R2R2R2S2S2S2

S2S2

Page 58: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

SwitchSolver-Transceiver-Crossbar

• Transceiver は Code RAM によって制御される• Pathway RAM に似た制御機構

CrossbarSolver Transceiver

AddressWEDin

Dout

DinDout

Dest.

Code RAMCode RAMCode RAM

Page 59: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

RequirementsStand-alone Processing Ability of FPGA

• FPGA が自律して処理を行うことが必須• 複雑な反応経路をどうやって処理するか

✓ 反応経路を回路に hardcoding しない

✓ モデルの規模:1000分子種、1000反応程度

✓ 多くの反応機構の混在に対応

✓ 積分アルゴリズムの変更も可能にしたい

Page 60: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Hardware ResourcesMinimal Mitotic Oscillator + Euler

• 浮動小数点演算器とそれ以外のロジックの面積比

• 全体では 63.7% が浮動小数点演算器

Page 61: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

Hardware ResourcesAverage Case

• XC2VP70 ひとつに 3~6 個の Solver を実装可能

Integrator Solver Core

# solvers *

Euler 14694185

(average)

5~6Heun 2346 4~5RK4 4273 3~4

Performance: Usually 90MHz+ with XC2VP70-5,100MHz+ with XC2VP70-6.

* XC2VP70 has 33078 slices.

Page 62: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

PerformanceReplacing µPs

• Pentium4の80倍程度のピーク性能

• FPGA 1つでPCクラスタに匹敵する処理能力

Integrator Pentium4 3.2GHz

ReCSiP 90MHz Gain

Euler 6.43 540 83.98Heun 3.14 270 85.98RK4 1.17 90 76.92

(Mreactions/sec.)

Page 63: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

研究の状況

常微分方程式を直接解く方法は自動生成が可能になった

しかし、性能向上は、多数のシミュレーションスレッドを用いても10倍程度に落ちてしまった

現在、確率モデルに基づく方法を主に研究中IEEE標準の利用新しい手法の導入

FPL2007、FPT2007などで成果を報告

Page 64: リコンフィギャラブルシステムの ハイパフォーマンス ... · 2011. 1. 11. · bee2, progrape-3, raplace, recsip 「テクノロジの改善が一定の率であっても、新しい能力を可能とすること

おわりに

リコンフィギャラブルシステムのハイパフォーマンスへの応用の将来は明るいそれぞれの分野でまじめに研究を重ねていくのが良いリコンギャラブルシステム研究会としてはハイパフォーマンス関係の研究会と関係を深めて行きたいFPT2007 (12月11日ー14日 北九州国際会議場)では、Terak El-Ghazawi教授(George Washington Univ.)によるHigh-Performance Reconfigurable ComputingのTutorialが予定されているハイパフォーマンス関係のアプリの発表も色々あるぜひご参加くださいhttp://www.icfpt.org/