Virtualized Network Interface Segmentation for Packet Processing Overhead

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Existing networked computer systems face limitations in scalability and efficiency due to constraints in packet processing, resource management, and latency, particularly in shared network interfaces, which hinder high functional efficiencies and modularity.

Innovation Solution

A virtualized partitionable shared network interface system that provides enhanced resource management through mechanisms like MAC/VLAN identification, ternary content address memory, and flow matching, allowing for fine-tuned resource allocation and independent event notification across multiple domains.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a shared network interface is used to support multiple domains, then resource utilization and modularity are improved, but packet processing efficiency and latency increase due to coordination overhead

Engineering Contradiction:
Improveresource allocation flexibilityVSAvoidpacket processing efficiency
Core Design Contradiction:
Adaptability or versatilityVSProductivity

Solution Approach 1:

The network interface is segmented into multiple virtual interfaces (vNICs), each dedicated to a specific domain or partition. This segmentation allows independent packet processing queues for each domain, eliminating coordination overhead while maintaining resource sharing capabilities. Each vNIC has its own DMA channels and processing entities, enabling parallel processing without interference.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

A virtualization layer or hypervisor acts as an intermediary between the physical network interface and multiple domains. This intermediary manages resource allocation, queue mapping, and packet routing between domains and the physical interface, enabling efficient shared access without direct coordination between domains.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If multiple processors service a network interface, then processing capacity increases, but coordination complexity and latency increase

Engineering Contradiction:
Improveprocessing capacityVSAvoidcoordination complexity
Core Design Contradiction:
ProductivityVSDevice complexity

Solution Approach 1:

Processing entities are segmented and assigned to specific processor cores or threads through processor affinity binding. Each processing entity handles packets from specific queues or domains, eliminating the need for inter-processor coordination. This segmentation allows multiple processors to work in parallel on different packet streams without synchronization overhead.

Inventive Principle:
Principle #1Segmentation

3Adaptability or versatility

If packet queues are shared across processors, then resource utilization improves, but packet arrival ordering and processing affinity deteriorate

Engineering Contradiction:
Improveresource sharing capabilityVSAvoidpacket ordering guarantee
Core Design Contradiction:
Adaptability or versatilityVSReliability

Solution Approach 1:

Packet queues are segmented into dedicated queues for each processing entity or domain. Each queue maintains strict packet ordering guarantees through unidirectional access patterns. The virtualization layer provides logical resource sharing by mapping multiple virtual queues to physical queues, while physical queues remain dedicated to specific processors, preserving ordering and affinity.

Inventive Principle:
Principle #1Segmentation

4Speed

If interrupt-driven notification is used for packet arrival, then responsiveness improves, but processing overhead increases disproportionately

Engineering Contradiction:
Improvepacket arrival responsivenessVSAvoidprocessing overhead
Core Design Contradiction:
SpeedVSProductivity

Solution Approach 1:

The system implements periodic polling of packet queues by processing entities instead of interrupt-driven notification. Processing entities periodically check their dedicated queues for new packets, providing predictable processing intervals without the overhead of interrupt context switches. This periodic action maintains responsiveness while eliminating the disproportionate processing penalty of frequent interrupts.

Inventive Principle:
Principle #19Periodic action

Data Source

PatentUS7415035B1Device driver access method into a virtualized network interface
Publication Date: 2008.08.19 ORACLE AMERICAN INC
  • US7415035B1 patent drawing
  • US7415035B1 patent drawing
  • US7415035B1 patent drawing

AI summary

A method for providing access to a network interface having a plurality of memory access channels is disclosed. The network interface provides access to a plurality of processing entities. The method includes providing a network interface software hierarchy wherein the network interface software hierarchy provides access to the network interface, and associating various memory access channels with corresponding processing entities via the network interface software hierarchy so as to provide a virtualized network interface.