Network Device Packet Grouping for Virtual Machine I/O

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computing systems, particularly in virtual environments, switching between different firmware contexts for handling I/O requests is inefficient due to the time required for adapters to process multiple virtual machines' requests, leading to suboptimal resource utilization.

Innovation Solution

A method and network device architecture that group packets with the same destination together, incrementing a grouping count and elevating their priority, allowing for sequential transmission and reducing context switching by the destination port, thereby improving transmission efficiency.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If the adapter processes I/O requests from multiple virtual machines sequentially, then the adapter can handle diverse traffic, but the time required for context switching increases and resource utilization decreases

Engineering Contradiction:
Improveability to handle multiple virtual machine trafficVSAvoidcontext switching time
Core Design Contradiction:
Adaptability or versatilityVSLoss of time

Solution Approach 1:

The system performs preliminary actions by buffering packets at the network device before transmission to the destination. Packets are grouped and prepared in advance, allowing the destination port to receive multiple packets without frequent context switches. The routing sequencer proactively identifies packet sequences and groups them, preparing the transmission path before actual data transfer occurs.

Inventive Principle:
Principle #10Preliminary action

Solution Approach 2:

The network device acts as an intermediary between the adapter and the destination port. It receives packets from the adapter, groups them by destination, and manages the transmission to the destination port. This intermediary function allows the adapter to continue processing packets while the destination port maintains context, reducing the impact of context switching.

Inventive Principle:
Principle #24Intermediary (Mediator)

2Productivity

If packets from multiple destinations are transmitted sequentially, then the network device can process all packets, but the transmission efficiency decreases due to frequent context switches

Engineering Contradiction:
Improvepacket processing throughputVSAvoidtransmission time
Core Design Contradiction:
ProductivityVSLoss of time

Solution Approach 1:

The system segments packets by destination address, creating distinct groups for each destination. The routing sequencer divides the packet stream into sequences where all packets in a group share the same destination, allowing them to be transmitted together without context switching. This segmentation enables parallel processing of different destination streams.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

Packets with the same destination are merged into a single transmission sequence. Instead of transmitting packets from different destinations sequentially with context switches, the system combines packets destined for the same location into grouped transmissions. This merging reduces the number of context switches and improves overall transmission efficiency.

Inventive Principle:
Principle #5Merging (Combining)

3Reliability

If the adapter maintains separate firmware contexts for each virtual adapter, then virtual machine isolation is maintained, but the resource utilization and processing speed decrease

Engineering Contradiction:
Improvevirtual machine isolationVSAvoidI/O request processing speed
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The network device serves as an intermediary that receives packets from the adapter regardless of the virtual adapter's firmware context. It groups packets by destination and manages the transmission process independently of the adapter's context switching. This allows the adapter to maintain separate firmware contexts for virtual machine isolation while the network device optimizes the actual packet transmission process.

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS9225672B1Systems and methods for packet grouping in networks
Publication Date: 2015.12.29 MARVELL ASIA PTE LTD
  • US9225672B1 patent drawing
  • US9225672B1 patent drawing
  • US9225672B1 patent drawing

AI summary

Methods and systems for packet grouping in a network are provided. A packet is received at a receive segment of a port of a first network device for transmission to a destination port of a second network device. The port determines if the packet is a start packet of a packet sequence. When the packet is not the start packet of the packet sequence, the port determines whether the packet has a destination that is the same as a destination of a last prior packet. When the packet is for the same destination, a grouping count is increased and the packet priority is elevated.