© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Gadi Hutt
Amazon Web Services 、 EC2 F1 向けグローバルビジネス開発担当 脇本 康裕
株式会社ソシオネクスト エンタープライズソリューション事業部 3-H1-3-15
Amazon EC2 F1 インスタンス
~カスタムハードウェアアクセラレータを使用した
アプリケーションの高速化~
アジェンダ
• EC2 F1 インスタンスの概要と更新内容
• カスタム HW アクセラレーションの構築方法
• ユースケースとサクセスストーリー
• 株式会社ソシオネクスト : AWS 上での HW アクセラレー ションによる AV1 ビデオエンコーダーの構築
• 始めましょう
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
汎用 コンピューティング
最適化 ストレージ最適化 メモリ最適化 アクセラレーテッド コンピューティング
M5
T2
C5
C4
H1
I3
X1e
R4
F1
P3 G3
D2
Amazon EC2 インスタンスタイプ
AWS における F1 FPGA インスタンスタイプ
§ 最大 8 個の Xilinx UltraScale+ 16nm VU9P FPGA デバイスを単一のインスタンスで利用可能
§ f1.16xlargeサイズの場合:
§ 8個のFPGAそれぞれに、200万個以上のカスタマーアクセス可能なプログラマブ ルロジックセルと5000個以上のプログラマブルDSPブロックを搭載
§ 8個のFPGAそれぞれに、4つのDDR-4インターフェイス、さらにそれぞれのイン ターフェイスが16GiB、72ビット幅のECC保護メモリにアクセス
インスタンス
サイズ
FPGA FPGAメモリ
(GB) vCPU
インスタンス メモリ(GB)
NVMeインスタンス
ストレージ(GB)ネットワーク 帯域幅
f1.2xlarge 1 64 8 122 1 x 470
最大10 Gbpsf1.16xlarge 8 512 64 976 4 x 940 25 Gbps
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
FPGA における並列処理
FPGA は、ビデオストリームに対するマルチステージ 処理、複雑な金融モデルに対する大量の依存 / 非依存 計算の実行など、さまざまなタイプのデータの並列処 理において有効である
• FPGAには命令セットは存在しない
• データのビット幅を任意に設定できる(9ビット整数にも対応可能)
• 広いメモリバス(512ビット長?)
FPGA アクセラレーションの仕組み
FPGA は、コンピューティングイ ンテンシブで、ディープパイプ ライン化された、ハードウェア アクセラレーション処理を実施
....
....
module filter1 (clock, rst, strm_in, strm_out) module filter1 (clock, rst, strm_in, strm_out)
for (i=0; i<NUMUNITS; i=i+1) for (i=0; i<NUMUNITS; i=i+1) always@(posedge clock) always@(posedge clock) integer i,j; //index for loops integer i,j; //index for loops
tmp_kernel[j] = k[i*OFFSETX];
tmp_kernel[j] = k[i*OFFSETX];
アプリケーション
....
....
....
....
....
....
....
CPU が残りを処理する
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
「ディープパイプライン化」とは
シングルコア マルチコア パイプライン
カスタムロジックと FPGA シェル
AWS FPGA シェル
標準的な、事前テスト済みのセキュアなI / Oコンポーネント を提供し、FPGA開発者がその差別化された価値に集中できる ようにします
ソフトウェア開発キット (SDK)
FPGAの管理と通信に必要なソフトウェアインターフェイスを 提供します
ハードウェア開発キット (HDK) 必要なFPGAシェルコンポーネントを提供
SDK HDK
ソフトウェア アプリケーション https://github.com/aws/aws-fpga
カスタムロジック
AWS FPGA シェル
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
カスタムアクセラレーションの開発
FPGA Developer AMI
ユーザのFPGAロジックを記述し、シミュレートするために(HDKと共に)必要となる全ての ツール群をあらかじめ統合
Xilinx Vivado (カスタムロジック開発用) Virtual JTAG (インタラクティブなデバッグ用)
Amazon FPGAアクセラレーション
PCIe
DDR
コントローラ
DDR-4
アタッチ メモリ
EC2
F1
インスタンスの起動と AFI のロード Amazon Machine Image (AMI)
CPU アプリケーショ
ン
Amazon FPGA Image (AFI)
F1インスタンスは任意の
数のAFIを保持できるAFIはFPGAに数秒で
ロードできる© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
Amazon FPGA Image (AFI) の作成と使用
暗号化した AFI を生成して、 F1 上にデプロイ / マーケットプレース上
にパブリッシュ
1.4 シェルのリリースを発表
Ø 改善されたDMAパフォーマンス: 以前のシェルに比べて 5倍性能向上
Ø 再構成可能なシェル: AFI再コンパイルなしで将来のシェ ル機能をアップグレード可能に
Ø ベータ機能: DRAM データの保持機能 Ø ソフトウェア定義開発 (OpenCL):
o 最大60個のカーネルをサポート (以前は16個) o 自動最適化 (未使用リソースの解放)
o RTLカーネルをサポート
o ポストシンセシス(合成)、配置配線の最適化
EC2
F1
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
リージョンとアベイラビリティゾーンの数
AWS GovCloud (2) EU
アイルランド(3)
米国西部 フランクフルト(3)
オレゴン(3) ロンドン(2) 北カリフォルニア(3)
アジア太平洋
米国東部 シンガポール(2)
北バージニア(6)、オハイオ(3) シドニー(3)、東京(3)、
ソウル(2)、ムンバイ(2) カナダ
中部(2) 中国
北京(2) 南アメリカ
サンパウロ(3)
発表済みリージョン
バーレーン、香港、スウェーデン、さらに米国で2番目のAWS GovCloud、
さらに12のアベイラビリティゾーンと4つのリージョンの計画を発表
AWS グローバル インフラストラクチャ
F1 F1
F1
18のリージョン – 55のアベイラビリティゾーン
F1
FPGA パートナーとユースケース
F1 ユースケースとパートナー
§ 金融計算
§ ゲノミクス シークエンシング
§ エンジニアリング シミュレーション
§ 画像・ビデオ処理
§ ビッグデータ、機械学習
§ セキュリティ、圧縮
§ ... など
低レイテンシー・高速検索エンジン
ローカルマシン
CAGACCGGGGGGCGGACCCACTGGTTCCGG GGCGGGGCCTTGACCGGGGGCGGAGCCATG GGCGGGGCGGGGCGGGGCCACTGACCACAG GGGGCGGGGTCTCGGGCCCCCGCACATCCC GGGGGCGGAGCCATGGGGCGGGTCCACTGG CCCCGGGGGTGGGGTCTCGGGCTTGGGGGC GGCCCCACGGGGCTGGGGCGGGGCCACTGG CCACAGGGGCGGGGTCACGGCTTCGGGGCG GGGCCACAGACCGGGGGCAGAGCCATGGGC GGGGGGCACG
DNA配列
Cin/Q Thr/T Gly/G Gly/G Arg/R Thr/T His/H Trp/W Phe/F Arg/R Gly/G Gly/G Ala/A Leu/L Thr/T Gly/G Gly/G Gly/G Ala/A Met/M Gly/G Gly/G Ala/A Gly/G Arg/R Gly/G His/H STOP Pro/P Cin/Q Gly/G Ala/A Gly/G Ser/S Arg/R Ala/A Pro/P Ala/A His/H Pro/P Gly/G Gly/G Gly/G Ala/A Met/M Gly/G Arg/R Val/V His/H Trp/W Pro/P Arg/R Gly/G Trp/W Gly/G Leu/L Gly/G Leu/L Gly/G Gly/G Gly/G Pro/P Thr/T
アミノ酸配列
• 次世代連想記憶メモリ(CAM)のFPGA実装ソリューション
• DNA配列からアミノ酸配列への変換を300倍高速化
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
FPGA パートナーと AWS ユーザーの結び付け
(AWS F1)
大規模なプレシジョンメディシン ( 精密医療 ) の促進
Children’s Hospital of PhiladelphiaとEdico Genome社、
最速で1,000件のゲノム解析を達成
2017年10月19日、フィラデルフィア州
オーランド– Children’s Hospital of Philadelphia (CHOP)とEdico Genome社は
本日、プレシジョンメディシンを臨床 診療の主流にすることを目的として、ヒトゲノム(人間の全遺伝情報)を研究利 用可能なデータファイルに高速変換す る処理において、科学界の新たな基準 を打ち立てた。Amazon Web Services
(AWS)クラウドの1,000個のAmazon EC2 F1インスタンス上にデプロイされた、
Edico Genome社のDRAGEN
TMGenome
Pipelineを利用することで、1,000件の小
児ゲノムが2時間25分以内に処理された。© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS F1 での高性能な画像処理
CIP (CTAccel Image Processor): F1 イメージアクセラレーター
アプリ ケーション
JPEGサムネール シャープ加工
ウォーター
マーク 明るさ
-
コントラストメインカラー
JPEG デコード
Ø 2016年、香港と深セン市で設立
Ø
メインスタッフの出身校は、CUHK
、HKUST
、FDU、CASなど
Ø FPGAによるデータセンターのアクセラレーション
コンピューティング技術に注力Ø
コア技術は米国特許取得済みØ 2016年、香港と深セン市で設立
Ø
メインスタッフの出身校は、CUHK
、HKUST
、FDU、CASなど
Ø FPGAによるデータセンターのアクセラレーション
コンピューティング技術に注力Ø
コア技術は米国特許取得済みAWS
FP1 CIP
JPEG 2 Lepton
リサイズエンドユーザー
携帯電話/PAD カメラ
PC
アプリケーション
クラウドアルバム ソーシャルネットワーク
...
ニュース...
JPEG 2 Webp
遅延の削減 遅延の削減
10x
同時処理の向上10x
28.
1
27 9
Latency/ms
56 7
57.
0
QPS CIPのハイライト
テスト画像ライブラリ:
(1)総画像数:10000、(2)解像度: 4096 x 2160、(3)総サイズ: 8.3GB
FPGA アクセラレーションを適用した Ryft クラウド上と CPU 上での Elasticsearch のベンチマーク比較
Ryft 社の解析エンジンがビッグデータ解析を 91 倍高速化
Copyright 2018 21
Amazon EC2 F1インスタンス
カスタムハードウェアアクセラレータを使⽤した アプリケーションの⾼速化
株式会社ソシオネクスト
エンタープライズソリューション事業部 脇本 康裕
2018年 6⽉ 1⽇
富⼠通
システムLSI事業
パナソニック
システムLSI事業
富⼠通とパナソニックのシステムLSI事業を統合し、
2015年3⽉1⽇から事業開始
ソシオネクストの成り⽴ち
Copyright 2018 23
ソシオネクストのコア技術
ビデオCODECとは
CODEC = エンコード + デコード
エンコード︓伝送や記録のために、画像・⾳声データを⼩さく圧縮 デコード ︓圧縮されたデータを元の画像・⾳声データに戻す
元の画像→エンコード デコード→元の画像
Professional users
圧縮された データ
100G, 400G,
・・・
25
何をやったか
Copyright 2018
Host CPU
FPGA
n 最先端規格(AV1)のエンコーダ実装
2018/3/28 正式規格リリース
2018/4/9-12 NAB2018でデモ展⽰
n 超短期開発
2018/2/5 開発開始(アカウント登録) 2018/3/16 システム動作確認完了
n CPUとFPGAで処理を進めるハイブリッド構成
エンコーダ
=映像を調べる+ビットを組⽴+全体制御
開発環境 サンプル
処理が単純 並列処理
処理に柔軟性必要 逐次処理
FPGA CPU
AV1 エンコードデモ
Processor Xeon XILINX FPGA Hardware Accelerator Reference
Encoder Processor Xeon
Reference
Encoder +
CP U 処 理 時 間
約1/10に
アクセラレータによるCPU処理量削減効果
プロトタイプ デモ展⽰
(2018/4/9-12 NAB2018)
27
F1インスタンスの感想、意⾒
Copyright 2018
n これまで
FPGAを使うには、先ずボード の購⼊ or 開発が必要 n いつでも
→先ず購⼊⼿続、納品、設置、設定、そして使ってみる
→決めたその⽇に使ってみる n 誰でも・どこからでも
→専⾨家が、実験室で利⽤
→IDあればInternetのつながるどこからでも利⽤
決めた2/5に 開発開始︕
開発︓京都
企画︓横浜
デモ︓ラスベガス
F1インスタンスの感想、意⾒ 〜 ソシオネクストの挑戦
n 挑戦1︓半導体の新ビジネスモデル
→半導体ユーザが使いたいのはSiliconとは限らない CODECという機能を提供するモデル
n 挑戦2︓SaaS with FPGA
→SaaSで利⽤されるアプリをFPGAで加速
定番アプリの加速モデル
FPGA パートナーソリューションの提供
Amazon EC2 FPGA Marketplaceからの
CPU アプリケーショ
ン
カスタマー
Amazon Machine Image (AMI)
Amazon FPGA Image (AFI)
AFIはセキュリティ保護、暗号化が施
されて、FPGAに動的にロードされる–
コピーやダウンロードは不可能
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
AWS Marketplace
クラウド環境でのソフトウェアの検索、入手、デプロイ、管理
さあ、始めましょう
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
F1 インスタンスを使用する 3 つの方法
ハードウェア開発者 1
• F1 ハードウェア開発キット (HDK) を使用して、 Verilog および VHDL でカスタム FPGA ア クセラレーションを開発しデプロイする
ソフトウェア開発者 2
• OpenCLを使用して、C/C++コードからカスタムアクセラレーションを構築する
AWS ユーザー 3
• AWS Marketplace で入手可能なすぐに使える構築済みのアクセラレーションを使用する
https://github.com/awslabs/aws-fpga-app-notes/tree/master/reInvent17_Developer_Workshop
§ AWS F1 C/C++ による実践体験
§ FPGA アクセラレーションアプリ ケーションの開発方法の学習
§ カスタム FFMPEG アクセラレー ターの作成 (2時間未満)
F1 C/C++ チュートリアル
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
80 以上の OpenCL レファレンス例
アクセラレーション : 計算ユニットの FPGA へのオフロード事例
• ベクトル量子化
• 行列乗算
• 最近傍探索
• 擬似乱数生成器
セキュリティ : 暗号化とデータセキュリティにおける事例
• SHA-1
• RSA 復号化
• AES-128 ECB 暗号化
ビジョン : イメージ及びビデオ処理事例
https://github.com/aws/aws-fpga/tree/master/SDAccel/examples
モンテカルロ ファイナンシャル モデル POC
https://github.com/KitAway/FinancialModels_AmazonF1
ブラック – ショールズモデル , ~543 倍高速化 ( ヨーロピアン・オプション )
Heston モデル , ~148 倍高速化 ( ヨーロピアン・オプション )
Model Option
N. random number generators
N.
simulations N.
simulation groups
N. steps Time C5 CPU [s]
Time F1
FPGA [s] LUT LUTMem REG BRAM DSP
Black- Scholes
European
option 64 512 1024 1 125 0.23 31% 2% 15% 26% 43%
Black- Scholes
Asian
option 64 512 65536 256 376 0.83 31% 2% 16% 26% 43%
Heston European
option 32 512 512 256 226 1.52 18% 2% 9% 11% 26%
Heston
European
barrier 32 512 512 256 32 0.75 18% 2% 9% 11% 26%
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ファイル圧縮例
https://github.com/Xilinx/Applications/tree/master/GZip
1.7 倍の圧縮率、 20% の FPGA 使用率で 1.92 GB/s の速度を実現
画像圧縮例
https://github.com/Xilinx/Applications/tree/master/webp 6% の FPGA 使用率で 14 倍の高速化を実現
Pictures Texture complexity Width (pix) Height (pix) -q Bottleneck Bottleneck latency
(ms) Freq (MHz) Throughput CPU
AWS C5 (MB/s) Speed up
3840-city.png complex 3840 2160 80 kernel-2 87.93 250 18.46 7.67
1920x1080x4.pn
g simple 3840 2160 80 kernel-1 74.96 250 16.17 10.34
1920x1080.png simple 1920 1080 80 kernel-1 18.60 250 11.85 14.22
853x640.png simple 853 640 80 kernel-1 74.96 250 20.97 7.92
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.
ML アクセラレーション スイート
https://github.com/Xilinx/ML-Suite/
Amazon EC2 F1 インスタンス入門ワークショップ
概要
FPGAを搭載したAWSの仮想サーバ "F1インスタンス"について、基礎知識と操作について学んで頂くた
めのワークショップです。AWSの基本的な操作から、FPGAによるアクセラレーション、SDAccelによる 開発環境を、実際に触れて体験頂けます。
日時 2018年7月2日(月) 13:30-17:30 (13:00開場)
開催場所 アマゾン ウェブ サービス ジャパン株式会社 目黒アルコタワー14 階
対象者 クラウド上でFPGAを用いてアクセラレーションしたい人、AWS初心者、FPGA初心者も歓迎です 参加費 無料
定員 25名 (先着順)
主催 ザイリンクス株式会社・アマゾン ウェブ サービス ジャパン株式会社
https://connpass.com/event/89928/
© 2018, Amazon Web Services, Inc. or its affiliates. All rights reserved.