11月30日にAmazon Web Servicesの年次イベント「re:Invent 2016」でFPGAインスタンス「F1 Instances」が発表され、また9月にはMicrosoft 最高経営責任者(CEO)のSatya Nadella氏が技術イベント「Ignite」の壇上でMicrosoft Azureに実装されたFPGAの性能を紹介するなど、ここにきて、パブリッククラウドベンダー各社によるFPGAの発表が相次いでいます。AWS、Microsoftだけでなく、Google、IBMも、この数年の間に、FPGAの活用と実装を進めてきています。
「AWS re:Invent 2016」でFPGAインスタンス「F1 Instances」が発表された
FPGAとは?
FPGAとは、HDL(ハードウェア定義言語)と呼ばれる言語で回路そのものを設計し、書き換えることができてしまうプログラミング可能なPLD(プログラマブルロジックデバイス)の一種です。
いわゆるCPU(汎用プロセッサ)、ASIC(特定用途向け集積回路)、GPU(グラフィックス向けの集積回路)は、生産過程で回路は焼き込まれており書き換えることなどはできませんが、FPGAは論理回路設計をその場で書き換えることが可能です。この特徴から、Field Programmable Gate Array(現場で書き換え可能なゲート配列、FPGA)という名がつけられました。
これまでFPGAは、主に、プログラムそのものを回路に焼き込むASIC(特定用途向け集積回路)を開発・量産する費用や時間をかけられない少量多品種の組み込みデバイスなどに使われてきました。
近年は、FPGAのプロセスの微細化が進み集積可能なゲート数も増加、ASICと比較して速度面や効率が悪かった部分の改善が進んでいます。それに伴い、活用される分野も広がってきました。
適材適所のプロセッサアーキテクチャを使い分け処理効率を向上
今、FPGAが注目される背景には、「ムーアの法則」が限界を迎えつつある状況があります。度々話題となっては、微細化、コアの並列化、3次元回路化などの向上技術の開発に成功し、性能を向上してきたムーアの法則ですが、2021年には限界が来るだろうと言われています(ムーアの法則が通用するのは2021年まで?--その次に来る革命は)。
このような状況の中、CPUによってメモリに格納されたプログラムとデータ処理を行うノイマン型アーキテクチャだけではなく、処理目的に応じて適材適所で処理効率の良い非ノイマン型アーキテクチャを併用することによって、処理コスト効率を向上させる“ポストムーア時代”という考えが出てきており、書き換え可能な非ノイマン型アーキテクチャであるFPGAが脚光を浴びているのです。
プロセッサ製造大手のIntel社も、FPGA分野でXilinx社とシェアを二分するAltera社を167億ドルで買収し、今後のサーバ向けCPUにFPGAの機能を組み込むロードマップを発表しています(インテル、アルテラ買収で合意--買収額は167億ドル)。
どのような処理が得意なのか?
FPGAは、大規模整数演算、ハッシュ処理、特徴量検出などのパターンマッチ、暗号化/復号化、圧縮・展開処理、動画や音声のエンコーディング/デコーディング/トランスコーディング、フィルタリングなど、CPUが不得手なビットストリームに対するパイプライン処理が適しているとされています。
例えば、ネットワーク処理や、ディープラーニングの一種であるCNN(畳み込みニューラルネットワーク)などの処理を高効率化しスループットの向上に貢献します。
クラウドベンダー各社のFPGA事情
特に膨大なコンピュートリソースを集約するクラウドベンダーでは、FPGAによるコスト削減効果が大きいことから、各社とも積極的に自社技術に導入を進めています。
冒頭に紹介したように、Microsoftは9月のIgniteでAzure上のFPGAの性能を披露しました。ここでは、Microsoft Translatorを使い、ロシア語で書かれた1440ページの『戦争と平和』を英語に翻訳する処理速度をCPUの場合20秒近くかかる処理を2.6秒で翻訳するなどのデモを行い、既に一部のCognitive Servicesをこのファブリックに移行し始めていることを発表しました(MSナディラCEO、Azure上のCPUとFPGAを性能比較:Ignite基調講演)。
Microsoftの研究機関であるMicrosoft Researchは、2011年にCPU+FPGAアクセラレータ開発プロジェクト「Project Catapult」を発足しました。同プロジェクトでは、サーバとFPGAアクセラレータボードによる1632台のクラスタを構成し、検索エンジンBingのページランク処理のスループットが2倍に向上、レイテンシが29%改善され、同様のレイテンシを維持するためのサーバ台数はおよそ2分の1になりコスト削減効果が見込めるとするデータを発表しています(Project Catapult)。また同社は、Facebookが主導する「Open Compute Project」において、大量のネットワークストリーム処理をFPGAで支援することでレイテンシ改善を実現したことなどを発表しています(関連記事、A Cloud-Scale Acceleration Architecture)。
Microsoftは9月のIgniteでAzure上のFPGAの性能を披露
IBMでは、同社が提供する「SuperVessel OpenPOWER Development Cloud」内でFPGAベースのアクセラレータを提供し、同社のIBM Power Systemsのアーキテクチャと併用することより処理を加速できると発表しています。
Googleは、IBM、AMD、Dell EMC、Hewlett Packard Enterprise(HPE)、Mellanox Technologies、Micron Technology、NVIDIA、Xilinxと共同で、データセンター向けサーバを最大10倍高速にするためのテクノロジ仕様「OpenCAPI」(Open Coherent Accelerator Processor Interface)を発表し、FPGAなどのアクセラレータボードを接続する仕様の策定し、「Open Compute Project」などへの情報提供を行っています。
またGoogleでは、この仕様を用いたプロジェクト「Project Zaius」において、POWER9アーキテクチャの次世代サーバの開発をRackSpaceと共同で進めています(IBMやグーグルなど、データセンター向けサーバのオープン仕様「OpenCAPI」を発表、ザイリンクスと IBM 社、SuperVessel OpenPOWER Development Cloud 内で FPGA ベースのハードウェア アクセラレータを提供)。
AWSは、11月に開催した年次イベント「re:Invent 2016」で、Xilinx社製FPGA搭載インスタンスであるF1 Instances(現在はデベロッパープレビュー)を発表、各ユーザー向けシステムのFPGAロジックの開発と動作を可能にするとの発表を行いました(巨大トラック進入--AWS re:Invent 2016のインパクトが大き過ぎると話題に)。
AWSが提供するF1 Instances