ミラクル・リナックス、FPGAで文字列分割処理を最大10倍高速化するフレームワークを開発:LinuxのコアライブラリでFPGAを利用し、アプリを改変せず利用可能
ミラクル・リナックスは、FPGAを使った文字列分割処理の高速化についての研究開発成果を公開した。glibcのstrtok関数の機能をFPGAで処理させ、CPUでの処理に比べて約10倍の処理速度が得られたという。
ミラクル・リナックスは2016年12月1日、FPGA(Field Programmable Gate Array)を使った文字列分割処理の高速化についての研究開発成果を公開した。
同社では、文字列分割処理を高速化する手法としてFPGAを研究。文字列分割をFPGAで並列処理するアルゴリズムと、ホストコンピュータとFPGAの間で効率よくデータを転送する、IoT機器やIoTゲートウェイからの大量データ処理を目的としたフレームワークを開発した。
具体的には、LinuxでC言語ライブラリとして一般に利用されているGNU C Library(glibc)のstrtok関数の機能を、CPUに代わってFPGAで処理させる。LinuxのコアライブラリでFPGAを利用することで、アプリケーションからのインタフェース(API)は互換性を保つことができ、既存のアプリケーションを改変せずにそのまま利用できることを利点に挙げる。
大量テキストログのバッチ処理を想定した同社のベンチマークテスト結果では、CPU(3.6GHz動作の第4世代インテルCore i7プロセッサー)での処理速度と比べて最大10倍高速化したという。FPGAによる処理では、処理対象データをFPGAに転送する際のオーバーヘッドがあることから、データ量が数KBまでの少量時はCPUよりも処理時間はかかるものの、データ量が1MB以上になれば、CPUでの処理に比べて高いパフォーマンスが得られるようになるようだ。
同社は同技術の開発を進める背景について、「Apache Hadoopでの文字列解析など、大量のデータを処理する場合にFPGAでの処理が有効だ。併せてCPU負荷を軽減できることから、処理自体だけでなく、システム全体の高速化が可能になる」と述べる。今後、今回開発した文字列分割処理だけでなく、文字列から数値への変換や、大文字/小文字変換、部分検索などの文字列処理、さらにデータの暗号化や圧縮/伸張処理をFPGAに載せる計画も示した。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 第181回 Intelが167億ドルで手に入れるもの
Intelが167億ドルでAlteraを、AVAGO TechnologiesがBroadcomを買収するなど、半導体業界は大型買収が続いている。半導体業界の再編は、1次リーグが終わり、決勝トーナメントが始まっている。 - 今どきCPUだけで大丈夫?ビッグデータや人工知能でGPU/FPGAを使う前に知っておきたい“ハード屋”と“ソフト屋”の違い
ソフトウェア技術者の間でもGPUやFPGAに対する興味が高まっている。「ハードウェアの“特質”とは何か」「GPUやFPGAの性能を生かすソフトウェアは、どうあるべきか」@ITの人気連載「頭脳放談」の筆者に聞いた。 - データ分析速度を100倍高速に──FPGAを利用、日立が新技術
日立製作所は、FPGAを利用してカラム型データベースのデータ分析速度を最大100倍に高速化する技術を開発した。 - 特定処理の高速化をFPGAで実現――ザイリンクス、IBM
「OpenStack」や「Docker」「Spark」といったデータセンターアーキテクチャ向けに、特定の処理にFPGAをアクセラレーターとして利用する仕組みをIBMが正式に展開する。コンピューティングリソースの負荷を低減し、エネルギー効率を高める。