Smart NIC Rate Limiting via ECN Offload
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Current Explicit Congestion Notification (ECN) implementations are CPU-intensive and inflexible, particularly in virtual machine environments, as they require end-to-end compatibility and host ecosystem involvement, which is challenging for low-latency applications and does not effectively offload ECN processing to network adapter devices.
Innovation Solution
The solution involves offloading ECN processing to 'smart' network interface cards (NICs), which can handle congestion notifications and rate adjustments independently, eliminating the need for host software ecosystem involvement by using weighted random early detection (WRED) profiles and Differentiated Services fields to manage congestion without packet drops, thereby reducing network latency and improving bandwidth utilization.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If ECN is implemented in the host ecosystem, then congestion notification can be provided, but CPU intensity increases and latency increases due to retransmission delay
Solution Approach 1:
The patent extracts ECN processing from the host ecosystem and relocates it to the network adapter device. The network adapter independently handles congestion detection, notification, and rate limiting without requiring host involvement, thereby eliminating the CPU-intensive processing and retransmission delay that occur in traditional host-based implementations.
Solution Approach 2:
The network adapter device acts as an intermediary between the host and the network. It receives packets from the host, detects congestion conditions, manages rate limiting, and sends notifications to the host only when necessary. This intermediary role allows congestion management to occur at the network level without burdening the host CPU.
2Reliability
If ECN is implemented in the host ecosystem, then congestion can be managed, but device complexity increases and flexibility is reduced
Solution Approach 1:
The patent extracts ECN functionality from the complex host ecosystem and implements it directly in the network adapter device. This eliminates the need for complex host software support, driver modifications, and coordination between multiple host components, while maintaining effective congestion management capabilities.
Solution Approach 2:
The network adapter device performs self-service by independently detecting congestion conditions, managing its own rate limiting, and generating notifications without requiring host intervention. This self-contained approach simplifies the overall system architecture by removing the complexity of host-based ECN implementation.
3Reliability
If traditional ECN implementation is used, then congestion notification is provided, but productivity decreases due to CPU-intensive processing
Solution Approach 1:
The patent extracts the productivity-consuming ECN processing tasks from the host CPU and relocates them to the network adapter device. The network adapter handles packet inspection, congestion detection, and rate limiting locally, eliminating the need for continuous CPU intervention and significantly improving host processing efficiency.
Solution Approach 2:
The patent replaces the mechanical CPU-based processing system with a hardware-accelerated network adapter system. By implementing ECN functionality in the network adapter's dedicated circuitry and memory, the system substitutes high-speed hardware processing for slower software-based CPU processing, thereby improving overall productivity.
Data Source
AI summary
A method is provided by which a network adapter device receives a packet sent over a network from a peer, the packet including an enqueue timestamp indicating when the packet has been enqueued at the network adapter device. The network adapter device parses a header of the packet to detect whether the header includes bits indicating that the peer device is experiencing congestion, and obtains packet metadata of the packet and the enqueue timestamp of the packet. The network adapter device compares the packet metadata with information in a flow table to identify an entry in the flow table corresponding to a flow to which the packet metadata matches. The network adapter device sets a timer associated with the flow, the timer for use in scheduling transmission of a next packet provided by the host to be sent to the peer.


