2015 Fiscal Year Research-status Report
大規模問題に対するFPGAアクセラレータ構築手法の研究
Project/Area Number |
15K12001
|
Research Institution | University of Tsukuba |
Principal Investigator |
丸山 勉 筑波大学, システム情報系, 教授 (00292532)
|
Project Period (FY) |
2015-04-01 – 2018-03-31
|
Keywords | FPGA / 高速計算 / 外部メモリ / 大規模問題 |
Outline of Annual Research Achievements |
まず、既に所有しているパーソナルコンピュータを用いて、SAT問題に対するプリプロセッサである unhiding の高速化に関する研究を進め、国際学会にてその研究成果の発表を行った。unhiding においては、主要なデータ構造は外部メモリに格納されており、それらのデータを順次手繰りながら処理を行うため、外部メモリへの参照が処理のボトルネックとなる。unhiding では内在する並列性が高いため、(1) それらをマルチスレッドとしてFPGA上で並列に処理し、(2) 各スレッドから発生するメモリ参照を外部メモリのバンク毎(DDR3では8バンクが存在する)に動的に振り分け、(3) メモリインタフェースは、各バンクに順繰りとアクセスすることにより最大のメモリスループットを実現し、(4) データがメモリから読み出され次第、それらの読み出しを行ったスレッドに送り返す という計算モデルの性能評価を行った。その結果、4コアを用いたマイクロプロセッサに対して、4倍程度の高速化を実現可能であることが確認できた。今回の実装では、メモリ参照待ちとなったスレッドがハードウェア資源を占有したままアイドル状態となるため、同時に処理可能なスレッド数が限定されてしまったが、このハードウェア上で更なるマルチスレッド処理を行うことにより、さらに数倍の処理速度を達成可能であることを確認した。 次に、パーソナルコンピュータを購入し、対象となる回路の大まかな振る舞いをシミュレーション可能なイベント駆動型ハードウェアシミュレータの開発の開始しした。このシミュレータ自体の作成のために当研究室の学生を雇用した。このシミュレータを用いて、大規模データのソーティング処理の検討を進めており、現時点での最高処理速度の2倍程度の処理を達成する見込みである。この研究成果は、H28年度の国際学会で発表する予定である。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本年度の研究計画予定は、(1) 対象となる回路の大まかな振る舞いをシミュレーション可能なイベント駆動型ハードウェアシミュレータの開発の開始、(2) このシミュレータを用いた、大規模SAT問題に対するFPGAシステムにおける様々な並列処理シミュレーションの実現および、SAT問題プリプロセッサに関する研究成果の国際学会での発表、(3) 外部DRAMを正確にシミュレーション可能なライブラリ構築の開始であった。 まず、(1) に対しては新しく購入したパーソナルコンピュータを用いてイベント駆動方式のシミュレーションライブラリの構築を進めた。このライブラリを用いることによって、複数のスレッドの処理のシミュレーションをクロック単位で行うことができる。汎用性を考慮して、C言語のライブラリを駆使することにより、これらの機能を実現した。現在、大量データのソーティング問題を対象として、このライブラリを用いた評価を進めている。 (2) に関しては、SAT問題のプリプロセッサである unhiding の高速化に関する評価を行い、国際学会で発表を行った。この研究を通して、外部メモリ参照がボトルネックとなる問題において、マルチコアを利用したソフトウェアプログラムに対し、4倍程度の高速化が可能となることが確認できた。更に、FPGA上で同時に処理するスレッド数をより増やすことにより、更なる高速化が可能であることも分かった。しかし、この研究においては、(1)で作成したライブラリの利用が間に合わなかったため、問題に特化した関数群を作成し、評価を行った。 (3) に関しては、(1)で述べたソーティング問題の評価と共に、開発を進めている。
|
Strategy for Future Research Activity |
前年度に引き続きパーソナルコンピュータを1台購入し、前年度開発を開始したシミュレータおよびDRAMライブラリを完成させる。大規模なFPGAボードの購入が困難であるため、現在所有のFPGAボードを利用することとする。このFPGAボードの規模は十分な大きさを持たないため、シミュレータによるシミュレーションにおいて、一部のみを実機で、他の部分をシミュレーションで実行できるようにシミュレータの機能拡張を行う。また、シミュレータの開発と平行して、これまでに開発してきた大規模ソーティング問題をシミュレータを用いて記述し、それらの実機における実行結果等と比較し、評価を行い、シミュレータおよびDRAMライブラリの改良を行う。さらに、シミュレータにおいてその基本機能(データ配列のFPGA内部メモリと外部DRAMへの最適な振り分け、外部メモリから読み込まれるデータ構造に最適化されたキャッシュメモリシステムの構築、バーストリード/ライトが可能となるデータ配置、インターリーブアクセスが可能となるようなDRAM内複数バンクに跨るデータ配置、将来必要となることが期待されるデータに対する先行読み出し、先行読み出しされたデータに対する投機的処理の実行、読み出されたデータ全てに対する最大限の並列処理の実現)がどの程度実現されているかをインタラクティブに提示する機能を組み込む。 また、遺伝子情報処理における問題の一つであるショートリードマッピングの高速化に対して、H27年度のSATプリプロセッサ unhiding において開発、評価した計算モデルを適用することにより、限られたメモリ転送幅の中で、どの程度の高速化が可能となるかを明らかにする。
|
Research Products
(1 results)