IT系メモ

興味のあったことや、勉強したことなどをメモしていきます。

AWSでFPGAアクセラレータを販売できる「F1 Instances」

サーバーサイドFPGAを簡単に

サーバーに直結したFPGAを用意するのはハードルが高かったのですが、AWS上で開発、販売までもできるということでかなり魅力的です。

Vivadoでの開発ということで、これまで開発してきた人も慣れているので、初期参入者は間違いなく従来からのFPGA開発者なのでしょう。

作る側のメリットとしては、このようなものが考えられます。

  1. 回路を作るも顧客がいない
  2. 利用用途を限定できるので回路を組みやすい
  3. 販売網が広がる

FPGAに注目されつつも、実際は開発費を出せるところはなく、開発費の代わりにCPU/GPUでゴリ押しする方が良かったりします。

利用する側としては、既に売っているハードを買ってきて付けてみて効果があればいいですし、なければすぐ辞めてしまえばいいということで、FPGAアクセラレータは手軽になっていくかと思います。

 

プラットフォーム上で競争させるAmazon

今までもプラットフォーム上で競争させてきたAmazonですが、ここでも競争させてきました。

最初はともかく、時間が経ってくると、特定の処理に対しては1位を取るアクセラレータしか儲からないことになります。FPGAを買ってきて、APIを叩くとFPGA側で処理ができるような状態になりますので、処理能力がものを言います。FPGAアクセラレータしないといけないようなサーバー利用者ですので、お金もそこそこあり(FPGA開発費を出せるほどではなくとも)、2位のものを利用する必要がなくなります。

ビットコインマイニングは難しい

FPGAと聞いてビットコインマイニングを考えると思われますが、サーバー代金で儲けが吹っ飛ぶためあまりよくありません。

また1回の計算量はたかがしれていますので、外部サーバーとのやり取りがボトルネックとなってしまいます。

FPGAアクセレーターの条件としては

  1. Amazon内部で閉じるデータがたくさんあり、Amazon内部の高速な帯域を利用できる
  2. CPUとFPGA間でデータのやり取りが限定されている、CPU側からトリガーをかけるとFPGA側のDMAでデータのやり取りを勝手にやり、結果をCPUに返すもの。頻繁にCPU/FPGA間でデータのやり取りをするものは性能でないので向かない
  3. CPU/GPUでも数時間以上かかるもの

というニッチな条件になると思われます。

 

初期はディープラーニング系か

既にディープラーニング用のFPGA構成がいくつか出てきていますし、注目度も高いのでディープラーニング関係のものがいくつか出てくるかと思います。

 

そのあとはデータベースで処理しているもの、ビデオ関係、ブラウザ関係の処理が出てくるものと想像します。

 

Amazon側に回路を公開する懸念

Amazonが勝手に回路を使う場合もあるので、それが懸念といえます。
ちゃんとAmazonが開発者側にお金を払うのであれば問題ないのですが、Amazonがどういうサーバー構成を取っているのかわからない以上、勝手に使われるかもしれません。
回路の開発者側がチェックする術を持たないのです。

AWSの構成ですぐ使えるように既に開発されているものですから、Amazonが他のサービスで性能が出ないなー、じゃあ登録されているFPGA使ってしまえというのも、わりと簡単にできてしまう。
AmazonがCPU/GPUでやってると言えばそれを信じるしかないわけです。