Tagbangers Blog

【EC2】F1インスタンスとFPGAのことを調べる

re:Invent 2016にてF1インスタンスが発表されました!

https://aws.amazon.com/jp/ec2/instance-types/f1/

EC2には様々なインスタンスタイプが用意されておりますが、F1とはいったい?!


F1


まず、F1インスタンスは何を得意としているのかを調べてみましょう。

特徴を捉えるときに私はまずはユースケースを見ます。

ユースケース

  • ゲノム研究
  • 財務分析
  • リアルタイムビデオ処理
  • ビッグデータ検索と分析
  • セキュリティ

なんだか他のインスタンスタイプでも問題なさそうな気もします。

たくさんのデータをガツンと処理したい。そんなことが得意なようです。

ただ、あんまりピンとこないです。他のインスタンスとの違いは?

公式の説明では以下のように説明されています。

F1 インスタンスは、フィールドプログラマブルアレイ (FPGA) によるカスタマイズ可能なハードウェアアクセラレーションを提供します。

えへへ。わかりません。

FPGAってなんや。初めて聞いたぞ。


FPGA(field-programmable gate array)


FPGA(エフピージーエー)とは、一言で言うなら、「後からでも回路の書き換えが可能なロジック・デバイス」です。

https://www.altera.co.jp/products/fpga/new-to-fpgas/beginner.html

後から回路の書き換えが行えることにより以下のメリットがあります。


費用と開発期間

ASICなどのカスタムチップは、特定のアプリケーション専用に開発されるもので性能はかなり高いです。

しかしながら

  1. 開発に時間がかかる(かかりすぎる)
  2. 開発コストが高い

というデメリットがあります。故に一回作ったら仕様の変更はかなり難しいです。

FPGAは後から何回でも回路の書き換えが出来るため、仕様が変わってもハードごとの作り直しが必要なく、現場(field)で書き換えることで対応が可能です。

さらにFPGAは安価なものであれば1万円台で手に入れることができ、費用的にもメリットがあります。


長期の運用

回路の書き換えが可能なため、仕様変更に強く、長期的な運用が可能です。


つまり


特定のアプリケーションに特化した独自の回路にすることで、ユースケースにあげたような用途で高いパフォーマンスを発揮する。

そんなFPGAを搭載したインスタンス!


次回


今回はF1とは、FPGAとはにフォーカスした内容でした。

次回は実際にF1インスタンスを使用し、プログラムによる回路の書き換えってやつをやってみたいと思います!

※F1インスタンスは現在プレビューです。(2016年12月5日現在)