Virtual Network Device Polling Mode Bypass

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Virtualization of network devices incurs significant CPU processing overhead, limiting performance for high packet rate applications like firewalls and DHCP servers, which require millions of packets processed per second, and existing solutions like SR-IOV require special hardware and may not support all virtualization features.

Innovation Solution

Bypassing the virtual switch layer for virtual machines that consume all traffic on a single physical network interface controller and modifying virtual device processing to operate in polling mode instead of interrupt-driven mode, reducing processing costs and latency, and dynamically switching between fast and slow paths as needed.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If virtualization of network devices is implemented, then resource sharing and virtualization features are enabled, but CPU processing overhead increases significantly

Engineering Contradiction:
Improvevirtualization featuresVSAvoidpacket processing rate
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The patent segments the network traffic handling into two paths: a fast path for high packet rate applications that bypasses the virtual switch layer, and a slow path for applications requiring virtualization features. This segmentation allows different traffic types to be processed differently, resolving the contradiction between virtualization overhead and processing rate.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The system dynamically determines whether to use the fast path or slow path based on the application's packet rate requirements and virtualization feature needs. This dynamic adaptation allows the system to optimize performance for each specific workload, balancing virtualization features with processing efficiency.

Inventive Principle:
Principle #15Dynamics

2Reliability

If interrupt-driven mode is used for virtual device processing, then responsiveness to packet events is maintained, but processing latency increases and throughput is limited

Engineering Contradiction:
Improveevent responsivenessVSAvoidprocessing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements polling mode as a periodic action where the virtual device processor periodically checks for packets at fixed intervals, eliminating the need for interrupt handling. This periodic checking reduces processing latency and removes interrupt-related overhead while maintaining reliable packet processing through systematic periodic sampling.

Inventive Principle:
Principle #19Periodic action

3Productivity

If SR-IOV hardware solution is implemented, then high performance networking is achieved, but hardware requirements and device complexity increase

Engineering Contradiction:
Improvenetworking performanceVSAvoidhardware requirements
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

The patent creates a software-based fast path that copies the essential functionality of SR-IOV hardware acceleration without requiring special hardware. By implementing a streamlined processing path in software that bypasses the virtual switch layer, the system achieves SR-IOV-like performance improvements using standard hardware, thus resolving the contradiction between performance and hardware complexity.

Inventive Principle:
Principle #26Copying

Data Source

PatentUS11683256B2Specializing virtual network device processing to avoid interrupt processing for high packet rate applications
Publication Date: 2023.06.20 VMWARE INC
  • US11683256B2 patent drawing
  • US11683256B2 patent drawing
  • US11683256B2 patent drawing

AI summary

A method of optimizing network processing in a system comprising a physical host and a set of physical network interface controllers (PNICs) is provided. The physical host includes a forwarding element. The method includes determining that a set of conditions is satisfied to bypass the forwarding element for exchanging packets between a particular data compute node (DCN) and a particular PNIC. The set of conditions includes the particular DCN being the only DCN connected to the forwarding element and the particular PNIC being the only PNIC connected to the forwarding element. The method exchanges packets between the particular DCN and the particular PNIC bypassing the forwarding element. The method determines that at least one condition in said set of conditions is not satisfied. The method utilizes the forwarding element to exchange packets between the particular DCN and the particular PNIC.