研究課題/領域番号 |
15K12001
|
研究機関 | 筑波大学 |
研究代表者 |
丸山 勉 筑波大学, システム情報系, 教授 (00292532)
|
研究期間 (年度) |
2015-04-01 – 2018-03-31
|
キーワード | FPGA / DRAM / ソーティング / 高速計算 / インタリーブ |
研究実績の概要 |
まず、既に所有しているパーソナルコンピュータを用いて、SAT問題に対するプリプロセッサである unhiding の高速化に関する研究を進め、国際学会にてその研究成果の発表を行った。unhiding においては、主要なデータ構造は外部メモリに格納されており、それらのデータを順次手繰りながら処理を行うため、外部メモリへの参照が処理のボトルネックとなる。unhiding では内在する並列性が高いため、(1) それらをマルチスレッドとしてFPGA上で並列に処理し、(2) 各スレッドから発生するメモリ参照を外部メモリのバンク毎(DDR3では8バンクが存在する)に動的に振り分け、(3) メモリインタフェースは、各バンクに順繰りとアクセスすることにより最大のメモリスループットを実現し、(4) データがメモリから読み出され次第、それらの読み出しを行ったスレッドに送り返す という計算モデルの性能評価を行った。その結果、4コアを用いたマイクロプロセッサに対して、4倍程度の高速化を実現可能であることが確認できた。また、従来からのSAT問題の高速化の研究をまとめたものを情報処理学会論文誌にて発表した。新たに購入したパーソナルコンピュータおよびFPGAボードを用いて、対象となる回路の大まかな振る舞いをシミュレーション可能なイベント駆動型ハードウェアシミュレータの開発を進めた。このシミュレータを用いて、大規模データのソーティング処理の検討を進めており、現時点での最高処理速度の2倍程度の処理を達成する見込みである。この研究成果は、H29年度の国際学会で発表する予定である。
|
現在までの達成度 (区分) |
現在までの達成度 (区分)
2: おおむね順調に進展している
理由
本年度の研究計画は、(1)前年度開発に着手したシミュレータおよびDRAMライブラリを完成させること、および (2)それを用いて完全型SATソルバーの評価を行うことであった。まず、前者に関しては、大規模なFPGAボードの購入が金額的に困難となったため既に所有しているFPGAボードのみで開発を進める予定であったが、安価かつ高機能なFPGAが入手可能となったために、両者において開発を進めた。このためにFPGAボード用のパーソナルコンピュータの購入も行った。FPGAボードのDRAMインタフェースの動作確認、および最大性能を実現するための制御方式に関する評価を行い、8バンク中の4バンクを交互に参照し、参照単位を512Bとした時に、ほぼ最大理論値に近い性能を実現可能であることを確認した。この結果に基づき、シミュレータおよびDRAMライブラリの作成を進めた。(2)に関しては、完全型SATソルバーの開発が想定したより困難なこと、またこのソルバーを用いた場合、シミュレータおよびDRAMライブラリの評価が困難であること(他の要因によって大きく性能が変わってしまうが、それらの切り分けが困難であるため)、大量データのソーティングシステムに対象として評価を進めることとした。その結果、ソーティング対象のデータがランダムに配置されている場合には、DRAMからのデータ転送速度の約99%の性能の実現が可能であり、データが既にソーティング済みの場合には、約30%の性能が実現可能であることを確認した。本システムに関しては、平成29年度中にとりまとめ国際学会に投稿する予定である。
|
今後の研究の推進方策 |
前年度に引き続きパーソナルコンピュータを購入し、前年度開発したシミュレータおよびDRAMライブラリの評価を行う。この評価は、従来から所有していたFPGAボードと、H28年度に購入したFPGAボードを用いて行う。これらのFPGAボードの規模は十分な大きさを持たないため、シミュレータによるシミュレーションにおいて、一部のみを実機で、他の部分をシミュレーションで実行できるようにシミュレータの機能拡張を行う。また、シミュレータの開発と平行して、これまでに開発してきた大規模ソーティング問題をシミュレータを用いて記述し、それらの実機における実行結果等と比較し、評価を行い、シミュレータおよびDRAMライブラリの改良を行う。さらに、シミュレータにおいてその基本機能(データ配列のFPGA内部メモリと外部DRAMへの最適な振り分け、外部メモリから読み込まれるデータ構造に最適化されたキャッシュメモリシステムの構築、バーストリード/ライトが可能となるデータ配置、インターリーブアクセスが可能となるようなDRAM内複数バンクに跨るデータ配置、将来必要となることが期待されるデータに対する先行読み出し、先行読み出しされたデータに対する投機的処理の実行、読み出されたデータ全てに対する最大限の並列処理の実現)がどの程度実現されているかをインタラクティブに提示する機能を組み込む。これらに関しては、H28年度着手したところであり、H29年度中の完成を目指す。
|