Hypervisor Dynamic Priority Adjustment for Network Packet Processing

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

In computer systems, network devices often experience packet dropping due to high priority settings, leading to inefficiencies in data processing and increased latency, as packets are not consumed quickly enough by virtual machines or applications.

Innovation Solution

The hypervisor dynamically adjusts the priority of network devices based on the success rate of packet routing, decreasing priority when packets are dropped and increasing it when packets are processed successfully, using parameters like Linux NAPI weight to control the number of packets processed within a period.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Productivity

If the priority of network devices is increased to process more packets, then productivity is improved, but packet dropping increases due to overwhelming the processing capacity

Engineering Contradiction:
Improvepacket processing rateVSAvoidpacket delivery success rate
Core Design Contradiction:
ProductivityVSReliability

Solution Approach 1:

The patent implements dynamic priority adjustment where the network device priority is not fixed but changes based on real-time packet consumption rates by virtual machines. The hypervisor continuously monitors whether packets are being consumed quickly enough and adjusts the priority level accordingly, transforming a static priority parameter into a dynamic one that adapts to system conditions to prevent both packet dropping and processing bottlenecks

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system establishes a feedback loop where the hypervisor monitors packet consumption rates by virtual machines and uses this information to adjust network device priorities. When packets are not consumed quickly enough, the priority is decreased to prevent overwhelming the system and causing drops. When consumption is adequate, priority can be increased to improve throughput, creating a self-regulating system that balances productivity and reliability

Inventive Principle:
Principle #23Feedback

2Reliability

If the priority of network devices is decreased to reduce packet dropping, then reliability is improved, but latency increases due to slower packet processing

Engineering Contradiction:
Improvepacket delivery success rateVSAvoidpacket processing latency
Core Design Contradiction:
ReliabilityVSLoss of time

Solution Approach 1:

The patent implements dynamic priority adjustment where the network device priority is not fixed but changes based on real-time packet consumption rates by virtual machines. The hypervisor continuously monitors whether packets are being consumed quickly enough and adjusts the priority level accordingly, transforming a static priority parameter into a dynamic one that adapts to system conditions to prevent both packet dropping and processing bottlenecks

Inventive Principle:
Principle #15Dynamics

Solution Approach 2:

The system changes the priority parameter of network devices based on observed packet consumption patterns. When consumption is slow, the priority parameter is reduced to prevent packet drops. When consumption is fast, the priority parameter is increased to reduce latency. This dynamic parameter adjustment allows the system to optimize both reliability and latency based on actual operating conditions

Inventive Principle:
Principle #35Parameter changes

Data Source

PatentUS9774540B2Packet drop based dynamic receive priority for network devices
Publication Date: 2017.09.26 RED HAT ISRAEL
  • US9774540B2 patent drawing
  • US9774540B2 patent drawing
  • US9774540B2 patent drawing

AI summary

A hypervisor executed by a processing device retrieves a plurality of packets from a network device and forwards the packets to one or more virtual machines. The hypervisor determines a number of the plurality of packets successfully received by the one or more virtual machines, and when a function of the number is below a first threshold, decreases a priority for the network device associated with handling incoming packets.