2014 Fiscal Year Annual Research Report
ソフトウェア記述によるハードウェアストリーム処理の研究
Project/Area Number |
14J01616
|
Research Institution | Hokkaido University |
Principal Investigator |
福田 エリック駿 北海道大学, 情報科学研究科, 特別研究員(DC2)
|
Project Period (FY) |
2014-04-25 – 2016-03-31
|
Keywords | FPGA / memcached / key-value store / NIC / cloud computing / heterogeneous computing |
Outline of Annual Research Achievements |
本年度は、MemcachedのNIC Cacheによる高速化の研究に取り組んだ。Memcachedは分散サーバのDRAM上にデータをキャッシュすることでWebサーバの応答速度を向上させる技術で、様々なWebサービスに取り入れられている。その重要性から、様々なハードウェアプラットフォームにおいてMemcachedの高速化が試みられている。その中でも特にFPGAはMemcached高速化に有望なプラットフォームと考えられており、複数の研究グループがFPGAを用いてCPUよりも高速にMemcachedを実行することに成功している。 しかしこのような研究では現在、数ギガバイトに及ぶ大きなDRAMをFPGA上に実装したMemcachedから管理することが難しいという問題がある。また、FPGAのようなハードウェアでソフトウェアによるMemcachedサーバを置き換えるには大きなコストがかかるため、これまでの研究ではソフトウェアによるMemcachedの処理のうち、限られた機能のみがハードウェア実装されてきた。 FPGAでソフトウェアMemcachedすべてを置き換えようとする既存の手法とは異なり、本研究ではホストコンピュータのCPU上で動作するMemcachedのデータと機能を、そのコンピュータのネットワークインターフェースカード(NIC)に配置したFPGAでキャッシュすることによりMemcachedの高速化を目指した。 様々なキャッシュアルゴリズムやNIC上のメモリ容量について、有効性を標準のキーバリューストアベンチマークツールを用いて評価した結果、ソフトウェアによるMemcachedに比べて本手法では最大3.5倍レイテンシが向上した。
|
Current Status of Research Progress |
Current Status of Research Progress
2: Research has progressed on the whole more than it was originally planned.
Reason
本年度はMemcachedというデータベース技術をハードウェアを用いることで高速化する研究を行った。これは当初の予定であったデータマイニング、特に異常検知アルゴリズムを実装するという予定とは異なる。またアプリケーションを実装した結果から他のアプリケーションに応用できるようにテンプレート化するという予定であったが、テンプレート化とは異なる形でハードウェアの開発・利用方法を確立した。 実装アプリケーションを異常検知からMemcachedに変更したのは、データマイニングの一分野である異常検知よりも、Memcachedの方が応用範囲が広く、研究のインパクトが大きいと判断したためである。近年急速に利用者・企業が増えているクラウドコンピューティングのような環境で利用される大規模分散データベースの多くはキーバリューストアと呼ばれるデータベース技術を核としており、Memcachedはキーバリューストアの最も単純な実装である。したがって、Memcachedをハードウェアで高速化する手法を確立することにより、その他の大規模分散データベースに対して応用できる可能性が高く、研究のインパクトが大幅に向上したと考えられる。 テンプレート化とは異なるハードウェアの開発・利用方法というのは、具体的にはFPGAで主要な処理を低レイテンシで行い、それ以外の処理を後ろに控えるCPUで行うことにより、ソフトウェアとほぼ同等の機能を維持したままハードウェアの開発コストを下げるということである。将来、クラウドコンピューティング環境ではCPU、GPU、FPGAなどを複合的に使用するヘテロジーニアスコンピューティングが可能になると予想されており、提案手法によりそのような環境を有効に利用できるようになると考えられる。
|
Strategy for Future Research Activity |
将来のクラウドコンピューティング環境では、CPUの他にもGPUやFPGAを用いたヘテロジーニアスな処理が行われるようになり、さらにそれらを多数用いることができるようになると予想される。そのような環境ではユーザが個々のデバイスの物理的な配置を意識することなく、自由にデバイスを組み合わせて処理を行えるよう、ネットワークとハードウェアを仮想化する必要がある。現状のサーバとそれをつなぐネットワークを仮想化する技術は現在活発に研究されており、今後それがFPGAやGPUなどに対して拡張されていくと予想される。 当初の研究計画では、本年度開発したテンプレートを新たなアプリケーションに適用し、テンプレートの汎用化を目指す予定であった。しかし本年度の研究ではテンプレート開発ではなく、CPUとFPGAをうまく使い分けるという開発・処理方式を提案した。そこで、次年度はこの開発・処理方式のヘテロジーニアスなコンピューティング環境での利用を見据え、大規模・仮想的なCPU・FPGAデバイスに対してアプリケーション(データマイニング、データベース)を実装することで更に先進的かつ実用的な処理方式を確立する。 さらに、本年度はハードウェア記述言語を用いて開発していたFPGA上の回路も、高位合成と呼ばれるソフトウェア記述によるハードウェア開発手法を取り入れることで低コスト化を図る。
|
Research Products
(4 results)