VMWare、機械学習推論向けに vSphere 上で Alveo FPGA の性能を検証

‎06-24-2020 10:59 AM

xilinx-vmware-blog-twitter

ハードウェアでの高速化はデータセンターでは一般的となり、新しいワークロードが FPGA アクセラレーションのメリットとその優れたコンピューティング効率を享受できるようになりました。機械学習 (ML) への関心は急速に高まっており、プライベート/パブリック/ハイブリッド クラウドのデータセンター環境に FPGA アクセラレータを採用して、このような演算集中型ワークロードを高速化する傾向が高まっています。このようなヘテロジニアス コンピューティングへの IT インフラストラクチャ変革推進の一環として、ザイリンクスは最近 VMware と共同で、vSphere (VMware のクラウド コンピューティング仮想化プラットフォーム) 上での FPGA アクセラレーションをテストしました。ML 推論の高速化を目的としてザイリンクス FPGA が採用されるケースが増えていることから、今回はザイリンクス FPGA と VMware vSphere を使用して、仮想展開でもベアメタル展開でも同じように、高スループットで低レイテンシの ML 推論パフォーマンスを実現できることを証明します。

適応型コンピューティングの利点

FPGA は、対象アプリケーションのさまざまな処理要件や機能要件を満たすよう再プログラミングできる、柔軟性の高い適応型コンピューティング デバイスです。この特長こそが、非常に高コストのカスタム ASIC は言うまでもなく、GPU や ASIC などの固定型アーキテクチャと FPGA の大きな違いです。さらに FPGA には、他のハードウェア アクセラレータと比べてエネルギー効率が高く、レイテンシが低いというメリットもあるため、ML 推論タスクに特に適しています。PU で高スループットを実現するには、基本的に多数の並列処理コアを必要としますが、FPGA ならば、カスタマイズされたハードウェア カーネル、データフローのパイプライン処理、インターコネクトによって、ML 推論で高スループットと低レイテンシを同時に実現できます。

vSphere 上のザイリンクス FPGA を ML 推論に使用

VMware は、ラボでのテストにザイリンクス Alveo U250 データセンター カードを使用しました。ML モデルは、Vitis AI (エッジからクラウドまでのザイリンクス ハードウェア プラットフォームに搭載された、ML 推論用のザイリンクス統一開発スタック) に備わっている Docker コンテナを使用して、短時間でプロビジョニングされました。Vitis AI は、最適化されたツール、ライブラリ、モデル、サンプルで構成されています。Vitis AI は、Caffe や TensorFlow などのメインストリーム フレームワークのほか、多様な深層学習タスクが可能な最新のモデルもサポートしています。しかも Vitis AI はオープン ソースで、GitHub 上でのアクセスも可能です。

vv

Vitis AI ソフトウェア スタック

現在、ザイリンクス FPGA は vSphere 上で DirectPath I/O モード (パススルー) から有効化できます。この方法ならば、VM 内で実行中のアプリケーションが FPGA に直接アクセスでき、ハイパーバイザー レイヤーをバイパスするため、パフォーマンスが最大限に高まると同時に、レイテンシが最小限に抑えられます。DirectPath I/O モードで FPGA を設定するプロセスは簡単です。まず ESXi 上で、ホスト レベルでデバイスを有効化し、次にこのデバイスをターゲット VM に追加します。詳細な手順については、こちらの VMware KB の記事をご覧ください。なお、vSphere 7 を実行する場合は、ホストのリブートは不要です。

高スループットで低レイテンシの ML 推論パフォーマンス

VMware はザイリンクスと共同で、Inception_v1、Inception_v2、Resnet50、VGG16 の 4 つの CNN モデルで推論を実行して、DirectPath I/O モード時の Alveo U250 アクセラレータ カードのスループットとレイテンシ性能を評価しました。これらの各モデルはモデル パラメーターの数が異なり、そのため処理の複雑性も異なります。

このテストには、2 つの 10 コア型 Intel Xeon Silver 4114 CPU と 192 GB の DDR4 メモリを搭載した Dell PowerEdge R740 サーバーを使用しました。また、ESXi 7.0 ハイパーバイザーを使用して、各モデルのエンドツーエンドのパフォーマンス結果を基準となるベアメタルと比較しました。Ubuntu 16.04 (カーネル4.4.0-116) は、ゲスト OS とネイティブ OS の両方として使用しました。さらに、テスト全体を通して、Vitis AI v1.1 と Docker CE 19.03.4 を使用しました。ImageNet2012 から派生した 50k 画像データ セットを使用し、さらに画像読み取り時のディスクのボトルネックを避けるため、RAM ディスクを作成し、50k 画像の保存に使用しました。

上記の設定で行われた仮想テストとベアメタル テストのパフォーマンス比較を、次の 2 つの図に示します。一方がスループット、もう一方がレイテンシの比較です。y 軸は仮想とベアメタルの比率で、y=1.0 は仮想とベアメタルのパフォーマンスが同じであることを意味します。

bzdrz

ザイリンクス Alveo U250 FPGA での ML 推論のスループット性能比較 (ベアメタル vs 仮想)

ll

ザイリンクス Alveo U250 FPGA での ML 推論のレイテンシ性能比較 (ベアメタル vs 仮想)

このテストにより、仮想とベアメタルの性能差はスループットとレイテンシともに 2% 以内であることが立証されました。これは、仮想環境で vSphere 上の Alveo U250 を ML 推論に使用した場合のパフォーマンスが、ベアメタル基準とほぼ同じであることを意味します。

クラウドでの FPGA パフォーマンス

データセンターで FPGA アクセラレータを採用することは一般的になりつつあり、ヘテロジニアス コンピューティングと性能向上に対するニーズの増加に合わせて、今後も採用が増え続ける見込みです。ザイリンクスと VMware の提携により、お客様が vSphere プラットフォームでザイリンクス FPGA アクセラレーションを最大限に活用できるようになったことは喜ばしい限りです。vSphere 上の Alveo U250 アクセラレータで ML 推論を行った今回のテストにより、DirectPath I/O モードでネイティブに近いパフォーマンスが実現されることをお客様に実証できました。

VMware 公式の CTO ブログもご覧ください。 Using Xilinx FPGA on VMware vSphere for High-throughput, Low-latency Machine Learning Inference.