FPGA 時代の到来?

規制の変更により金融業界での存在感を増した FPGA が、パフォーマンスにおける変革の可能性を示しています。

金融業界の今後にはさまざまな不確定要素がありますが、確実に分かっていることが 2 つあります。1 つは重大な規制の変更があること、もう 1 つはこの変更にうまく対応した金融機関が成功することです。

「CPU に何らかの大きなシリコンサポートによる補強が必要なのは明らかです」

金融機関にとってより迅速かつ効果的な対応がこれまでになく重要となっていることはまず間違いないでしょう。詳細なリスク分析、モデリング、シミュレーションなど、重要なタスクをこなすという作業に直面して、間違いなく 2019年はスピードがすべてです。標準的なデータセンターやクラウド・サービス・プロバイダーのインフラストラクチャーは増え続けるワークロードへの対応に苦労しており、CPU に何らかの大きなシリコンサポートによる補強が必要なのは明らかです。

そこに FPGA が登場します。そのフルスペリング「Field Programmable Gate Array」が示すとおり、 FPGA は、ユーザー環境のワークロードに完全に適合するハードウェア設計とデータパスで動的な再プログラミングが可能なシリコンデバイスです。Computer Business Review に最近掲載された記事で、インテルの Stefano Zammattio は次のように説明しています。「FPGA は最初は空で、極めて柔軟性に優れたロジックゲート、その他のハードウェア・リソースのアレイとなっています。LEGO* ブロックの組み立てキットのように、これらのリソースを相互に接続すると、固有のニーズが何であれ、それらを満たす独自のハードウェア・デザインを構築できます。

「例えば、複雑な数学関数を素早く計算するハードウェアとして FPGA のコンフィグレーションを行うことができます。さらに、必要であれば、GPU やマイクロプロセッサーを使用してプログラミングすることもできます。アプリケーションのパフォーマンスと FPGA のリソース使用率とのトレードオフが可能で、より多くの FPGA ハードウェア・リソースを使用して、できるだけ多くの計算 / 演算を並列に実行すると、高いパフォーマンスを得ることができます」。

この記事でさらに述べられているように、これはすなわち、固定機能の汎用 CPU 上で動作する同等のソフトウェア実装よりも高速で消費電力の少ないアプリケーション・ワークロード / ソリューションを提供できるということです。FPGA ワークロードは、極めてカスタマイズ性が高く、固有のテクノロジーやビジネス・アプリケーションのニーズを満たすことができます。固定のシリコン・アクセラレーターでは、クラウド・サービス・プロバイダーが直面する幅広いワークロードに対応できないことがますます多くなっている中、FPGA は主力のテクノロジーになりつつあります。

「このような汎用性によって提供できるのが、高速処理の電力効率に優れた、低レイテンシーのサービスです。総保有コストを抑えながら、電力、スペース、冷却の制約内でデータセンターの処理能力を最大化することが可能になります」(Zammattio)。

従来 FPGA はプログラミングが難しいのが実状でしたが、Computer Business Review の記事によると、インテルが提供する新しい製品スイートはこの問題を解決するよう設計されています。例えば、インテル® アクセラレーション・スタック (FPGA 対応) は、ソフトウェア開発者が非常に容易に FPGA を利用できる新しいアーキテクチャーです。コア・コンポーネントは FPGA Interface Manager で、インテル® FPGA とインテル® Xeon® プロセッサー (データセンターに一般的に使用され、開発者になじみのあるプロセッサー) の間のパフォーマンスに最適化した接続を提供します。

さらに、インテルは Khronos Consortium* が開発した OpenCL™ 言語を採用したので、開発者は広く使用されている C 言語で FPGA ハードウェア・デザインのコーディングを行うことができるようになりました。それに関連して、インテルは、演算上の要求の厳しいアプリケーションに対して、基本的にインテル® FPGA を使用してアプリケーション固有のソリューションを構築することを専門とするサードパーティーのパートナーから成るエコシステムの構築も急速に進めています。

インテル® アクセラレーション・スタック (FPGA 対応) を使用すると、仮想マシンやコンテナー内からスレッドセーフの API によりシリコン上で直接処理を行うことができます (データタイプまたはスタティック・メソッドがスレッドセーフとは、複数のスレッドから使用しても、スレッドの実行方法にかかわらず、呼び出しコードから難しい調整を追加することなく、適切に動作することをいいます)。また、FPGA ベースのアクセラレーター・カードに実装された機能をサポートするよう拡張された標準ライブラリーにより、間接的に実行することもできます。

「これによって開発者は、カスタマイズしたドライバーを作る必要がなくなり、インターフェイスや複雑なハードウェア設計言語のコードのデバッグからも解放されます。そして、本来の専門であるアルゴリズム開発に集中し、ソリューションを迅速に、大きな自信を持って開発することができます」(Zammiatto)。

インテルがデータ主導型のデジタル・トランスフォーメーションを実現