3-H1-3-15 Amazon EC2 F1 インスタンス ~カスタムハードウェアアクセラレータを使用したアプリケーションの高速化 ~ Gadi Hutt Amazon Web Services EC2 F1 向けグローバルビジネス開発担当脇本康裕株式会社ソシオネクストエンタープライズソリューション事業部
アジェンダ EC2 F1 インスタンスの概要と更新内容 カスタム HW アクセラレーションの構築方法 ユースケースとサクセスストーリー 株式会社ソシオネクスト : AWS 上での HW アクセラレーションによる AV1 ビデオエンコーダーの構築 始めましょう
Amazon EC2 インスタンスタイプ 汎用 コンピューティング最適化 ストレージ最適化 メモリ最適化 アクセラレーテッドコンピューティング M5 C5 H1 X1e G3 T2 C4 I3 D2 R4 P3 F1
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 Gbps f1.16xlarge 8 512 64 976 4 x 940 25 Gbps
FPGA における並列処理 FPGA は ビデオストリームに対するマルチステージ処理 複雑な金融モデルに対する大量の依存 / 非依存計算の実行など さまざまなタイプのデータの並列処理において有効である FPGA には命令セットは存在しない データのビット幅を任意に設定できる (9 ビット整数にも対応可能 ) 広いメモリバス (512 ビット長?)
FPGA アクセラレーションの仕組み FPGA は コンピューティングインテンシブで ディープパイプライン化された ハードウェアアクセラレーション処理を実施..................... アプリケーション module filter1 (clock, rst, strm_in, strm_out) CPU が残りを処理する integer i,j; //index for loops always@(posedge clock) for (i=0; i<numunits; i=i+1) tmp_kernel[j] = k[i*offsetx];......
ディープパイプライン化 とは シングルコアマルチコアパイプライン
カスタムロジックと FPGA シェル https://github.com/aws/aws-fpga AWS FPGA シェル標準的な 事前テスト済みのセキュアな I / O コンポーネントを提供し FPGA 開発者がその差別化された価値に集中できるようにします ソフトウェアアプリケーション SDK HDK ソフトウェア開発キット (SDK) FPGA の管理と通信に必要なソフトウェアインターフェイスを提供します ハードウェア開発キット (HDK) 必要な FPGA シェルコンポーネントを提供 AWS FPGA シェル カスタムロジック
カスタムアクセラレーションの開発 FPGA Developer AMI ユーザの FPGA ロジックを記述し シミュレートするために (HDK と共に ) 必要となる全てのツール群をあらかじめ統合 Xilinx Vivado ( カスタムロジック開発用 ) Virtual JTAG ( インタラクティブなデバッグ用 )
Amazon FPGA アクセラレーション Amazon Machine Image (AMI) EC2 F1 Amazon FPGA Image (AFI) F1 インスタンスは任意の数の AFI を保持できる AFI は FPGA に数秒でロードできる インスタンスの起動と AFI のロード CPU アプリケーション PCIe DDR コントローラ DDR-4 アタッチメモリ
Amazon FPGA Image (AFI) の作成と使用 暗号化した AFI を生成して F1 上にデプロイ / マーケットプレース上にパブリッシュ
1.4 シェルのリリースを発表 改善された DMA パフォーマンス : 以前のシェルに比べて 5 倍性能向上 再構成可能なシェル : AFI 再コンパイルなしで将来のシェル機能をアップグレード可能に EC2 F1 ベータ機能 : DRAM データの保持機能 ソフトウェア定義開発 (OpenCL): o 最大 60 個のカーネルをサポート ( 以前は 16 個 ) o 自動最適化 ( 未使用リソースの解放 ) o RTL カーネルをサポート o ポストシンセシス ( 合成 ) 配置配線の最適化
AWS グローバルインフラストラクチャ 18 のリージョン 55 のアベイラビリティゾーン リージョンとアベイラビリティゾーンの数 AWS GovCloud (2) EU アイルランド (3) 米国西部フランクフルト (3) オレゴン (3) ロンドン (2) 北カリフォルニア (3) アジア太平洋 米国東部シンガポール (2) 北バージニア (6) オハイオ (3) シドニー (3) 東京 (3) カナダ 中部 (2) 南アメリカ サンパウロ (3) ソウル (2) ムンバイ (2) 中国 北京 (2) F1 F1 F1 F1 発表済みリージョン バーレーン 香港 スウェーデン さらに米国で 2 番目の AWS GovCloud さらに 12 のアベイラビリティゾーンと 4 つのリージョンの計画を発表
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 倍高速化 Wikipedia の全アーカイブ (60GB) を 2,500 の異なるエントリで検索すると CPU インスタンスでは 16 日要するが FPGA インスタンスではわずか 6 分で実現
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 TM Genome Pipeline を利用することで 1,000 件の小児ゲノムが 2 時間 25 分以内に処理された
AWS F1 での高性能な画像処理 CIP (CTAccel Image Processor): F1 イメージアクセラレーター エンドユーザー 携帯電話 /PAD カメラ PC... CIP のハイライト 56 7 QPS 57. 0 Latency/ms 28. 1 27 9 アプリケーションクラウドアルバムソーシャルネットワーク... ニュース 10x 同時処理の向上 10x 遅延の削減 AWS FP1 アプリケーション JPEG 2 Webp JPEG デコード メインカラー CIP JPEG 2 Lepton JPEG サムネール ウォーターマーク リサイズ シャープ加工 明るさ - コントラスト テスト画像ライブラリ : (1) 総画像数 : 10000 (2) 解像度 : 4096 x 2160 (3) 総サイズ : 8.3GB 2016 年 香港と深セン市で設立 メインスタッフの出身校は CUHK HKUST FDU CAS など FPGA によるデータセンターのアクセラレーション コンピューティング技術に注力 コア技術は米国特許取得済み
Ryft 社の解析エンジンがビッグデータ解析を 91 倍高速化 FPGA アクセラレーションを適用した Ryft クラウド上と CPU 上での Elasticsearch のベンチマーク比較 20
Amazon EC2 F1 インスタンスカスタムハードウェアアクセラレータを使 したアプリケーションの 速化 株式会社ソシオネクスト エンタープライズソリューション事業部脇本康裕 2018 年 6 1 Copyright 2018 21
ソシオネクストの成り ち 富 通 システム LSI 事業 パナソニック システム LSI 事業 富 通とパナソニックのシステム LSI 事業を統合し 2015 年 3 1 から事業開始 Copyright 2018 22
ソシオネクストのコア技術 Copyright 2018 23
ビデオ CODEC とは CODEC = エンコード + デコードエンコード : 伝送や記録のために 画像 声データを さく圧縮デコード : 圧縮されたデータを元の画像 声データに戻す 元の画像 エンコード 圧縮されたデータ デコード 元の画像 users Professional 100G, 400G, Copyright 2018 24
何をやったか Host CPU FPGA 最先端規格 (AV1) のエンコーダ実装 2018/3/28 正式規格リリース 2018/4/9-12 NAB2018でデモ展 超短期開発 2018/2/5 開発開始 ( アカウント登録 ) 2018/3/16 システム動作確認完了 CPU と FPGA で処理を進めるハイブリッド構成エンコーダ = 映像を調べる + ビットを組 + 全体制御 開発環境サンプル 処理が単純並列処理 FPGA 処理に柔軟性必要逐次処理 CPU Copyright 2018 25
AV1 エンコードデモ アクセラレータによる CPU 処理量削減効果 CPU 処理時間 約 1/10 に プロトタイプデモ展 (2018/4/9-12 NAB2018) Reference Encoder Reference Encoder + Hardware Accelerator Xeon Processor Xeon Processor XILINX FPGA Copyright 2018 26
F1 インスタンスの感想 意 これまで FPGA を使うには 先ずボード の購 or 開発が必要 いつでも 先ず購 続 納品 設置 設定 そして使ってみる 誰でも どこからでも 決めたその に使ってみる 専 家が 実験室で利 決めた 2/5 に開発開始! 開発 : 京都企画 : 横浜デモ : ラスベガス ID あれば Internet のつながるどこからでも利 Copyright 2018 27
F1 インスタンスの感想 意 ソシオネクストの挑戦 挑戦 1: 半導体の新ビジネスモデル 半導体ユーザが使いたいのは Silicon とは限らない CODEC という機能を提供するモデル 挑戦 2:SaaS with FPGA SaaS で利 されるアプリを FPGA で加速定番アプリの加速モデル Copyright 2018 28
FPGA パートナーソリューションの提供 カスタマー CPU アプリケーション Amazon Machine Image (AMI) Amazon EC2 FPGA Marketplace からのデプロイメント Amazon FPGA Image (AFI) AFI はセキュリティ保護 暗号化が施されて FPGA に動的にロードされる コピーやダウンロードは不可能
AWS Marketplace クラウド環境でのソフトウェアの検索 入手 デプロイ 管理
さあ 始めましょう
F1 インスタンスを使用する 3 つの方法 1 ハードウェア開発者 F1 ハードウェア開発キット (HDK) を使用して Verilog および VHDL でカスタム FPGA アクセラレーションを開発しデプロイする 2 ソフトウェア開発者 OpenCL を使用して C/C++ コードからカスタムアクセラレーションを構築する 3 AWS ユーザー AWS Marketplace で入手可能なすぐに使える構築済みのアクセラレーションを使用する
F1 C/C++ チュートリアル https://github.com/awslabs/aws-fpga-app-notes/tree/master/reinvent17_developer_workshop AWS F1 C/C++ による実践体験 FPGA アクセラレーションアプリケーションの開発方法の学習 カスタム FFMPEG アクセラレーターの作成 (2 時間未満 )
80 以上の OpenCL レファレンス例 https://github.com/aws/aws-fpga/tree/master/sdaccel/examples アクセラレーション : 計算ユニットのFPGAへのオフロード事例 ベクトル量子化 行列乗算 最近傍探索 擬似乱数生成器 セキュリティ : 暗号化とデータセキュリティにおける事例 SHA-1 RSA 復号化 AES-128 ECB 暗号化 ビジョン : イメージ及びビデオ処理事例
モンテカルロファイナンシャルモデル 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 Black- Scholes Heston European option Asian option European option 64 512 1024 1 125 0.23 31% 2% 15% 26% 43% 64 512 65536 256 376 0.83 31% 2% 16% 26% 43% 32 512 512 256 226 1.52 18% 2% 9% 11% 26% Heston European barrier option 32 512 512 256 32 0.75 18% 2% 9% 11% 26%
ファイル圧縮例 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 lena_c_512.png middle 512 512 80 kernel-1 2.84 250 21.32 6.50
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/
ありがとうございました @gadi_hutt gadi@amazon.com