コンテンツに移動
HPC

Google Virtual NIC(gVNIC)を使用した MPI アプリケーションの高速化

2021年11月4日
Google Cloud Japan Team

※この投稿は米国時間 2021 年 10 月 21 日に、Google Cloud blog に投稿されたものの抄訳です。

Google は、ネットワーク インフラストラクチャのパフォーマンスを絶えず改善しています。最近導入された Google Virtual NIC(gVNIC)は、特に Compute Engine 向けに設計された仮想ネットワーク インターフェースで、VirtIO ベースのイーサネット ドライバに代わるものです。Google の高性能かつ柔軟な Andromeda 仮想ネットワーク スタックと緊密に統合されており、高帯域幅のネットワーク構成(50~100 Gbps)を可能にするために必要となります。

gVNIC を使用すると、VM 間のトラフィックの転送効率が向上し、通信性能が改善されます。Message Passing Interface(MPI)の通信性能は気象モデリング、計算流体力学、コンピュータ支援エンジニアリングなどのワークロードのアプリケーション スケーラビリティにとってきわめて重要であり、この改善はハイ パフォーマンス コンピューティング(HPC)ユーザーに有益です。

HPC ワークロードで gVNIC を簡単に使用できるようにするため、CentOS 7 ベースの HPC VM イメージに gVNIC のサポートが追加され、最新の gve ドライバ(gve-1.2.3)がデフォルトで含まれるようになりました。この記事では、gVNIC のパフォーマンスについて詳しく説明します。gVNIC を今すぐ使いたい場合は、クイックスタート ガイドをご覧ください。

HPC ベンチマークを使用したパフォーマンス測定結果

Intel MPI ベンチマークと、有限要素解析(ANSYS LS-DYNA)、計算流体力学(ANSYS Fluent)、気象モデリング(WRF)のアプリケーション ベンチマークを使用して、gVNIC と VirtIO-Net のパフォーマンスを比較しました。

Intel MPI ベンチマーク(IMB)PingPong

IMB PingPong は、VM のペア上にある 2 つの MPI ランクの間で固定サイズのメッセージを送信したときの平均片道時間を測定します。以下の結果から、メッセージ サイズが中程度から大きい場合(例: 2 kB~4 MB)には gVNIC のほうがレイテンシが短いことがわかります。このサイズ範囲のメッセージでは、gVNIC は VirtIO と比較してレイテンシを平均 26% 改善します。

ベンチマークのセットアップ:

結果

https://storage.googleapis.com/gweb-cloudblog-publish/images/intel_mpi_benchmark.max-1200x1200.jpg

OSU Micro ベンチマーク(OMB)複数帯域幅

OMB 複数帯域幅は、異なる VM 上に存在する複数のプロセス ペア間の単方向集約帯域幅を測定します。このベンチマークでは、2 つの VM それぞれにおいて 30 PPN を使用しました。100 Gbps ネットワーキングを実現するためには gVNIC が必要となりました。このベンチマークでは、100 G ネットワーキングの gVNIC は VirtIO と比較してスループットが平均 57% 高いという結果になりました。

ベンチマークのセットアップ:

結果

https://storage.googleapis.com/gweb-cloudblog-publish/images/omb_multiple_bandwidth.max-1200x1200.jpg

HPC アプリケーション ベンチマーク: WRF、ANSYS LS-DYNA、ANSYS Fluent

レイテンシと帯域幅のベンチマークで得られた gVNIC の好結果は、HPC アプリケーション ベンチマークではランタイムの短縮という形で現れます。Intel Xeon プロセッサ ベースの C2 インスタンス 24 個を使って 720 MPI ランクで実行した WRFv3 CONUS 12KM ベンチマークでは、HPC VM イメージで gVNIC を使用した場合、パフォーマンスは 51% 向上しました。ANSYS Fluent と LS-DYNA では、gVNIC を使用した場合のほうが Virtio-Net を使用した場合よりもパフォーマンスがそれぞれ 13% および 11% 向上しました。

ベンチマークのセットアップ

  • ANSYS LS-DYNA(「3-cars」モデル): AVX-2 でコンパイルされた LS-DYNA MPP バイナリを使用、コンパクト プレースメント ポリシーが適用された 8 台の c2-standard-60 VM

  • ANSYS Fluent(「aircraft_wing_14m」モデル): コンパクト プレースメント ポリシーが適用された 16 台の c2-standard-60 VM

  • WRF V3 パラレル ベンチマーク(12 KM CONUS): コンパクト プレースメント ポリシーが適用された 24 台の c2-standard-60 VM

  • HPC VM イメージ: hpc-centos-7-v20210925 

  • ネットワーク帯域幅: デフォルト ティア

結果

https://storage.googleapis.com/gweb-cloudblog-publish/images/hpc_application_benchmarks.max-1200x1200.jpg

ぜひ実際にお試しください

gVNIC がサポートされた最新の HPC VM イメージは、Google Cloud Marketplace または gcloud コマンドライン ツールから今すぐ利用できます。gVNIC と HPC VM イメージを使用したインスタンスの作成の詳細については、クイックスタート ガイドをご覧ください。


Jiuxing Liu、Tanner Love、Mansoor Alicherry、Pallavi Phene の協力に感謝します。

- ソフトウェア エンジニア Jian Yang

- プロダクト マネージャー Pavan Kumar

投稿先