Queue Processing Method for Multi-Root I/O Virtualization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
In multi-root I/O virtualization systems, shared queues cause issues when individual servers need to perform system resets independently, as standard systems often discard data packets from all active servers, leading to inefficient resource management and congestion.
Innovation Solution
The method involves storing data packets with associated state parameter data, allowing for the tracking of entity state changes, enabling selective processing and discarding of packets based on state parameter updates, ensuring only relevant packets are transmitted or discarded during server resets.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If shared queues are used to store data packets from multiple servers, then resource utilization improves and congestion is reduced, but individual server reset capability deteriorates because packets from all servers must be discarded during a reset
Solution Approach 1:
The shared queue is segmented into multiple independent sub-queues, each associated with a specific server. This segmentation allows the queue to function as a shared resource while maintaining independence between server data streams, enabling individual server resets without affecting other servers' packets.
Solution Approach 2:
A state parameter mechanism is introduced as an intermediary between the shared queue and server reset operations. The state parameter tracks the reset status of each server, allowing the system to selectively process or discard packets based on the server's current state without requiring complete queue emptying.
2Device complexity
If FIFO queues are used to store data packets, then simple queue management is achieved, but packet forwarding efficiency deteriorates when a packet cannot be forwarded causing subsequent packets to be blocked
Solution Approach 1:
The queue structure is made dynamic by allowing packets to be selected and forwarded based on current system conditions rather than strictly following FIFO order. The queue management adapts its behavior based on packet destination availability, enabling efficient forwarding while maintaining manageable complexity through state parameter tracking.
3Adaptability or versatility
If state parameter data is stored with each data packet, then selective packet processing during resets is enabled, but memory usage increases
Solution Approach 1:
Instead of storing complete state information with each packet, the system stores compact state parameter data that serves as a reference or copy of the server's current state. This minimal copying approach enables selective packet processing while keeping memory overhead low.
Data Source
AI summary
A method of processing data packets, each data packet being associated with one of a plurality of entities. The method comprises storing a data packet associated with a respective one of said plurality of entities in a buffer, storing state parameter data associated with said stored data packet, the state parameter data being based upon a value of a state parameter associated with said respective one of said plurality of entities, and processing a data packet in said buffer based upon said associated state parameter data.


