学位論文 複数FPGAボードを用いたビッグデータ分割処理に関する研究

工藤, 龍  ,  クドウ, リュウ

pp.1 - 27 , 2015-03-25 , The University of Electro-Communications
内容記述
IoT(Internet of Things)の進展に伴い,これまで以上に大規模なデータが収集されるようになり,蓄積の速度が上がっている.このようなデータはビッグデータと呼ばれ,それらを高速に扱う新たな仕組みが必要となる.近年,MapReduceを始めとする分散処理を利用して,複数ノードで並列に処理を行う仕組み(並列化)が研究されている. 蓄積された大規模データベースを扱う問題の例として,生物データベースの配列類似性検索問題が挙げられる.配列類似性検索は,多数の塩基配列がレコードとして格納されたデータベースから,クエリ配列の類似文字列を探し出す問題である.文字列を比較する計算は文字列アラインメントと呼ばれる.文字列のアラインメントに用いる検索アルゴリズムとしてBLAST(Basic Local Alignment Search Tool)が主に使われている.しかし,塩基配列を格納したデータベース の規模は年々増加しており,それにともなって検索に要する時間も長大化している.このため,複数ノードによる分散処理で並列にスコアリング計算を行う.分散処理を適用した実装としてmpiBLASTがる.mpiBLASTはMPI(Message-Passing Interface)を用いて処理を並列化することで処理の高速化を図っている.また,計算時間を短縮するため,各ノードに分配するデータ量を一定にし,負荷分散を図っている.こうしたデータの分散はホストPC上のプロセッサとネットワークに高い負荷を掛ける. 本研究では,PCクラスタの各ノードにストレージとネットワークI/Fを搭載するFPGAボードを導入し,これを用いてデータ分割する手法を提案する.FPGAに実装するユーザロジックは,専用ネットワークから入力されるデータについて,ヘッダ情報から格納するデータを選択することで,ホストPCの負荷を上げることなく,データの分散を実現する. est_humanデータベースを対象に評価した結果,ソフトウェアによる同様の処理であるmpiBLAST でのデータ分散と比較して,プロセッサとネットワークの負荷を低く維持したまま,約24~27倍の高速化を確認した.

このアイテムのアクセス数:  回

その他の情報