Trisha Shetty (Editor)

VMQ

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

The Virtual Machine Queue (VMQ) is a hardware virtualization technology for the efficient transfer of network traffic (such as TCP/IP, iSCSI or FCoE) to a virtualized host OS. VMQ technology was patented in 2010 by Daniel Baumberger of Intel Corp. A VMQ capable NIC can use DMA to transfer all incoming frames that should be routed to a receive queue to the receive buffers that are allocated for that queue. The miniport driver can indicate all of the frames that are in a receive queue in one receive indication call.

The VMQ interface supports:

  • Classification of received packets in NIC hardware by using the destination MAC address to route the packets to different receive queues.
  • NIC ability to use DMA to transfer packets directly to a virtual machine’s shared memory. For more information about shared memory, see NDIS 6.20 Memory Management Interface.
  • Scaling to multiple processors by processing packets for different virtual machines on different processors.
  • Virtual Machine Queue Architecture

    The NDIS virtual machine queue (VMQ) architecture provides advantages for virtualization such as:

  • Virtualization impacts performance and VMQ helps overcome those effects.
  • VMQ supports live migration.
  • VMQ co-exists with NDIS task offloads and other optimizations.
  • References

    VMQ Wikipedia