BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース AmazonによるFPGAを使用可能としたEC2インスタンスのプレビュー

AmazonによるFPGAを使用可能としたEC2インスタンスのプレビュー

原文(投稿日:2016/12/19)へのリンク

re:invent 2016における発表の衝撃の中の1つに新しいF1インスタンスタイプの開発者プレビューの開始があった。F1は最大8つのハイエンドのXilinx製のField Programmable Gate Arrays(FPGA)から構成されるプログラマブルなハードウェアを提供し、このFPGAは最大976 GiBのRAMと4TBのNVMe SSDストレージと組み合わされるIntel E5 2686 v4プロセッサを補完する。このFPGAはリスク管理、シミュレーション、検索や機械学習アプリケーション、もしくはハードウェア最適化されたコプロセッサから恩恵を得られる任意のタスクのための使用が想定される。

FPGAは1980年代中盤あたりから存在しており、アプリケーションに特化した集積回路(ASIC)のプロトタイプを行う、もしくは製品の数量がASICを製作するには適さない専門ハードウェアを作成するための手段として一般に有効活用されている。典型的なアプリケーションでは、専用のハードウェアの速度はCPU上でソフトウェアを実行するより1000倍程度高速であり、FPGA装置はムーアの法則の性能改善効果よる恩恵を長年受けており、速度の優位性はここ数十年に渡って続いている。不運なことに、FPGAの速度優位性は実装が困難であり、活用するには高価であった。これはプログラムを行うのにVerilogもしくはVHDLのようなハードウェア記述言語(HDL)を用いる必要があるためである。Cのような高レベルの言語や、OpenCLのようなフレームワークによりFPGAをプログラムする試みも行われているが、単純さと処理速度の間のトレードオフが発生することもしばしばである。

F1インスタンスではXilinx UltraScale+のVU9Pデバイスを提供している。これは16nmプロセスを用いて製造されたものであり、各チップは250万個以上のロジックセルを提供する。このFPGAはCPU及びメモリとPCIe x16インターフェイスにより接続され、同一メモリ空間に対する共有アクセスとして最大12Gbpsの双方向通信を行う。インスタンス内に複数のFPGAが存在する場合は、これらのFPGAは低遅延通信のために400Gbpsの双方向リングに対するアクセスを共有することが可能である。このこと全てはかなり衝撃的に捉えられるが、これはすでにQuickPathインターコネクト(QPI)を使用している開発者にとっては残念な知らせであろう。QPIはCPUソケット内に配置された単一のFPGAのために、更に高いバンド幅と更に低い遅延を提供しているからである。双方向リングはそれでも複数のFPGAをつなぐ意図では有利であることが証明されるだろう。

FPGAプログラミングを始めるための基本的なツールチェーンの取得はしばしば面倒な作業であり、Amazonは設計と検証ツールが含まれるAmazon Machine Images (AMIs)を提供することでこの問題に対して対処した。このFPGAはVHDLもしくはVerilogを用いてコーディングでき、Xilinx Vivado Design Suiteにより検証することができる。一度設計が完了したら通常のAMIを拡張したAmazon FPGA Image (AFI)にパッケージングすることができる。そうすると、AFIはFPGAベースのアプリケーションを他に提供するためにAWSマーケットプレイスに並べることができる。

FPGAは、ハードウェアをプログラムするための時間的投資が、スケールや遅延の削減の面で汎用のCPU上で動作するソフトウェアに対して有利である場面で使用される。典型的な例としては、ネットワークにおける回線速度での詳細なパケット検査(例えばXilinxの文書[pdf]を参照)、金融サービスにおける低遅延取引システム(例えばHeidelberg大学の論文[pdf]を参照)、検索エンジンの最適化(例えばMicrosoftのCatapultプロジェクト)、そして機械学習(例えばTensor Processing Unit [TPU]はFPGAによりプロトタイピングされたと思われる)が挙げられる。これらのユースケースのいくつかは非常にネットワークを中心としたものであり、FPGAを有効活用するためには通信をAWSネットワークに移行する必要があることを示唆している。例えば、AWSは低遅延取引においてアプリケーションを意味のあるものするためには、取引と金融市場の流動性のための適切な場所である既存のコロケーションプロバイダを移動する必要があるかもしれない。短期的には、F1が用いられる大部分の用途は機械学習と専門的なデータ解析アプリケーションになるだろう。

F1のサプライズの一つは、これがCPUとFPGAが同じくダイに結合されたIntelのXeonチップに基づいたものではなく、2015年に行われたIntelによるAlteraの買収の結果からもたらされていることである。そのため、おそらくF2インスタンスタイプの出現はそう遠くないことであろう。サービスとしてのFPGAの入手のしやすさは、この技術を使用するための導入障壁のコストも劇的に下げ、開発者の体験をシンプルにする努力に関して新しい段階を促進する可能性がある。この出来事に関する1つの表れとして、Reconfigure.ioというFPGAアクセラレータのためのGo言語のサポートを提供するプラットフォームの発表があり、ソフトウェアによるCommunication Sequential Goroutines(訳注:goroutineによるCSP)を基板上のCommunication Parallel Goroutinesとすることが可能となった。また、MyStormのような開発ボードでもFPGAを作成しており、趣味の開発者や熱狂的な開発者向けに開発を行なっていることも特記する価値がある。

 
 

Rate this Article

Relevance
Style
 
 

この記事に星をつける

おすすめ度
スタイル

BT