Shared Network Adapter Queue Management for Priority Inversion
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In systems with shared network adapters, contention for limited queue space can reduce the effectiveness of quality of service and traffic management technologies, particularly due to unawareness of data priorities by the network adapter until data is queued, leading to priority inversion issues where lower priority streams may preempt higher priority ones.
Innovation Solution
The technology selectively transfers data to a shared network adapter based on availability indications from the adapter, controlling transfer rates and prioritizing data streams to prevent priority inversion by communicating queuing resource availability and using feedback to manage data transmission efficiently.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Adaptability or versatility
If multiple data streams are allowed to contend for queue space in a shared network adapter, then the network adapter can serve multiple applications and virtual stations, but quality of service and traffic management effectiveness deteriorate due to priority inversion
Solution Approach 1:
The patent segments the queue management into multiple hierarchical levels: virtual adapter queues at the upper level and physical network adapter queues at the lower level. This segmentation allows independent priority management at each level, preventing priority inversion by ensuring that higher-priority virtual adapters can preempt lower-priority ones before data reaches the shared physical queue.
Solution Approach 2:
The patent introduces an intermediary queueing structure (virtual adapter queues and driver queues) between the multiple data streams and the shared network adapter queue. This intermediary layer implements priority management logic that prevents lower-priority streams from preempting higher-priority ones, while still allowing all streams to access the shared physical adapter resources.
2Adaptability or versatility
If network adapter virtualization technology is used to enable multiple virtual adapters to share a physical network adapter, then resource sharing is improved, but contention for queue space increases and reduces traffic management effectiveness
Solution Approach 1:
The patent segments the shared queue access by creating separate virtual adapter queue structures for each virtual adapter. Each virtual adapter maintains its own queue or set of queues, allowing independent traffic management and priority control. This segmentation enables multiple virtual adapters to share the physical network adapter while maintaining effective traffic management through hierarchical priority enforcement.
3Device complexity
If the network adapter is unaware of data priorities until data is queued, then the adapter structure remains simple, but priority-based traffic management cannot be effectively implemented
Solution Approach 1:
The patent applies preliminary action by assigning priority information to data packets at the upper layers (virtual adapters or network adapter driver) before the data reaches the physical network adapter. This preliminary priority tagging allows the simple physical adapter to efficiently manage queues based on pre-assigned priorities without requiring complex priority awareness logic within the adapter itself.
Solution Approach 2:
The patent introduces an intermediary layer (virtual adapter or driver) that handles priority information and queue management logic. This intermediary translates high-level priority requirements into low-level queue management commands that the simple physical network adapter can execute efficiently, maintaining adapter simplicity while enabling sophisticated priority-based traffic management.
Data Source
AI summary
Technology for managing queuing resources of a shared network adapter is disclosed. The technology includes selectively transferring data from data transmission sources to a queue of the shared network adapter based on status indications from the shared network adapter regarding availability of queuing resources at the shared network adapter. In addition, the technology also includes features for selectively controlling transfer rates of data to the shared network adapter from applications, virtual network stations, other virtual adapters, or other data transmission sources. As one example, this selective control is based on how efficiently data from these data transmission sources are transmitted from the shared network adapter.


