【レポート】クラウドでアクセラレーテッドコンピューティング!GPU と FPGA を駆使してアプリケーションを高速化#AWSSummit

aws-summit-tokyo-2017-longlogo

ご機嫌いかがでしょうか、豊崎です。

現在開催中のAWS Summit Tokyo、当エントリでは2017年05月31日に行われたAWS Techトラック1:クラウドでアクセラレーテッドコンピューティング!GPU と FPGA を駆使してアプリケーションを高速化についてレポートします。

セッション概要

当セッションの登壇者及び概要は以下の通りです。 http://www.awssummit.tokyo/summit/index.html

スピーカー: 松尾 康博 アマゾン ウェブ サービス ジャパン株式会社 技術統括本部 ソリューションアーキテクト

AWS ではアクセラレーター搭載インスタンスとして昨年に GPGPU 用の GPU 搭載インスタンス (P2) と FPGA 搭載インスタンス (F1) を発表しましたが、高速な処理が求められる領域で利用が進んでいます。本セッションでは、それぞれのアクセラレーターインスタンスの特徴と適用領域、そして事例についてご紹介します。

セッションレポート

アプリケーションを高速化すること

  • 処理サイクルを高速化
  • H/Wのクロック周波数を引き上げる
  • アルゴリズムを改善する
  • i/oを改善する
  • ディスクI/O、メモリI/O、キャッシュ
  • 並列化"可能な処理"を並列化する=スループットを上げる

並列化の実行方法

  • 並列クラスタによる並列分散処理
  • MPI
  • CPUマルチコア並列
  • OpenMP
  • マルチスレッドプログラミング
  • ハードウェアアクセラレーター
  • GPU
  • FPGA
  • SSE,AVX

アクセラレーテッドコンピューティングとは?

特定のカテゴリの計算処理で、GPUやFPGAをつかった並列化により高スループットと高効率化を行う。

  • CPU:高速、汎用、程スループット
  • GPU/FPGA:高スループット、高効率、専用

ハードウェアアクセラレータによる高速化

並列化可能な計算をハードウェアアクセラレータで処理

GPUとFPGAの並列処理

  • GPU
  • 同じ処理を並列に実行するSIMD(single Instruction Multiple Data)に向いている。
  • 優れた命令セットに対して固定長ワードを扱える。
  • FPGA
  • SIMDに加えてMIMD(Multiple Instruction Multiple Data)も実行可能。
  • 規定の命令セットや固定長ワードはない。

高速計算のユースケース

  • 流体のシミュレーション
  • 車の衝突シミュレーション
  • CG、アニメーション
  • 金融のリスクシミュレーション
  • 検索エンジン
  • 物流のシミュレーション

などなど

EC2のコンピュートインスタンスタイプ

  • P2/G2:GPU
  • F1:FPGA

GPU:コンピュートとグラフィックス

  • P2
  • 1インスタンスに最大16個のTesla K80をGPU搭載
  • peer-to-peer PCIe GPU インターコネクトを搭載
  • Deep Learning,HPCシミュレーション、バッチレンダリングなどの様々な用途に利用可能

5/26から東京リージョンで利用可能!

AWS Deep Learning AMI

数分でDeep Learningが利用可能に!

Deep Learning on GPU

  • P2 GPU インスタンスでDL学習と推論において高速な性能を実現
  • P2インスタンスでのMXNet学習処理
  • P2.16xlarge 1台で16GPUまで並列に実行した場合、91%の実行効率で性能向上
  • P2.16xlarge 16台で構成したクラスター計256GPUまで並列に実行した場合、85%の実行効率で性能向上

VOLTA世代GPU搭載インスタンス

GTC2017で発表されたVolta世代のTesla V100を備えたインスタンスを提供するとを発表

P2 Tips

  • 基本的なOSのチューニングは必ず実施する
  • Placement Group、拡張ネットワーキングを利用する
  • NVIDIA Driver最新版をつかう(352.99以降)
  • GPUの周波数を最大化固定する

Accelerated Graphics on AWS

  • GPUサーバを共有
  • リソースの共有
  • 安全にコラボレーションを可能に

G2インスタンス

  • 最大8個のK520 GPUを1台のインスタンスに搭載
  • リモートビジュアライゼーション向け
  • DL、HPCシミュレーション、バッチレンダリングなどのGPGPUも可能

EC2+ElasticGPU

  • グラフィックス性能を柔軟に
  • 通常のインスタンスにGPUを後付けするサービスが今後リリースされる予定

アクセラレーテッドコンピューティング用FPGA

  • 並列の処理をするためのデバイス

F1 FPGAインスタンス

  • 最大 8 個の FPGA

抽象化したFPGA I/O

  • AWS FpShell
  • 中身のロジックを書くだけでOK

F1を使ったFPGAアクセラレーション

  • AmazonFPGA Image(AFI)
  • AFIの作り方
  • Xilinxが提供しているルーツを利用して作成する
  • amazon独特の何かは特にない

事例

  • ゲノム処理
  • F1に対応したElasticSearchエンジン
  • ライブエンコーディングの処理

などなど

F1に対応したElasticSearchエンジンのRyft Cloudについて、弊社大瀧が記事を書いていますのでこちらも併せてご覧いただければと思います。

Amazon EC2 F1(FPGA)インスタンスで動作するElasticsearch拡張のRyft Cloudが気になる

まとめ

今まで非常に時間がかかることにより、現実的ではなかった処理、または繰り返し実施することが困難だった処理時間が短縮されることにより、各分野でのAWS利用がますます促進されそうです。