Network Adapter Early Completion Response for Remote Memory Loads
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing methods for CPU loads and stores to remote memory over network fabrics face inefficiencies, particularly with small payloads and long completion delays due to network congestion or failure, which are not effectively handled in current technologies.
Innovation Solution
A system and method where a network adapter receives local data transfer requests, converts them into remote requests, monitors for completion responses, and provides an early completion response if no response is received within a specific time, allowing the compute node to continue processing without waiting for the actual response, while managing completion status through tracking structures and error handling.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Quantity of substance
If CPU loads and stores are used to transfer data over network fabric, then small payloads can be moved efficiently, but long completion delays occur due to network congestion or failure
Solution Approach 1:
The system performs preliminary actions by sending the data payload before the completion response. The CPU can continue processing subsequent operations while the completion response is pending, as the data is already available in the remote memory. This reordering eliminates the need to wait for the completion response before proceeding with further processing.
Solution Approach 2:
The patent introduces an intermediary mechanism (the network adapter and completion tracking structure) that decouples the data transfer from the completion notification. The completion response is tracked separately through a completion structure, allowing the CPU to continue processing without blocking on the network response.
2Reliability
If CPU waits for remote completion response, then data transfer reliability is ensured, but CPU efficiency decreases due to blocking
Solution Approach 1:
The completion structure acts as an intermediary that tracks completion responses separately from the main data processing flow. The CPU can continue processing while the completion structure monitors for the completion response, ensuring reliability without blocking CPU efficiency.
Solution Approach 2:
The system enables continuous useful action by allowing the CPU to proceed with subsequent operations immediately after issuing the load/store command. The completion response is handled asynchronously through the completion structure, maintaining continuous productivity while ensuring eventual completion reliability.
3Productivity
If RDMA is used for data transfer, then high throughput and low latency are achieved, but small payloads (≤8 B) are less efficient due to additional indirection
Solution Approach 1:
The system applies local quality by using different transfer mechanisms for different payload sizes. For small payloads (≤8 B), CPU loads and stores are used which are more efficient. For larger payloads, RDMA is used to achieve high throughput. This selective approach optimizes for the specific requirements of each transfer size.
4Ease of operation
If CPU directly performs data transfer, then no operating system involvement is needed, but handling of long completion delays is not practical
Solution Approach 1:
The completion structure serves as an intermediary that handles the complexity of completion delay tracking without involving the operating system. The structure automatically tracks completion responses and provides notifications when complete, simplifying the handling of long delays while maintaining direct CPU-to-remote-memory access.
Data Source
AI summary
A network adaptor which performs CPU loads and stores to remote memory over network fabrics. The network adaptor receives a transfer request from a compute node and converts the request to a remote transfer request, which is transmitted to the network. The network adaptor then monitors the network connection for a remote completion response. When the network adaptor receives the remote completion response within a specific time period, the network adaptor transmits a first completion response to the compute node. If the network adaptor does not receive the remote completion response within the specific time period, the network adaptor transmits an “early completion response” to the compute node. The network adaptor continues to monitor for the actual response. This allows the compute node to continue processing without having to wait for the actual response to be received. The method handles small payloads efficiently and also accounts for long completion delays.


