ミラクル・リナックス(伊東達雄社長)は12月1日、オープンソースソフトウェアに関連する研究開発の一環として、FPGA(Field Programmable Gate Array)を使った文字列分割処理の高速化についての研究開発成果を公開した。

 この研究開発では、テキスト処理の基本機能のひとつである文字列分割を高速に行うために、FPGA内部での並列的な分割アルゴリズムと、効率的にホストコンピュータとFPGA間でデータ転送を行うフレームワークを開発した。この2つの機能を利用して大量テキストログのバッチ処理を想定したベンチマークを行った結果、CPU利用時に比べ、最大10倍の高速化に成功した。

 具体的には、Linux OSのコアライブラリをFPGAでオフロードさせることで、アプリケーションから透過的にFPGAを利用でき、ユーザーは効率的に処理を行うことができる。ミラクル・リナックスでは、大量のテキストログのバッチ処理を想定して、C言語のstrtok関数に相当する機能をFPGAで実行し、ベンチマークを行った。

 FPGAを使って文字列分割の処理をオフロードさせた結果、CPU(Intel Core i7-4790 3.6GHz)での処理に対し最大10倍の速度を実現した。転送処理のオーバーヘッドによりデータ量が数kBまでは処理時間がほぼ一定でCPUよりも処理時間がかかっていたが、データ量が増え1MB以上になると、CPUでの処理に比べ約10倍の処理速度となった。

 同社では、今回検証した文字列分割処理に加えて、文字から数値への変換、大文字・小文字化、部分検索など多くのプログラム言語やライブラリがサポートする文字処理機能のFPGAでの実現と、これらの機能を組み合わせた処理を行うことを検討している。さらに文字列処理以外にも、暗号化や圧縮・展開などの処理にも活用を広げていく予定。