Intelligent Network Adaptor Flow Control
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
High-speed packet arrival rates and memory bandwidth challenges in network communication lead to increased host processing demands and latency, as existing network adaptors struggle to efficiently manage packet processing and data delivery.
Innovation Solution
An intelligent network adaptor employing direct data placement and adaptive copy avoidance schemes to reduce memory bandwidth usage and notification rates, allowing for zero-copy data transfer directly to application buffers, thereby minimizing latency and host processing load.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional network adaptor packet processing is used, then packets are delivered to host memory buffers, but host processing demands and interrupt rates increase significantly
Solution Approach 1:
The patent extracts the flow control and receive window management functions from the host processor and relocates them to the network adaptor. The adaptor independently tracks application buffer consumption and generates receive window updates, eliminating the need for host processor involvement in these operations and reducing host processing burden while maintaining packet delivery speed
Solution Approach 2:
The network adaptor serves itself by autonomously managing flow control state and generating receive window notifications based on direct monitoring of application buffer consumption. The adaptor self-updates its receive window without requiring host processor intervention, reducing interrupt rates and host processing demands while maintaining high packet delivery throughput
2Loss of energy
If direct data placement is used to reduce memory bandwidth usage, then data transfer efficiency improves, but flow control management becomes more complex
Solution Approach 1:
The patent merges the flow control state tracking and receive window management functions directly into the direct data placement mechanism. As the adaptor places data directly into application buffers, it simultaneously tracks consumption and manages flow control state, combining multiple functions into a unified process that reduces memory bandwidth usage while maintaining manageable complexity through integration
Solution Approach 2:
The patent introduces an intermediary flow control mechanism that operates between the direct data placement operation and the application buffers. This intermediary layer tracks buffer consumption and manages receive window state without requiring complex host processor intervention, enabling efficient direct data placement while simplifying flow control management through automated intermediary control
3Device complexity
If interrupt rate is reduced to lower host processing load, then host resource demands decrease, but notification of data arrival may be delayed
Solution Approach 1:
The patent implements periodic batched notification where the adaptor accumulates multiple data arrival events and notifies the host in periodic batches rather than generating an interrupt for each individual packet. This periodic action reduces the frequency of host notifications and processing load while ensuring timely delivery of data arrival information through batched updates that maintain acceptable notification timing
Data Source
AI summary
A host is coupled to a network via an intelligent network adaptor. The host is executing an application configured to receive application data from a peer via the network and the intelligent network adaptor using a stateful connection according to a connection-oriented protocol. The intelligent network adaptor performs protocol processing of the connection. Application data is copied from host memory not configured for access by the application (possibly OS-associated host memory) to host memory associated with the application (application-associated host memory). The application data is received from the peer by the intelligent network adaptor and copied to host memory not configured for access by the application. The operating system selectively provides, to the intelligent network adaptor, information of the memory associated with the application. At least one portion of the application data for the connection is provided directly from the intelligent network adaptor to the memory associated with the application.


