Virtual Queue Architecture for Network Device Throughput and Latency
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current network devices face inefficiencies in utilizing multiple physical queues due to high latency and resource overhead when polling multiple receive (RX) physical queues, leading to suboptimal performance in high-throughput scenarios.
Innovation Solution
The implementation of virtual queues, each backed by multiple physical queues, allows for efficient use of physical queues without additional overhead, enabling seamless interaction through virtual queue identifiers and weighted distribution of data packets across physical queues.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If multiple physical queues are used to handle high throughput traffic, then throughput capacity is improved, but latency and resource overhead increase due to polling multiple queues
Solution Approach 1:
The patent merges multiple physical queues into a single virtual queue structure. The network device presents one virtual queue to the host system while maintaining multiple physical queues internally. Packets from multiple physical queues are consolidated into a single virtual queue buffer, allowing the host to poll only one queue while the network device internally manages multiple physical queues, thus reducing polling overhead and latency while maintaining high throughput capacity.
2Adaptability or versatility
If multiple physical queues are polled to utilize available resources, then resource utilization is improved, but resource overhead increases due to additional polling operations
Solution Approach 1:
The patent introduces a virtual queue as an intermediary layer between the host system and multiple physical queues. The virtual queue acts as a mediator that receives packets from multiple physical queues and presents them as a single queue to the host. This intermediary structure allows the system to utilize multiple physical queues for resource distribution while the host only needs to manage one queue, significantly reducing the overhead of polling and managing multiple queues.
3Productivity
If packets are distributed across multiple physical queues, then throughput is improved, but queuing time increases due to additional queue management operations
Solution Approach 1:
The patent segments the queue management function into two parts: a single virtual queue that the host interacts with, and multiple physical queues that are internally managed by the network device. This segmentation allows packets to be distributed across multiple physical queues for parallel processing and high throughput, while the virtual queue abstraction ensures that packets are efficiently consolidated and presented to the host in a single stream, minimizing queuing time and management overhead.
Data Source
AI summary
A method of buffering data packets at a network device includes receiving a set of data packets from an ingress port of the network device, identifying primary information and secondary information about each data packet in the set of data packets, determining a virtual queue for each data packets in the set of data packets based on the primary information, the virtual queue having a set of physical queues, determining a physical queue from the set of physical queues for each of the data packets in the set of data packets based on the secondary information, and storing the set of data packets in physical queues of the virtual queue.


