Multi-Host Network Adapter Congestion Isolation via Segmented Queues
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Multi-host network adapters face congestion issues when ingress packets are destined to slow-reading hosts, leading to performance degradation for other hosts, as existing congestion management techniques fail to isolate and mitigate congestion without disrupting non-congested hosts or flows.
Innovation Solution
A network adapter with a shared buffer and multiple queues, coupled with packet processing circuitry that detects congestion and mitigates it by denying packet admission, sending congestion notifications, or adjusting quality-of-service measures, while ensuring uninterrupted processing for other hosts or workloads.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If congestion management techniques are applied to slow-reading hosts, then congestion is mitigated for affected hosts, but processing of data packets for other hosts is disrupted
Solution Approach 1:
The patent segments the shared buffer into multiple independent queues, each dedicated to a specific host or workload. This segmentation allows the network adapter to isolate congestion to individual queues while maintaining uninterrupted processing in other queues, thereby resolving the contradiction between mitigating congestion for affected hosts and maintaining productivity for other hosts.
2Productivity
If multiple hosts share a single network adapter, then resource utilization is improved, but congestion in one host affects performance of other hosts
Solution Approach 1:
The patent implements segmentation by creating separate queues for each host within the shared buffer structure. This allows multiple hosts to share the network adapter resources (improving productivity) while simultaneously isolating their respective data packet streams (ensuring reliability and performance isolation). Each host's packets are processed independently without interference from other hosts.
Solution Approach 2:
The patent applies local quality by assigning specific characteristics to each queue within the shared buffer, such as dedicated bandwidth allocation, priority levels, and congestion control parameters tailored to each host's requirements. This enables differentiated service quality for each host while maintaining overall system efficiency.
3Reliability
If congestion control is implemented at network adapter level, then ingress data rates are reduced for congested hosts, but existing techniques fail to isolate affected hosts from non-affected hosts
Solution Approach 1:
The patent uses segmentation of the buffer into host-specific queues as the isolation mechanism, which is relatively simple to implement compared to other isolation techniques. Each queue is independently managed with its own congestion control parameters, allowing effective congestion control for affected hosts without requiring complex isolation infrastructure.
Solution Approach 2:
The shared buffer structure serves multiple functions simultaneously: it acts as a common resource pool for all hosts, provides individual queue isolation for each host, enables differentiated quality of service, and implements congestion control. This multi-functionality reduces the need for additional separate mechanisms, thereby limiting device complexity while achieving effective isolation.
Data Source
AI summary
A network adapter includes a host interface, a network interface, a memory and packet processing circuitry. The memory holds a shared buffer and multiple queues allocated to the multiple host processors. The packet processing circuitry is configured to receive from the network interface data packets destined to the host processors, to store payloads of at least some of the data packets in the shared buffer, to distribute headers of at least some of the data packets to the queues, to serve the data packets to the host processors by applying scheduling among the queues, to detect congestion in the data packets destined to a given host processor among the host processors, and, in response to the detected congestion, to mitigate the congestion in the data packets destined to the given host processor, while retaining uninterrupted processing of the data packets destined to the other host processors.


