Amazon EC2 F1(FPGA)インスタンスで動作するElasticsearch拡張のRyft Cloudが気になる
ども、大瀧です。
先日GAになったAmazon EC2 F1インスタンスは、AWSクラウド上でFPGA(Xilinx Virtex UltraScale+ VU9P)の開発および実行ができます。
FPGAについての前置き
FPGAとは何なのか、何ができるのかについてはkazunori279さんの以下の資料がとてもわかりやすくまとまっています。感謝!
FPGAはハードウェア処理(ASICによる専用回路)とソフトウェア処理(汎用x86プロセッサ)の中間の性質を持つようで、クラウドとしてはGPGPUに続くコンピュータ処理の新しい実装形態として可能性∞!というわけですね。
実際のFPGAのカスタムロジックの開発手順については、弊社TTによるチュートリアル形式での連載記事があります。どうやら次回、ついにF1インスタンスでの稼働にこぎ着けそうな展開です。乞うご期待!
- AWS F1インスタンス向けのFPGA Developer AMIで開発ツールvivadoを動かしてみました #awssummit | Developers.IO
- AWSのFPGAインスタンス用サンプルカスタムロジックcl_hello_worldのAFIを構築してみました #fpga | Developers.IO
可能性が∞なのはいいのですが、FPGA開発はこれまでの一般的なソフトウェア開発とは異なる手法やノウハウが必要ですので、開発効率やクオリティを従来のソフトウェア開発と同等まで持っていくためには相当なコストが必要となります。できれば、その筋の専門家が開発した高品質なものを、使いやすいAPIで従来のシステムと連携させたいところです。そこで気になっているのが、記事冒頭のAWSブログでも紹介されているRyft Cloudです。
Ryft Cloudとは
Ryft Cloudは、Ryft社が開発するElasticsearch拡張のビッグデータ解析エンジンをF1インスタンスで提供するものです。現在はWebサイトからデモと評価のリクエストを申請すると、個別に案内が来るようです。
マーケティング的なアピールだとは思いますが、c4.8xlargeのEC2インスタンスでElasticsearchを実行する場合と比べ63〜75倍のパフォーマンスが出るという刺激的な数字が示されています。
処理の並列化の面でFPGAの方が有利だからなのか、Fusion-ioやHuawei TecalなどのPCIe SSD製品のようにCPUをバイパスしてメモリやディスクI/Oと直接やり取りしているからなのか、想像は尽きません。ぜひ評価してみたいところですね。
Elasticsearch拡張の部分をkwsk
一方で、Ryft Cloudの謳う「Elasticsearch拡張」とはどのようなものでしょうか。公式Webページには以下の記載があります。
With Ryft and the F1 instance, Elasticsearch users can eliminate data indexing, transformation and curation and extend Elasticsearch to:
- Accelerate workflows with the ability to deploy pre-index and post-index searches
- Speed search and analysis across unstructured data and JSON, XML, LOGs, CSV, TSV and other files with no transformation
- Increase the power of edit distance with user selectable changes to high distance requests for fuzzy Hamming or Levenshtein searches
- Enhance wildcard searches to include leading wildcard characters
- Supercharge regular expressions and machine learning, coming later in 2017
3月に開催されたElastic社のプライベートイベントElastic{ON}2017にRyftのセッションがあり、様子が少しだけわかるスライドが公開されています。
これによると、ElasticsearchのコアであるLuceneエンジンの代替として動作する形になっているのですね。Kibanaなどの上位レイヤーからは透過的に利用できそうな一方で、日本語検索のkuromojiなどElasticsearchプラグインとの対応などが気になるところです。次ページ以降にはインデクシングが不要な様子や拡張検索のスクリーンショットもあるので、合わせて参考にしてください。
まとめ
EC2 F1インスタンスで動作するElasticsearch拡張のRyft Cloudをご紹介しました。 実際に評価できる機会(&公開できる情報)があれば、またブログに記したいと思います。