慶應義塾大学 情報工学科 

天野英晴教授


天野研について

http://am.ics.keio.ac.jp/wp/







慶應義塾大学 情報工学科 天野英晴教授が中心となって研究を進めているマルチFPGAシステム。このシステムは、コストパフォーマンスに優れた複数のFPGA(Field Programable Gate Array)を回線交換ネットワークでつなぎ、ひとつの大きなFPGAのように動作させています。この手法により、高価なハイエンドFPGAでしか達成できなかった高速処理をより安価に実現することができるようになりました。AI(人工知能)の学習および推論アプリケーションの高速処理にも期待されている、今注目の技術をご紹介します。



マルチFPGAシステムとは


昨今、大容量の計算を低コストでいかに高速に解くかが求められています。FPGAは特定の処理を高速化するアクセラレータとして注目され、大手クラウドベンダーがFPGAを使用したサービス(例えば、Amazon EC2 F1 Instance)を提供する事例が増えています。しかし、これらの事例では、ハイエンドなFPGAを単一で使用しているために高額なシステムとなり、またFPGAのサイズにより計算規模が限定されてしまうため、ユーザーとしては使いにくい面もあります。


天野教授が手がけるマルチFPGAシステムFlow-in-Cloud (FiC)は、複数のFPGAをダイレクトにつないで、まるで単一のFPGAであるかのように扱うことができます。またクラウドコンピューティングで採用されている高性能で高価なFPGAに比べ、コストパフォーマンスに優れたミドルクラスのFPGAを使用しているため、低コストかつ高性能なシステムを実現しています。


システムの作動中に部分的に再編成を行う機能もあり、柔軟なアプリケーション変更や複数ユーザーによる使用にも対応しています。また、回線交換方式をとっているため、Deep Learningのような同期が必要かつデータサイズが予測できるようなアプリケーションにも適しているシステムです。



特徴/優位性


1.ミドルクラスのFPGAを実装し低コスト化を実現


ミドルクラスのFPGAとGPUを比べてみた場合、データ転送性能、電力性能はFPGAが大きく優れていますが、演算性能はハイエンドなFPGAを用いて用途を限定しないと、GPUと同程度の性能は出せません。それにもかかわらず、現在運用されているFPGAクラウドの実装例では、図1のMicrosoft Catapultのように、個々のノードごとにハイエンドFPGAを接続しており、FPGAが本来得意とする高速なデータ転送機能が活かされていません。


これに対し、図2の本マルチFPGAシステムはコストパフォーマンスのよいミドルクラスのFPGAを使用し、ネットワークを蜜結合することで全体として巨大な演算用のFPGAシステムを構成し、ハイエンドFPGAと同等以上の性能を実現しました。



表1:単一のFPGAシステムとの電力効率の比較

また、このマルチFPGAシステムと単一のFPGAの電力効率(GOPS/W)を比較した場合、表1の通り同様の電力効率で高い性能を実現しています。


2.FPGA同士の通信の待ち時間と帯域幅を保証することでリアルタイム

処理に対応


本システムは、FPGA間をファイヤーフライケーブルで接続し、回線交換方式であるSTDM(Static Time Division Multiplexing)スイッチを使用してデータ通信を行っています(図3参照)。STDMを採用した大きな理由は、一般的に通信に用いられるパケット交換方式と異なり、STDMは時間ごとに一定の通信を行うため、あらかじめモジュール転送にかかる時間の予測がし易いからです。これによってバンド幅と遅延を予測することができます。また、クロックジェネレータで1つのクロックを全ボードに供給することでSTDM による通信のばらつきをなくし、精密なスケジューリングが可能になっています。


ニューラルネットワークなど、同期が必要でかつ、データ量があらかじめ予想できるアプリケーションでは、この機能が有効に働きます。

図3:Flow-in-Cloud (FiC) の概要

3.システムを停止させることなく、部分再構成が可能


本システムは、高速シリアルリンクとSTDMスイッチによって、複数のFPGAボードをひとつの大きなFPGAのように使用しています。システム動作途中でも各ボードに載せているアプリケーションを部分的に変更できるよう、スイッチ部分は動作させたままアプリケーション部分を入れ替える仕組みが採用されています。


また、FPGAを大まかに2つの領域に分けて実装しています。1つはSTDMスイッチやその他のボード間の通信に利用するIPモジュールが含まれる、プラットフォームを維持するために途中で変更されることなく常に動き続けるスタティック領域。もう1つは入れ替え可能なアプリケーションモジュールを実装する部分再構成領域です。

このように領域を分けて実装することで、部分的なアプリケーションの入れ替えができるため、複数ユーザーによるシステムの同時使用が可能となります。更に、入れ替えるアプリケーション以外のスタティック部分の設計は変更する必要がなく、配置配線などの設計にかかる時間を短縮でき、ビットストリームをコンフィギュレーションするときもアプリケーション部分だけコンフィギュレーションし直せばよいため、情報量と時間を削減することができます。



現在のFlow-in-Cloud (FiC) SW Boardの構成


Flow-in-Cloud(FiC)は、各FPGAボード同士を高速シリアルリンクによって接続して構成しています(このFPGAボードをFiCSWと呼んでいます)。ここでは具体的にFiCのプロトタイプボートであるFiC-SW1について説明します。

(図4:FiC-SW1ボードの写真、図5:FiC-SW1 のボードのブロック図)


図4:FiC-SW1 のボード写真


図5:FiC-SW1 のボードのブロック図

FPGAにはXilinx Kintex Ultrascale XCKU095を採用し、ローカルにデータを格納するために2つのDRAMスロットを搭載、ボード間通信のためにX4双方向のFireFly Micro Flyoverシステムが8ポート(1ポートあたり、最大9.9Gbpsのフラットケーブル4本)用意されています。そして、FPGAのコンフィギュレーションのためにRaspberryPi3ボードが接続されています。



応用アプリケーション/技術の活用シーン


例えば、AIスピーカーや機械翻訳、画像説明など、AIを活用したサービスがシーンとして上げられます。特にリアルタイム性を要求されるアプリケーションにおいては、FPGAがCPUやGPUに比べて優れている特徴が生かされ、活用が期待されます。


※参考記事

SKテレコムのスマートスピーカーがFPGAベースのAIアクセラレータを採用

https://monoist.atmarkit.co.jp/mn/articles/1809/04/news043.html


研究者の想い


24枚のボードを使ったプロトタイプシステムが実現でき、利用可能となりました。より多くのアプリケーションへの応用の機会を必要としています。現在も、深層学習やゲノムマッチングへの応用について研究を行っておりますが、今後は5Gの普及がはじまりネットワーク系への応用も考えられます。広く応用の可能性を探っていきたいと思います。




専門用語の解説







編集後記


天野教授は日本のコンピュータアーキテクチャ・リコンフィギャラブルシステム研究をリードする第一人者であり、今もなお、様々な分野に応用可能な新しいコンピュータアーキテクチャの研究に尽くしています。


今回ご紹介したマルチFPGAシステムの研究はAI(深層学習)や5Gなど、今注目されている分野への応用が期待されます。5Gの実用化がはじまれば、多くのIoT機器をインターネットに接続できるようになるため、リアルタイム性が求められるアプリケーションでは多くのデータを瞬時に処理できる計算機が必要になってきます。このマルチFPGAシステムはデータ量に応じて計算リソースを増減できる特徴(コンピューティングリソースの最適化)があるため、今後のビッグデータ解析のプラットフォームとしても見込まれます。FPGAの低レイテンシかつタクトタイムを均一にできる特徴を生かすことで、遠隔医療や自動運転の遠隔監視など、5Gでの活躍の場も増えてくるでしょう。


我々はFPGAを使用した新しい技術により世の中の暮らしが豊かになるよう、天野教授の取り組みを支援していきます。



本記事に関するご質問や天野教授の技術応用にご興味のある方は下記までご連絡ください。

【お問い合わせ】

株式会社PALTEK FPGAソリューション事業部

E-mail : info_pal@paltek.co.jp


Copyright PALTEK CORPORATION