Offloading Virtual Machine Network Flows to Physical Queues

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization environments face inefficiencies in network packet processing due to frequent context switches between host and guest operating systems, leading to increased CPU usage and latency in network communications.

Innovation Solution

Offloading virtual machine network flows directly to physical queues of network hardware, bypassing the parent partition by configuring physical network hardware to assign and manage network flows based on characteristics and rules, potentially exceeding the number of physical queues available.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Ease of operation

If virtualization stacks intercept and manipulate network packets through virtual switches, then network traffic can be managed and controlled, but CPU usage increases and network latency is introduced due to frequent context switches between host and guest operating systems

Engineering Contradiction:
Improvenetwork traffic management capabilityVSAvoidnetwork processing efficiency
Core Design Contradiction:
Ease of operationVSProductivity

Solution Approach 1:

The patent extracts the network packet processing function from the virtualization stack (host operating system) and transfers it to the physical network device. The physical network device is programmed to receive network packets from virtual machines and process them directly, bypassing the host operating system's virtual switch. This extraction eliminates the context switches between host and guest operating systems, thereby reducing CPU usage and network latency while maintaining network traffic management capabilities through programmed rules at the physical network device.

Inventive Principle:
Principle #2Taking out (Extraction)

2Productivity

If SRIOV enables PCIe devices to communicate directly with child partitions, then network performance improves by bypassing the host operating system, but inefficiencies remain in network packet processing

Engineering Contradiction:
Improvenetwork communication speedVSAvoidremaining inefficiencies in packet processing
Core Design Contradiction:
ProductivityVSObject-generated harmful factors

Solution Approach 1:

The patent implements self-service by enabling the physical network device to autonomously manage and process network packets from virtual machines without requiring intervention from the host operating system or virtualization stack. The physical network device is programmed with rules to receive, process, and manage network traffic directly, making independent decisions about packet handling. This self-service capability eliminates the remaining inefficiencies in packet processing while maintaining the direct communication path established by SRIOV, thereby optimizing network performance.

Inventive Principle:
Principle #25Self-service

Data Source

PatentUS9092269B2Offloading virtual machine flows to physical queues
Publication Date: 2015.07.28 MICROSOFT TECHNOLOGY LICENSING LLC
  • US9092269B2 patent drawing
  • US9092269B2 patent drawing
  • US9092269B2 patent drawing

AI summary

The present invention extends to methods, systems, and computer program products for offloading virtual machine flows to physical queues. A computer system executes one or more virtual machines, and programs a physical network device with one or more rules that manage network traffic for the virtual machines. The computer system also programs the network device to manage network traffic using the rules. In particular, the network device is programmed to determine availability of one or more physical queues at the network device that are usable for processing network flows for the virtual machines. The network device is also programmed to identify network flows for the virtual machines, including identifying characteristics of each network flow. The network device is also programmed to, based on the characteristics of the network flows and based on the rules, assign one or more of the network flows to at least one of the physical queues.