CNIC QoS Management via Traffic Class Prioritization
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Converged network interface devices face challenges in managing quality of service (QoS) and congestion due to inconsistent QoS requirements across different types of network traffic, leading to bottlenecks and inefficient CPU resource utilization, particularly as network speeds increase from 1 Gbps to 10 Gbps, where memory bandwidth has not scaled accordingly, resulting in reduced buffer space and potential retransmissions.
Innovation Solution
A method and system for quality of service and congestion management in converged network interface devices that classify and prioritize I/O requests and network packets based on their class, using a converged network interface card (CNIC) processor to store connection identifiers and manage queues, enabling transparent TCP offload and aggregation of TCP segments, thereby reducing overhead processing and buffer requirements.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If TCP/IP functionality is offloaded to dedicated network processing hardware, then CPU resource utilization is improved, but device complexity increases
Solution Approach 1:
The patent segments the network processing functions by implementing separate queues (high-priority and normal-priority) for different types of network traffic. The CNIC processor handles classification and queue management, while the host CPU handles application workloads, effectively dividing the processing burden and reducing overall system complexity despite the offload.
Solution Approach 2:
The converged network interface card (CNIC) acts as an intermediary device between the host CPU and the network. It provides protocol acceleration and processing capabilities, serving as a mediator that offloads TCP/IP functionality from the CPU while maintaining manageable device complexity through integrated design.
2Device complexity
If multiple types of network traffic are consolidated into one physical network, then device complexity is reduced, but quality of service management becomes more difficult
Solution Approach 1:
The patent applies local quality by assigning different service priorities to different traffic types within the same physical network. High-priority traffic (management, clustering) receives preferential treatment through dedicated queues and priority scheduling, while normal traffic (storage, networking) uses standard queues, allowing differentiated QoS management without requiring separate physical networks.
Solution Approach 2:
The converged network interface card provides multi-functionality by handling multiple types of network traffic (management, clustering, storage, networking) through a single device. The CNIC processor classifies and routes different traffic types through appropriate queues, enabling one device to perform multiple functions while maintaining QoS requirements.
3Productivity
If buffer memory size is reduced to compensate for memory bandwidth limitations, then productivity is improved, but reliability decreases due to increased retransmissions
Solution Approach 1:
The patent implements preliminary action by classifying and prioritizing network packets before they enter the buffering system. High-priority packets are placed in dedicated queues that receive preferential processing, ensuring critical traffic (management, clustering) maintains reliable delivery even when buffer space is limited. This pre-classification prevents retransmissions by ensuring important packets are transmitted first.
Data Source
AI summary
Certain aspects of a method and system for quality of service and congestion management for converged network interface devices are disclosed. Aspects of a method may include processing at least one of: input/output (I/O) requests and network packets in a converged network interface card (CNIC) based on a class associated with each of the I/O requests and network packets by storing on the CNIC, information that identifies the I/O requests and network packets, without storing on the I/O requests and network packets on the CNIC.


