仮想マシンの複数のキュー (VMMQ) の概要
仮想マシンの複数キュー (VMMQ) は、NIC オフロード テクノロジであり、ネイティブ RSS (RSSv1) を Hyper-V 仮想環境に拡張します。
VMMQ は、仮想化されたノードの親パーティション内の仮想ポート (VPort)のスケーラブルなネットワーク トラフィック処理を提供します。 VPort は、単一ルート I/O 仮想化 (SR-IOV) をサポートするネットワーク アダプターの NIC スイッチの内部ポートを表すデータ オブジェクトです。 SR-IOV インターフェイスとそのコンポーネントの概要については、「SR-IOV アーキテクチャ」を参照してください。 以前は、RSS 処理は VPort では使用できませんでした。 VMMQ は、ネイティブ RSS 機能を、既定の VPort を含む NIC の物理機能 (PF) に関連付けられている VPort に拡張します。
VMMQ は、NIC ハードウェア内でネットワーク トラフィックを効率的に分散することによって機能します。 NIC から 1 つの PF VPort に複数のハードウェア キューを割り当てることができます。 NIC は、RSS ハッシュを使用してこれらのキューにネットワーク トラフィックを分散し、割り当てられたプロセッサに直接パケットを配置します。 NIC にトラフィック分散をオフロードすると、ソフトウェアがこのタスクを完了する必要がないため、CPU パフォーマンスが向上します。
VMMQ 機能を有効にして、ホストの CPU 消費量を減らし、CPU 負荷を複数のプロセッサに分散することで、仮想システムに対するスループットを高めることができます。 新規または既存の NDIS 6.60 以降のドライバーに VMMQ サポートを追加できます。 アダプターが VMMQ をサポートし、ドライバーがベンダーから提供され、OS が Windows Server 2019 の場合、VMMQ は既定で有効になります。 アダプターが VMMQ をサポートしていない場合、ドライバーがシステムによって提供されている場合、または OS が Windows Server 2016 の場合、VMMQ は既定で無効になっているか、使用できません。 OS が Windows Server 2016 以前の場合、VMMQ は使用できません。
VMMQ は、NIC が SR-IOV モードと 仮想マシン キュー (VMQ) モードのどちらで動作しているかに関係なく、親パーティションで公開されている VPort で使用できます。
予期される機能の相互作用
汎用ルーティング カプセル化 (NVGRE) と仮想拡張ローカル エリア ネットワーク (VXLAN) を使用したネットワーク仮想化: NIC は、パケットの内部ヘッダーに基づいて受信キューを分散するためのハッシュを計算します。
SR-IOV: NIC は VMMQ と SR-IOV を同時にサポートできます。