Network Interface Retransmit Buffer for Latency Reduction
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing computer systems experience significant latency and performance issues due to the need for applications to wait for data transfer acknowledgments across packet-switched data networks, especially in heavily trafficked or error-prone environments, leading to increased application latency and system inefficiency.
Innovation Solution
A computer system with a network interface controller that employs a retransmit direct memory access (RDMA) mechanism, allowing data to be transferred from a user buffer to a transmit/receive buffer and then to a network, enabling retransmissions without re-accessing the user buffer, thus reducing latency by releasing the user buffer after initial transfer and managing retransmissions within the network interface controller.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If the application program waits for data transfer acknowledgment before reusing system memory, then data transfer reliability is ensured, but application latency increases significantly
Solution Approach 1:
The patent implements preliminary action by pre-copying data from system memory to the NIC's transmit buffer before the application needs to reuse the memory. The NIC hardware initiates the data transfer in advance, and the application can immediately reuse the system memory upon completion of the copy operation, without waiting for network acknowledgment. This decoupling of memory availability from network transfer completion resolves the latency issue while maintaining reliability through the hardware-managed retransmission capability.
2Reliability
If the NIC re-accesses system memory for retransmission, then data can be resent, but bus activity increases and system performance decreases
Solution Approach 1:
The patent extracts the retransmission function from the host system to the NIC hardware itself. The NIC maintains its own transmit buffer and can perform retransmissions using data already stored in this hardware buffer, without needing to re-access system memory through the bus. This extraction of the retransmission capability to the network interface level eliminates the performance penalty of repeated bus accesses while preserving reliable data delivery through hardware-managed retransmission.
3Reliability
If the application program waits for successful data transfer before proceeding, then data integrity is maintained, but overall system efficiency deteriorates
Solution Approach 1:
The patent introduces the NIC's transmit buffer as an intermediary between system memory and the network. Data is copied to this intermediate buffer, allowing the application to proceed immediately with memory reuse. The NIC hardware then manages the actual network transmission and retransmission operations, acting as a mediator that maintains data integrity without requiring application program intervention or waiting. This intermediary buffer decouples the application's execution flow from network transmission reliability requirements.
Data Source
AI summary
A computer system is provided including a computer having a bus coupled to a computer system memory with a user buffer allocated therein. A network interface controller is coupled between the bus and a network. A retransmit buffer is coupled to the computer system memory, a transmit/receive buffer coupled to the computer system memory, and a retransmit direct memory access is within the network interface controller for moving data between the user buffer and the transmit/receive buffer, the retransmit buffer, or both as well as for moving the data to the network.


