コンテンツに移動
コンピューティング

カスタムキューで Compute Engine VM のパフォーマンスを向上させる

2023年12月4日
Google Cloud Japan Team

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

Compute Engine で vNIC ごとのカスタムキューを活用

高帯域幅のアプリケーションや、トラフィックが多い AI / ML ワークロード、ネットワーク仮想アプライアンス(NVA)を実行している場合、VM が負荷に対応できることが不可欠です。しかし、デフォルトのキュー割り当てでは、VM の可能性を最大限に引き出すことや、現在のニーズに応えることができない場合があります。以前のブログ投稿では、Google Cloud で Tier_1 ネットワーキングを使用して Compute Engine VM の帯域幅を増やす方法を説明しました。今回は、仮想ネットワーク インターフェース カード(vNIC)ごとにカスタムキューを割り当てることによって、Compute Engine VM でのネットワーク パフォーマンスを最大化する新機能をご紹介します。

課題: 制限のあるキュー割り当て

交通需要の多い活気ある街で、交通量の多い道路に車線を追加すれば、交通渋滞の緩和に役立ちます。同じように、vNIC ではキューが輻輳する可能性があります。これまでは、Compute Engine VM 上の各 vNIC には、デフォルトのキュー割り当てに基づいて、固定数のネットワーク キューが割り当てられていました。つまり、各 vNIC で使用できるキューの数には制限があり、要求の厳しいワークロードの場合にパフォーマンスが低下する可能性がありました。

たとえば、8 枚の vNIC を持つ n2-standard-128 VM の場合、vNIC あたり最大 8 個のキュー(Tx / Rx)しか割り当てられません。これは、この VM で使用可能なキュー最大数の半分でしかありません。そのため、より大きな VM に垂直スケーリングを行うか、vNIC の数を減らして各 vNIC に十分な数のキューを割り当てるようにするかのトレードオフを余儀なくされていました。双方の選択肢とも、スケーリング方法として最適とは言えず、費用の増加にもつながっていました。

解決策: vNIC ごとのカスタムキュー

このたび、vNIC ごとにカスタムキューを活用できるようになりました。この機能により、ドライバのタイプごとにサポートされる最大数までのネットワーク キューを、各 vNIC に手動で割り当てることができます。virtIO ドライバの場合はキューの最大数は 32 で、gVNIC ドライバの場合は 16 です。

ご検討いただきたいユーザー

この機能は特に、以下を実行しているユーザーに有用です。

  • 高帯域幅のアプリケーション: 高スループットが必要なアプリケーションの場合、カスタムキューによって各 vNIC で処理できるトラフィック量を増やして、パフォーマンスを大きく向上させることができます。
  • トラフィックが多い AI / ML ワークロード: AI / ML ワークロードでは、大量のデータが生成されることがよくありますが、カスタムキューを活用すれば VM でボトルネックを生じさせることなく、こうしたデータを効率的に処理して転送することができます。
  • ネットワーク仮想アプライアンス(NVA): NVA では通常、複数のネットワーク インターフェースが使用されるため、カスタムキューによって、各インターフェースが最適に動作するために必要なリソースを確保できるようになります。

カスタムキューのメリット

  • ネットワーク パフォーマンスの最大化: 使用可能なネットワーク キューすべてを利用することで、VM のパフォーマンス全体を大きく向上させることができます。
  • リソース使用率の最適化: カスタムキューを使用することで、VM のネットワーク リソースを特定のニーズに合わせて調整できるので、使用率を効率化して不要な費用を回避できます。
  • シームレスなスケーリング: カスタムキューを使用すると、ネットワーク パフォーマンスを損なうことなく、VM をさらに効果的にスケーリングできます。
  • 費用対効果の高いソリューション: カスタムキューは Tier_1 高帯域幅ネットワーキングと第 2 世代の GCE VM に含まれているため、追加費用なしでこの優れた機能をご利用いただけます。

カスタムキューとオーバーサブスクリプション

  • 前述のとおり、gVNIC の場合のカスタムキューの割り当てでは、vNIC あたり最大 16 個のキューを割り当てることができますが、すべての vNIC のキュー合計数が VM 上の vCPU の数を超えてはなりません。
  • ただし、gVNIC ドライバとともに N2、N2D、C2、または C2D VM を使用していて、Tier_1 ネットワーキングが有効になっている場合は、キューをオーバーサブスクライブできます。つまり、すべての vNIC のキュー合計数が vCPU の数を超えるとしても、vNIC あたり最大 16 個のネットワーク キューを割り当てることができます。
  • 効果的なキューのオーバーサブスクリプションにより、VM あたりのキュー合計数を vNIC の数の 16 倍にまで増加できます。
  • Google Cloud は、インライン NVA によって実現される総スループットを測定するために、8 種類の VPC ネットワークに接続された NVA として構成したマルチ NIC VM を使用してベンチマーク テストを実施しました。
  • デフォルトのキュー割り当てを使用した場合、総スループットを NVA VM の規定のスループットの約 50% に押し上げることができた一方、キューをオーバーサブスクライブした場合は、NVA VM の規定のスループットの約 99% という満杯に近い数値が出ました。もちろん、スループットの結果は変動するでしょうから、お使いのネットワークで試してみて、実現できることをご確認ください。

カスタムキューの使用を今すぐ開始しましょう

Compute Engine VM で仮想ネットワーク インターフェース カードごとにカスタムキューを割り当てられる機能は、最新のワークロードが持つネットワーク パフォーマンスのニーズに対処するにあたって大きな前進となります。カスタムキューの割り当てを有効にすることで、追加の費用を発生させることなく大きなパフォーマンス向上を実現できます。この機能は特に、高帯域幅のアプリケーションやトラフィックが多い AI / ML ワークロードをご使用の組織や、ネットワーク効率と費用削減の最大化を目指している組織に有用です。gcloud、Terraform、または REST API を使用してすぐに利用を開始しましょう。

  • Google Cloud、テクニカル アカウント マネージャー Matthew Dalida
  • Google Cloud、ネットワーク スペシャリスト Aniruddha Agharkar
投稿先