目次]   [1ページ目] [前ページ] [次ページ]  [Q&A
科学技術計算分科会「サイエンティフィック・コンピューティングの最前線」

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


(3/5)

3 細胞シミュレータ ReCSiP

3.1 プロジェクトの目的
  ReCSiPプロジェクトは、2003年から慶應義塾大学、長崎大学、ERATO(科学技術振興機構北野共生システムプロジェクト)の共同で行われているプロジェクトで、数10万円規模のリコンフィギャラブルボードを、通常の PCIバスに装着することにより、クラスタコンピュータ並の速度で細胞シミュレーションを実現するシステムを開発することが目的である。現在、ReCSiPボードは三世代目の ReCSiP-3が開発されており、API、常微分方程式を解く解析的なアルゴリズムの他にモンテカルロ法を用いるアルゴリズム、フロントエンドのコンパイラ、スケジューラなどの開発が終わっている。

  リコンフィギャラブルシステムの立場から考えると、ReCSiPプロジェクトは現在、ハイパフォーマンスコンピューティングにおいてリコンフィギャラブルシステムの陥っている問題に以下のように解決法を与えることを狙っていた
  • 反応式を記述する言語である SBMLの記述から、直接細胞シミュレーション用のハードウェアを生成することにより、エンドユーザが簡単に自分の問題を記述することができるようにする。
  • 生成されたハードウェアは、対象とする問題にできるかぎり合わせて高速化する一方、サイズの点でスケーラブルなものであるようにする。また、ユーザの要求する計算精度を維持する。
  • ホストPCの 10倍以上の性能を達成する。
3.2 プロジェクトの詳細
  本稿の読者は、細胞シミュレーションそれ自体には興味がないと思われるため、プロジェクトの詳細に関しては参考文献をご覧いただくことにして、その概略は以下の通りである。

ハードウェアボード
ハードウェアボードは、Virtex IIを用いた ReCSiP、Virtex II Proを用いた ReCSiP-2, Virtex IVを用いた ReCSiP-3が稼働している。図1 は ReCSiP-2のボード写真で、図2 はそのブロックダイアグラムである。ReCSiP ボードは、メモリへの同時アクセス性能を強化するため、SSRAM 複数個を大規模 FPGA(Vertex XC2V8000)に接続している。ホストPC とは QuickLogic社のアンチヒューズ型FPGA を用いて 64MHz のPCIバスへの接続を可能としている。シリアルリンクを用いてボード間の直接接続も可能である。
ReCSiPボードは、目的に適合した商用ボードが存在しなかったことから開発したが、それ自体大きな特徴を持つものではなく、プロジェクトで開発した細胞シミュレータは、十分な大きさの FPGAを搭載しており、PCIバスとの接続が可能であれば、他のボードにも移植することができる。


図1「ReCSiP-2の写真」


図2「ReCSiP-2のブロックダイアグラム」

常微分方程式の直接解法によるシミュレータ
生化学シミュレーションは常微分方程式を解くことに帰着されるが、これを数値積分により解く方法を試みた。図3 で示す単精度の浮動小数点加算器、乗算器から成る積分モジュールを転送スイッチで接続したシステムを対象問題毎に生成する。
ソルバーシステムは、複数の積分モジュールを並列に稼働させることができるが、これだけではパイプラインをフルに埋めることができず、ホストPC に対して目覚ましい性能向上を達成することができない。しかし、幸いにして細胞シミュレーションは、パラメータサーベイが目的であるため、同一の反応式を複数のパラメータで解く場合がほとんどである。この点を利用し、複数のパラメータに対応するタスクをパイプラインに流して、これをフルに埋める方法を導入した。このことにより、ソルバーとその動作を作り込めば、ホストPC の 80倍程度の性能向上を達成することができる[17] [18]

図3「積分モジュールの一例」

確率モデルに基づくシミュレータ
常微分方程式を直接解く方法に比べて、モンテカルロ法に基づく確率モデル生化学シミュレーションは計算量は大きいが、精度、安定性の点で利点がある。この方法の基本的な手法である FRM(First Reaction Method)を実装した。こちらの方法はデータユニットと浮動小数点演算ユニットを接続したアーキテクチャを生成する。確率モデルに基づく方法は高い並列性を持つため、こちらもホストPC の 80倍の性能向上を実現した[21][22]。確率モデルに基づく方法については、効率の良い NRM(Next Reaction Method)への拡張[23] を行い、ここでは IEEE Standardを浮動小数点演算を実現しつつ PCの 8倍の性能を達成している。さらに、様々な構成の比較とスケーラビリティの強化を行っている。

シミュレータの自動生成
バイオインフォマティクスの研究者が ReCSiPを用いるためには、ハードウェア記述言語はもとより、プログラミング言語を用いることも避けることが望ましい。そこで、反応式を記述する標準言語である SBML(System Biology Markup Language)より直接ハードウェアおよびスケジューラを生成するシステムを開発した[24]。このシステムは、常微分方程式の直接解法を行うシステムのハードウェア記述、対応するホストのプログラム、内部メモリデータを自動生成する。システムの全体構成を図4 に示す。残念ながら人手でチューンアップする場合よりも自動生成された回路は性能が落ちるが、それでも複数パラメータのタスクを同時実行することでパイプラインを埋め、ホストPC の 10倍程度の性能向上を実現している。

図4「ReCSiPシステムの全体構成」


目次]   [1ページ目] [前ページ] [次ページ]  [Q&A

All Rights Reserved, Copyright©サイエンティフィック・システム研究会 2007